From version < 3.1 >
edited by Vincent Gyda
on 2022/01/20 10:46
To version < 6.1 >
edited by Vincent Gyda
on 2022/01/20 11:02
< >
Change comment: There is no comment for this version

Summary

Details

Panels.PanelClass[0]
Content
... ... @@ -1,54 +1,11 @@
1 +{{template name="documentTree_macros.vm" /}}
2 +
1 1  {{velocity}}
2 -#panelheader('TeBeVAT - Wiki')
3 -## Escape special characters in macro parameter values.
4 -#set ($openToDoc = $doc.documentReference.toString().replaceAll('([~"])', '~$1'))
5 -## Apply the configured page exclusions.
6 -#set ($config = $xwiki.getDocument('PanelsCode.NavigationConfiguration'))
7 -#set ($exclusions = $collectiontool.set)
8 -#set ($defaultDocumentName = $services.model.getEntityReference('DOCUMENT', 'default').name)
9 -## Exclude top level extension pages.
10 -#if ($config.getValue('excludeTopLevelExtensionPages') == 1)
11 - #set ($query = $services.query.hql('select space.name from XWikiSpace space where space.parent is null'))
12 - #set ($discard = $query.addFilter('hidden/space'))
13 - #foreach ($result in $query.execute())
14 - #set ($documentReference = $services.model.createDocumentReference($NULL, $result, $defaultDocumentName))
15 - #set ($installedExtensions = $services.extension.xar.getInstalledExtensions($documentReference))
16 - #if ($installedExtensions && $installedExtensions.size() > 0
17 - && !$services.extension.xar.isEditAllowed($documentReference))
18 - #set ($discard = $exclusions.add("document:$documentReference"))
19 - #end
20 - #end
21 -#end
22 -## Exclude top level application pages.
23 -#if ($config.getValue('excludeTopLevelApplicationPages') == 1)
24 - #set ($statement = 'select space.name '
25 - + 'from XWikiSpace as space, Document as doc, doc.object(AppWithinMinutes.LiveTableClass) as app '
26 - + 'where space.parent is null and doc.space = space.reference')
27 - #set ($query = $services.query.xwql($statement).addFilter('hidden/space'))
28 - #foreach ($result in $query.execute())
29 - #set ($documentReference = $services.model.createDocumentReference($NULL, $result, $defaultDocumentName))
30 - #set ($discard = $exclusions.add("document:$documentReference"))
31 - #end
32 -#end
33 -## Inclusions are treated as exceptions to the dynamic exclusion filters.
34 -#if ($config.getValue('excludeTopLevelExtensionPages') == 1 || $config.getValue('excludeTopLevelApplicationPages') == 1)
35 - ## FIXME: This panel is cached and the cache is not invalidated by default when an extension is installed or
36 - ## uninstalled and neither when an application is created, deleted or renamed. Ideally we should invalidate the cache
37 - ## whenever a top level page is created or modified but we can't do this ATM so the next best thing is to invalidate
38 - ## the cache whenever a page (anywhere in the page hierarchy) is modified.
39 - #set ($discard = $services.async.useEntity("wiki:$xcontext.database"))
40 - #foreach ($inclusion in $config.getValue('inclusions'))
41 - #set ($documentReference = $services.model.resolveDocument($inclusion))
42 - #set ($discard = $exclusions.remove("document:$documentReference"))
43 - #end
44 -#end
45 -## Other page exclusions.
46 -#foreach ($exclusion in $config.getValue('exclusions'))
47 - #set ($documentReference = $services.model.resolveDocument($exclusion))
48 - #set ($discard = $exclusions.add("document:$documentReference"))
49 -#end
50 -#set ($exclusions = $stringtool.join($exclusions, ','))
51 -{{documentTree showTranslations="false" showAttachments="false" compact="true" openTo="document:$openToDoc"
52 - exclusions="$exclusions" /}}
53 -#panelfooter()
4 +{{html}}
5 +#documentTree({
6 +'compact':'true',
7 +'showAttachments':'false',
8 +'exclusions':''
9 +})
10 +{{/html}}
54 54  {{/velocity}}