[xwiki-users] collapsed panels (continued)

Sergiu Dumitriu sergiu at xwiki.com
Tue Mar 18 11:42:16 CET 2008


Well, that is what I meant by fixing the js. Thanks.

[Ricardo Rodriguez] Your EPEC Network ICT Team wrote:
> Hi,
> 
> Sergiu Dumitriu wrote:
>> Can you try and fix the js?
>> Thanks
>>   
> 
> I didn't fix the js, but this works for me. It works with any (well, at 
> least one, two or three) white spaces between words in the panel 
> document name. I've only removed the spaces from the cookieName by using 
> the replace() method. Thanks to Jonathan Revusky in the Velocity Users List!
> 
> $initialState must be set in the panel code. It has two posible 
> values/states: collapsed or expanded. Thus, the schema of a new panel 
> would be...
> 
> #set($initialState= "[collapsed|expanded]")
> #panelheaderc ("Panel Title")
> [panel content]
> #panelfooter ( )
> 
> May I use this syntaxis, [collapsed|expanded], to represent alternative 
> content?
> 
> And the macro will be...
> 
> #macro(panelheaderc $title)
> #if("$initialState" == "collapsed")
>   #set($alternativeState = "expanded")
> #else
>   #set($alternativeState = "collapsed")
> #end
> #set($cookieName = "${context.user}_${panel}")
> #set($cookieName = $cookieName.replace(" ", ""))
> #set($expanded = $initialState)
> #set($expanded = $xwiki.getUserPreferenceFromCookie($cookieName))
> ## Note: We pass the Panel name as an HTML class attribute so that it's 
> possible to style
> ## the Panels selectively using CSS.
> #set ($specialClassAttribute = "")
> #if ($paneldoc && $paneldoc != "")
>   #set ($specialClassAttribute = 
> $util.convertToAlphaNumeric($paneldoc.name))
> #end
> <div class="panel $expanded $specialClassAttribute">
> <h5 class="xwikipaneltitle" onclick="if(eltHasClass(this.parentNode, 
> '$initialState')) createCookie('$cookieName','$alternativeState', ''); 
> else eraseCookie('$cookieName'); 
> togglePanelVisibility(this.parentNode);">$title</h5>
> <div class="xwikipanelcontents">
> #end
> 
> 
> I will move this to an ad hoc Jira issue. Thanks!
> 
> Cheers,
> 
> Ricardo
> 


-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/


More information about the users mailing list