1 // NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE:
 
   3 // This file is generated automatically by the script
 
   4 // "scripts/generate_client_js_actions.pl". See the documentation for
 
   5 // SL/ClientJS.pm for instructions.
 
   7 namespace("kivi", function(ns) {
 
   8 ns.display_flash = function(type, message) {
 
   9   $('#flash_' + type + '_content').text(message);
 
  10   $('#flash_' + type).show();
 
  13 ns.eval_json_result = function(data) {
 
  18     return ns.display_flash('error', data.error);
 
  20   $(['info', 'warning', 'error']).each(function(idx, category) {
 
  21     $('#flash_' + category).hide();
 
  22     $('#flash_' + category + '_content').empty();
 
  25   if ((data.js || '') != '')
 
  28   if (data.eval_actions)
 
  29     $(data.eval_actions).each(function(idx, action) {
 
  30       // console.log("ACTION " + action[0] + " ON " + action[1]);
 
  32       // ## Non-jQuery methods ##
 
  33            if (action[0] == 'flash')                kivi.display_flash(action[1], action[2]);
 
  35       // ## jQuery basics ##
 
  38       else if (action[0] == 'hide')                 $(action[1]).hide();
 
  39       else if (action[0] == 'show')                 $(action[1]).show();
 
  40       else if (action[0] == 'toggle')               $(action[1]).toggle();
 
  42       // DOM insertion, around
 
  43       else if (action[0] == 'unwrap')               $(action[1]).unwrap();
 
  44       else if (action[0] == 'wrap')                 $(action[1]).wrap(action[2]);
 
  45       else if (action[0] == 'wrapAll')              $(action[1]).wrapAll(action[2]);
 
  46       else if (action[0] == 'wrapInner')            $(action[1]).wrapInner(action[2]);
 
  48       // DOM insertion, inside
 
  49       else if (action[0] == 'append')               $(action[1]).append(action[2]);
 
  50       else if (action[0] == 'appendTo')             $(action[1]).appendTo(action[2]);
 
  51       else if (action[0] == 'html')                 $(action[1]).html(action[2]);
 
  52       else if (action[0] == 'prepend')              $(action[1]).prepend(action[2]);
 
  53       else if (action[0] == 'prependTo')            $(action[1]).prependTo(action[2]);
 
  54       else if (action[0] == 'text')                 $(action[1]).text(action[2]);
 
  56       // DOM insertion, outside
 
  57       else if (action[0] == 'after')                $(action[1]).after(action[2]);
 
  58       else if (action[0] == 'before')               $(action[1]).before(action[2]);
 
  59       else if (action[0] == 'insertAfter')          $(action[1]).insertAfter(action[2]);
 
  60       else if (action[0] == 'insertBefore')         $(action[1]).insertBefore(action[2]);
 
  63       else if (action[0] == 'empty')                $(action[1]).empty();
 
  64       else if (action[0] == 'remove')               $(action[1]).remove();
 
  67       else if (action[0] == 'replaceAll')           $(action[1]).replaceAll(action[2]);
 
  68       else if (action[0] == 'replaceWith')          $(action[1]).replaceWith(action[2]);
 
  71       else if (action[0] == 'attr')                 $(action[1]).attr(action[2], action[3]);
 
  72       else if (action[0] == 'prop')                 $(action[1]).prop(action[2], action[3]);
 
  73       else if (action[0] == 'removeAttr')           $(action[1]).removeAttr(action[2]);
 
  74       else if (action[0] == 'removeProp')           $(action[1]).removeProp(action[2]);
 
  75       else if (action[0] == 'val')                  $(action[1]).val(action[2]);
 
  78       else if (action[0] == 'addClass')             $(action[1]).addClass(action[2]);
 
  79       else if (action[0] == 'removeClass')          $(action[1]).removeClass(action[2]);
 
  80       else if (action[0] == 'toggleClass')          $(action[1]).toggleClass(action[2]);
 
  83       else if (action[0] == 'data')                 $(action[1]).data(action[2], action[3]);
 
  84       else if (action[0] == 'removeData')           $(action[1]).removeData(action[2]);
 
  87       else if (action[0] == 'focus')                $(action[1]).focus();
 
  89       // ## jqModal plugin ##
 
  91       // Closing and removing the popup
 
  92       else if (action[0] == 'jqmClose')             $(action[1]).jqmClose();
 
  94       // ## jstree plugin ##
 
  96       // Operations on the whole tree
 
  97       else if (action[0] == 'jstree:lock')          $.jstree._reference($(action[1])).lock();
 
  98       else if (action[0] == 'jstree:unlock')        $.jstree._reference($(action[1])).unlock();
 
 100       // Opening and closing nodes
 
 101       else if (action[0] == 'jstree:open_node')     $.jstree._reference($(action[1])).open_node(action[2]);
 
 102       else if (action[0] == 'jstree:open_all')      $.jstree._reference($(action[1])).open_all(action[2]);
 
 103       else if (action[0] == 'jstree:close_node')    $.jstree._reference($(action[1])).close_node(action[2]);
 
 104       else if (action[0] == 'jstree:close_all')     $.jstree._reference($(action[1])).close_all(action[2]);
 
 105       else if (action[0] == 'jstree:toggle_node')   $.jstree._reference($(action[1])).toggle_node(action[2]);
 
 106       else if (action[0] == 'jstree:save_opened')   $.jstree._reference($(action[1])).save_opened();
 
 107       else if (action[0] == 'jstree:reopen')        $.jstree._reference($(action[1])).reopen();
 
 110       else if (action[0] == 'jstree:create_node')   $.jstree._reference($(action[1])).create_node(action[2], action[3], action[4]);
 
 111       else if (action[0] == 'jstree:rename_node')   $.jstree._reference($(action[1])).rename_node(action[2], action[3]);
 
 112       else if (action[0] == 'jstree:delete_node')   $.jstree._reference($(action[1])).delete_node(action[2]);
 
 113       else if (action[0] == 'jstree:move_node')     $.jstree._reference($(action[1])).move_node(action[2], action[3], action[4], action[5]);
 
 115       // Selecting nodes (from the 'ui' plugin to jstree)
 
 116       else if (action[0] == 'jstree:select_node')   $.jstree._reference($(action[1])).select_node(action[2], true);
 
 117       else if (action[0] == 'jstree:deselect_node') $.jstree._reference($(action[1])).deselect_node(action[2]);
 
 118       else if (action[0] == 'jstree:deselect_all')  $.jstree._reference($(action[1])).deselect_all();
 
 121       else if (action[0] == 'redirect_to')          window.location.href = action[1];
 
 122       else if (action[0] == 'reinit_widgets')       kivi.reinit_widgets();
 
 124       else                                          console.log('Unknown action: ' + action[0]);
 
 128   // console.log("current_content_type " + $('#current_content_type').val() + ' ID ' + $('#current_content_id').val());
 
 131 ns.submit_ajax_form = function(url, form_selector, additional_data) {
 
 132   var separator = /\?/.test(url) ? '&' : '?';
 
 133   $.post(url + separator + $(form_selector).serialize(), additional_data, ns.eval_json_result);