1 | <html xmlns="http://www.w3.org/1999/xhtml" |
---|
2 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
---|
3 | xmlns:tal="http://xml.zope.org/namespaces/tal" |
---|
4 | xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
---|
5 | xml:lang="en" lang="en" |
---|
6 | metal:use-macro="context/prefs_main_template/macros/master" |
---|
7 | i18n:domain="quintagroup.plonetabs"> |
---|
8 | |
---|
9 | <metal:block metal:fill-slot="top_slot" |
---|
10 | tal:define="dummy python:request.set('disable_border', 1)" /> |
---|
11 | |
---|
12 | <body> |
---|
13 | |
---|
14 | <div metal:fill-slot="prefs_configlet_main" |
---|
15 | tal:define="test nocall:view/test; |
---|
16 | category here/REQUEST/category|nothing; |
---|
17 | category python:test(category and category != '', category, 'portal_tabs'); |
---|
18 | errors options/errors|nothing; |
---|
19 | portal_state context/@@plone_portal_state; |
---|
20 | portal_url portal_state/portal_url; |
---|
21 | test nocall:view/test"> |
---|
22 | |
---|
23 | <div id="plonetabs_form"> |
---|
24 | |
---|
25 | <div id="app" class="qPloneTabs"> |
---|
26 | |
---|
27 | <h1 id="plonetabs-form-title" |
---|
28 | class="documentFirstHeading" |
---|
29 | i18n:translate="" |
---|
30 | tal:content="python:view.getPageTitle(category)">Plone Tabs</h1> |
---|
31 | |
---|
32 | <a href="" |
---|
33 | class="link-parent" |
---|
34 | tal:attributes="href string:${portal_url}/plone_control_panel" |
---|
35 | i18n:domain="plone" |
---|
36 | i18n:translate="label_up_to_plone_setup"> |
---|
37 | Up to Site Setup |
---|
38 | </a> |
---|
39 | |
---|
40 | <div> |
---|
41 | <form id="selectcategory_form" |
---|
42 | name="selectcategory_form" |
---|
43 | method="post" |
---|
44 | action="@@plonetabs-controlpanel" |
---|
45 | tal:attributes="action string:${portal_url}/${attrs/action}"> |
---|
46 | <div class="field" |
---|
47 | tal:define="error errors/select_category|nothing" |
---|
48 | tal:attributes="class python:test(error, 'field error', 'field')"> |
---|
49 | <div tal:replace="error">Error output</div> |
---|
50 | <label for="select_category" i18n:translate="label_select_category">Select category to manage</label> |
---|
51 | <select name="category" |
---|
52 | id="select_category" |
---|
53 | tal:define="categories view/getCategories"> |
---|
54 | <option value="current_category" selected="selected" |
---|
55 | tal:attributes="value category" |
---|
56 | i18n:translate="" |
---|
57 | tal:content="category" /> |
---|
58 | <tal:options repeat="cat categories"> |
---|
59 | <option tal:attributes="value cat" |
---|
60 | tal:content="cat" |
---|
61 | i18n:translate="" |
---|
62 | tal:condition="python: cat != category" /> |
---|
63 | </tal:options> |
---|
64 | </select> |
---|
65 | <input class="change-button kssHidden" type="submit" i18n:attributes="value" name="category.change" value="Change" /> |
---|
66 | </div> |
---|
67 | </form> |
---|
68 | </div> |
---|
69 | |
---|
70 | <ul class="csshover" |
---|
71 | id="tabslist" |
---|
72 | tal:content="structure python:view.getActionsList(category=category, errors=errors)" /> |
---|
73 | |
---|
74 | <form id="addaction" |
---|
75 | name="addaction_form" |
---|
76 | method="post" |
---|
77 | action="@@plonetabs-controlpanel" |
---|
78 | tal:attributes="action string:${portal_url}/${attrs/action}"> |
---|
79 | <input type="hidden" name="form.submitted:boolean" value="True" /> |
---|
80 | <input type="hidden" name="category" value="category" tal:attributes="value category" /> |
---|
81 | <dl class="field-visible bridge"> |
---|
82 | <dt> |
---|
83 | <label for="actvisible" i18n:translate="">Visible</label> |
---|
84 | </dt> |
---|
85 | <dd> |
---|
86 | <input id="actvisible" type="checkbox" value="1" checked="checked" title="visibility" name="visible" |
---|
87 | tal:attributes="checked request/visible|string:checked" /> |
---|
88 | </dd> |
---|
89 | </dl> |
---|
90 | <dl class="field-name" |
---|
91 | tal:define="error errors/title|nothing" |
---|
92 | tal:attributes="class python:test(error, '%s error' % attrs['class'], attrs['class'])"> |
---|
93 | <dt> |
---|
94 | <label for="actname" i18n:translate="">Name</label> |
---|
95 | </dt> |
---|
96 | <dd> |
---|
97 | <span class="error-container" tal:content="error" |
---|
98 | i18n:translate="">Validation error output</span> |
---|
99 | <input id="actname" type="text" value="" name="title" autocomplete="off" |
---|
100 | tal:attributes="value request/title|nothing"/> |
---|
101 | </dd> |
---|
102 | </dl> |
---|
103 | <dl class="field-action" |
---|
104 | tal:define="error errors/url_expr|nothing" |
---|
105 | tal:attributes="class python:test(error, '%s error' % attrs['class'], attrs['class'])"> |
---|
106 | <dt> |
---|
107 | <label for="actaction" i18n:translate="">URL (Expression)</label> |
---|
108 | </dt> |
---|
109 | <dd> |
---|
110 | <span class="error-container" tal:content="error" |
---|
111 | i18n:translate="">Validation error output</span> |
---|
112 | <input id="actaction" type="text" value="" size="30" name="url_expr" |
---|
113 | tal:attributes="value request/url_expr|nothing"/> |
---|
114 | </dd> |
---|
115 | </dl> |
---|
116 | <dl class="collapseAdvanced expandedBlock"> |
---|
117 | <dt class="headerAdvanced" i18n:translate="">Advanced</dt> |
---|
118 | <dd class="contentAdvanced"> |
---|
119 | <dl class="field-id" |
---|
120 | tal:define="error errors/id|nothing" |
---|
121 | tal:attributes="class python:test(error, '%s error' % attrs['class'], attrs['class'])"> |
---|
122 | <dt> |
---|
123 | <label for="actid" i18n:translate="">Id</label> |
---|
124 | </dt> |
---|
125 | <dd> |
---|
126 | <span class="error-container" tal:content="error" |
---|
127 | i18n:translate="">Validation error output</span> |
---|
128 | <input id="actid" type="text" value="" name="id" |
---|
129 | tal:attributes="value request/id|nothing" /> |
---|
130 | </dd> |
---|
131 | </dl> |
---|
132 | <dl class="field-condition" |
---|
133 | tal:define="error errors/available_expr|nothing" |
---|
134 | tal:attributes="class python:test(error, '%s error' % attrs['class'], attrs['class'])"> |
---|
135 | <dt> |
---|
136 | <label for="actcondition" i18n:translate="">Condition (Expression)</label> |
---|
137 | </dt> |
---|
138 | <dd> |
---|
139 | <span class="error-container" tal:content="error" |
---|
140 | i18n:translate="">Validation error output</span> |
---|
141 | <input id="actcondition" type="text" value="" size="30" name="available_expr" |
---|
142 | tal:attributes="value request/available_expr|nothing" /> |
---|
143 | </dd> |
---|
144 | </dl> |
---|
145 | <div class="visualClear"><!-- --></div> |
---|
146 | </dd> |
---|
147 | </dl> |
---|
148 | <div class="add-controls"> |
---|
149 | <input type="submit" id="buttonadd" class="context" i18n:attributes="value" name="add.add" value="Add" /> |
---|
150 | <input type="submit" id="buttoncancel" class="standalone" i18n:attributes="value" name="add.cancel" value="Cancel" /> |
---|
151 | <input type="reset" id="buttonreset" class="editreset kssHidden context" i18n:attributes="value" name="add.reset" value="Reset" /> |
---|
152 | </div> |
---|
153 | </form> |
---|
154 | |
---|
155 | <tal:autogenerated_section tal:replace="structure python:view.getAutoGenereatedSection(cat_name=category, errors=errors)" /> |
---|
156 | |
---|
157 | </div> |
---|
158 | |
---|
159 | </div> |
---|
160 | <script> |
---|
161 | (function(a){var b,c=a();a.fn.sortable=function(d){var e=String(d);return d=a.extend({connectWith:!1},d),this.each(function(){if(/^enable|disable|destroy$/.test(e)){var f=a(this).children(a(this).data("items")).attr("draggable",e=="enable");e=="destroy"&&f.add(this).removeData("connectWith items").off("dragstart.h5s dragend.h5s selectstart.h5s dragover.h5s dragenter.h5s drop.h5s");return}var g,h,f=a(this).children(d.items),i=a("<"+(/^ul|ol$/i.test(this.tagName)?"li":"div")+' class="sortable-placeholder">');f.find(d.handle).mousedown(function(){g=!0}).mouseup(function(){g=!1}),a(this).data("items",d.items),c=c.add(i),d.connectWith&&a(d.connectWith).add(this).data("connectWith",d.connectWith),f.attr("draggable","true").on("dragstart.h5s",function(c){if(d.handle&&!g)return!1;g=!1;var e=c.originalEvent.dataTransfer;e.effectAllowed="move",e.setData("Text","dummy"),h=(b=a(this)).addClass("sortable-dragging").index()}).on("dragend.h5s",function(){b.removeClass("sortable-dragging").show(),c.detach(),h!=b.index()&&f.parent().trigger("sortupdate",{item:b}),b=null}).not("a[href], img").on("selectstart.h5s",function(){return this.dragDrop&&this.dragDrop(),!1}).end().add([this,i]).on("dragover.h5s dragenter.h5s drop.h5s",function(e){return!f.is(b)&&d.connectWith!==a(b).parent().data("connectWith")?!0:e.type=="drop"?(e.stopPropagation(),c.filter(":visible").after(b),!1):(e.preventDefault(),e.originalEvent.dataTransfer.dropEffect="move",f.is(this)?(d.forcePlaceholderSize&&i.height(b.outerHeight()),b.hide(),a(this)[i.index()<a(this).index()?"after":"before"](i),c.not(i).detach()):!c.is(this)&&!a(this).children(d.items).length&&(c.detach(),a(this).append(i)),!1)})})}})(jQuery); |
---|
162 | </script> |
---|
163 | |
---|
164 | <script> |
---|
165 | //Functions declaration |
---|
166 | |
---|
167 | function sortableList() { |
---|
168 | console.log('sort changed'); |
---|
169 | var formData = {}; |
---|
170 | |
---|
171 | //?TODO formData.ajax_request = "edit_moveact" |
---|
172 | |
---|
173 | formData.ajax_request = true; |
---|
174 | var liIds = $('#tabslist li').map(function(i,n) { |
---|
175 | return $(n).attr('id'); |
---|
176 | }).get().join('&'); |
---|
177 | cat_name = $('#select_category').val(); |
---|
178 | formData.cat_name = cat_name; |
---|
179 | formData.actions = liIds; |
---|
180 | formData.edit_moveact = 'Move Action'; |
---|
181 | //formData.push({ name: 'edit.moveact', value: 'Move Action'}); |
---|
182 | $.ajax({ |
---|
183 | type:'POST', |
---|
184 | url: '@@plonetabs-controlpanel', |
---|
185 | data: formData, |
---|
186 | success: function(response) { |
---|
187 | var json = JSON.parse(response) |
---|
188 | console.log("response from server: "); |
---|
189 | console.log(json); |
---|
190 | |
---|
191 | if (json.status_code === 200){ |
---|
192 | console.log('display success messages'); |
---|
193 | } |
---|
194 | else{ |
---|
195 | console.log('display error messages'); |
---|
196 | } |
---|
197 | } |
---|
198 | }); |
---|
199 | } |
---|
200 | |
---|
201 | function toggleCollapsible(el, collapse) { |
---|
202 | collapse = typeof collapse !== 'undefined' ? collapse : 'default'; |
---|
203 | |
---|
204 | var node = el.parent(".collapseAdvanced"); |
---|
205 | |
---|
206 | if(collapse!=='default'){ |
---|
207 | if (collapse==true){ |
---|
208 | console.log("removeClass expandedBlock; addClass collapsedBlock"); |
---|
209 | node.removeClass('expandedBlock'); |
---|
210 | node.addClass('collapsedBlock'); |
---|
211 | } |
---|
212 | else{ |
---|
213 | console.log("removeClass collapsedBlock; addClass expandedBlock"); |
---|
214 | node.removeClass('collapsedBlock'); |
---|
215 | node.addClass('expandedBlock'); |
---|
216 | } |
---|
217 | } |
---|
218 | else{ |
---|
219 | if (node.hasClass('collapsedBlock')){ |
---|
220 | console.log("removeClass collapsedBlock; addClass expandedBlock"); |
---|
221 | node.removeClass('collapsedBlock'); |
---|
222 | node.addClass('expandedBlock'); |
---|
223 | } |
---|
224 | else{ |
---|
225 | console.log("removeClass expandedBlock; addClass collapsedBlock"); |
---|
226 | node.removeClass('expandedBlock'); |
---|
227 | node.addClass('collapsedBlock'); |
---|
228 | } |
---|
229 | } |
---|
230 | |
---|
231 | } |
---|
232 | |
---|
233 | function startupActions() { |
---|
234 | console.log('running basic methods'); |
---|
235 | $(".add-controls input").addClass('allowMultiSubmit'); |
---|
236 | $(".edit-controls input").addClass('allowMultiSubmit'); |
---|
237 | $(".collapseAdvanced").removeClass('expandedBlock').addClass('collapsedBlock'); |
---|
238 | } |
---|
239 | </script> |
---|
240 | |
---|
241 | <script> |
---|
242 | $(document).ready(function() { |
---|
243 | console.log('document ready'); |
---|
244 | $("#plonetabs_form").addClass('kssTabsActive'); |
---|
245 | startupActions() |
---|
246 | }); |
---|
247 | </script> |
---|
248 | |
---|
249 | |
---|
250 | <script> |
---|
251 | /*CLIENTS METHODS*/ |
---|
252 | |
---|
253 | //titleWrapper |
---|
254 | $("#tabslist .titleWrapper").live("click", function() { |
---|
255 | console.log("#tabslist .titleWrapper clicked"); |
---|
256 | ($(this).closest('li')).addClass('editing'); |
---|
257 | }); |
---|
258 | |
---|
259 | //collapse |
---|
260 | $(".collapseAdvanced .headerAdvanced").live("click", function(event) { |
---|
261 | console.log(".collapseAdvanced .headerAdvanced clicked"); |
---|
262 | toggleCollapsible($(this)); |
---|
263 | }); |
---|
264 | </script> |
---|
265 | |
---|
266 | <script> |
---|
267 | /*AJAX METHODS*/ |
---|
268 | |
---|
269 | //save(edit) |
---|
270 | $('#tabslist .editsave').live("click", function(event) { |
---|
271 | console.log('.editsave clicked '); |
---|
272 | event.preventDefault(); |
---|
273 | var formData = $(this).closest('form').serializeArray(); |
---|
274 | formData.push({ name: "edit_save", value: this.value }); |
---|
275 | |
---|
276 | //?TODO formData.ajax_request = "edit_save" |
---|
277 | |
---|
278 | formData.push({ name: "ajax_request", value: true }); |
---|
279 | $.ajax({ |
---|
280 | type:'POST', |
---|
281 | url: '@@plonetabs-controlpanel', |
---|
282 | data: formData, |
---|
283 | success: function(response) { |
---|
284 | var json = JSON.parse(response) |
---|
285 | console.log("response from server: "); |
---|
286 | console.log(json); |
---|
287 | if (json.status_code === 200){ |
---|
288 | console.log('display success messages'); |
---|
289 | |
---|
290 | $(this).closest('li').replaceWith(json.content); |
---|
291 | } |
---|
292 | else{ |
---|
293 | console.log('display error messages'); |
---|
294 | |
---|
295 | //if 'id' in errors or 'available_expr' in errors or 'url_expr' in errors: |
---|
296 | toggleCollapsible($(this).find('.headerAdvanced'), false); |
---|
297 | } |
---|
298 | } |
---|
299 | }); |
---|
300 | }); |
---|
301 | |
---|
302 | //reset(cancel) |
---|
303 | $('#tabslist .editcancel').live("click", function(event) { |
---|
304 | console.log('.editcancel clicked '); |
---|
305 | event.preventDefault(); |
---|
306 | var formData={}; |
---|
307 | formData.ajax_request = true; |
---|
308 | |
---|
309 | //?TODO formData.ajax_request = "edit_cancel" |
---|
310 | |
---|
311 | formData.edit_cancel = 'Cancel'; |
---|
312 | var parentFormSelect = $(this).closest('li'); |
---|
313 | formData.orig_id = parentFormSelect.find('.editform input[name="orig_id"]').val(); |
---|
314 | formData.category = parentFormSelect.find('.editform input[name="category"]').val(); |
---|
315 | $.ajax({ |
---|
316 | type:'POST', |
---|
317 | url: '@@plonetabs-controlpanel', |
---|
318 | data: formData, |
---|
319 | success: function(response) { |
---|
320 | var json = JSON.parse(response) |
---|
321 | console.log("response from server: "); |
---|
322 | console.log(json); |
---|
323 | |
---|
324 | if (json.status_code === 200){ |
---|
325 | console.log('display success messages'); |
---|
326 | parentFormSelect.replaceWith(json.content); |
---|
327 | |
---|
328 | } |
---|
329 | else{ |
---|
330 | console.log('display error messages'); |
---|
331 | } |
---|
332 | } |
---|
333 | |
---|
334 | }); |
---|
335 | }); |
---|
336 | |
---|
337 | //delete |
---|
338 | $('#tabslist .delete').live("click", function(event) { |
---|
339 | console.log('.delete clicked '); |
---|
340 | event.preventDefault(); |
---|
341 | var formData={}; |
---|
342 | formData.ajax_request = true; |
---|
343 | |
---|
344 | //?TODO formData.ajax_request = "edit_delete" |
---|
345 | |
---|
346 | formData.edit_delete = 'Delete'; |
---|
347 | var parentFormSelect = $(this).closest('li'); |
---|
348 | formData.orig_id = parentFormSelect.find('.editform input[name="orig_id"]').val(); |
---|
349 | formData.category = parentFormSelect.find('.editform input[name="category"]').val(); |
---|
350 | $.ajax({ |
---|
351 | type:'POST', |
---|
352 | url: '@@plonetabs-controlpanel', |
---|
353 | data: formData, |
---|
354 | success: function(response) { |
---|
355 | var json = JSON.parse(response) |
---|
356 | console.log("response from server: "); |
---|
357 | console.log(json); |
---|
358 | if (json.status_code === 200){ |
---|
359 | console.log('display success messages'); |
---|
360 | parentFormSelect.remove() |
---|
361 | } |
---|
362 | else{ |
---|
363 | console.log('display error messages'); |
---|
364 | } |
---|
365 | |
---|
366 | } |
---|
367 | |
---|
368 | }); |
---|
369 | }); |
---|
370 | |
---|
371 | //visibility |
---|
372 | $('#tabslist input.visibility').live("click", function(event) { |
---|
373 | var formData={}; |
---|
374 | formData.ajax_request = true; |
---|
375 | console.log('#tabslist input.visibility clicked '); |
---|
376 | formData.tabslist_visible = 'Set visibillity'; |
---|
377 | var parentFormSelect = $(this).closest('li'); |
---|
378 | formData.orig_id = parentFormSelect.find('.editform input[name="orig_id"]').val(); |
---|
379 | formData.category = parentFormSelect.find('.editform input[name="category"]').val(); |
---|
380 | formData.visibility = $(this).is(":checked"); |
---|
381 | |
---|
382 | $.ajax({ |
---|
383 | type:'POST', |
---|
384 | url: '@@plonetabs-controlpanel', |
---|
385 | data: formData, |
---|
386 | success: function(response) { |
---|
387 | var json = JSON.parse(response) |
---|
388 | console.log("response from server: "); |
---|
389 | console.log(json); |
---|
390 | |
---|
391 | |
---|
392 | if (json.status_code === 200){ |
---|
393 | console.log('display success messages'); |
---|
394 | |
---|
395 | if (formData.visibility === true){ |
---|
396 | parentFormSelect.removeClass("invisible"); |
---|
397 | } |
---|
398 | else{ |
---|
399 | parentFormSelect.addClass("invisible"); |
---|
400 | } |
---|
401 | } |
---|
402 | else{ |
---|
403 | console.log('display error messages'); |
---|
404 | } |
---|
405 | } |
---|
406 | |
---|
407 | }); |
---|
408 | }); |
---|
409 | |
---|
410 | //changing category |
---|
411 | $('#select_category').change(function(event) { |
---|
412 | var formData={}; |
---|
413 | formData.ajax_request = true; |
---|
414 | console.log('select_category changed '); |
---|
415 | formData.category = $(this).val(); |
---|
416 | formData.category_change = 'Change'; |
---|
417 | $.ajax({ |
---|
418 | type: 'POST', |
---|
419 | url: '@@plonetabs-controlpanel', |
---|
420 | data: formData, |
---|
421 | success: function(response) { |
---|
422 | var json = JSON.parse(response) |
---|
423 | console.log(json); |
---|
424 | if (json.status_code === 200){ |
---|
425 | console.log('display success messages'); |
---|
426 | $('form[name=addaction_form] input[name=category]').text($('#select_category').val()); |
---|
427 | $('#tabslist').html(json.actionslist); |
---|
428 | $('#autogeneration_section').html(json.section); |
---|
429 | $('#plonetabs-form-title').text(json.title); |
---|
430 | |
---|
431 | $('#addaction').removeClass('adding'); |
---|
432 | toggleCollapsible($('form[name=addaction_form] .headerAdvanced'), true); |
---|
433 | |
---|
434 | //Sorting lists |
---|
435 | $('#tabslist').unbind(); |
---|
436 | $('#tabslist').sortable().bind('sortupdate', function(){sortableList()}); |
---|
437 | |
---|
438 | //Running startupActions |
---|
439 | startupActions(); |
---|
440 | } |
---|
441 | else{ |
---|
442 | console.log('display error messages'); |
---|
443 | } |
---|
444 | } |
---|
445 | }); |
---|
446 | }); |
---|
447 | </script> |
---|
448 | |
---|
449 | <script> |
---|
450 | //portal_tabs methods |
---|
451 | |
---|
452 | //visibility |
---|
453 | $('#roottabs .visibility').live("click", function(event) { |
---|
454 | var formData={}; |
---|
455 | formData.ajax_request = true; |
---|
456 | console.log('#roottabs .visibility clicked '); |
---|
457 | formData.roottabs_visible = 'Visibillity'; |
---|
458 | var parentFormSelect = $(this).closest('li'); |
---|
459 | formData.orig_id = parentFormSelect.attr('id'); |
---|
460 | formData.visibility = $(this).is(":checked"); |
---|
461 | $.ajax({ |
---|
462 | type:'POST', |
---|
463 | url: '@@plonetabs-controlpanel', |
---|
464 | data: formData, |
---|
465 | success: function(response) { |
---|
466 | var json = JSON.parse(response) |
---|
467 | console.log("response from server: "); |
---|
468 | console.log(json); |
---|
469 | if (json.status_code === 200){ |
---|
470 | console.log('display success messages'); |
---|
471 | $('#portal-globalnav').load(' #portal-globalnav>*'); |
---|
472 | if (formData.visibility === true){ |
---|
473 | parentFormSelect.removeClass("invisible"); |
---|
474 | } |
---|
475 | else{ |
---|
476 | parentFormSelect.addClass("invisible"); |
---|
477 | } |
---|
478 | |
---|
479 | } |
---|
480 | else{ |
---|
481 | console.log('display error messages'); |
---|
482 | } |
---|
483 | } |
---|
484 | |
---|
485 | }); |
---|
486 | }); |
---|
487 | |
---|
488 | //General func for toggleGeneratedTabs and nonfolderish_tabs request |
---|
489 | function sendRequest(field_name, checked_status){ |
---|
490 | var formData={}; |
---|
491 | formData.ajax_request = true; |
---|
492 | formData.field = field_name; |
---|
493 | formData.generated_tabs = checked_status; |
---|
494 | $.ajax({ |
---|
495 | type:'POST', |
---|
496 | url: '@@plonetabs-controlpanel', |
---|
497 | data: formData, |
---|
498 | success: function(response) { |
---|
499 | var json = JSON.parse(response) |
---|
500 | console.log("response from server: "); |
---|
501 | console.log(json); |
---|
502 | if (json.status_code === 200){ |
---|
503 | $('#roottabs').html(json.content); |
---|
504 | $('#portal-globalnav').load(' #portal-globalnav>*'); |
---|
505 | console.log('display success messages'); |
---|
506 | } |
---|
507 | else{ |
---|
508 | console.log('display error messages'); |
---|
509 | } |
---|
510 | } |
---|
511 | }); |
---|
512 | } |
---|
513 | |
---|
514 | //toggleGeneratedTabs |
---|
515 | $('#generated_tabs').live("click", function() { |
---|
516 | console.log('#generated_tabs clicked '); |
---|
517 | var field_name = 'disable_folder_sections'; |
---|
518 | var checked_status = $(this).is(":checked"); |
---|
519 | sendRequest(field_name, checked_status); |
---|
520 | }); |
---|
521 | |
---|
522 | //nonfolderish_tabs |
---|
523 | $('#nonfolderish_tabs').live("click", function() { |
---|
524 | console.log('#nonfolderish_tabs clicked '); |
---|
525 | var field_name = 'disable_nonfolderish_sections'; |
---|
526 | var checked_status = $(this).is(":checked"); |
---|
527 | sendRequest(field_name, checked_status); |
---|
528 | }); |
---|
529 | </script> |
---|
530 | |
---|
531 | |
---|
532 | |
---|
533 | <script> |
---|
534 | //Add new action methods |
---|
535 | |
---|
536 | //focus |
---|
537 | $("#actname").live("focus", function() { |
---|
538 | console.log("#actname on focus"); |
---|
539 | $('#addaction').addClass('adding'); |
---|
540 | }); |
---|
541 | |
---|
542 | //cancel |
---|
543 | $('#buttoncancel').live("click", function(event) { |
---|
544 | console.log('#buttoncancel clicked '); |
---|
545 | event.preventDefault(); |
---|
546 | $('#addaction').removeClass('adding'); |
---|
547 | toggleCollapsible($('form[name=addaction_form] .headerAdvanced'), true); |
---|
548 | //('#kssPortalMessage').css("display", "none"); |
---|
549 | }); |
---|
550 | |
---|
551 | //add |
---|
552 | //TODO: add #addaction:submit event processing |
---|
553 | $('#buttonadd').live("click", function(event) { |
---|
554 | console.log('#buttonadd clicked '); |
---|
555 | event.preventDefault(); |
---|
556 | var formData = $(this).closest('form').serializeArray(); |
---|
557 | formData.push({ name: "add_add", value: this.value }); |
---|
558 | formData.push({ name: "ajax_request", value: true }); |
---|
559 | formData.push({ name: "cat_name", value: $('#select_category').val() }); |
---|
560 | |
---|
561 | $.ajax({ |
---|
562 | type:'POST', |
---|
563 | url: '@@plonetabs-controlpanel', |
---|
564 | data: formData, |
---|
565 | success: function(response) { |
---|
566 | var json = JSON.parse(response) |
---|
567 | console.log("response from server: "); |
---|
568 | console.log(json); |
---|
569 | if (json.status_code === 200){ |
---|
570 | console.log('display success messages'); |
---|
571 | |
---|
572 | $("#tabslist").append(json.content) |
---|
573 | $("addaction").removeClass("adding"); |
---|
574 | toggleCollapsible($('form[name=addaction_form] .headerAdvanced'), true); |
---|
575 | |
---|
576 | //TODO |
---|
577 | //self.kss_blur(ksscore.getHtmlIdSelector('actname')) |
---|
578 | |
---|
579 | } |
---|
580 | else{ |
---|
581 | console.log('display error messages'); |
---|
582 | |
---|
583 | //TODO |
---|
584 | //if 'id' in errors or 'available_expr' in errors: |
---|
585 | toggleCollapsible($('form[name=addaction_form] .headerAdvanced'), false); |
---|
586 | |
---|
587 | |
---|
588 | } |
---|
589 | } |
---|
590 | }); |
---|
591 | }); |
---|
592 | </script> |
---|
593 | </div> |
---|
594 | |
---|
595 | </body> |
---|
596 | </html> |
---|