summaryrefslogtreecommitdiffstats
path: root/js/plugin
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-12-17 10:43:14 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2014-12-17 10:43:14 +0100
commitaf95556560f2474ca504218c0a18eef267e7cd16 (patch)
tree62d91326c8a4542b4588a630802a55cd58fd8c0e /js/plugin
parent86b27436e7845f29a3673cdf8992301e8f865493 (diff)
add article action plugins
Diffstat (limited to 'js/plugin')
-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);
+