Изменения документа Document Tree Macros
Редактировал(а) ztx lyghters 2025/10/28 11:47
От версии 1.1
отредактировано ztx lyghters
на 2025/01/31 15:59
на 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
на 2025/10/03 09:34
Изменить комментарий:
Install extension [org.xwiki.platform:xwiki-platform-index-tree-macro/17.3.0]
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 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 }