Changeset 1191
- Timestamp:
- 07/31/08 03:48:20
- Files:
-
- qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/plonetabs.py (modified) (5 diffs)
- qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/resources/plonetabs.kss (modified) (2 diffs)
- qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/plugins/configure.zcml (modified) (1 diff)
- qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/plugins/plugin.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/plonetabs.py
r1190 r1191 451 451 # XXX TODO: fade effect during removing, to do this we need kukit js action/command plugin 452 452 ksscore.deleteNode(ksscore.getHtmlIdSelector(id)) 453 self.kss_checkReorderControls(cat egory)453 self.kss_checkReorderControls(cat_name) 454 454 self.updatePage(cat_name) 455 455 … … 469 469 470 470 # if not errors find (or create) category and set action to it 471 ksscore = self.getCommandSet('core') 471 472 kssplone = self.getCommandSet('plone') 472 473 if not errors: … … 475 476 # update client 476 477 # add one more action to actions list 477 ksscore = self.getCommandSet('core')478 478 content = self.getActionsList(category=cat_name, tabs=[action,]) 479 479 ksscore.insertHTMLAsLastChild(ksscore.getHtmlIdSelector('tabslist'), content) 480 481 # update reorder controls 482 self.kss_checkReorderControls(cat_name) 480 483 481 484 # hide adding form … … 492 495 self.updatePage(cat_name) 493 496 else: 497 # expand advanced section if there are errors in id or condition 498 if errors.has_key('id') or errors.has_key('available_expr'): 499 self.kss_toggleCollapsible(ksscore.getCssSelector('#addaction .collapseAdvanced .headerAdvanced'), collapse='false') 500 494 501 # send error message 495 502 kssplone.issuePortalMessage(_(u"Please correct the indicated errors."), msgtype="error") … … 647 654 # 648 655 649 def kss_checkReorderControls(self, cat egory):656 def kss_checkReorderControls(self, cat_name): 650 657 """ Add "noitems" class to Reorder controls to hide them if category is empty """ 651 if not filter(lambda x: IAction.providedBy(x), category.objectValues()): 652 ksscore = self.getCommandSet('core') 653 ksscore.addClass(ksscore.getHtmlIdSelector("reorder"), value="noitems") 658 ksscore = self.getCommandSet('core') 659 selector = ksscore.getHtmlIdSelector("reorder") 660 category = self.getActionCategory(cat_name) 661 if filter(lambda x: IAction.providedBy(x), category.objectValues()): 662 ksscore.removeClass(selector, value="noitems") 663 else: 664 ksscore.addClass(selector, value="noitems") 654 665 655 666 def kss_validateAction(self, id, cat_name): qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/resources/plonetabs.kss
r1190 r1191 29 29 action-client: addClass; 30 30 addClass-value: collapsedBlock; 31 } 32 33 /* Save initial value of title field on adding form */ 34 #actname:load { 35 action-client: setStateVar; 36 setStateVar-varname: plonetabs-addingTitle; 37 setStateVar-value: currentFormVar(); 31 38 } 32 39 … … 112 119 } 113 120 121 /* autogenerate value for id field */ 122 #actname:keyup { 123 action-client: plonetabs-generateId; 124 plonetabs-generateId-target: actid; 125 } 126 114 127 /* Actions edit */ 115 128 #tabslist .tab-title:click { qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/plugins/configure.zcml
r1190 r1191 39 39 params_optional="" 40 40 /> 41 42 <kss:action 43 name="plonetabs-generateId" 44 command_factory="selector" 45 jsfile="plugin.js" 46 params_mandatory="target" 47 params_optional="" 48 /> 41 49 42 50 qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/plugins/plugin.js
r1190 r1191 74 74 oper.evaluateParameters([], {}); 75 75 76 var form = oper.node; 77 alert(form.name + 'form reseted'); 76 if (typeof(oper.node.reset) == "function") { 77 oper.node.reset(); 78 } else { 79 kukit.logWarning("plonetabs-resetForm: reset could only be executed on form element"); 80 } 78 81 79 82 }); … … 86 89 alert(oper.parms.message); 87 90 }); 91 92 var PLONETABS_ADD_PATTERN = new RegExp('[^a-zA-Z0-9-_~,.\\$\\(\\)# ]','g'); 93 94 kukit.actionsGlobalRegistry.register("plonetabs-generateId", function(oper) { 95 oper.componentName = "[plonetabs-generateId] action"; 96 oper.evaluateParameters(["target"], {}); 97 98 var source = oper.node; 99 var target = document.getElementById(oper.parms.target); 100 101 if (target == null) { 102 kukit.logWarning("plonetabs-generateId: target element ('" + oper.parms.target + "') not found"); 103 return ; 104 } 105 106 if (target.value == kukit.engine.stateVariables['plonetabs-addingTitle'].replace(PLONETABS_ADD_PATTERN, '')) { 107 target.value = source.value.replace(PLONETABS_ADD_PATTERN, ''); 108 } 109 kukit.engine.stateVariables['plonetabs-addingTitle'] = source.value; 110 111 });
