diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-18 22:49:30 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-18 22:49:30 +0200 |
commit | 2459002dcc070dcb66b2a44c237b87e8a1b8e968 (patch) | |
tree | 5a668fa1aead7269a1979e8706405d8dbf3226f3 /js/service | |
parent | e2e9a79aa3acb0d3a02d81ddbfbdcacc676db2d2 (diff) |
add models
Diffstat (limited to 'js/service')
-rw-r--r-- | js/service/feed.js | 20 | ||||
-rw-r--r-- | js/service/folder.js | 20 | ||||
-rw-r--r-- | js/service/item.js | 20 | ||||
-rw-r--r-- | js/service/model.js | 11 | ||||
-rw-r--r-- | js/service/publisher.js | 9 |
5 files changed, 80 insertions, 0 deletions
diff --git a/js/service/feed.js b/js/service/feed.js new file mode 100644 index 000000000..9223ca6e7 --- /dev/null +++ b/js/service/feed.js @@ -0,0 +1,20 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +app.factory('Feed', function (Model) { + 'use strict'; + + var Feed = function () { + Model.call(this, 'url'); + }; + + Feed.prototype = Object.create(Model.prototype); + + return new Feed(); +});
\ No newline at end of file diff --git a/js/service/folder.js b/js/service/folder.js new file mode 100644 index 000000000..101b8ec66 --- /dev/null +++ b/js/service/folder.js @@ -0,0 +1,20 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +app.factory('Folder', function (Model) { + 'use strict'; + + var Folder = function () { + Model.call(this, 'name'); + }; + + Folder.prototype = Object.create(Model.prototype); + + return new Folder(); +});
\ No newline at end of file diff --git a/js/service/item.js b/js/service/item.js new file mode 100644 index 000000000..0dd9b8677 --- /dev/null +++ b/js/service/item.js @@ -0,0 +1,20 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +app.factory('Item', function (Model) { + 'use strict'; + + var Item = function () { + Model.call(this, 'id'); + }; + + Item.prototype = Object.create(Model.prototype); + + return new Item(); +});
\ No newline at end of file diff --git a/js/service/model.js b/js/service/model.js index a28608329..dddede788 100644 --- a/js/service/model.js +++ b/js/service/model.js @@ -70,6 +70,17 @@ app.factory('Model', function () { if (this.hashMap[id] !== undefined) { delete this.hashMap[id]; } + }, + + clear: function () { + this.hashMap = {}; + + // http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript + // this is the fastes way to empty an array when you want to keep the + // reference around + while (this.values.length > 0) { + this.values.pop(); + } } }; diff --git a/js/service/publisher.js b/js/service/publisher.js index 185e60047..d7e9bb0e7 100644 --- a/js/service/publisher.js +++ b/js/service/publisher.js @@ -22,6 +22,15 @@ app.service('Publisher', function () { }; }; + this.publishAll = function (values) { + var key; + for (key in values) { + if (values.hasOwnProperty(key)) { + this.publish(values[key]).onChannel(key); + } + } + }; + this.publish = function (value) { return { onChannel: function (channel) { |