Wiki-Quellcode von UIExtensionSheet

Zuletzt geändert von admin am 2025/02/23 10:21

Zeige letzte Bearbeiter
1 {{velocity}}
2 #macro (displayExtensionPointTitle $id)
3 #set ($shortId = $stringtool.removeStart($id, 'org.xwiki.platform.'))
4 #set ($shortId = $stringtool.removeStart($shortId, 'platform.'))
5 #if ("$!shortId" != '')
6 $escapetool.xml($services.localization.render("menu.uix.extensionPoint.value.$shortId"))
7 #else
8 $escapetool.xml($services.localization.render('menu.uix.extensionPoint.value.nowhere'))
9 #end
10 #end
11 ##
12 ##
13 #set ($discard = $doc.use('XWiki.UIExtensionClass'))
14 #set ($uixObject = $doc.getObject('XWiki.UIExtensionClass'))
15 #set ($selectedExtensionPointId = $uixObject.getProperty('extensionPointId').value)
16 #if ($xcontext.action == 'edit')
17 #set ($discard = $xwiki.jsx.use('Menu.UIExtensionSheet'))
18 ## Prepare the extension point map.
19 #set ($menuPanel = "{{velocity}}
20 ${escapetool.h}panelheader(""$doc.plainTitle"")
21 {{menu type=""vertical collapsible open""
22 label=""$escapetool.velocity($services.rendering.escape($doc.plainTitle, 'xwiki/2.1'))""}}{{include
23 reference=""${escapetool.d}uix.doc.documentReference"" /}}
24 {{/menu}}
25 ${escapetool.h}panelfooter()
26 {{/velocity}}")
27 #set ($menuBar = "{{velocity}}
28 ${escapetool.h}if (${escapetool.d}xwiki.hasAccessLevel('view', ${escapetool.d}xcontext.user, ${escapetool.d}uix.doc.documentReference))
29 {{menu type=""horizontal fixedWidth""
30 id=""menu-horizontal-$doc.fullName.replaceAll('[\s|,|.|:|\[|\]|\[\/\]|\[\\\]|=|@|#]', '-')""
31 label=""$escapetool.velocity($services.rendering.escape($doc.plainTitle, 'xwiki/2.1'))""}}{{include reference=""${escapetool.d}uix.doc.documentReference"" /}}{{/menu}}
32 ${escapetool.h}end
33 {{/velocity}}")
34 #set ($extensionPoints = {
35 'org.xwiki.platform.template.header.after': $menuBar,
36 'platform.panels.rightPanels': $menuPanel,
37 'platform.panels.leftPanels': $menuPanel
38 })
39 #set ($selectedContent = $uixObject.getProperty('content').value)
40 #if (("$!selectedExtensionPointId" != '' && !$extensionPoints.containsKey($selectedExtensionPointId))
41 || ("$!selectedContent" != '' && !$extensionPoints.containsValue($selectedContent)))
42 ## Either custom extension point or custom content for a known extension point.
43 #set ($discard = $extensionPoints.put($selectedExtensionPointId, $selectedContent))
44 #end
45 #end
46 (% class="xform" %)
47 (((
48 ; {{html wiki="true"}}<label#if ($xcontext.action == 'edit') for="XWiki.UIExtensionClass_0_extensionPointId"#end>{{translation key="menu.uix.extensionPoint.label"/}}</label>{{/html}}##
49 (% class="xHint" %){{translation key="menu.uix.extensionPoint.hint"/}}
50 #if ($xcontext.action == 'edit')
51 : {{html}}<select id="XWiki.UIExtensionClass_0_extensionPointId" name="XWiki.UIExtensionClass_0_extensionPointId">
52 <option value="">$services.localization.render('menu.uix.extensionPoint.value.nowhere')</option>
53 #foreach ($extensionPointId in $extensionPoints.keySet())
54 #set ($selected = $extensionPointId == $selectedExtensionPointId)
55 <option value="$escapetool.xml($extensionPointId)"#if ($selected) selected="selected"#end>
56 #displayExtensionPointTitle($extensionPointId)
57 </option>
58 #end
59 </select>{{/html}}
60 #else
61 : #displayExtensionPointTitle($selectedExtensionPointId)
62 #end
63 ##
64 ##
65 #if ($xcontext.action == 'edit')
66 ; {{html wiki="true"}}<label for="XWiki.UIExtensionClass_0_content">{{translation key="menu.uix.content.label"/}}</label>{{/html}}##
67 (% class="xHint" %){{translation key="menu.uix.content.hint"/}}
68 : {{html}}<select id="XWiki.UIExtensionClass_0_content" name="XWiki.UIExtensionClass_0_content">
69 <option value="">$services.localization.render('menu.uix.extensionPoint.value.nowhere')</option>
70 #foreach ($entry in $extensionPoints.entrySet())
71 #set ($value = $escapetool.xml($entry.value).replaceAll("\r", '&#13;').replaceAll("\n", '&#10;'))
72 #set ($selected = $entry.value == $selectedContent)
73 <option value="$value"#if ($selected) selected="selected"#end>
74 #displayExtensionPointTitle($entry.key)
75 </option>
76 #end
77 </select>{{/html}}
78 #end
79 ##
80 ##
81 ; {{html wiki="true"}}<label#if ($xcontext.action == 'edit') for="XWiki.UIExtensionClass_0_scope"#end>{{translation key="menu.uix.scope.label"/}}</label>{{/html}}##
82 (% class="xHint" %){{translation key="menu.uix.scope.hint"/}}
83 : $doc.display('scope')
84 )))
85
86 #set ($discard = $doc.set('name', $doc.fullName))
87 #if ($xcontext.action == 'edit')
88 (% class="hidden" %)(((
89 $doc.display('name', 'hidden')
90 )))
91 #end
92 {{/velocity}}