summaryrefslogtreecommitdiffstats
path: root/js/plugin/ArticleActionPlugin.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/plugin/ArticleActionPlugin.js')
-rw-r--r--js/plugin/ArticleActionPlugin.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/js/plugin/ArticleActionPlugin.js b/js/plugin/ArticleActionPlugin.js
new file mode 100644
index 000000000..c0978cb79
--- /dev/null
+++ b/js/plugin/ArticleActionPlugin.js
@@ -0,0 +1,34 @@
+var News = News || {};
+
+(function (window, document, $, exports, undefined) {
+ 'use strict';
+
+ var articleActionPlugins = [];
+ var articleActionPluginsById = {};
+
+
+ /**
+ * @param function action An article action plugin should look like this:
+ * function (article, baseUrl) {
+ * this.title = 'A title that is displayed on hover';
+ * this.iconUrl = 'An url for the icon';
+ * this.onClick = function (event, element) {
+ *
+ * };
+ * }
+ */
+ exports.addArticleAction = function (action) {
+ articleActionPlugins.push(action);
+ articleActionPluginsById[action.id] = action;
+ };
+
+ exports.getArticleActionPlugins = function () {
+ return articleActionPlugins;
+ };
+
+ exports.getArticleActionPluginById = function (id) {
+ return articleActionPluginsById[id];
+ };
+
+})(window, document, jQuery, News);
+