@@ -241,19 +241,19 @@ class ComponentCascadeDot {
241
241
div . setAttribute ( 'data-id' , v . key ) ;
242
242
div . setAttribute ( 'data-parent-nodes-id' , JSON . stringify ( v . parentNodes ) ) ;
243
243
let allow_select = false ;
244
- if ( v . hasOwnProperty ( 'nodes' ) ) {
244
+ if ( v . hasOwnProperty ( 'nodes' ) && v . nodes . length > 0 ) {
245
245
let nodes = v . nodes . map ( ( n ) => n . key ) ;
246
246
div . setAttribute ( 'data-nodes-id' , JSON . stringify ( nodes ) ) ;
247
- } else {
247
+ } else {
248
248
div . setAttribute ( 'checked' , 'false' ) ;
249
249
allow_select = true ;
250
250
}
251
251
div . addEventListener ( 'click' , this . select . bind ( this , div , stack ) ) ;
252
252
stackDom . append ( div ) ;
253
253
/*selected append*/
254
254
let index = this . selected_data . indexOf ( parseInt ( v . key ) ) ;
255
- if ( allow_select == false && index !== - 1 ) {
256
- this . selected_data . splice ( index , 1 ) ;
255
+ if ( allow_select == false && index !== - 1 ) {
256
+ this . selected_data . splice ( index , 1 ) ;
257
257
this . select_data = this . selected_data . slice ( 0 ) ;
258
258
return ;
259
259
}
@@ -266,7 +266,7 @@ class ComponentCascadeDot {
266
266
let parent_nodes = v . parentNodes ;
267
267
if ( Array . isArray ( parent_nodes ) ) {
268
268
parent_nodes . forEach ( ( node , stack ) => {
269
- this . selectToParent ( node , stack , parent_nodes [ stack - 1 ] , 'false' ) ;
269
+ this . selectToParent ( node , stack , parent_nodes [ stack - 1 ] , 'false' ) ;
270
270
} ) ;
271
271
}
272
272
} ) ;
@@ -295,13 +295,11 @@ class ComponentCascadeDot {
295
295
} else {
296
296
this . dimensional_data [ dimension ] . push ( data ) ;
297
297
}
298
- if ( ! data . hasOwnProperty ( 'nodes' ) ) {
298
+ if ( ! data . hasOwnProperty ( 'nodes' ) || ! Array . isArray ( data . nodes ) || data . nodes . length == 0 ) {
299
299
return ;
300
300
}
301
- if ( Array . isArray ( data . nodes ) == true && data . nodes . length > 0 ) {
302
- dimension ++ ;
303
- this . makeDimensional ( data . nodes , dimension , parentNodes ) ;
304
- }
301
+ dimension ++ ;
302
+ this . makeDimensional ( data . nodes , dimension , parentNodes ) ;
305
303
}
306
304
307
305
select ( element , stack ) {
@@ -312,22 +310,22 @@ class ComponentCascadeDot {
312
310
end_node = true ;
313
311
}
314
312
let parent_nodes = JSON . parse ( element . getAttribute ( 'data-parent-nodes-id' ) ) ;
315
- if ( checked == 'false' || checked == null ) {
316
- this . selectActive ( stack , element , end_node , checked ) ;
317
- } else {
313
+ if ( checked == 'false' || checked == null ) {
314
+ this . selectActive ( stack , element , end_node , checked ) ;
315
+ } else {
318
316
this . selectInactive ( stack , element , end_node , checked ) ;
319
317
}
320
318
/*nodes*/
321
- this . selectToChildren ( stack + 1 , nodes , end_node ) ;
319
+ this . selectToChildren ( stack + 1 , nodes , end_node ) ;
322
320
/*parent nodes*/
323
321
if ( Array . isArray ( parent_nodes ) ) {
324
322
for ( let stack in parent_nodes ) {
325
- this . selectToParent ( parent_nodes [ stack ] , parseInt ( stack ) , parent_nodes [ stack - 1 ] , checked ) ;
323
+ this . selectToParent ( parent_nodes [ stack ] , parseInt ( stack ) , parent_nodes [ stack - 1 ] , checked ) ;
326
324
}
327
325
}
328
326
}
329
327
330
- selectActive ( stack , element , end_node , checked ) {
328
+ selectActive ( stack , element , end_node , checked ) {
331
329
checked != null && element . setAttribute ( 'checked' , 'true' ) ;
332
330
let currentStackDocuments = this . STACKS [ stack ] . childNodes ;
333
331
let parentNode = JSON . parse ( element . getAttribute ( 'data-parent-nodes-id' ) ) . pop ( ) ;
@@ -338,15 +336,15 @@ class ComponentCascadeDot {
338
336
currentStackDocuments [ index ] . classList . add ( 'dlp-label-silence' ) ;
339
337
}
340
338
} ) ;
341
- element . querySelector ( 'i' ) != null && element . removeChild ( element . querySelector ( 'i' ) ) ;
342
- if ( end_node ) {
339
+ element . querySelector ( 'i' ) != null && element . removeChild ( element . querySelector ( 'i' ) ) ;
340
+ if ( end_node ) {
343
341
this . selectToSelected ( element , stack ) ;
344
342
this . tagCal ( parseInt ( element . getAttribute ( 'data-id' ) ) , this . MODE . insert ) ;
345
343
element . insertAdjacentHTML ( 'beforeend' , `<i>${ _componentSvg . check } </i>` ) ;
346
344
}
347
345
}
348
346
349
- selectInactive ( stack , element , end_node , checked ) {
347
+ selectInactive ( stack , element , end_node , checked ) {
350
348
checked != null && element . setAttribute ( 'checked' , 'false' ) ;
351
349
let id = element . getAttribute ( 'data-id' ) ;
352
350
this . tagCal ( parseInt ( id ) , this . MODE . delete ) ;
@@ -379,12 +377,12 @@ class ComponentCascadeDot {
379
377
div . textContent = element . textContent ;
380
378
var object = this ;
381
379
div . addEventListener ( 'click' , function ( ) {
382
- object . selectInactive ( stack , element , 'true' , 'true' ) ;
380
+ object . selectInactive ( stack , element , 'true' , 'true' ) ;
383
381
} ) ;
384
382
this . SELECTED_DOM . append ( div ) ;
385
383
}
386
384
387
- selectToParent ( node , stack , parent_node , checked ) {
385
+ selectToParent ( node , stack , parent_node , checked ) {
388
386
let currentStackDocuments = this . STACKS [ stack ] . childNodes ;
389
387
currentStackDocuments . forEach ( ( D , index ) => {
390
388
if ( checked == 'true' ) {
@@ -412,12 +410,12 @@ class ComponentCascadeDot {
412
410
} ) ;
413
411
}
414
412
415
- selectToChildren ( stack , nodes , end_node ) {
413
+ selectToChildren ( stack , nodes , end_node ) {
416
414
if ( stack > ( this . dimensional_data . length - 1 ) ) return ;
417
415
let currentStackDocuments = this . STACKS [ stack ] . childNodes ;
418
416
let children = [ ] ;
419
417
currentStackDocuments . forEach ( ( D ) => {
420
- if ( end_node ) {
418
+ if ( end_node ) {
421
419
D . classList . add ( 'dlp-label-silence' ) ;
422
420
return ;
423
421
}
0 commit comments