X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fclient_js.js;h=c9a152459c33041a36b3356fb162c95159baa9d7;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=6b3784a5a9fe9c50a9bbc88c2496f75a4bc42502;hpb=5bc3c720b5c6f422ca3fa63d6d400d3a46fd633d;p=kivitendo-erp.git diff --git a/js/client_js.js b/js/client_js.js index 6b3784a5a..c9a152459 100644 --- a/js/client_js.js +++ b/js/client_js.js @@ -5,10 +5,12 @@ // SL/ClientJS.pm for instructions. namespace("kivi", function(ns) { -ns.display_flash = function(type, message) { +ns.display_flash = function(type, message, noscroll) { $('#flash_' + type + '_content').text(message); $('#flash_' + type).show(); - $('#frame-header')[0].scrollIntoView(); + if (!noscroll && $('#frame-header')[0]) { + $('#frame-header')[0].scrollIntoView(); + } }; ns.display_flash_detail = function(type, message) { @@ -33,16 +35,19 @@ ns.eval_json_result = function(data) { if (data.error) return ns.display_flash('error', data.error); - $(['info', 'warning', 'error']).each(function(idx, category) { - $('#flash_' + category).hide(); - $('#flash_detail_' + category).hide(); - $('#flash_' + category + '_disp').hide(); - $('#flash_' + category + '_content').empty(); - $('#flash_' + category + '_detail').empty(); - }); - - if ((data.js || '') != '') + if (!data.no_flash_clear) { + $(['info', 'warning', 'error']).each(function(idx, category) { + $('#flash_' + category).hide(); + $('#flash_detail_' + category).hide(); + $('#flash_' + category + '_disp').hide(); + $('#flash_' + category + '_content').empty(); + $('#flash_' + category + '_detail').empty(); + }); + } + if ((data.js || '') !== '') + // jshint -W061 eval(data.js); + // jshint +W061 if (data.eval_actions) $(data.eval_actions).each(function(idx, action) { @@ -108,12 +113,12 @@ ns.eval_json_result = function(data) { // ## jQuery UI dialog plugin ## - // Opening and closing and closing a popup + // Opening 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 }); + else if (action[0] == 'ajaxForm') $(action[1]).ajaxForm({ success: eval_json_result }); // ## jstree plugin ## @@ -146,12 +151,15 @@ ns.eval_json_result = function(data) { // ## other stuff ## else if (action[0] == 'redirect_to') window.location.href = action[1]; + else if (action[0] == 'save_file') kivi.save_file(action[1], action[2], action[3], action[4]); else if (action[0] == 'flash') kivi.display_flash(action[1], action[2]); else if (action[0] == 'flash_detail') kivi.display_flash_detail(action[1], action[2]); + else if (action[0] == 'clear_flash') kivi.clear_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 if (action[0] == 'set_cursor_position') kivi.set_cursor_position(action[1], action[2]); else console.log('Unknown action: ' + action[0]);