Wiki-Quellcode von LinkNameStrategyHelper

Version 1.1 von admin am 2025/02/23 19:33

Zeige letzte Bearbeiter
1 {{template name="hierarchy_macros.vm" /}}
2
3 {{velocity output="false"}}
4
5 #macro (computeInfoFromReference $reference $result)
6 #set ($title = $reference.name)
7 #set ($options = {
8 'excludeSelf': false,
9 'limit': 4
10 })
11 #getHierarchyPath($reference $path $options)
12 #getHierarchyPathLabels($path $labels $options)
13 #set ($location = $stringtool.join($labels, ' / '))
14 #setVariable("$result" $location)
15 #end
16
17 #macro (handleSuggestionRequest)
18 #set ($isAdvanced = $services.user.properties.type == 'ADVANCED')
19 #set ($result = [])
20 #if ($isAdvanced)
21 #set ($requestedReference = $services.model.resolveDocument($request.input, 'default'))
22 #set ($cleanRequestedReference = $services.modelvalidation.transformEntityReference($requestedReference))
23 #set ($location = $NULL)
24 #computeInfoFromReference($cleanRequestedReference $location)
25 #set ($discard = $result.add({
26 'reference': $services.model.serialize($cleanRequestedReference, 'default'),
27 'type': 'fullyResolvedInput',
28 'location': $location
29 }))
30 #end
31 #set ($parentReference = $services.model.resolveDocument($request.base))
32 #set ($requestedName = $request.input)
33 #set ($transformedName = $services.modelvalidation.transformName($requestedName))
34 #set ($spaceReference = $services.model.createSpaceReference($transformedName, $parentReference.lastSpaceReference))
35 #set ($documentReference = $services.model.createDocumentReference('WebHome', $spaceReference))
36 #set ($location = $NULL)
37 #computeInfoFromReference($documentReference $location)
38 #set ($discard = $result.add({
39 'reference': $services.model.serialize($documentReference, 'default'),
40 'type': 'resolvedInSpace',
41 'location': $location
42 }))
43 #jsonResponse($result)
44 #end
45 {{/velocity}}
46 {{velocity}}
47 #if ($xcontext.action == 'get' && $request.input != '')
48 #handleSuggestionRequest()
49 #else
50 Technical page to help using the name strategy when suggesting links.
51 #end
52 {{/velocity}}