From 59c3ca7e7ba16f0aac1b3aaff15ed6949648b96b Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Mon, 21 Jul 2014 11:38:38 -0400 Subject: [PATCH] PLUGIN: New API for decorating a post with jQuery --- .../javascripts/discourse/lib/plugin-api.js.es6 | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 app/assets/javascripts/discourse/lib/plugin-api.js.es6 diff --git a/app/assets/javascripts/discourse/lib/plugin-api.js.es6 b/app/assets/javascripts/discourse/lib/plugin-api.js.es6 new file mode 100644 index 00000000000..ab1c70983bb --- /dev/null +++ b/app/assets/javascripts/discourse/lib/plugin-api.js.es6 @@ -0,0 +1,12 @@ +function decorate(klass, evt, cb) { + var mixin = {}; + mixin["_decorate_" + new Date().getTime().toString()] = function($elem) { cb($elem); }.on(evt); + klass.reopen(mixin); +} + +export function decorateCooked(container, cb) { + decorate(Discourse.PostView, 'postViewInserted', cb); + decorate(container.lookupFactory('view:composer'), 'previewRefreshed', cb); + decorate(container.lookupFactory('view:embedded-post'), 'previewRefreshed', cb); + decorate(container.lookupFactory('view:user-stream'), 'didInsertElement', cb); +}