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

Редактировал(а) Андрей Ганьков 2025/07/06 04:36

От версии 6.1
отредактировано Андрей Ганьков
на 2025/07/06 04:36
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/17.5.0]
К версии 5.1
отредактировано Давид Гавриков
на 2024/10/22 15:18
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/16.8.0]

Сводка

Подробности

Свойства страницы
Автор документа
... ... @@ -1,1 +1,1 @@
1 -XWiki.gav
1 +XWiki.gavrikof
Содержимое
... ... @@ -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)
... ... @@ -205,7 +205,6 @@
205 205  
206 206  #macro (maybeAddFarmNode $nodeReference $siblings)
207 207   #set ($farmHomeReference = $services.model.resolveDocument('', 'default'))
208 - #set ($isOpened = $docTreeConfig.expandToLevel > 0)
209 209   #set ($discard = $siblings.add({
210 210   'id': 'farm:*',
211 211   'text': 'Farm',
... ... @@ -215,9 +215,6 @@
215 215   'type': 'farm',
216 216   'validChildren': ['wiki', 'pagination']
217 217   },
218 - 'state': {
219 - 'opened': $isOpened
220 - },
221 221   'a_attr': {
222 222   'href': $xwiki.getURL($farmHomeReference)
223 223   }
... ... @@ -246,7 +246,6 @@
246 246   #else
247 247   #set ($label = $wiki.id)
248 248   #end
249 - #set ($isOpened = $docTreeConfig.expandToLevel > 0)
250 250   #set ($discard = $siblings.add({
251 251   'id': "wiki:$wiki.id",
252 252   'text': $label,
... ... @@ -258,9 +258,6 @@
258 258   'validChildren': ['space', 'document', 'pagination'],
259 259   'canDelete': $canDeleteWiki
260 260   },
261 - 'state': {
262 - 'opened': $isOpened
263 - },
264 264   'a_attr': {
265 265   'href': $xwiki.getURL($wiki.mainPageReference)
266 266   }
... ... @@ -286,7 +286,6 @@
286 286  
287 287  #macro (addSpaceNode $spaceReference $siblings)
288 288   #set ($spaceId = $services.model.serialize($spaceReference, 'default'))
289 - #set ($nodeId = "space:$spaceId")
290 290   #set ($hasSpaceAdmin = $services.security.authorization.hasAccess('admin', $spaceReference))
291 291   #set ($canViewSpace = $services.security.authorization.hasAccess('view', $spaceReference))
292 292   #if ($docTreeConfig.showTerminalDocuments)
... ... @@ -294,21 +294,10 @@
294 294   #set ($hasChildren = true)
295 295   #else
296 296   ## We display only the nested spaces. This space might contain only documents.
297 - #set ($hasChildren = $tree.getChildCount($nodeId) > 0)
282 + #set ($hasChildren = $tree.getChildCount("space:$spaceId") > 0)
298 298   #end
299 - #set ($isOpened = false)
300 - #if ("$!docTreeConfig.expandToLevel" != '')
301 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
302 - #if ("$!docTreeConfig.root" != '')
303 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
304 - #else
305 - #set ($rootNode = $docTreeConfig.root)
306 - #end
307 - #set ($rootDistance = $tree.getPath($nodeId).size())
308 - #set ($isOpened = ($rootDistance != -1 && $docTreeConfig.expandToLevel >= $rootDistance))
309 - #end
310 310   #set ($discard = $siblings.add({
311 - 'id': $nodeId,
285 + 'id': "space:$spaceId",
312 312   'text': $spaceReference.name,
313 313   'icon': 'fa fa-folder-o',
314 314   'iconOpened': 'fa fa-folder-open-o',
... ... @@ -326,9 +326,6 @@
326 326   'createDocumentURL': $xwiki.getURL($spaceReference, 'create', $NULL),
327 327   'deleteURL': $xwiki.getURL($spaceReference, 'deletespace', $NULL)
328 328   },
329 - 'state': {
330 - 'opened': $isOpened
331 - },
332 332   'a_attr': {
333 333   'href': $xwiki.getURL($spaceReference)
334 334   }
... ... @@ -354,7 +354,6 @@
354 354  
355 355  #macro (addDocumentNode $documentReference $siblings)
356 356   #set ($documentId = $services.model.serialize($documentReference, 'default'))
357 - #set ($nodeId = "document:$documentId")
358 358   #set ($label = $documentReference.name)
359 359   #if (!$docTreeConfig.showSpaces &&
360 360   $documentReference.name == $services.model.getEntityReference('DOCUMENT', 'default').name)
... ... @@ -371,20 +371,9 @@
371 371   #set ($label = $plainTitle)
372 372   #end
373 373   #end
374 - #set ($hasChildren = $tree.getChildCount($nodeId) > 0)
375 - #set ($isOpened = false)
376 - #if ("$!docTreeConfig.expandToLevel" != '')
377 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
378 - #if ("$!docTreeConfig.root" != '')
379 - #set ($rootNode = "wiki:$services.wiki.currentWikiId")
380 - #else
381 - #set ($rootNode = $docTreeConfig.root)
382 - #end
383 - #set ($rootDistance = $tree.getPath($nodeId).size())
384 - #set ($isOpened = ($rootDistance != -1 && $docTreeConfig.expandToLevel >= $rootDistance))
385 - #end
344 + #set ($hasChildren = $tree.getChildCount("document:$documentId") > 0)
386 386   #set ($discard = $siblings.add({
387 - 'id': $nodeId,
346 + 'id': "document:$documentId",
388 388   'text': $label,
389 389   'icon': 'fa fa-file-o',
390 390   'children': $hasChildren,
... ... @@ -399,9 +399,6 @@
399 399   'canCopy': $canViewDoc,
400 400   'createDocumentURL': $xwiki.getURL($documentReference, 'create', $NULL)
401 401   },
402 - 'state': {
403 - 'opened': $isOpened
404 - },
405 405   'a_attr': {
406 406   'href': $xwiki.getURL($documentReference)
407 407   }