@@ -245,7 +245,7 @@ const DirectoryTreeView = () => {
245
245
useEffect ( ( ) => {
246
246
console . log ( treeData ) ;
247
247
if ( treeData . length > 3 ) {
248
- setExpandedIds ( [ 'datastore_folder' , '11785' ] ) ;
248
+ setExpandedIds ( [ 'datastore_folder' ] ) ;
249
249
// setKey(treeData.length + 1);
250
250
}
251
251
} , [ treeData ] ) ;
@@ -284,55 +284,101 @@ const DirectoryTreeView = () => {
284
284
} ;
285
285
286
286
const onExpand = ( value ) => {
287
- console . log ( value ) ;
287
+ console . log ( value . element ) ;
288
288
const tempData = treeData ;
289
+ // if (value && value.element && value.element.id !== 'datastore_folder') {
290
+ // API.get(`/api/automate/${value.element.name}?depth=-1`).then((newNodes) => {
291
+ // console.log(newNodes);
292
+ // const newChildren = [];
293
+ // newNodes.resources.forEach((newNode) => {
294
+ // if (value.element.id !== newNode.id) {
295
+ // newChildren.
296
+ // }
297
+ // });
298
+ // });
299
+ // }
289
300
301
+ // if (value.element.metadata && value.element.metadata.fqname) {
302
+ // console.log(value);
303
+ // console.log('STOP');
304
+ // }
290
305
if ( value && value . element && value . element . id !== 'datastore_folder' ) {
291
- API . get ( `/api/automate/${ value . element . name } ?depth=1` ) . then ( ( newNodes ) => {
306
+ let path = value . element . name ;
307
+ if ( value . element . metadata && value . element . metadata . fqname ) {
308
+ path = value . element . metadata . fqname ;
309
+ }
310
+ API . get ( `/api/automate/${ path } ?depth=1` ) . then ( ( newNodes ) => {
292
311
const newChildren = [ ] ;
293
312
newNodes . resources . forEach ( ( newNode ) => {
294
313
if ( value . element . id !== newNode . id ) {
295
- newChildren . push ( {
296
- id : newNode . id ,
297
- name : newNode . name ,
298
- children : [ ] ,
299
- parent : value . element . id ,
300
- metadata : { } ,
301
- } ) ;
314
+ if ( newNode . klass !== 'MiqAeClass' ) {
315
+ newChildren . push ( {
316
+ id : newNode . id ,
317
+ name : newNode . name ,
318
+ children : [ `${ newNode . id } _child_placeholder` ] ,
319
+ parent : value . element . id ,
320
+ metadata : { fqname : newNode . fqname } ,
321
+ } ) ;
322
+ newChildren . push ( {
323
+ id : `${ newNode . id } _child_placeholder` ,
324
+ name : 'Loading' ,
325
+ children : [ ] ,
326
+ parent : newNode . id ,
327
+ metadata : { } ,
328
+ } ) ;
329
+ } else {
330
+ newChildren . push ( {
331
+ id : newNode . id ,
332
+ name : newNode . name ,
333
+ children : [ ] ,
334
+ parent : value . element . id ,
335
+ metadata : { fqname : newNode . fqname } ,
336
+ } ) ;
337
+ }
302
338
}
303
339
} ) ;
304
- console . log ( newChildren ) ;
305
340
return newChildren ;
306
341
} ) . then ( ( newChildrenArray ) => {
307
- console . log ( newChildrenArray ) ;
308
342
const tempIdsArray = treeIds ;
309
343
newChildrenArray . forEach ( ( node ) => {
310
344
if ( ! treeIds . includes ( node . id ) ) {
311
345
tempIdsArray . push ( node . id ) ;
312
346
tempData . forEach ( ( parentNode ) => {
313
347
if ( parentNode . id === node . parent ) {
348
+ setExpandedIds ( [ ...expandedIds , value . element . id ] ) ;
314
349
const childrenNodesToKeep = [ ] ;
315
350
parentNode . children . forEach ( ( child ) => {
316
- console . log ( typeof child === 'string' ) ;
317
- console . log ( child ) ;
318
351
if ( typeof child === 'string' ) {
319
352
childrenNodesToKeep . push ( child ) ;
320
353
}
321
354
} ) ;
322
- console . log ( childrenNodesToKeep ) ;
323
355
parentNode . children = childrenNodesToKeep ;
324
- parentNode . children = parentNode . children . concat ( node . id ) ;
356
+ if ( parentNode . children . length >= 1 ) {
357
+ parentNode . children . forEach ( ( child ) => {
358
+ if ( child . includes ( '_placeholder' ) ) {
359
+ parentNode . children . shift ( ) ;
360
+ }
361
+ } ) ;
362
+ }
363
+ if ( ! parentNode . children . includes ( node . id ) ) {
364
+ parentNode . children = parentNode . children . concat ( node . id ) ;
365
+ }
366
+ if ( node . id . includes ( '_placeholder' ) ) {
367
+ // console.log(node);
368
+ // console.log(parentNode);
369
+ // console.log(value);
370
+ }
325
371
}
326
372
} ) ;
327
373
tempData . push ( node ) ;
328
- console . log ( tempData ) ;
329
374
setTreeIds ( tempIdsArray ) ;
330
375
setTreeData ( tempData ) ;
331
376
setKey ( Math . random ( ) ) ;
332
377
}
333
378
} ) ;
334
379
} ) ;
335
380
}
381
+
336
382
// if (value && value.element && value.element.id === 'datastore_folder') {
337
383
// const ids = value.element.id.split('_');
338
384
// if (ids.includes('folder')) {
0 commit comments