diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-children.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-children.manager.ts index 164abc3c07..381dadae9b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-children.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-children.manager.ts @@ -188,6 +188,12 @@ export class UmbTreeItemChildrenManager< * @memberof UmbTreeItemChildrenManager */ public async loadChildren(): Promise { + const target = this.targetPagination.getBaseTarget(); + /* If a new target is set we only want to reload children if the new target isn’t among the already loaded items. */ + if (target && this.isChildLoaded(target)) { + return; + } + return this.#loadChildren(); } @@ -244,7 +250,7 @@ export class UmbTreeItemChildrenManager< ? this.targetPagination.getNumberOfCurrentItemsBeforeBaseTarget() : this.#takeBeforeTarget !== undefined ? this.#takeBeforeTarget - : 5, + : this.targetPagination.getTakeSize(), takeAfter: reload ? this.targetPagination.getNumberOfCurrentItemsAfterBaseTarget() : this.#takeAfterTarget !== undefined diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-expansion.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-expansion.manager.ts index ce620ec08f..4c09f36325 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-expansion.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-expansion.manager.ts @@ -94,12 +94,6 @@ export class UmbTreeItemTargetExpansionManager< return; } - /* If a new target is set we only want to reload children if the new target isn’t among the already loaded items. */ - const targetIsLoaded = this.#childrenManager.isChildLoaded(target); - if (target && targetIsLoaded) { - return; - } - // If we already have children and the target didn't change then we don't have to load new children const isNewTarget = target !== currentBaseTarget; if (isExpanded && this.#childrenManager.hasLoadedChildren() && !isNewTarget) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.context.ts index 29cbc3d63b..2c78868133 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.context.ts @@ -40,7 +40,7 @@ export class UmbDocumentTreeItemContext extends UmbDefaultTreeItemContext< this.hasCollection, (hasCollection) => { if (hasCollection) { - this._treeItemChildrenManager.setTargetTakeSize(2, 2); + this._treeItemChildrenManager.setTargetTakeSize(1, 1); this.observe( this.hasActiveDescendant,