]> git.wh0rd.org - tt-rss.git/commitdiff
add missing pluginhost source
authorAndrew Dolgov <fox@fakecake.org>
Wed, 24 Apr 2013 15:51:57 +0000 (19:51 +0400)
committerAndrew Dolgov <fox@fakecake.org>
Wed, 24 Apr 2013 15:51:57 +0000 (19:51 +0400)
js/PluginHost.js [new file with mode: 0644]

diff --git a/js/PluginHost.js b/js/PluginHost.js
new file mode 100644 (file)
index 0000000..a3a31ce
--- /dev/null
@@ -0,0 +1,30 @@
+// based on http://www.velvetcache.org/2010/08/19/a-simple-javascript-hooks-system
+
+var PluginHost = {
+       HOOK_ARTICLE_RENDERED: 1,
+       HOOK_ARTICLE_RENDERED_CDM: 2,
+       HOOK_ARTICLE_SET_ACTIVE: 3,
+       HOOK_FEED_SET_ACTIVE: 4,
+       HOOK_FEED_LOADED: 5,
+       hooks: [],
+       register: function (name, callback) {
+               if (typeof(this.hooks[name]) == 'undefined')
+                       this.hooks[name] = [];
+
+               this.hooks[name].push(callback);
+       },
+       run: function (name, args) {
+               console.warn('PluginHost::run ' + name);
+
+               if (typeof(this.hooks[name]) != 'undefined')
+                       for (i = 0; i < this.hooks[name].length; i++)
+                               if (!this.hooks[name][i](args)) break;
+       }
+};
+
+/* PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED,
+               function (args) { console.log('ARTICLE_RENDERED: ' + args); return true; });
+
+PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM,
+               function (args) { console.log('ARTICLE_RENDERED_CDM: ' + args); return true; }); */
+