X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fclient_js.js;h=abeac1b39090d13ea0b8f03db5065608b6ed66ec;hb=99d05c2cc969eb4913cac08ae4331c4e6a82726a;hp=08b9b724860105c119cd7f2db33266da89616ca6;hpb=128f310047ce6d3dc7a42fa2384a1fe9bf88a36d;p=kivitendo-erp.git diff --git a/js/client_js.js b/js/client_js.js index 08b9b7248..abeac1b39 100644 --- a/js/client_js.js +++ b/js/client_js.js @@ -4,10 +4,23 @@ // "scripts/generate_client_js_actions.pl". See the documentation for // SL/ClientJS.pm for instructions. +function display_flash(type, message) { + $('#flash_' + type + '_content').text(message); + $('#flash_' + type).show(); +} + function eval_json_result(data) { if (!data) return; + if (data.error) + return display_flash('error', data.error); + + $(['info', 'warning', 'error']).each(function(idx, category) { + $('#flash_' + category).hide(); + $('#flash_' + category + '_content').empty(); + }); + if ((data.js || '') != '') eval(data.js); @@ -15,9 +28,13 @@ function eval_json_result(data) { $(data.eval_actions).each(function(idx, action) { // console.log("ACTION " + action[0] + " ON " + action[1]); + // ## Non-jQuery methods ## + if (action[0] == 'flash') display_flash(action[1], action[2]); + // ## jQuery basics ## + // Basic effects - if (action[0] == 'hide') $(action[1]).hide(); + else if (action[0] == 'hide') $(action[1]).hide(); else if (action[0] == 'show') $(action[1]).show(); else if (action[0] == 'toggle') $(action[1]).toggle(); @@ -56,6 +73,11 @@ function eval_json_result(data) { else if (action[0] == 'removeProp') $(action[1]).removeProp(action[2]); else if (action[0] == 'val') $(action[1]).val(action[2]); + // Class attribute + else if (action[0] == 'addClass') $(action[1]).addClass(action[2]); + else if (action[0] == 'removeClass') $(action[1]).removeClass(action[2]); + else if (action[0] == 'toggleClass') $(action[1]).toggleClass(action[2]); + // Data storage else if (action[0] == 'data') $(action[1]).data(action[2], action[3]); else if (action[0] == 'removeData') $(action[1]).removeData(action[2]); @@ -63,6 +85,11 @@ function eval_json_result(data) { // Form Events else if (action[0] == 'focus') $(action[1]).focus(); + // ## jqModal plugin ## + + // Closing and removing the popup + else if (action[0] == 'jqmClose') $(action[1]).jqmClose(); + // ## jstree plugin ## // Operations on the whole tree @@ -79,6 +106,7 @@ function eval_json_result(data) { else if (action[0] == 'jstree:reopen') $.jstree._reference($(action[1])).reopen(); // Modifying nodes + else if (action[0] == 'jstree:create_node') $.jstree._reference($(action[1])).create_node(action[2], action[3], action[4]); else if (action[0] == 'jstree:rename_node') $.jstree._reference($(action[1])).rename_node(action[2], action[3]); else if (action[0] == 'jstree:delete_node') $.jstree._reference($(action[1])).delete_node(action[2]); else if (action[0] == 'jstree:move_node') $.jstree._reference($(action[1])).move_node(action[2], action[3], action[4], action[5]); @@ -88,9 +116,22 @@ function eval_json_result(data) { else if (action[0] == 'jstree:deselect_node') $.jstree._reference($(action[1])).deselect_node(action[2]); else if (action[0] == 'jstree:deselect_all') $.jstree._reference($(action[1])).deselect_all(); + // ## other stuff ## + else if (action[0] == 'redirect_to') window.location.href = action[1]; + else console.log('Unknown action: ' + action[0]); }); // console.log("current_content_type " + $('#current_content_type').val() + ' ID ' + $('#current_content_id').val()); } + +function submit_ajax_form(url, form_selector, additional_data) { + var separator = /\?/.test(url) ? '&' : '?'; + $.post(url + separator + $(form_selector).serialize(), additional_data, eval_json_result); + return true; +} + +// Local Variables: +// mode: js +// End: