Changeset 1189
- Timestamp:
- 07/29/08 08:28:34
- Files:
-
- qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/kssactions.zcml (modified) (1 diff)
- 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) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/kssactions.zcml
r1177 r1189 13 13 <browser:page 14 14 for="plone.app.kss.interfaces.IPortalObject" 15 attribute=" toggleActionsVisibility"15 attribute="kss_toggleActionsVisibility" 16 16 class=".plonetabs.PloneTabsControlPanel" 17 17 name="plonetabs-toggleActionsVisibility" qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/plonetabs.py
r1188 r1189 391 391 392 392 @kssaction 393 def toggleActionsVisibility(self, id, checked='0', category=None): 394 """ Toggle visibility for portal actions """ 395 portal_actions = getToolByName(self.context, "portal_actions") 396 cat_container, act_id = self.validateAction(id, category) 393 def toggleRootsVisibility(self, id, checked='0'): 394 """ Toggle visibility for portal root objects (exclude_from_nav) """ 395 portal = getMultiAdapter((aq_inner(self.context), self.request), name='plone_portal_state').portal() 396 397 # remove prefix, added for making ids on configlet unique ("roottabs_") 398 obj_id = id[len("roottabs_"):] 399 400 if obj_id not in portal.objectIds(): 401 raise KSSExplicitError, "Object with %s id doesn't exist in portal root" % obj_id 397 402 398 403 if checked == '1': … … 401 406 checked = False 402 407 403 cat_container[act_id].visible = checked408 portal[obj_id].update(excludeFromNav=not checked) 404 409 405 410 ksscore = self.getCommandSet("core") … … 409 414 ksscore.addClass(ksscore.getHtmlIdSelector(id), value="invisible") 410 415 411 self.updatePage(cat_name)412 413 @kssaction414 def toggleRootsVisibility(self, id, checked='0'):415 """ Toggle visibility for portal root objects (exclude_from_nav) """416 portal = getMultiAdapter((aq_inner(self.context), self.request), name='plone_portal_state').portal()417 418 # remove prefix, added for making ids on configlet unique ("roottabs_")419 obj_id = id[len("roottabs_"):]420 421 if obj_id not in portal.objectIds():422 raise KSSExplicitError, "Object with %s id doesn't exist in portal root" % obj_id423 424 if checked == '1':425 checked = True426 else:427 checked = False428 429 portal[obj_id].update(excludeFromNav=not checked)430 431 ksscore = self.getCommandSet("core")432 if checked:433 ksscore.removeClass(ksscore.getHtmlIdSelector(id), value="invisible")434 else:435 ksscore.addClass(ksscore.getHtmlIdSelector(id), value="invisible")436 437 416 # update global-sections viewlet 438 417 self.updatePortalTabs() 418 419 @kssaction 420 def kss_toggleActionsVisibility(self, id, checked='0', cat_name=None): 421 """ Toggle visibility for portal actions """ 422 # validate input 423 act_id, category, action = self.kss_validateAction(id, cat_name) 424 self.updateAction(act_id, cat_name, {'id': act_id, 'visible': (checked == '1') or False}) 425 426 # update client 427 ksscore = self.getCommandSet("core") 428 method = (checked == '1') and ksscore.removeClass or ksscore.addClass 429 method(ksscore.getHtmlIdSelector(id), value="invisible") 430 self.updatePage(cat_name) 439 431 440 432 @kssaction … … 447 439 # update client 448 440 ksscore = self.getCommandSet("core") 441 # XXX TODO: fade effect during removing, to do this we need kukit js action/command plugin 449 442 ksscore.deleteNode(ksscore.getHtmlIdSelector(id)) 450 443 self.kss_checkReorderControls(category) 451 # XXX TODO: fade effect during removing, for this kukit js action/command plugin needed452 444 self.updatePage(cat_name) 453 445 … … 666 658 667 659 # update action properties 668 for attr in ACTION_ATTRS:660 for attr in data.keys(): 669 661 if data.has_key(attr): 670 662 action._setPropValue(attr, data[attr]) qPloneTabs/branches/quintagroup.plonetabs/trunk/quintagroup/plonetabs/browser/resources/plonetabs.kss
r1188 r1189 9 9 /* General stylesheet for Plone Tabs AJAX configlet */ 10 10 11 /* Add class to body to allow conditional styling when kss is available */12 11 /* Add 'kssTabsActive' class to application root element 12 to enable ajax styles when kss is available */ 13 13 #plonetabs_form:load { 14 14 action-client: addClass; … … 16 16 } 17 17 18 /* Remember portal actions category */ 18 19 #select_category:load { 19 20 action-client: setStateVar; … … 22 23 } 23 24 25 /* Change portal actions category page */ 24 26 #select_category:change { 25 27 action-client: plonetabs-redirectTo; … … 58 60 plonetabs-toggleActionsVisibility-id: nodeAttr(id, true); 59 61 plonetabs-toggleActionsVisibility-checked: currentFormVar(); 60 plonetabs-toggleActionsVisibility-category: stateVar(plonetabs-category); 62 plonetabs-toggleActionsVisibility-cat_name: stateVar(plonetabs-category); 63 plonetabs-toggleActionsVisibility-error: plonetabs-handleServerError; 61 64 } 62 65
