{"version":3,"file":"tree-item-element-base-B4c7_4K1.js","sources":["../../../src/packages/core/tree/entity-actions/reload-tree-item-children/reload-tree-item-children-request.event.ts","../../../src/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.ts","../../../src/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.ts"],"sourcesContent":["import { UmbEntityActionEvent, type UmbEntityActionEventArgs } from '@umbraco-cms/backoffice/entity-action';\r\n\r\n/**\r\n * @deprecated Use `UmbRequestReloadChildrenOfEntityEvent` instead.\r\n */\r\nexport class UmbRequestReloadTreeItemChildrenEvent extends UmbEntityActionEvent {\r\n\tstatic readonly TYPE = 'request-reload-tree-item-children';\r\n\r\n\tconstructor(args: UmbEntityActionEventArgs) {\r\n\t\tsuper(UmbRequestReloadTreeItemChildrenEvent.TYPE, args);\r\n\t}\r\n}\r\n","import type { UmbTreeItemContext } from '../tree-item-context.interface.js';\r\nimport { UMB_TREE_CONTEXT, type UmbDefaultTreeContext } from '../../default/index.js';\r\nimport type { UmbTreeItemModel, UmbTreeRootModel } from '../../types.js';\r\nimport { UmbRequestReloadTreeItemChildrenEvent } from '../../entity-actions/reload-tree-item-children/index.js';\r\nimport type { ManifestTreeItem } from '../../extensions/types.js';\r\nimport { map } from '@umbraco-cms/backoffice/external/rxjs';\r\nimport { UmbArrayState, UmbBooleanState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UmbContextBase } from '@umbraco-cms/backoffice/class-api';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\nimport { UMB_SECTION_CONTEXT, UMB_SECTION_SIDEBAR_CONTEXT } from '@umbraco-cms/backoffice/section';\r\nimport { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';\r\nimport { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action';\r\nimport {\r\n\tUmbRequestReloadChildrenOfEntityEvent,\r\n\tUmbRequestReloadStructureForEntityEvent,\r\n} from '@umbraco-cms/backoffice/entity-action';\r\nimport type { UmbEntityActionEvent } from '@umbraco-cms/backoffice/entity-action';\r\nimport { UmbPaginationManager, debounce } from '@umbraco-cms/backoffice/utils';\r\nimport { UmbChangeEvent } from '@umbraco-cms/backoffice/event';\r\n\r\nexport abstract class UmbTreeItemContextBase<\r\n\t\tTreeItemType extends UmbTreeItemModel,\r\n\t\tTreeRootType extends UmbTreeRootModel,\r\n\t\tManifestType extends ManifestTreeItem = ManifestTreeItem,\r\n\t>\r\n\textends UmbContextBase>\r\n\timplements UmbTreeItemContext\r\n{\r\n\tpublic unique?: string | null;\r\n\tpublic entityType?: string;\r\n\tpublic readonly pagination = new UmbPaginationManager();\r\n\r\n\t#manifest?: ManifestType;\r\n\r\n\tprotected readonly _treeItem = new UmbObjectState(undefined);\r\n\treadonly treeItem = this._treeItem.asObservable();\r\n\r\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t// @ts-ignore\r\n\t#childItems = new UmbArrayState([], (x) => x.unique);\r\n\treadonly childItems = this.#childItems.asObservable();\r\n\r\n\t#hasChildren = new UmbBooleanState(false);\r\n\treadonly hasChildren = this.#hasChildren.asObservable();\r\n\r\n\t#isLoading = new UmbBooleanState(false);\r\n\treadonly isLoading = this.#isLoading.asObservable();\r\n\r\n\t#isSelectable = new UmbBooleanState(false);\r\n\treadonly isSelectable = this.#isSelectable.asObservable();\r\n\r\n\t#isSelectableContext = new UmbBooleanState(false);\r\n\treadonly isSelectableContext = this.#isSelectableContext.asObservable();\r\n\r\n\t#isSelected = new UmbBooleanState(false);\r\n\treadonly isSelected = this.#isSelected.asObservable();\r\n\r\n\t#isActive = new UmbBooleanState(false);\r\n\treadonly isActive = this.#isActive.asObservable();\r\n\r\n\t#hasActions = new UmbBooleanState(false);\r\n\treadonly hasActions = this.#hasActions.asObservable();\r\n\r\n\t#path = new UmbStringState('');\r\n\treadonly path = this.#path.asObservable();\r\n\r\n\t#foldersOnly = new UmbBooleanState(false);\r\n\treadonly foldersOnly = this.#foldersOnly.asObservable();\r\n\r\n\tpublic treeContext?: UmbDefaultTreeContext;\r\n\tpublic parentTreeItemContext?: UmbTreeItemContext;\r\n\r\n\t#sectionContext?: typeof UMB_SECTION_CONTEXT.TYPE;\r\n\t#sectionSidebarContext?: typeof UMB_SECTION_SIDEBAR_CONTEXT.TYPE;\r\n\t#actionEventContext?: typeof UMB_ACTION_EVENT_CONTEXT.TYPE;\r\n\r\n\t// TODO: get this from the tree context\r\n\t#paging = {\r\n\t\tskip: 0,\r\n\t\ttake: 50,\r\n\t};\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host, UMB_TREE_ITEM_CONTEXT);\r\n\t\tthis.pagination.setPageSize(this.#paging.take);\r\n\t\tthis.#consumeContexts();\r\n\r\n\t\t// listen for page changes on the pagination manager\r\n\t\tthis.pagination.addEventListener(UmbChangeEvent.TYPE, this.#onPageChange);\r\n\r\n\t\twindow.addEventListener('navigationend', this.#debouncedCheckIsActive);\r\n\t}\r\n\r\n\t/**\r\n\t * Sets the manifest\r\n\t * @param {ManifestCollection} manifest\r\n\t * @memberof UmbCollectionContext\r\n\t */\r\n\tpublic set manifest(manifest: ManifestType | undefined) {\r\n\t\tif (this.#manifest === manifest) return;\r\n\t\tthis.#manifest = manifest;\r\n\t}\r\n\tpublic get manifest() {\r\n\t\treturn this.#manifest;\r\n\t}\r\n\r\n\t// TODO: Be aware that this method, could be removed and we can use the getter method instead [NL]\r\n\t/**\r\n\t * Returns the manifest.\r\n\t * @returns {ManifestCollection}\r\n\t * @memberof UmbCollectionContext\r\n\t */\r\n\tpublic getManifest() {\r\n\t\treturn this.#manifest;\r\n\t}\r\n\r\n\tpublic setTreeItem(treeItem: TreeItemType | undefined) {\r\n\t\tif (!treeItem) {\r\n\t\t\tthis._treeItem.setValue(undefined);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Only check for undefined. The tree root has null as unique\r\n\t\tif (treeItem.unique === undefined) throw new Error('Could not create tree item context, unique is missing');\r\n\t\tthis.unique = treeItem.unique;\r\n\r\n\t\tif (!treeItem.entityType) throw new Error('Could not create tree item context, tree item type is missing');\r\n\t\tthis.entityType = treeItem.entityType;\r\n\r\n\t\tthis.#hasChildren.setValue(treeItem.hasChildren || false);\r\n\t\tthis._treeItem.setValue(treeItem);\r\n\r\n\t\t// Update observers:\r\n\t\tthis.#observeActions();\r\n\t\tthis.#observeIsSelectable();\r\n\t\tthis.#observeIsSelected();\r\n\t\tthis.#observeSectionPath();\r\n\t}\r\n\r\n\t/**\r\n\t * Load children of the tree item\r\n\t * @memberof UmbTreeItemContextBase\r\n\t */\r\n\tpublic loadChildren = () => this.#loadChildren();\r\n\r\n\t/**\r\n\t * Load more children of the tree item\r\n\t * @memberof UmbTreeItemContextBase\r\n\t */\r\n\tpublic loadMore = () => this.#loadChildren(true);\r\n\r\n\tasync #loadChildren(loadMore = false) {\r\n\t\tif (this.unique === undefined) throw new Error('Could not request children, unique key is missing');\r\n\t\tif (this.entityType === undefined) throw new Error('Could not request children, entity type is missing');\r\n\r\n\t\t// TODO: wait for tree context to be ready\r\n\t\tconst repository = this.treeContext?.getRepository();\r\n\t\tif (!repository) throw new Error('Could not request children, repository is missing');\r\n\r\n\t\tthis.#isLoading.setValue(true);\r\n\r\n\t\tconst skip = loadMore ? this.#paging.skip : 0;\r\n\t\tconst take = loadMore ? this.#paging.take : this.pagination.getCurrentPageNumber() * this.#paging.take;\r\n\t\tconst foldersOnly = this.#foldersOnly.getValue();\r\n\t\tconst additionalArgs = this.treeContext?.getAdditionalRequestArgs();\r\n\r\n\t\tconst { data } = await repository.requestTreeItemsOf({\r\n\t\t\tparent: {\r\n\t\t\t\tunique: this.unique,\r\n\t\t\t\tentityType: this.entityType,\r\n\t\t\t},\r\n\t\t\tfoldersOnly,\r\n\t\t\tskip,\r\n\t\t\ttake,\r\n\t\t\t...additionalArgs,\r\n\t\t});\r\n\r\n\t\tif (data) {\r\n\t\t\tif (loadMore) {\r\n\t\t\t\tconst currentItems = this.#childItems.getValue();\r\n\t\t\t\tthis.#childItems.setValue([...currentItems, ...data.items]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.#childItems.setValue(data.items);\r\n\t\t\t}\r\n\r\n\t\t\tthis.#hasChildren.setValue(data.total > 0);\r\n\t\t\tthis.pagination.setTotalItems(data.total);\r\n\t\t}\r\n\r\n\t\tthis.#isLoading.setValue(false);\r\n\t}\r\n\r\n\tpublic toggleContextMenu() {\r\n\t\tif (!this.getTreeItem() || !this.entityType || this.unique === undefined) {\r\n\t\t\tthrow new Error('Could not request children, tree item is not set');\r\n\t\t}\r\n\r\n\t\tthis.#sectionSidebarContext?.toggleContextMenu(this.getHostElement(), {\r\n\t\t\tentityType: this.entityType,\r\n\t\t\tunique: this.unique,\r\n\t\t\theadline: this.getTreeItem()?.name || '',\r\n\t\t});\r\n\t}\r\n\r\n\tpublic select() {\r\n\t\tif (this.unique === undefined) throw new Error('Could not select. Unique is missing');\r\n\t\tthis.treeContext?.selection.select(this.unique);\r\n\t}\r\n\r\n\tpublic deselect() {\r\n\t\tif (this.unique === undefined) throw new Error('Could not deselect. Unique is missing');\r\n\t\tthis.treeContext?.selection.deselect(this.unique);\r\n\t}\r\n\r\n\tasync #consumeContexts() {\r\n\t\tthis.consumeContext(UMB_SECTION_CONTEXT, (instance) => {\r\n\t\t\tthis.#sectionContext = instance;\r\n\t\t\tthis.#observeSectionPath();\r\n\t\t});\r\n\r\n\t\tthis.consumeContext(UMB_SECTION_SIDEBAR_CONTEXT, (instance) => {\r\n\t\t\tthis.#sectionSidebarContext = instance;\r\n\t\t});\r\n\r\n\t\tthis.consumeContext(UMB_TREE_CONTEXT, (treeContext) => {\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n\t\t\t// @ts-ignore\r\n\t\t\tthis.treeContext = treeContext;\r\n\t\t\tthis.#observeIsSelectable();\r\n\t\t\tthis.#observeIsSelected();\r\n\t\t\tthis.#observeFoldersOnly();\r\n\t\t});\r\n\r\n\t\tthis.consumeContext(UMB_TREE_ITEM_CONTEXT, (instance) => {\r\n\t\t\tthis.parentTreeItemContext = instance;\r\n\t\t}).skipHost();\r\n\r\n\t\tthis.consumeContext(UMB_ACTION_EVENT_CONTEXT, (instance) => {\r\n\t\t\tthis.#removeEventListeners();\r\n\t\t\tthis.#actionEventContext = instance;\r\n\r\n\t\t\tthis.#actionEventContext.addEventListener(\r\n\t\t\t\tUmbRequestReloadTreeItemChildrenEvent.TYPE,\r\n\t\t\t\tthis.#onReloadRequest as EventListener,\r\n\t\t\t);\r\n\r\n\t\t\tthis.#actionEventContext.addEventListener(\r\n\t\t\t\tUmbRequestReloadChildrenOfEntityEvent.TYPE,\r\n\t\t\t\tthis.#onReloadRequest as EventListener,\r\n\t\t\t);\r\n\r\n\t\t\tthis.#actionEventContext.addEventListener(\r\n\t\t\t\tUmbRequestReloadStructureForEntityEvent.TYPE,\r\n\t\t\t\tthis.#onReloadStructureRequest as unknown as EventListener,\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tgetTreeItem() {\r\n\t\treturn this._treeItem.getValue();\r\n\t}\r\n\r\n\t#observeIsSelectable() {\r\n\t\tif (!this.treeContext) return;\r\n\t\tthis.observe(\r\n\t\t\tthis.treeContext.selection.selectable,\r\n\t\t\t(value) => {\r\n\t\t\t\tthis.#isSelectableContext.setValue(value);\r\n\r\n\t\t\t\t// If the tree is selectable, check if this item is selectable\r\n\t\t\t\tif (value === true) {\r\n\t\t\t\t\tconst isSelectable = this.treeContext?.selectableFilter?.(this.getTreeItem()!) ?? true;\r\n\t\t\t\t\tthis.#isSelectable.setValue(isSelectable);\r\n\t\t\t\t\tthis.#checkIsActive();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t'observeIsSelectable',\r\n\t\t);\r\n\t}\r\n\r\n\t#observeIsSelected() {\r\n\t\tif (!this.treeContext || !this.unique) return;\r\n\r\n\t\tthis.observe(\r\n\t\t\tthis.treeContext.selection.selection.pipe(map((selection) => selection.includes(this.unique!))),\r\n\t\t\t(isSelected) => {\r\n\t\t\t\tthis.#isSelected.setValue(isSelected);\r\n\t\t\t},\r\n\t\t\t'observeIsSelected',\r\n\t\t);\r\n\t}\r\n\r\n\t#observeFoldersOnly() {\r\n\t\tif (!this.treeContext || this.unique === undefined) return;\r\n\r\n\t\tthis.observe(\r\n\t\t\tthis.treeContext.foldersOnly,\r\n\t\t\t(foldersOnly) => {\r\n\t\t\t\tthis.#foldersOnly.setValue(foldersOnly);\r\n\t\t\t},\r\n\t\t\t'observeFoldersOnly',\r\n\t\t);\r\n\t}\r\n\r\n\t#observeSectionPath() {\r\n\t\tif (!this.#sectionContext) return;\r\n\r\n\t\tthis.observe(\r\n\t\t\tthis.#sectionContext.pathname,\r\n\t\t\t(pathname) => {\r\n\t\t\t\tif (!pathname || !this.entityType || this.unique === undefined) return;\r\n\t\t\t\tconst path = this.constructPath(pathname, this.entityType, this.unique);\r\n\t\t\t\tthis.#path.setValue(path);\r\n\t\t\t\tthis.#checkIsActive();\r\n\t\t\t},\r\n\t\t\t'observeSectionPath',\r\n\t\t);\r\n\t}\r\n\r\n\t#observeActions() {\r\n\t\tthis.observe(\r\n\t\t\tumbExtensionsRegistry\r\n\t\t\t\t.byType('entityAction')\r\n\t\t\t\t.pipe(map((actions) => actions.filter((action) => action.forEntityTypes.includes(this.entityType!)))),\r\n\t\t\t(actions) => {\r\n\t\t\t\tthis.#hasActions.setValue(actions.length > 0);\r\n\t\t\t},\r\n\t\t\t'observeActions',\r\n\t\t);\r\n\t}\r\n\r\n\t#onReloadRequest = (event: UmbEntityActionEvent) => {\r\n\t\tif (event.getUnique() !== this.unique) return;\r\n\t\tif (event.getEntityType() !== this.entityType) return;\r\n\t\tthis.loadChildren();\r\n\t};\r\n\r\n\t#onReloadStructureRequest = async (event: UmbRequestReloadStructureForEntityEvent) => {\r\n\t\tif (!this.unique) return;\r\n\t\tif (event.getUnique() !== this.unique) return;\r\n\t\tif (event.getEntityType() !== this.entityType) return;\r\n\r\n\t\tif (this.parentTreeItemContext) {\r\n\t\t\tthis.parentTreeItemContext.loadChildren();\r\n\t\t} else {\r\n\t\t\tthis.treeContext?.loadTree();\r\n\t\t}\r\n\t};\r\n\r\n\t#onPageChange = (event: UmbChangeEvent) => {\r\n\t\tconst target = event.target as UmbPaginationManager;\r\n\t\tthis.#paging.skip = target.getSkip();\r\n\t\tthis.loadMore();\r\n\t};\r\n\r\n\t#debouncedCheckIsActive = debounce(() => this.#checkIsActive(), 100);\r\n\r\n\t#checkIsActive() {\r\n\t\t// don't set the active state if the item is selectable\r\n\t\tconst isSelectable = this.#isSelectable.getValue();\r\n\r\n\t\tif (isSelectable) {\r\n\t\t\tthis.#isActive.setValue(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst path = this.#path.getValue();\r\n\t\tconst location = window.location.pathname;\r\n\t\tconst isActive = location.includes(path);\r\n\t\tthis.#isActive.setValue(isActive);\r\n\t}\r\n\r\n\t// TODO: use router context\r\n\tconstructPath(pathname: string, entityType: string, unique: string | null) {\r\n\t\t// TODO: Encode uniques [NL]\r\n\t\treturn `section/${pathname}/workspace/${entityType}/edit/${unique}`;\r\n\t}\r\n\r\n\t#removeEventListeners = () => {\r\n\t\tthis.#actionEventContext?.removeEventListener(\r\n\t\t\tUmbRequestReloadTreeItemChildrenEvent.TYPE,\r\n\t\t\tthis.#onReloadRequest as EventListener,\r\n\t\t);\r\n\r\n\t\tthis.#actionEventContext?.removeEventListener(\r\n\t\t\tUmbRequestReloadChildrenOfEntityEvent.TYPE,\r\n\t\t\tthis.#onReloadRequest as EventListener,\r\n\t\t);\r\n\r\n\t\tthis.#actionEventContext?.removeEventListener(\r\n\t\t\tUmbRequestReloadStructureForEntityEvent.TYPE,\r\n\t\t\tthis.#onReloadStructureRequest as unknown as EventListener,\r\n\t\t);\r\n\t};\r\n\r\n\toverride destroy(): void {\r\n\t\tthis.#removeEventListeners();\r\n\t\twindow.removeEventListener('navigationend', this.#debouncedCheckIsActive);\r\n\t\tsuper.destroy();\r\n\t}\r\n}\r\n\r\nexport const UMB_TREE_ITEM_CONTEXT = new UmbContextToken>('UmbTreeItemContext');\r\n","import type { UmbTreeItemContext } from '../index.js';\r\nimport type { UmbTreeItemModel } from '../../types.js';\r\nimport { html, nothing, state, ifDefined, repeat, property } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\n\r\nexport abstract class UmbTreeItemElementBase<\r\n\tTreeItemModelType extends UmbTreeItemModel,\r\n\tTreeItemContextType extends UmbTreeItemContext = UmbTreeItemContext,\r\n> extends UmbLitElement {\r\n\tprotected _item?: TreeItemModelType;\r\n\t@property({ type: Object, attribute: false })\r\n\tget item(): TreeItemModelType | undefined {\r\n\t\treturn this._item;\r\n\t}\r\n\tset item(newVal: TreeItemModelType) {\r\n\t\tthis._item = newVal;\r\n\r\n\t\tif (this._item) {\r\n\t\t\tthis.#initTreeItem();\r\n\t\t}\r\n\t}\r\n\r\n\t#api: TreeItemContextType | undefined;\r\n\t@property({ type: Object, attribute: false })\r\n\tpublic get api(): TreeItemContextType | undefined {\r\n\t\treturn this.#api;\r\n\t}\r\n\tpublic set api(value: TreeItemContextType | undefined) {\r\n\t\tthis.#api = value;\r\n\r\n\t\tif (this.#api) {\r\n\t\t\tthis.observe(this.#api.childItems, (value) => (this._childItems = value));\r\n\t\t\tthis.observe(this.#api.hasChildren, (value) => (this._hasChildren = value));\r\n\t\t\tthis.observe(this.#api.isActive, (value) => (this._isActive = value));\r\n\t\t\tthis.observe(this.#api.isLoading, (value) => (this._isLoading = value));\r\n\t\t\tthis.observe(this.#api.isSelectableContext, (value) => (this._isSelectableContext = value));\r\n\t\t\tthis.observe(this.#api.isSelectable, (value) => (this._isSelectable = value));\r\n\t\t\tthis.observe(this.#api.isSelected, (value) => (this._isSelected = value));\r\n\t\t\tthis.observe(this.#api.path, (value) => (this._href = value));\r\n\t\t\tthis.observe(this.#api.pagination.currentPage, (value) => (this._currentPage = value));\r\n\t\t\tthis.observe(this.#api.pagination.totalPages, (value) => (this._totalPages = value));\r\n\t\t\tthis.#initTreeItem();\r\n\t\t}\r\n\t}\r\n\r\n\t@property({ type: Boolean, attribute: false })\r\n\thideActions: boolean = false;\r\n\r\n\t@state()\r\n\tprotected _isActive = false;\r\n\r\n\t@state()\r\n\tprivate _childItems?: TreeItemModelType[];\r\n\r\n\t@state()\r\n\tprivate _href?: string;\r\n\r\n\t@state()\r\n\tprivate _isLoading = false;\r\n\r\n\t@state()\r\n\tprivate _isSelectableContext = false;\r\n\r\n\t@state()\r\n\tprivate _isSelectable = false;\r\n\r\n\t@state()\r\n\tprivate _isSelected = false;\r\n\r\n\t@state()\r\n\tprivate _hasChildren = false;\r\n\r\n\t@state()\r\n\tprivate _iconSlotHasChildren = false;\r\n\r\n\t@state()\r\n\tprivate _totalPages = 1;\r\n\r\n\t@state()\r\n\tprivate _currentPage = 1;\r\n\r\n\t#initTreeItem() {\r\n\t\tif (!this.#api) return;\r\n\t\tif (!this._item) return;\r\n\t\tthis.#api.setTreeItem(this._item);\r\n\t}\r\n\r\n\tprivate _handleSelectedItem(event: Event) {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.#api?.select();\r\n\t}\r\n\r\n\tprivate _handleDeselectedItem(event: Event) {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.#api?.deselect();\r\n\t}\r\n\r\n\t// TODO: do we want to catch and emit a backoffice event here?\r\n\tprivate _onShowChildren() {\r\n\t\tthis.#api?.loadChildren();\r\n\t}\r\n\r\n\t#onLoadMoreClick = (event: any) => {\r\n\t\tevent.stopPropagation();\r\n\t\tconst next = (this._currentPage = this._currentPage + 1);\r\n\t\tthis.#api?.pagination.setCurrentPageNumber(next);\r\n\t};\r\n\r\n\t// Note: Currently we want to prevent opening when the item is in a selectable context, but this might change in the future.\r\n\t// If we like to be able to open items in selectable context, then we might want to make it as a menu item action, so you have to click ... and chose an action called 'Edit'\r\n\toverride render() {\r\n\t\tconst label = this.localize.string(this._item?.name ?? '');\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${this.renderIconContainer()} ${this.renderLabel()} ${this.#renderActions()} ${this.#renderChildItems()}\r\n\t\t\t\t\r\n\t\t\t\t${this.#renderPaging()}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#hasNodes = (e: Event) => {\r\n\t\treturn (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length > 0;\r\n\t};\r\n\r\n\trenderIconContainer() {\r\n\t\treturn html`\r\n\t\t\t {\r\n\t\t\t\t\tthis._iconSlotHasChildren = this.#hasNodes(e);\r\n\t\t\t\t}}>\r\n\t\t\t${!this._iconSlotHasChildren ? this.#renderIcon() : nothing}\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderIcon() {\r\n\t\tconst icon = this._item?.icon;\r\n\t\tconst isFolder = this._item?.isFolder;\r\n\t\tconst iconWithoutColor = icon?.split(' ')[0];\r\n\r\n\t\tif (icon && iconWithoutColor) {\r\n\t\t\treturn html``;\r\n\t\t}\r\n\r\n\t\tif (isFolder) {\r\n\t\t\treturn html``;\r\n\t\t}\r\n\r\n\t\treturn html``;\r\n\t}\r\n\r\n\trenderLabel() {\r\n\t\treturn html``;\r\n\t}\r\n\r\n\t#renderActions() {\r\n\t\tif (this.hideActions) return;\r\n\t\treturn this.#api && this._item\r\n\t\t\t? html`\r\n\t\t\t\t`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\t#renderChildItems() {\r\n\t\treturn html`\r\n\t\t\t${this._childItems\r\n\t\t\t\t? repeat(\r\n\t\t\t\t\t\tthis._childItems,\r\n\t\t\t\t\t\t(item, index) => item.name + '___' + index,\r\n\t\t\t\t\t\t(item) =>\r\n\t\t\t\t\t\t\thtml``,\r\n\t\t\t\t\t)\r\n\t\t\t\t: ''}\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderPaging() {\r\n\t\tif (this._totalPages <= 1 || this._currentPage === this._totalPages) {\r\n\t\t\treturn nothing;\r\n\t\t}\r\n\r\n\t\treturn html` `;\r\n\t}\r\n}\r\n"],"names":["UmbRequestReloadTreeItemChildrenEvent","UmbEntityActionEvent","args","UmbTreeItemContextBase","UmbContextBase","host","UMB_TREE_ITEM_CONTEXT","UmbPaginationManager","UmbObjectState","#childItems","UmbArrayState","x","#hasChildren","UmbBooleanState","#isLoading","#isSelectable","#isSelectableContext","#isSelected","#isActive","#hasActions","#path","UmbStringState","#foldersOnly","#paging","#loadChildren","#onReloadRequest","event","#onReloadStructureRequest","#onPageChange","target","#debouncedCheckIsActive","debounce","#checkIsActive","#removeEventListeners","#actionEventContext","UmbRequestReloadChildrenOfEntityEvent","UmbRequestReloadStructureForEntityEvent","#consumeContexts","UmbChangeEvent","#manifest","#sectionContext","#sectionSidebarContext","manifest","treeItem","#observeActions","#observeIsSelectable","#observeIsSelected","#observeSectionPath","loadMore","repository","skip","take","foldersOnly","additionalArgs","data","currentItems","UMB_SECTION_CONTEXT","instance","UMB_SECTION_SIDEBAR_CONTEXT","UMB_TREE_CONTEXT","treeContext","#observeFoldersOnly","UMB_ACTION_EVENT_CONTEXT","value","isSelectable","map","selection","isSelected","pathname","path","umbExtensionsRegistry","actions","action","isActive","entityType","unique","UmbContextToken","UmbTreeItemElementBase","UmbLitElement","#onLoadMoreClick","next","#api","#hasNodes","newVal","#initTreeItem","label","html","ifDefined","#renderActions","#renderChildItems","#renderPaging","nothing","#renderIcon","icon","isFolder","iconWithoutColor","repeat","item","index","__decorateClass","property","state"],"mappings":"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"}