diff --git a/package.json b/package.json index 23625ed..25bf52a 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "express-resource": "~1.0.0", "when": "~3.1.0", "gamedig": "^0.2.4", - "ip": "^0.3.0" + "ip": "^0.3.0", + "playwithsix": "0.0.1" } } diff --git a/public/js/app/views/mods/list.js b/public/js/app/views/mods/list.js index e9f3821..d0fa8c1 100644 --- a/public/js/app/views/mods/list.js +++ b/public/js/app/views/mods/list.js @@ -15,5 +15,13 @@ define(function (require) { itemView: ListItemView, itemViewContainer: "tbody", template: template, + + initialize: function (options) { + this.on("itemview:mods:update", this.update, this); + }, + + update: function() { + this.collection.fetch(); + }, }); }); diff --git a/public/js/app/views/mods/list_item.js b/public/js/app/views/mods/list_item.js index 9d55553..3498ce3 100644 --- a/public/js/app/views/mods/list_item.js +++ b/public/js/app/views/mods/list_item.js @@ -12,6 +12,23 @@ define(function (require) { return Marionette.ItemView.extend({ tagName: "tr", - template: template + template: template, + + events: { + "click .update": "update" + }, + + update: function (event) { + var self = this; + event.preventDefault(); + $.ajax({ + url: "/api/mods/" + this.model.get('name'), + type: 'PUT', + success: function (resp) { + self.trigger("mods:update", mods); + }, + error: $.noop + }); + }, }); }); diff --git a/public/js/tpl/mods/list_item.html b/public/js/tpl/mods/list_item.html index 145a90c..318e2fd 100644 --- a/public/js/tpl/mods/list_item.html +++ b/public/js/tpl/mods/list_item.html @@ -1,3 +1,9 @@