mirror of
https://github.com/discourse/discourse-signatures.git
synced 2025-12-13 10:23:31 +00:00
Upgrade Plugin to new API
This commit is contained in:
parent
6f5cba7777
commit
89f6cf5bc4
102
.eslintrc
Normal file
102
.eslintrc
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
{
|
||||||
|
"env": {
|
||||||
|
"jasmine": true,
|
||||||
|
"node": true,
|
||||||
|
"mocha": true,
|
||||||
|
"browser": true,
|
||||||
|
"builtin": true
|
||||||
|
},
|
||||||
|
ecmaVersion: 7,
|
||||||
|
"globals":
|
||||||
|
{"Ember":true,
|
||||||
|
"jQuery":true,
|
||||||
|
"$":true,
|
||||||
|
"RSVP":true,
|
||||||
|
"Discourse":true,
|
||||||
|
"Em":true,
|
||||||
|
"PreloadStore":true,
|
||||||
|
"Handlebars":true,
|
||||||
|
"I18n":true,
|
||||||
|
"bootbox":true,
|
||||||
|
"module":true,
|
||||||
|
"moduleFor":true,
|
||||||
|
"moduleForComponent":true,
|
||||||
|
"Pretender":true,
|
||||||
|
"sandbox":true,
|
||||||
|
"controllerFor":true,
|
||||||
|
"test":true,
|
||||||
|
"ok":true,
|
||||||
|
"not":true,
|
||||||
|
"expect":true,
|
||||||
|
"equal":true,
|
||||||
|
"visit":true,
|
||||||
|
"andThen":true,
|
||||||
|
"click":true,
|
||||||
|
"currentPath":true,
|
||||||
|
"currentRouteName":true,
|
||||||
|
"currentURL":true,
|
||||||
|
"fillIn":true,
|
||||||
|
"keyEvent":true,
|
||||||
|
"triggerEvent":true,
|
||||||
|
"count":true,
|
||||||
|
"exists":true,
|
||||||
|
"visible":true,
|
||||||
|
"invisible":true,
|
||||||
|
"asyncRender":true,
|
||||||
|
"selectDropdown":true,
|
||||||
|
"asyncTestDiscourse":true,
|
||||||
|
"fixture":true,
|
||||||
|
"find":true,
|
||||||
|
"sinon":true,
|
||||||
|
"moment":true,
|
||||||
|
"start":true,
|
||||||
|
"_":true,
|
||||||
|
"alert":true,
|
||||||
|
"containsInstance":true,
|
||||||
|
"deepEqual":true,
|
||||||
|
"notEqual":true,
|
||||||
|
"define":true,
|
||||||
|
"require":true,
|
||||||
|
"requirejs":true,
|
||||||
|
"hasModule":true,
|
||||||
|
"Blob":true,
|
||||||
|
"File":true},
|
||||||
|
"rules": {
|
||||||
|
"block-scoped-var": 2,
|
||||||
|
"dot-notation": 0,
|
||||||
|
"eqeqeq": [
|
||||||
|
2,
|
||||||
|
"allow-null"
|
||||||
|
],
|
||||||
|
"guard-for-in": 2,
|
||||||
|
"no-bitwise": 2,
|
||||||
|
"no-caller": 2,
|
||||||
|
"no-cond-assign": 0,
|
||||||
|
"no-debugger": 2,
|
||||||
|
"no-empty": 0,
|
||||||
|
"no-eval": 2,
|
||||||
|
"no-extend-native": 2,
|
||||||
|
"no-extra-parens": 0,
|
||||||
|
"no-irregular-whitespace": 2,
|
||||||
|
"no-iterator": 2,
|
||||||
|
"no-loop-func": 2,
|
||||||
|
"no-multi-str": 2,
|
||||||
|
"no-new": 2,
|
||||||
|
"no-plusplus": 0,
|
||||||
|
"no-proto": 2,
|
||||||
|
"no-script-url": 2,
|
||||||
|
"no-sequences": 2,
|
||||||
|
"no-shadow": 2,
|
||||||
|
"no-undef": 2,
|
||||||
|
"no-unused-vars": 2,
|
||||||
|
"no-with": 2,
|
||||||
|
"semi": 2,
|
||||||
|
"strict": 0,
|
||||||
|
"valid-typeof": 2,
|
||||||
|
"wrap-iife": [
|
||||||
|
2,
|
||||||
|
"inside"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"parser": "babel-eslint"
|
||||||
|
}
|
||||||
@ -1,12 +1,36 @@
|
|||||||
import Post from 'discourse/models/post';
|
import Post from 'discourse/models/post';
|
||||||
import User from 'discourse/models/user';
|
import { withPluginApi } from 'discourse/lib/plugin-api';
|
||||||
|
|
||||||
|
function oldPluginCode() {
|
||||||
|
Post.reopen({
|
||||||
|
showSignatures: function() {
|
||||||
|
return Discourse.User.currentProp("custom_fields.see_signatures");
|
||||||
|
}.property()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function attachSignature(api) {
|
||||||
|
api.includePostAttributes('user_signature_url');
|
||||||
|
|
||||||
|
api.decorateWidget('post-contents:after', (h, attrs) => {
|
||||||
|
if (Ember.isEmpty(attrs.user_signature_url)) { return; }
|
||||||
|
|
||||||
|
const currentUser = api.getCurrentUser();
|
||||||
|
if (currentUser) {
|
||||||
|
const enabled = currentUser.get('custom_fields.see_signatures');
|
||||||
|
if (enabled) {
|
||||||
|
return [h('hr'), h('img.signature-img', { attributes: { src: attrs.user_signature_url } } )];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'extend-for-signatures',
|
name: 'extend-for-signatures',
|
||||||
initialize() {
|
initialize(container) {
|
||||||
|
const siteSettings = container.lookup('site-settings:main');
|
||||||
Post.reopen({
|
if (siteSettings.signatures_enabled) {
|
||||||
showSignatures: Discourse.SiteSettings.signatures_enabled && Discourse.User.currentProp("custom_fields.see_signatures")
|
withPluginApi('0.1', attachSignature, { noApi: oldPluginCode });
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user