Changeset 3680 in products for quintagroup.plonetabs/branches/nokss/quintagroup/plonetabs/browser/templates/plonetabs.pt
- Timestamp:
- Apr 30, 2013 2:34:02 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonetabs/branches/nokss/quintagroup/plonetabs/browser/templates/plonetabs.pt
r3077 r3680 158 158 159 159 </div> 160 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> 161 593 </div> 162 594
Note: See TracChangeset
for help on using the changeset viewer.