Skip to content

Commit 7b4886d

Browse files
awallatadamkleingit
authored andcommitted
- return promise from expand-method, so that we can open a deep path into the tree
1 parent 144a706 commit 7b4886d

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

lib/models/tree-node.model.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ export class TreeNode implements ITreeNode {
161161
if (!this.options.getChildren) {
162162
throw new Error('Node doesn\'t have children, or a getChildren method');
163163
}
164-
Promise.resolve(this.options.getChildren(this))
164+
return Promise.resolve(this.options.getChildren(this))
165165
.then((children) => {
166166
if (children) {
167167
this.setField('children', children);
@@ -178,10 +178,10 @@ export class TreeNode implements ITreeNode {
178178

179179
expand() {
180180
if (!this.isExpanded) {
181-
this.toggleExpanded();
181+
return this.toggleExpanded();
182182
}
183183

184-
return this;
184+
return Promise.resolve();
185185
}
186186

187187
collapse() {
@@ -207,21 +207,22 @@ export class TreeNode implements ITreeNode {
207207
}
208208

209209
toggleExpanded() {
210-
this.setIsExpanded(!this.isExpanded);
211-
this.fireEvent({ eventName: TREE_EVENTS.onToggle, warning: 'this event is deprecated, please use onToggleExpanded instead', node: this, isExpanded: this.isExpanded });
212-
this.fireEvent({ eventName: TREE_EVENTS.onToggleExpanded, node: this, isExpanded: this.isExpanded });
213-
214-
return this;
210+
return this.setIsExpanded(!this.isExpanded)
211+
.then(() => {
212+
this.fireEvent({ eventName: TREE_EVENTS.onToggle, warning: 'this event is deprecated, please use onToggleExpanded instead', node: this, isExpanded: this.isExpanded });
213+
this.fireEvent({ eventName: TREE_EVENTS.onToggleExpanded, node: this, isExpanded: this.isExpanded });
214+
});
215215
}
216216

217217
setIsExpanded(value) {
218218
this.treeModel.setExpandedNode(this, value);
219219

220+
let promise = null;
220221
if (!this.children && this.hasChildren && value) {
221-
this.loadChildren();
222+
promise = this.loadChildren();
222223
}
223224

224-
return this;
225+
return promise ? promise : Promise.resolve();
225226
};
226227

227228
setIsActive(value, multi = false) {

0 commit comments

Comments
 (0)