diff options
Diffstat (limited to 'develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js')
-rwxr-xr-x | develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js b/develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js new file mode 100755 index 0000000..f8e028f --- /dev/null +++ b/develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js @@ -0,0 +1,47 @@ +define(function (require) { + + var model = {}; + + model.Model = function () { + this.items = []; + }; + + model.Model.prototype.load = function (items) { + this.items = items; + }; + + model.Model.prototype.create = function (title) { + title = title || ''; + + var newItem = { + id: new Date().getTime(), + title: title.trim(), + completed: 0 + }; + + this.items.push(newItem); + return newItem; + }; + + model.Model.prototype.remove = function (id) { + for (var i = 0; i < this.items.length; i++) { + if (this.items[i].id == id) { + this.items.splice(i, 1); + break; + } + } + }; + + model.Model.prototype.update = function (id, updateData) { + for (var i = 0; i < this.items.length; i++) { + if (this.items[i].id == id) { + for (var x in updateData) { + this.items[i][x] = updateData[x]; + } + } + } + }; + + return model; + +}); |