@@ -161,7 +161,7 @@ export class TreeNode implements ITreeNode {
161
161
if ( ! this . options . getChildren ) {
162
162
throw new Error ( 'Node doesn\'t have children, or a getChildren method' ) ;
163
163
}
164
- Promise . resolve ( this . options . getChildren ( this ) )
164
+ return Promise . resolve ( this . options . getChildren ( this ) )
165
165
. then ( ( children ) => {
166
166
if ( children ) {
167
167
this . setField ( 'children' , children ) ;
@@ -178,10 +178,10 @@ export class TreeNode implements ITreeNode {
178
178
179
179
expand ( ) {
180
180
if ( ! this . isExpanded ) {
181
- this . toggleExpanded ( ) ;
181
+ return this . toggleExpanded ( ) ;
182
182
}
183
183
184
- return this ;
184
+ return Promise . resolve ( ) ;
185
185
}
186
186
187
187
collapse ( ) {
@@ -207,21 +207,22 @@ export class TreeNode implements ITreeNode {
207
207
}
208
208
209
209
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
+ } ) ;
215
215
}
216
216
217
217
setIsExpanded ( value ) {
218
218
this . treeModel . setExpandedNode ( this , value ) ;
219
219
220
+ let promise = null ;
220
221
if ( ! this . children && this . hasChildren && value ) {
221
- this . loadChildren ( ) ;
222
+ promise = this . loadChildren ( ) ;
222
223
}
223
224
224
- return this ;
225
+ return promise ? promise : Promise . resolve ( ) ;
225
226
} ;
226
227
227
228
setIsActive ( value , multi = false ) {
0 commit comments