epic-s6ts
[kivitendo-erp.git] / js / client_js.js
index c1331a2..c9a1524 100644 (file)
@@ -8,7 +8,7 @@ namespace("kivi", function(ns) {
 ns.display_flash = function(type, message, noscroll) {
   $('#flash_' + type + '_content').text(message);
   $('#flash_' + type).show();
-  if (!noscroll) {
+  if (!noscroll && $('#frame-header')[0]) {
     $('#frame-header')[0].scrollIntoView();
   }
 };
@@ -35,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) {
@@ -110,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 ##
 
@@ -148,13 +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.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]);