0 Голосов

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

Редактировал(а) ztx lyghters 2025/10/28 11:47

От версии 1.1
отредактировано ztx lyghters
на 2025/01/31 15:59
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/17.0.0]
К версии 2.1
отредактировано ztx lyghters
на 2025/10/03 09:34
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/17.3.0]

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -205,6 +205,7 @@
205 205  
206 206  #macro (maybeAddFarmNode $nodeReference $siblings)
207 207   #set ($farmHomeReference = $services.model.resolveDocument('', 'default'))
208 + #set ($isOpened = $docTreeConfig.expandToLevel > 0)
208 208   #set ($discard = $siblings.add({
209 209   'id': 'farm:*',
210 210   'text': 'Farm',
... ... @@ -214,6 +214,9 @@
214 214   'type': 'farm',
215 215   'validChildren': ['wiki', 'pagination']
216 216   },
218 + 'state': {
219 + 'opened': $isOpened
220 + },
217 217   'a_attr': {
218 218   'href': $xwiki.getURL($farmHomeReference)
219 219   }
... ... @@ -242,6 +242,7 @@
242 242   #else
243 243   #set ($label = $wiki.id)
244 244   #end
249 + #set ($isOpened = $docTreeConfig.expandToLevel > 0)
245 245   #set ($discard = $siblings.add({
246 246   'id': "wiki:$wiki.id",
247 247   'text': $label,
... ... @@ -253,6 +253,9 @@
253 253   'validChildren': ['space', 'document', 'pagination'],
254 254   'canDelete': $canDeleteWiki
255 255   },
261 + 'state': {
262 + 'opened': $isOpened
263 + },
256 256   'a_attr': {
257 257   'href': $xwiki.getURL($wiki.mainPageReference)
258 258   }
... ... @@ -278,6 +278,7 @@
278 278  
279 279  #macro (addSpaceNode $spaceReference $siblings)
280 280   #set ($spaceId = $services.model.serialize($spaceReference, 'default'))
289 + #set ($nodeId = "space:$spaceId")
281 281   #set ($hasSpaceAdmin = $services.security.authorization.hasAccess('admin', $spaceReference))
282 282   #set ($canViewSpace = $services.security.authorization.hasAccess('view', $spaceReference))
283 283   #if ($docTreeConfig.showTerminalDocuments)
... ... @@ -285,10 +285,21 @@
285 285   #set ($hasChildren = true)
286 286   #else
287 287   ## We display only the nested spaces. This space might contain only documents.
288 - #set ($hasChildren = $tree.getChildCount("space:$spaceId") > 0)
297 + #set ($hasChildren = $tree.getChildCount($nodeId) > 0)
289 289   #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
290 290   #set ($discard = $siblings.add({
291 - 'id': "space:$spaceId",
311 + 'id': $nodeId,
292 292   'text': $spaceReference.name,
293 293   'icon': 'fa fa-folder-o',
294 294   'iconOpened': 'fa fa-folder-open-o',
... ... @@ -306,6 +306,9 @@
306 306   'createDocumentURL': $xwiki.getURL($spaceReference, 'create', $NULL),
307 307   'deleteURL': $xwiki.getURL($spaceReference, 'deletespace', $NULL)
308 308   },
329 + 'state': {
330 + 'opened': $isOpened
331 + },
309 309   'a_attr': {
310 310   'href': $xwiki.getURL($spaceReference)
311 311   }
... ... @@ -331,6 +331,7 @@
331 331  
332 332  #macro (addDocumentNode $documentReference $siblings)
333 333   #set ($documentId = $services.model.serialize($documentReference, 'default'))
357 + #set ($nodeId = "document:$documentId")
334 334   #set ($label = $documentReference.name)
335 335   #if (!$docTreeConfig.showSpaces &&
336 336   $documentReference.name == $services.model.getEntityReference('DOCUMENT', 'default').name)
... ... @@ -347,9 +347,20 @@
347 347   #set ($label = $plainTitle)
348 348   #end
349 349   #end
350 - #set ($hasChildren = $tree.getChildCount("document:$documentId") > 0)
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
351 351   #set ($discard = $siblings.add({
352 - 'id': "document:$documentId",
387 + 'id': $nodeId,
353 353   'text': $label,
354 354   'icon': 'fa fa-file-o',
355 355   'children': $hasChildren,
... ... @@ -364,6 +364,9 @@
364 364   'canCopy': $canViewDoc,
365 365   'createDocumentURL': $xwiki.getURL($documentReference, 'create', $NULL)
366 366   },
402 + 'state': {
403 + 'opened': $isOpened
404 + },
367 367   'a_attr': {
368 368   'href': $xwiki.getURL($documentReference)
369 369   }