From 146930147492ff3c6ca6139ed4fb5defea919184 Mon Sep 17 00:00:00 2001 From: Marco Braak Date: Wed, 13 Nov 2024 09:27:26 +0100 Subject: [PATCH 1/2] Handle open empty folder --- src/test/jqTree/methods.test.ts | 9 +++++++++ src/tree.jquery.ts | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/test/jqTree/methods.test.ts b/src/test/jqTree/methods.test.ts index f68846e4..bcf943a5 100644 --- a/src/test/jqTree/methods.test.ts +++ b/src/test/jqTree/methods.test.ts @@ -959,6 +959,15 @@ describe("openNode", () => { }); }); }); + + it("handles an empty folder", () => { + const child1 = given.$tree.tree("getNodeByNameMustExist", "child1"); + child1.isEmptyFolder = true; + + expect(() => { + given.$tree.tree("openNode", child1, false); + }).not.toThrow(); + }); }); describe("prependNode", () => { diff --git a/src/tree.jquery.ts b/src/tree.jquery.ts index e040b802..f68e9cf9 100644 --- a/src/tree.jquery.ts +++ b/src/tree.jquery.ts @@ -626,6 +626,10 @@ export class JqTreeWidget extends SimpleWidget { _slide: boolean, _onFinished?: OnFinishOpenNode, ): void => { + if (!node.children.length) { + return; + } + const folderElement = this.createFolderElement(_node); folderElement.open( _onFinished, From 3cb4d80eefa188b02b7b657ef00e281aac51fd43 Mon Sep 17 00:00:00 2001 From: Marco Braak Date: Wed, 13 Nov 2024 09:40:02 +0100 Subject: [PATCH 2/2] Changelog --- docs/_entries/general/changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/_entries/general/changelog.md b/docs/_entries/general/changelog.md index 96f2b8c1..604d000a 100644 --- a/docs/_entries/general/changelog.md +++ b/docs/_entries/general/changelog.md @@ -3,6 +3,10 @@ title: Changelog name: changelog --- +#### Development version + +- Issue #858: load on demand with empty children (thanks to Ivan Kolesov) + #### 1.8.7 (november 2 2024) - Issue #853: fix dnd to first child (thanks to Oskar von Dungern)