Changeset 465

Show
Ignore:
Timestamp:
08/14/06 11:09:06
Author:
piv
Message:

Plone 2.0.5 compatibility, fixed js bug

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qPloneDropDownMenu/branches/0.2/DropDownMenuTool.py

    r464 r465  
    1616from Products.CMFCore.utils import getToolByName, UniqueObject 
    1717from Products.CMFCore.Expression import Expression, createExprContext 
    18 from Products.CMFCore.permissions import ManagePortal, View 
     18from Products.CMFCore.CMFCorePermissions import ManagePortal, View 
    1919 
    2020from config import UNIQUE_ID 
     
    121121                             'actionExpression': \ 
    122122                             Expression(act.getActionExpression())(createExprContext(portal, portal, portal))} 
    123                 result.append(data) 
     123                    result.append(data) 
    124124        return result 
    125125 
     
    128128        """  Create top-level subMenu mapping. """ 
    129129        mapping = self._submenu_mapping 
    130         for item in mapping.keys(): 
    131             for tab in self.listPortalTabActions(): 
    132                 if item == tab['title']: 
    133                     present = True 
    134                     break 
    135                 else: present = False 
    136             if not present: del mapping[item] 
     130        #for item in mapping.keys(): 
     131            #for tab in self.listPortalTabActions(): 
     132                #if item == tab['title']: 
     133                    #present = True 
     134                    #break 
     135                #else: present = False 
     136            #if not present: del mapping[item] 
    137137        for tab in self.listPortalTabActions(): 
    138138            if tab['title'] not in mapping.keys(): 
  • qPloneDropDownMenu/branches/0.2/Extensions/Install.py

    r464 r465  
    44from Products.CMFCore.utils import getToolByName 
    55from Products.CMFCore.DirectoryView import addDirectoryViews 
    6 from Products.CMFCore.permissions import ManagePortal 
     6from Products.CMFCore.CMFCorePermissions import ManagePortal 
    77 
    88from Products.qPloneDropDownMenu.config import * 
     
    6969def setupSkin(self, out, skinFolder): 
    7070    skinstool=getToolByName(self, 'portal_skins') 
    71     addDirectoryViews(skinstool, SKINS_DIR, GLOBALS) 
    7271    for skin in skinstool.getSkinSelections(): 
    7372        path = skinstool.getSkinPath(skin) 
     
    117116    registerCSS(self, out) 
    118117    out.write('setupSkin... \n') 
     118    skinstool=getToolByName(self, 'portal_skins') 
     119    addDirectoryViews(skinstool, SKINS_DIR, GLOBALS) 
    119120    setupSkin(self, out, 'qPloneDropDownMenu') 
    120121    mtool = getToolByName(self, 'portal_migration') 
    121122    plone_version = mtool.getFileSystemVersion() 
    122123    if plone_version == '2.0.5': 
    123          setupSkin(self, out, PROJECT_NAME+'/2.0.5') 
    124          out.write('Added %s/2.0.5 Layer to portal_skins\n' % PROJECT_NAME) 
     124         setupSkin(self, out, PROJECTNAME+'/2.0.5') 
     125         out.write('Added %s/2.0.5 Layer to portal_skins\n' % PROJECTNAME) 
    125126    setupConfiglets(self, out) 
    126127    out.write('Added %s to the portal root folder\n' % (UNIQUE_ID)) 
     
    132133    unregisterCSS(self, out) 
    133134    removeConfiglets(self, out) 
    134     removeSkin(self, [PROJECTNAME,]) 
     135    removeSkin(self, [PROJECTNAME, PROJECTNAME+'/2.0.5']) 
    135136    deleteTool(self, out) 
    136137    return out.getvalue() 
  • qPloneDropDownMenu/branches/0.2/skins/qPloneDropDownMenu/javascripts/qplonedropdownmenu.js

    r464 r465  
    1 var gObj = {title:'',url:'',el:null,opened:null,edited:null,added:null}, 
    2     gHoverElement = null, i=0, gBeforeReorderFragment = null, 
    3     gEditCancel = {}, gReorderingLi = null; 
     1var gObj = {title:'',url:''}, gEditCancel = {}, gReorderingLi = null; 
    42 
    53var myrules = { 
     
    108        expandItem(li); 
    119        reorderDisplaying(li,true); 
    12         gObj['opened'] = li; 
    1310      } 
    1411      else { 
     
    2623      if (getChildLis(ul).length > 1){ 
    2724        isCollapsed(li)?expandItem(li):''; 
    28         gBeforeReorderFragment = ul ? ul.innerHTML : null; 
    2925        gReorderingLi = li; 
    3026        Element.addClassName(li, 'childsort'); 
    31         disableScreen('alert', 'new', null, 'rootMenu', li); 
     27        disableScreen('rootMenu', li); 
    3228      }; 
    3329      Event.stop(ev); 
     
    186182      ul  = document.getElementsByClassName('tabslist', item)[0]; 
    187183  if (img && ul){ 
    188     Element.removeClassName(img, 'expanded_icon'); 
    189     Element.addClassName(img, 'collapsed_icon'); 
    190     Element.removeClassName(ul, 'showLevel'); 
    191     Element.addClassName(ul, 'hideLevel'); 
     184    shiftClasses(img, 'expanded_icon', 'collapsed_icon'); 
     185    shiftClasses(ul, 'showLevel', 'hideLevel'); 
    192186    return true; 
    193187  } 
     
    199193      ul  = document.getElementsByClassName('tabslist', item)[0]; 
    200194  if (img && ul){ 
    201     Element.removeClassName(img, 'collapsed_icon'); 
    202     Element.addClassName(img, 'expanded_icon'); 
    203     Element.removeClassName(ul, 'hideLevel'); 
    204     Element.addClassName(ul, 'showLevel'); 
     195    shiftClasses(img, 'collapsed_icon', 'expanded_icon'); 
     196    shiftClasses(ul, 'hideLevel', 'showLevel'); 
    205197    return true; 
    206198  } 
     
    213205}; 
    214206 
    215 function initLightbox (className, li) { 
     207function initLightbox (li) { 
    216208  var objBody = document.getElementsByTagName("body").item(0), 
    217209      objOverlay = document.createElement("div"), 
     
    219211  objOverlay.setAttribute('id', 'overlay_modal'); 
    220212  objLi.setAttribute('id', 'overlay_li'); 
    221   objOverlay.className = "overlay_" + className
     213  objOverlay.className = "overlay_alert"
    222214  objLi.className = "overlay_li childsort"; 
    223215  objOverlay.style.display = 'none'; 
     
    234226}; 
    235227 
    236 function disableScreen(className, overlayId, contentId, overElement, li) { 
    237   initLightbox(className, li); 
     228function disableScreen(overElement, li) { 
     229  initLightbox(li); 
    238230  var objOverlay = $('overlay_modal'), objLi = $('overlay_li'), 
    239231      ul = objLi.getElementsByTagName('UL')[0]; 
     
    286278  var ev = ev?ev:window.event, li = Event.findElement(ev, 'LI'), 
    287279      path = li.getElementsByTagName('INPUT')[0].value, 
    288       ul = li.getElementsByTagName('UL')[0], params = '', doReq = 0, 
     280      ul = li.getElementsByTagName('UL')[0], params = '', 
    289281      ulOrigin = gReorderingLi.getElementsByTagName('UL')[0]; 
    290   $A(ul.childNodes).each(function(i){ 
     282  $A(getChildLis(ul)).each(function(i){ 
    291283    var val = i.getElementsByTagName('INPUT')[1].value; 
    292     if (val != '') { 
    293       doReq++; 
    294       params += '&idxs='+val; 
    295     } 
     284    params += val?'&idxs='+val:''; 
    296285  }); 
    297   if (doReq>1) { 
    298     new Ajax.Request('qpdm_reorder', 
    299       {method: 'post', 
    300        parameters: 'submenu_path='+path+params, 
    301        onSuccess: function(request){ 
    302          new Effect.Highlight(ulOrigin, {duration: 0.7, afterFinish: function(){ 
    303          Element.removeClassName(gReorderingLi, 'childsort'); 
    304          Element.update(ulOrigin.parentNode, request.responseText); 
    305          enableScreen(ev); 
    306          Behaviour.apply();}}); 
    307        }, 
    308       onFailure: function(request){window.alert(getMes(request.responseText));}, 
    309       } 
    310     ); 
    311   } 
    312   else { 
    313     Element.removeClassName(gReorderingLi, 'childsort'); 
    314     enableScreen(ev); 
    315     new Effect.Highlight(ulOrigin, {duration: 0.7, afterFinish: function(){Behaviour.apply();}}); 
    316   }; 
     286  new Ajax.Request('qpdm_reorder', 
     287    {method: 'post', 
     288     parameters: 'submenu_path='+path+params, 
     289     onSuccess: function(request){ 
     290       new Effect.Highlight(ulOrigin, {duration: 0.7, afterFinish: function(){ 
     291       Element.removeClassName(gReorderingLi, 'childsort'); 
     292       Element.update(ulOrigin.parentNode, request.responseText); 
     293       enableScreen(ev); 
     294       Behaviour.apply();}}); 
     295     }, 
     296    onFailure: function(request){window.alert(getMes(request.responseText));}, 
     297    } 
     298  ); 
    317299  Event.stop(ev); 
    318300  return false; 
  • qPloneDropDownMenu/branches/0.2/skins/qPloneDropDownMenu/qpdm_add.py

    r464 r465  
    4545    <div class="sub-items"> 
    4646      <ul class="tabslist hideLevel"> 
    47         <li
     47        <li class="addItem"
    4848          <form class="addform" method="post" action="%(portal_url)s/prefs_dropdownmenu_edit_form"> 
    4949            <input name="submenu_path" value="%(submenu_path)s/%(num)s" type="hidden"> 
  • qPloneDropDownMenu/branches/0.2/skins/qPloneDropDownMenu/stylesheets/qplonedropdownmenu.css.dtml

    r464 r465  
    1515#app                        .editform, 
    1616#app li.childedit           ul, 
     17#app li.childedit           span, 
    1718#app li.childsort ul li     ul, 
    1819#app li.childsort ul li     .item_icon, 
     
    8081 
    8182 
     83/*************************************************************/ 
     84 
    8285/* </dtml-with> (do not remove this either :) */