X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fclient_js.js;h=6d898199088da375094c449c4e680ddc48867c95;hb=132a6f2c43d7e3a00e78dc5ea1d751dd249b46f3;hp=d153b533040a61c6210d18bc7bce81b1a341a09b;hpb=f509d946cb89ef9870c6d89627ec56ad9fa4c480;p=kivitendo-erp.git diff --git a/js/client_js.js b/js/client_js.js index d153b5330..6d8981990 100644 --- a/js/client_js.js +++ b/js/client_js.js @@ -4,17 +4,18 @@ // "scripts/generate_client_js_actions.pl". See the documentation for // SL/ClientJS.pm for instructions. -function display_flash(type, message) { +namespace("kivi", function(ns) { +ns.display_flash = function(type, message) { $('#flash_' + type + '_content').text(message); $('#flash_' + type).show(); -} +}; -function eval_json_result(data) { +ns.eval_json_result = function(data) { if (!data) return; if (data.error) - return display_flash('error', data.error); + return ns.display_flash('error', data.error); $(['info', 'warning', 'error']).each(function(idx, category) { $('#flash_' + category).hide(); @@ -28,13 +29,9 @@ 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 - else if (action[0] == 'hide') $(action[1]).hide(); + if (action[0] == 'hide') $(action[1]).hide(); else if (action[0] == 'show') $(action[1]).show(); else if (action[0] == 'toggle') $(action[1]).toggle(); @@ -83,7 +80,21 @@ function eval_json_result(data) { else if (action[0] == 'removeData') $(action[1]).removeData(action[2]); // Form Events - else if (action[0] == 'focus') $(action[1]).focus(); + else if (action[0] == 'focus') kivi.set_focus(action[1]); + + // Generic Event Handling ## + else if (action[0] == 'on') $(action[1]).on(action[2], kivi.get_function_by_name(action[3])); + else if (action[0] == 'off') $(action[1]).off(action[2], kivi.get_function_by_name(action[3])); + else if (action[0] == 'one') $(action[1]).one(action[2], kivi.get_function_by_name(action[3])); + + // ## jQuery UI dialog plugin ## + + // Opening and closing and closing a popup + else if (action[0] == 'dialog:open') kivi.popup_dialog(action[1]); + else if (action[0] == 'dialog:close') $(action[1]).dialog('close'); + + // ## jQuery Form plugin ## + else if (action[0] == 'ajaxForm') pattern: $(action[1]).ajaxForm({ success: eval_json_result }); // ## jstree plugin ## @@ -111,21 +122,25 @@ 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(); + // ## ckeditor stuff ## + else if (action[0] == 'focus_ckeditor') kivi.focus_ckeditor_when_ready(action[1]); + // ## other stuff ## else if (action[0] == 'redirect_to') window.location.href = action[1]; + else if (action[0] == 'flash') kivi.display_flash(action[1], action[2]); + else if (action[0] == 'reinit_widgets') kivi.reinit_widgets(); + else if (action[0] == 'run') kivi.run(action[1], action.slice(2, action.length)); + else if (action[0] == 'run_once_for') kivi.run_once_for(action[1], action[2], action[3]); + else if (action[0] == 'scroll_into_view') $(action[1])[0].scrollIntoView(); 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