On 5 Feb 2016 at 09:44:08, Gerritjan Koekkoek 
(gerrit...@cdlsworld.org(mailto:gerrit...@cdlsworld.org)) wrote:

>  
> ________________________________________
> From: users on behalf of vinc...@massol.net  
> Sent: 05 February 2016 09:39
> To: XWiki Users
> Subject: Re: [xwiki-users] UIExtension Access document holding the 
> UIExtension object
>  
> On 5 Feb 2016 at 09:35:36, Gerritjan Koekkoek (gerrit...@cdlsworld.org) wrote:
>  
> Hi,
> Using:
> So you could have params like:
>  
> name = $doc.documentReference (or $doc.fullName)
> title = $doc.title
> creator = $doc.creatorReference
> hasAdmin = $services.authorization.checkAccess(‘ADMIN’, $doc.authorReference)
>  
> >> Looks like the $doc is retrieving the current doc and not the Document 
> >> that holds the UIExtension object?
> Any way to access the holding Document?
>  
>  
> $xwiki.getDocument(‘name of uiextension doc’)
>  
> >>> Thanks, that is indeed the 'simple' solution.
> >>> This requires updating the parameter if you move the page/object: use 
> >>> Case is distributing the app to another wiki


You could open a jira issue to request an improvement.

FWIW and FYI the code is here:
https://github.com/xwiki/xwiki-platform/blob/4533b98fb45a9010198582a7053bc67e0b81b26d/xwiki-platform-core/xwiki-platform-uiextension/xwiki-platform-uiextension-api/src/main/java/org/xwiki/uiextension/internal/WikiUIExtensionParameters.java#L159-L159

Thanks
-Vincent

> ________________________________________
> From: users on behalf of vinc...@massol.net  
> Sent: 04 February 2016 15:32
> To: XWiki Users
> Subject: Re: [xwiki-users] UIExtension Access document holding the 
> UIExtension object
>  
> Hi,
>  
>  
> On 3 Feb 2016 at 11:24:22, Gerritjan Koekkoek 
> (gerrit...@cdlsworld.org(mailto:gerrit...@cdlsworld.org)) wrote:
>  
> > Hi,
> >  
> >  
> > We have pages having ONE UIExtension objects of XWiki.UIExtensionClass.
> >  
> > Using as
> >  
> > $services.uix.getExtensions('dashboard.mainMenu.items',{'sortByParameter' : 
> > 'displayorder'})
> >  
> >  
> > With a #foreach loop we can access all the parameters. (and other extension 
> > properties)
> >  
> > But is it possible to get the page information (Name, Title, Creator, 
> > Rights)
> >  
> >  
> > The use case is that we want a dynamic menu based on that information?
> >  
> >  
> > The following did not give the desired result:
> >  
> > #set($dashboardMenuItems = 
> > $services.uix.getExtensions('dashboard.mainMenu.items',{'sortByParameter' : 
> > 'displayorder'}) )
> >  
> > #foreach($dashboardMenuItem in $dashboardMenuItems)
> >  
> > #set($dashboardMenuItemDocument = $xwiki.getDocument($dashboardMenuItem))
> >  
> > #end
>  
>  
> I guess you already know about 
> http://extensions.xwiki.org/xwiki/bin/view/Extension/UIExtension+Module ?
>  
> $services.uix.getExtensions returns a List and UIExtension is:
>  
> public interface UIExtension
> {  
> /**
> * @return the ID of this extension
> */
> String getId();
>  
> /**
> * @return the ID of the extension point this UI extension is providing an 
> extension for
> */
> String getExtensionPointId();
>  
> /**
> * A map of parameters provided by the extension. When providing a new 
> Extension Point the developer must document
> * the list of parameters he requires.
> *
> * @return a map of parameters provided by the extension
> */
> Map getParameters();
>  
> /**
> * @return the {@link Block} that must be rendered when this extension is 
> displayed
> */
> Block execute();
> }  
>  
>  
> So as you can see there’s no way to return anything else here.
>  
> However, when you define your UIX you can pass any number of parameters 
> (which are retrieved through calling getParameters() on UIExtension).
>  
> So you could have params like:
>  
> name = $doc.documentReference (or $doc.fullName)
> title = $doc.title
> creator = $doc.creatorReference
> hasAdmin = $services.authorization.checkAccess(‘ADMIN’, $doc.authorReference)
> ...
>  
> Hope it helps,
> -Vincent
>  
>  
> > Gerritjan Koekkoek
> > Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
> > Visit our website
> > Facebook
> > email
>  
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to