ClientJS: »pattern:« nur bei Abschnittskommentaren
[kivitendo-erp.git] / js / client_js.js
1 // NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE:
2
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.
6
7 namespace("kivi", function(ns) {
8 ns.display_flash = function(type, message, noscroll) {
9   $('#flash_' + type + '_content').text(message);
10   $('#flash_' + type).show();
11   if (!noscroll) {
12     $('#frame-header')[0].scrollIntoView();
13   }
14 };
15
16 ns.display_flash_detail = function(type, message) {
17   $('#flash_' + type + '_detail').html(message);
18   $('#flash_' + type + '_disp').show();
19 };
20
21 ns.clear_flash = function(category , timeout) {
22   window.setTimeout(function(){
23     $('#flash_' + category).hide();
24     $('#flash_detail_' + category).hide();
25     $('#flash_' + category + '_disp').hide();
26     $('#flash_' + category + '_content').empty();
27     $('#flash_' + category + '_detail').empty();
28   }, timeout);
29 };
30
31 ns.eval_json_result = function(data) {
32   if (!data)
33     return;
34
35   if (data.error)
36     return ns.display_flash('error', data.error);
37
38   if (!data.no_flash_clear) {
39     $(['info', 'warning', 'error']).each(function(idx, category) {
40       $('#flash_' + category).hide();
41       $('#flash_detail_' + category).hide();
42       $('#flash_' + category + '_disp').hide();
43       $('#flash_' + category + '_content').empty();
44       $('#flash_' + category + '_detail').empty();
45     });
46   }
47   if ((data.js || '') != '')
48     eval(data.js);
49
50   if (data.eval_actions)
51     $(data.eval_actions).each(function(idx, action) {
52       // console.log("ACTION " + action[0] + " ON " + action[1]);
53
54       // ## jQuery basics ##
55       // Basic effects
56            if (action[0] == 'hide')                 $(action[1]).hide();
57       else if (action[0] == 'show')                 $(action[1]).show();
58       else if (action[0] == 'toggle')               $(action[1]).toggle();
59
60       // DOM insertion, around
61       else if (action[0] == 'unwrap')               $(action[1]).unwrap();
62       else if (action[0] == 'wrap')                 $(action[1]).wrap(action[2]);
63       else if (action[0] == 'wrapAll')              $(action[1]).wrapAll(action[2]);
64       else if (action[0] == 'wrapInner')            $(action[1]).wrapInner(action[2]);
65
66       // DOM insertion, inside
67       else if (action[0] == 'append')               $(action[1]).append(action[2]);
68       else if (action[0] == 'appendTo')             $(action[1]).appendTo(action[2]);
69       else if (action[0] == 'html')                 $(action[1]).html(action[2]);
70       else if (action[0] == 'prepend')              $(action[1]).prepend(action[2]);
71       else if (action[0] == 'prependTo')            $(action[1]).prependTo(action[2]);
72       else if (action[0] == 'text')                 $(action[1]).text(action[2]);
73
74       // DOM insertion, outside
75       else if (action[0] == 'after')                $(action[1]).after(action[2]);
76       else if (action[0] == 'before')               $(action[1]).before(action[2]);
77       else if (action[0] == 'insertAfter')          $(action[1]).insertAfter(action[2]);
78       else if (action[0] == 'insertBefore')         $(action[1]).insertBefore(action[2]);
79
80       // DOM removal
81       else if (action[0] == 'empty')                $(action[1]).empty();
82       else if (action[0] == 'remove')               $(action[1]).remove();
83
84       // DOM replacement
85       else if (action[0] == 'replaceAll')           $(action[1]).replaceAll(action[2]);
86       else if (action[0] == 'replaceWith')          $(action[1]).replaceWith(action[2]);
87
88       // General attributes
89       else if (action[0] == 'attr')                 $(action[1]).attr(action[2], action[3]);
90       else if (action[0] == 'prop')                 $(action[1]).prop(action[2], action[3]);
91       else if (action[0] == 'removeAttr')           $(action[1]).removeAttr(action[2]);
92       else if (action[0] == 'removeProp')           $(action[1]).removeProp(action[2]);
93       else if (action[0] == 'val')                  $(action[1]).val(action[2]);
94
95       // Class attribute
96       else if (action[0] == 'addClass')             $(action[1]).addClass(action[2]);
97       else if (action[0] == 'removeClass')          $(action[1]).removeClass(action[2]);
98       else if (action[0] == 'toggleClass')          $(action[1]).toggleClass(action[2]);
99
100       // Data storage
101       else if (action[0] == 'data')                 $(action[1]).data(action[2], action[3]);
102       else if (action[0] == 'removeData')           $(action[1]).removeData(action[2]);
103
104       // Form Events
105       else if (action[0] == 'focus')                kivi.set_focus(action[1]);
106
107       // Generic Event Handling ##
108       else if (action[0] == 'on')                   $(action[1]).on(action[2], kivi.get_function_by_name(action[3]));
109       else if (action[0] == 'off')                  $(action[1]).off(action[2], kivi.get_function_by_name(action[3]));
110       else if (action[0] == 'one')                  $(action[1]).one(action[2], kivi.get_function_by_name(action[3]));
111
112       // ## jQuery UI dialog plugin ##
113
114       // Opening and closing and closing a popup
115       else if (action[0] == 'dialog:open')          kivi.popup_dialog(action[1]);
116       else if (action[0] == 'dialog:close')         $(action[1]).dialog('close');
117
118       // ## jQuery Form plugin ##
119       else if (action[0] == 'ajaxForm')             $(action[1]).ajaxForm({ success: eval_json_result });
120
121       // ## jstree plugin ##
122
123       // Operations on the whole tree
124       else if (action[0] == 'jstree:lock')          $.jstree._reference($(action[1])).lock();
125       else if (action[0] == 'jstree:unlock')        $.jstree._reference($(action[1])).unlock();
126
127       // Opening and closing nodes
128       else if (action[0] == 'jstree:open_node')     $.jstree._reference($(action[1])).open_node(action[2]);
129       else if (action[0] == 'jstree:open_all')      $.jstree._reference($(action[1])).open_all(action[2]);
130       else if (action[0] == 'jstree:close_node')    $.jstree._reference($(action[1])).close_node(action[2]);
131       else if (action[0] == 'jstree:close_all')     $.jstree._reference($(action[1])).close_all(action[2]);
132       else if (action[0] == 'jstree:toggle_node')   $.jstree._reference($(action[1])).toggle_node(action[2]);
133       else if (action[0] == 'jstree:save_opened')   $.jstree._reference($(action[1])).save_opened();
134       else if (action[0] == 'jstree:reopen')        $.jstree._reference($(action[1])).reopen();
135
136       // Modifying nodes
137       else if (action[0] == 'jstree:create_node')   $.jstree._reference($(action[1])).create_node(action[2], action[3], action[4]);
138       else if (action[0] == 'jstree:rename_node')   $.jstree._reference($(action[1])).rename_node(action[2], action[3]);
139       else if (action[0] == 'jstree:delete_node')   $.jstree._reference($(action[1])).delete_node(action[2]);
140       else if (action[0] == 'jstree:move_node')     $.jstree._reference($(action[1])).move_node(action[2], action[3], action[4], action[5]);
141
142       // Selecting nodes (from the 'ui' plugin to jstree)
143       else if (action[0] == 'jstree:select_node')   $.jstree._reference($(action[1])).select_node(action[2], true);
144       else if (action[0] == 'jstree:deselect_node') $.jstree._reference($(action[1])).deselect_node(action[2]);
145       else if (action[0] == 'jstree:deselect_all')  $.jstree._reference($(action[1])).deselect_all();
146
147       // ## ckeditor stuff ##
148       else if (action[0] == 'focus_ckeditor')       kivi.focus_ckeditor_when_ready(action[1]);
149
150       // ## other stuff ##
151       else if (action[0] == 'redirect_to')          window.location.href = action[1];
152       else if (action[0] == 'flash')                kivi.display_flash(action[1], action[2]);
153       else if (action[0] == 'flash_detail')         kivi.display_flash_detail(action[1], action[2]);
154       else if (action[0] == 'clear_flash')          kivi.clear_flash(action[1], action[2]);
155       else if (action[0] == 'reinit_widgets')       kivi.reinit_widgets();
156       else if (action[0] == 'run')                  kivi.run(action[1], action.slice(2, action.length));
157       else if (action[0] == 'run_once_for')         kivi.run_once_for(action[1], action[2], action[3]);
158       else if (action[0] == 'scroll_into_view')     $(action[1])[0].scrollIntoView();
159
160       else                                          console.log('Unknown action: ' + action[0]);
161
162     });
163
164   // console.log("current_content_type " + $('#current_content_type').val() + ' ID ' + $('#current_content_id').val());
165 };
166
167 });
168
169 // Local Variables:
170 // mode: js
171 // End: