summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-15 00:29:32 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-15 00:29:32 +0300
commit90177cda6335db5f08cb692f8981993ef51b4ee4 (patch)
tree0b9dae531cf31b029ffa4b7591e57c1c1c371e5f /web
parentaf27f6e0d47d664bf30beddc928b6c132d44c298 (diff)
downloadaconf-90177cda6335db5f08cb692f8981993ef51b4ee4.tar.bz2
aconf-90177cda6335db5f08cb692f8981993ef51b4ee4.tar.xz
web client: action buttons
Diffstat (limited to 'web')
-rw-r--r--web/client.js21
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));