Изменения документа Document Tree Macros

Редактировал(а) Андрей Ганьков 2025/11/13 18:51

От версии 7.1
отредактировано Андрей Ганьков
на 2025/11/13 18:51
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/17.9.0]
К версии 5.1
отредактировано Андрей Ганьков
на 2024/10/24 10:31
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/16.8.0]

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -31,15 +31,9 @@
31 31   #end
32 32   ## Handle relative references
33 33   #makeNodeReferencesAbsolute($docTreeConfig ['root', 'openTo'])
34 - ## FIXME: The 'orderBy' property of the tree API is shared by all tree node types, which means we can't indicate a
35 - ## different sort field per tree node type (e.g. sort wiki nodes by name and document nodes by last modification
36 - ## date). At the same time, this property is currently taken into account only for sorting document tree nodes, so for
37 - ## now we set its value to the specified document sort. In the future we may want to convert this into a map, where
38 - ## the key is the node type.
39 - #set ($docTreeConfig.orderBy = $docTreeConfig.sortDocumentsBy)
40 - ## Sort the child documents by (raw) title when the node label is the document title and there's no sort specified.
41 - #if ($docTreeConfig.showDocumentTitle && "$!docTreeConfig.orderBy" == '')
42 - #set ($docTreeConfig.orderBy = 'title:asc')
34 + ## Sort the child documents by (raw) title when the node label is the document title.
35 + #if ($docTreeConfig.showDocumentTitle)
36 + #set ($docTreeConfig.orderBy = 'title')
43 43   #end
44 44   ## Determine which hierarchy needs to be used.
45 45   #if ($docTreeConfig.showSpaces)
... ... @@ -152,8 +152,6 @@
152 152   #set ($limit = $mathtool.max($numbertool.toNumber($request.limit).intValue(), 1))
153 153   #if ("$!limit" == '')
154 154   #set ($limit = 15)
155 - #else
156 - #validateQueryLimit($limit)
157 157   #end
158 158   #if ($nodeId == '#' && $docTreeConfig.showRoot)
159 159   #maybeAddNode($actualNodeId $children)
... ... @@ -207,7 +207,6 @@
207 207  
208 208  #macro (maybeAddFarmNode $nodeReference $siblings)
209 209   #set ($farmHomeReference = $services.model.resolveDocument('', 'default'))
210 - #set ($isOpened = $docTreeConfig.expandToLevel > 0)
211 211   #set ($discard = $siblings.add({
212 212   'id': 'farm:*',
213 213   'text': 'Farm',
... ... @@ -217,9 +217,6 @@
217 217   'type': 'farm',
218 218   'validChildren': ['wiki', 'pagination']
219 219   },
220 - 'state': {
221 - 'opened': $isOpened
222 - },
223 223   'a_attr': {
224 224   'href': $xwiki.getURL($farmHomeReference)
225 225   }
... ... @@ -248,7 +248,6 @@
248 248   #else
249 249   #set ($label = $wiki.id)
250 250   #end
251 - #set ($isOpened = $docTreeConfig.expandToLevel > 0)
252 252   #set ($discard = $siblings.add({
253 253   'id': "wiki:$wiki.id",
254 254   'text': $label,
... ... @@ -260,9 +260,6 @@
260 260   'validChildren': ['space', 'document', 'pagination'],
261 261   'canDelete': $canDeleteWiki
262 262   },
263 - 'state': {
264 - 'opened': $isOpened
265 - },
266 266   'a_attr': {
267 267   'href': $xwiki.getURL($wiki.mainPageReference)
268 268   }
... ... @@ -288,7 +288,6 @@
288 288  
289 289  #macro (addSpaceNode $spaceReference $siblings)
290 290   #set ($spaceId = $services.model.serialize($spaceReference, 'default'))
291 - #set ($spaceNodeId = "space:$spaceId")
292 292   #set ($hasSpaceAdmin = $services.security.authorization.hasAccess('admin', $spaceReference))
293 293   #set ($canViewSpace = $services.security.authorization.hasAccess('view', $spaceReference))
294 294   #if ($docTreeConfig.showTerminalDocuments)
... ... @@ -296,21 +296,10 @@
296 296   #set ($hasChildren = true)
297 297   #else
298 298   ## We display only the nested spaces. This space might contain only documents.
299 - #set ($hasChildren = $tree.getChildCount($spaceNodeId) > 0)
282 + #set ($hasChildren = $tree.getChildCount("space:$spaceId") > 0)
300 300   #end
301 - #set ($isOpened = false)
302 - #if ("$!docTreeConfig.expandToLevel" != '')
303 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
304 - #if ("$!docTreeConfig.root" != '')
305 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
306 - #else
307 - #set ($rootNode = $docTreeConfig.root)
308 - #end
309 - #set ($rootDistance = $tree.getPath($spaceNodeId).size())
310 - #set ($isOpened = ($rootDistance != -1 && $docTreeConfig.expandToLevel >= $rootDistance))
311 - #end
312 312   #set ($discard = $siblings.add({
313 - 'id': $spaceNodeId,
285 + 'id': "space:$spaceId",
314 314   'text': $spaceReference.name,
315 315   'icon': 'fa fa-folder-o',
316 316   'iconOpened': 'fa fa-folder-open-o',
... ... @@ -328,9 +328,6 @@
328 328   'createDocumentURL': $xwiki.getURL($spaceReference, 'create', $NULL),
329 329   'deleteURL': $xwiki.getURL($spaceReference, 'deletespace', $NULL)
330 330   },
331 - 'state': {
332 - 'opened': $isOpened
333 - },
334 334   'a_attr': {
335 335   'href': $xwiki.getURL($spaceReference)
336 336   }
... ... @@ -356,7 +356,6 @@
356 356  
357 357  #macro (addDocumentNode $documentReference $siblings)
358 358   #set ($documentId = $services.model.serialize($documentReference, 'default'))
359 - #set ($docNodeId = "document:$documentId")
360 360   #set ($label = $documentReference.name)
361 361   #if (!$docTreeConfig.showSpaces &&
362 362   $documentReference.name == $services.model.getEntityReference('DOCUMENT', 'default').name)
... ... @@ -373,20 +373,9 @@
373 373   #set ($label = $plainTitle)
374 374   #end
375 375   #end
376 - #set ($hasChildren = $tree.getChildCount($docNodeId) > 0)
377 - #set ($isOpened = false)
378 - #if ("$!docTreeConfig.expandToLevel" != '')
379 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
380 - #if ("$!docTreeConfig.root" != '')
381 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
382 - #else
383 - #set ($rootNode = $docTreeConfig.root)
384 - #end
385 - #set ($rootDistance = $tree.getPath($docNodeId).size())
386 - #set ($isOpened = ($rootDistance != -1 && $docTreeConfig.expandToLevel >= $rootDistance))
387 - #end
344 + #set ($hasChildren = $tree.getChildCount("document:$documentId") > 0)
388 388   #set ($discard = $siblings.add({
389 - 'id': $docNodeId,
346 + 'id': "document:$documentId",
390 390   'text': $label,
391 391   'icon': 'fa fa-file-o',
392 392   'children': $hasChildren,
... ... @@ -401,9 +401,6 @@
401 401   'canCopy': $canViewDoc,
402 402   'createDocumentURL': $xwiki.getURL($documentReference, 'create', $NULL)
403 403   },
404 - 'state': {
405 - 'opened': $isOpened
406 - },
407 407   'a_attr': {
408 408   'href': $xwiki.getURL($documentReference)
409 409   }