1 namespace('kivi', function(k){
4 k.ActionBarAction = function(e) {
5 var data = $(e).data('action');
8 $(e).addClass('layout-actionbar-action-disabled');
11 var form = data.submit[0];
12 var params = data.submit[1];
13 $(e).click(function(event) {
14 var $hidden, key, func, check;
15 if (data.disabled) return;
16 if (data.confirm && !confirm(data.confirm)) return;
18 for (var i=0; i < data.checks.length; i++) {
19 check = data.checks[i];
20 func = kivi.get_function_by_name(check);
21 if (!func) console.log('Cannot find check function: ' + check);
26 $hidden = $('<input type=hidden>')
27 $hidden.attr('name', key)
28 $hidden.attr('value', params[key])
29 $(form).append($hidden)
33 } else if (data.function) {
34 // TODO: what to do with templated calls
35 $(e).click(function(event) {
37 if (data.disabled) return;
38 if (data.confirm && !confirm(data.confirm)) return;
40 for (var i=0; i < data.checks.length; i++) {
41 check = data.checks[i];
42 func = kivi.get_function_by_name(check);
43 if (!func) console.log('Cannot find check function: ' + check);
47 func = kivi.get_function_by_name(data.function[0]);
48 func.apply(document, data.function.slice(1))
55 $('div.layout-actionbar .layout-actionbar-action').each(function(_, e) {
56 kivi.ActionBarAction(e);