Im Filtered Helper den callback richtig zusammenbauen.
[kivitendo-erp.git] / js / client_js.js
index 0477715..35d5e69 100644 (file)
@@ -86,10 +86,15 @@ ns.eval_json_result = function(data) {
       // Form Events
       else if (action[0] == 'focus')                $(action[1]).focus();
 
-      // ## jqModal plugin ##
+      // 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 ##
 
       // Closing and removing the popup
-      else if (action[0] == 'jqmClose')             $(action[1]).jqmClose();
+      else if (action[0] == 'dialog:close')         $(action[1]).dialog('close');
 
       // ## jstree plugin ##
 
@@ -119,6 +124,7 @@ ns.eval_json_result = function(data) {
 
       // ## other stuff ##
       else if (action[0] == 'redirect_to')          window.location.href = action[1];
+      else if (action[0] == 'reinit_widgets')       kivi.reinit_widgets();
 
       else                                          console.log('Unknown action: ' + action[0]);
 
@@ -128,8 +134,15 @@ ns.eval_json_result = function(data) {
 };
 
 ns.submit_ajax_form = function(url, form_selector, additional_data) {
-  var separator = /\?/.test(url) ? '&' : '?';
-  $.post(url + separator + $(form_selector).serialize(), additional_data, ns.eval_json_result);
+  var data = $(form_selector).serialize();
+  if (additional_data) {
+    if (data)
+      data += '&';
+    data += typeof additional_data == "string" ? additional_data : $(additional_data).serialize();
+  }
+
+  $.post(url, data, ns.eval_json_result);
+
   return true;
 };