diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-15 00:29:32 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-15 00:29:32 +0300 |
commit | 90177cda6335db5f08cb692f8981993ef51b4ee4 (patch) | |
tree | 0b9dae531cf31b029ffa4b7591e57c1c1c371e5f /web | |
parent | af27f6e0d47d664bf30beddc928b6c132d44c298 (diff) | |
download | aconf-90177cda6335db5f08cb692f8981993ef51b4ee4.tar.bz2 aconf-90177cda6335db5f08cb692f8981993ef51b4ee4.tar.xz |
web client: action buttons
Diffstat (limited to 'web')
-rw-r--r-- | web/client.js | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/web/client.js b/web/client.js index 7b1b724..0db3082 100644 --- a/web/client.js +++ b/web/client.js @@ -330,6 +330,10 @@ $(function() { return def; }; + data.invoke = function(name) { + return objRequest(join(path, name), {type: "POST"}); + }; + def.resolve(data); }).fail(function() { def.reject(); }); @@ -750,10 +754,23 @@ $(function() { this.div = $("<div>"); this.el.append(this.div); - _.bind(Inline.render, this)(data, meta); - var self = this; + if (data.meta.type == "model") + _.each(data.meta.actions, function(action) { + self.div.append($("<input>").attr( + {type: "submit", value: action["ui-name"]} + ).click(function() { + data.invoke(action.name).done(function() { + alert("Done"); + }).fail(function() { + alert("Failed"); + }); + })); + }); + + _.bind(Inline.render, this)(data, meta); + if (_.contains(["collection", "list"], data.meta.type)) { var keys = _.clone(_.keys(data.data)); |