From a3e2f1a9c3b7fa5688f908bd0aa9ed4c6c539953 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 23 Aug 2018 09:56:34 +0300 Subject: define custom dojo modules with define() instead of require(), update startup module dependencies --- js/FeedStoreModel.js | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ js/FeedTree.js | 99 +-------------------------------------------------- js/PrefFeedStore.js | 20 +++++++++++ js/PrefFeedTree.js | 21 +---------- js/PrefFilterStore.js | 22 ++++++++++++ js/PrefFilterTree.js | 23 +----------- js/PrefLabelTree.js | 2 +- js/prefs.js | 4 +++ js/tt-rss.js | 1 + 9 files changed, 149 insertions(+), 141 deletions(-) create mode 100644 js/FeedStoreModel.js create mode 100644 js/PrefFeedStore.js create mode 100644 js/PrefFilterStore.js (limited to 'js') diff --git a/js/FeedStoreModel.js b/js/FeedStoreModel.js new file mode 100644 index 000000000..49641a732 --- /dev/null +++ b/js/FeedStoreModel.js @@ -0,0 +1,98 @@ +define(["dojo/_base/declare", "dijit/tree/ForestStoreModel"], function (declare) { + + return declare("fox.FeedStoreModel", dijit.tree.ForestStoreModel, { + getItemsInCategory: function (id) { + if (!this.store._itemsByIdentity) return undefined; + + cat = this.store._itemsByIdentity['CAT:' + id]; + + if (cat && cat.items) + return cat.items; + else + return undefined; + + }, + getItemById: function (id) { + return this.store._itemsByIdentity[id]; + }, + getFeedValue: function (feed, is_cat, key) { + if (!this.store._itemsByIdentity) return undefined; + + if (is_cat) + treeItem = this.store._itemsByIdentity['CAT:' + feed]; + else + treeItem = this.store._itemsByIdentity['FEED:' + feed]; + + if (treeItem) + return this.store.getValue(treeItem, key); + }, + getFeedName: function (feed, is_cat) { + return this.getFeedValue(feed, is_cat, 'name'); + }, + getFeedUnread: function (feed, is_cat) { + var unread = parseInt(this.getFeedValue(feed, is_cat, 'unread')); + return (isNaN(unread)) ? 0 : unread; + }, + setFeedUnread: function (feed, is_cat, unread) { + return this.setFeedValue(feed, is_cat, 'unread', parseInt(unread)); + }, + setFeedValue: function (feed, is_cat, key, value) { + if (!value) value = ''; + if (!this.store._itemsByIdentity) return undefined; + + if (is_cat) + treeItem = this.store._itemsByIdentity['CAT:' + feed]; + else + treeItem = this.store._itemsByIdentity['FEED:' + feed]; + + if (treeItem) + return this.store.setValue(treeItem, key, value); + }, + getNextUnreadFeed: function (feed, is_cat) { + if (!this.store._itemsByIdentity) + return null; + + if (is_cat) { + treeItem = this.store._itemsByIdentity['CAT:' + feed]; + } else { + treeItem = this.store._itemsByIdentity['FEED:' + feed]; + } + + items = this.store._arrayOfAllItems; + + for (var i = 0; i < items.length; i++) { + if (items[i] == treeItem) { + + for (var j = i + 1; j < items.length; j++) { + var unread = this.store.getValue(items[j], 'unread'); + var id = this.store.getValue(items[j], 'id'); + + if (unread > 0 && ((is_cat && id.match("CAT:")) || (!is_cat && id.match("FEED:")))) { + if (!is_cat || !(this.store.hasAttribute(items[j], 'parent_id') && this.store.getValue(items[j], 'parent_id') == feed)) return items[j]; + } + } + + for (var j = 0; j < i; j++) { + var unread = this.store.getValue(items[j], 'unread'); + var id = this.store.getValue(items[j], 'id'); + + if (unread > 0 && ((is_cat && id.match("CAT:")) || (!is_cat && id.match("FEED:")))) { + if (!is_cat || !(this.store.hasAttribute(items[j], 'parent_id') && this.store.getValue(items[j], 'parent_id') == feed)) return items[j]; + } + } + } + } + + return null; + }, + hasCats: function () { + if (this.store && this.store._itemsByIdentity) + return this.store._itemsByIdentity['CAT:-1'] != undefined; + else + return false; + }, + + }); +}); + + diff --git a/js/FeedTree.js b/js/FeedTree.js index aff481e2c..636abed6e 100755 --- a/js/FeedTree.js +++ b/js/FeedTree.js @@ -1,101 +1,4 @@ -require(["dojo/_base/declare", "dijit/tree/ForestStoreModel"], function (declare) { - - return declare("fox.FeedStoreModel", dijit.tree.ForestStoreModel, { - getItemsInCategory: function (id) { - if (!this.store._itemsByIdentity) return undefined; - - cat = this.store._itemsByIdentity['CAT:' + id]; - - if (cat && cat.items) - return cat.items; - else - return undefined; - - }, - getItemById: function (id) { - return this.store._itemsByIdentity[id]; - }, - getFeedValue: function (feed, is_cat, key) { - if (!this.store._itemsByIdentity) return undefined; - - if (is_cat) - treeItem = this.store._itemsByIdentity['CAT:' + feed]; - else - treeItem = this.store._itemsByIdentity['FEED:' + feed]; - - if (treeItem) - return this.store.getValue(treeItem, key); - }, - getFeedName: function (feed, is_cat) { - return this.getFeedValue(feed, is_cat, 'name'); - }, - getFeedUnread: function (feed, is_cat) { - var unread = parseInt(this.getFeedValue(feed, is_cat, 'unread')); - return (isNaN(unread)) ? 0 : unread; - }, - setFeedUnread: function (feed, is_cat, unread) { - return this.setFeedValue(feed, is_cat, 'unread', parseInt(unread)); - }, - setFeedValue: function (feed, is_cat, key, value) { - if (!value) value = ''; - if (!this.store._itemsByIdentity) return undefined; - - if (is_cat) - treeItem = this.store._itemsByIdentity['CAT:' + feed]; - else - treeItem = this.store._itemsByIdentity['FEED:' + feed]; - - if (treeItem) - return this.store.setValue(treeItem, key, value); - }, - getNextUnreadFeed: function (feed, is_cat) { - if (!this.store._itemsByIdentity) - return null; - - if (is_cat) { - treeItem = this.store._itemsByIdentity['CAT:' + feed]; - } else { - treeItem = this.store._itemsByIdentity['FEED:' + feed]; - } - - items = this.store._arrayOfAllItems; - - for (var i = 0; i < items.length; i++) { - if (items[i] == treeItem) { - - for (var j = i + 1; j < items.length; j++) { - var unread = this.store.getValue(items[j], 'unread'); - var id = this.store.getValue(items[j], 'id'); - - if (unread > 0 && ((is_cat && id.match("CAT:")) || (!is_cat && id.match("FEED:")))) { - if (!is_cat || !(this.store.hasAttribute(items[j], 'parent_id') && this.store.getValue(items[j], 'parent_id') == feed)) return items[j]; - } - } - - for (var j = 0; j < i; j++) { - var unread = this.store.getValue(items[j], 'unread'); - var id = this.store.getValue(items[j], 'id'); - - if (unread > 0 && ((is_cat && id.match("CAT:")) || (!is_cat && id.match("FEED:")))) { - if (!is_cat || !(this.store.hasAttribute(items[j], 'parent_id') && this.store.getValue(items[j], 'parent_id') == feed)) return items[j]; - } - } - } - } - - return null; - }, - hasCats: function () { - if (this.store && this.store._itemsByIdentity) - return this.store._itemsByIdentity['CAT:-1'] != undefined; - else - return false; - }, - - }); -}); - -require(["dojo/_base/declare", "dojo/dom-construct", "dijit/Tree", "dijit/Menu"], function (declare, domConstruct) { +define(["dojo/_base/declare", "dojo/dom-construct", "dijit/Tree", "dijit/Menu"], function (declare, domConstruct) { return declare("fox.FeedTree", dijit.Tree, { _onKeyPress: function(/* Event */ e) { diff --git a/js/PrefFeedStore.js b/js/PrefFeedStore.js new file mode 100644 index 000000000..152ebba44 --- /dev/null +++ b/js/PrefFeedStore.js @@ -0,0 +1,20 @@ +define(["dojo/_base/declare", "dojo/data/ItemFileWriteStore"], function (declare) { + + return declare("fox.PrefFeedStore", dojo.data.ItemFileWriteStore, { + + _saveEverything: function(saveCompleteCallback, saveFailedCallback, + newFileContentString) { + + dojo.xhrPost({ + url: "backend.php", + content: {op: "pref-feeds", method: "savefeedorder", + payload: newFileContentString}, + error: saveFailedCallback, + load: saveCompleteCallback}); + }, + + }); + +}); + + diff --git a/js/PrefFeedTree.js b/js/PrefFeedTree.js index 0079f0b1b..b3ea0c425 100644 --- a/js/PrefFeedTree.js +++ b/js/PrefFeedTree.js @@ -1,23 +1,4 @@ -require(["dojo/_base/declare", "dojo/data/ItemFileWriteStore"], function (declare) { - - return declare("fox.PrefFeedStore", dojo.data.ItemFileWriteStore, { - - _saveEverything: function(saveCompleteCallback, saveFailedCallback, - newFileContentString) { - - dojo.xhrPost({ - url: "backend.php", - content: {op: "pref-feeds", method: "savefeedorder", - payload: newFileContentString}, - error: saveFailedCallback, - load: saveCompleteCallback}); - }, - - }); - -}); - -require(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], function (declare, domConstruct) { +define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], function (declare, domConstruct) { return declare("fox.PrefFeedTree", lib.CheckBoxTree, { _createTreeNode: function(args) { diff --git a/js/PrefFilterStore.js b/js/PrefFilterStore.js new file mode 100644 index 000000000..cccec6479 --- /dev/null +++ b/js/PrefFilterStore.js @@ -0,0 +1,22 @@ +define(["dojo/_base/declare", "dojo/data/ItemFileWriteStore"], function (declare) { + + return declare("fox.PrefFilterStore", dojo.data.ItemFileWriteStore, { + + _saveEverything: function (saveCompleteCallback, saveFailedCallback, + newFileContentString) { + + dojo.xhrPost({ + url: "backend.php", + content: { + op: "pref-filters", method: "savefilterorder", + payload: newFileContentString + }, + error: saveFailedCallback, + load: saveCompleteCallback + }); + }, + + }); +}); + + diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js index 5c854cbd8..3249fbc26 100644 --- a/js/PrefFilterTree.js +++ b/js/PrefFilterTree.js @@ -1,25 +1,4 @@ -require(["dojo/_base/declare", "dojo/data/ItemFileWriteStore"], function (declare) { - - return declare("fox.PrefFilterStore", dojo.data.ItemFileWriteStore, { - - _saveEverything: function (saveCompleteCallback, saveFailedCallback, - newFileContentString) { - - dojo.xhrPost({ - url: "backend.php", - content: { - op: "pref-filters", method: "savefilterorder", - payload: newFileContentString - }, - error: saveFailedCallback, - load: saveCompleteCallback - }); - }, - - }); -}); - -require(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], function (declare, domConstruct) { +define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], function (declare, domConstruct) { return declare("fox.PrefFilterTree", lib.CheckBoxTree, { _createTreeNode: function(args) { diff --git a/js/PrefLabelTree.js b/js/PrefLabelTree.js index 9c43346b3..2215dcdb0 100644 --- a/js/PrefLabelTree.js +++ b/js/PrefLabelTree.js @@ -1,4 +1,4 @@ -require(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/form/DropDownButton"], function (declare, domConstruct) { +define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/form/DropDownButton"], function (declare, domConstruct) { return declare("fox.PrefLabelTree", lib.CheckBoxTree, { setNameById: function (id, name) { diff --git a/js/prefs.js b/js/prefs.js index 79ad15cec..c2190280c 100755 --- a/js/prefs.js +++ b/js/prefs.js @@ -832,6 +832,10 @@ function init() { "dijit/Tree", "dijit/tree/dndSource", "dojo/data/ItemFileWriteStore", + "lib/CheckBoxStoreModel", + "lib/CheckBoxTree", + "fox/PrefFeedStore", + "fox/PrefFilterStore", "fox/PrefFeedTree", "fox/PrefFilterTree", "fox/PrefLabelTree"], function (dojo, ready, parser) { diff --git a/js/tt-rss.js b/js/tt-rss.js index 284df9746..3f65a2cea 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -245,6 +245,7 @@ function init() { "dijit/tree/dndSource", "dijit/tree/ForestStoreModel", "dojo/data/ItemFileWriteStore", + "fox/FeedStoreModel", "fox/FeedTree" ], function (dojo, ready, parser) { ready(function() { -- cgit v1.2.3