Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js
diff options
context:
space:
mode:
Diffstat (limited to 'develop-activity/skeletons/Web (sugar >= 0.100)/js/model.js')
-rwxr-xr-xdevelop-activity/skeletons/Web (sugar >= 0.100)/js/model.js47
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;
+
+});