@@ -326,7 +326,7 @@ class ComponentCascadeDot {
326
326
return ;
327
327
}
328
328
/*current stack*/
329
- this . selectInactive ( stack , element ) ;
329
+ this . selectInactive ( stack , element , end_node ) ;
330
330
/*parent nodes*/
331
331
if ( Array . isArray ( parent_nodes ) ) {
332
332
for ( let stack in parent_nodes ) {
@@ -336,11 +336,8 @@ class ComponentCascadeDot {
336
336
}
337
337
338
338
selectActive ( stack , element , end_node ) {
339
- if ( element . getAttribute ( 'allow-select' ) == 'false' ) return ;
340
339
if ( element . getAttribute ( 'checked' ) == 'true' ) return ;
341
340
element . setAttribute ( 'checked' , 'true' ) ;
342
- ! end_node && this . selectToSelected ( element , stack ) ;
343
- this . tagCal ( parseInt ( element . getAttribute ( 'data-id' ) ) , this . MODE . insert ) ;
344
341
let currentStackDocuments = this . STACKS [ stack ] . childNodes ;
345
342
let parentNode = JSON . parse ( element . getAttribute ( 'data-parent-nodes-id' ) ) . pop ( ) ;
346
343
currentStackDocuments . forEach ( ( D , index ) => {
@@ -352,17 +349,18 @@ class ComponentCascadeDot {
352
349
} ) ;
353
350
element . querySelector ( 'i' ) != null && element . removeChild ( element . querySelector ( 'i' ) ) ;
354
351
if ( end_node ) {
352
+ this . selectToSelected ( element , stack ) ;
353
+ this . tagCal ( parseInt ( element . getAttribute ( 'data-id' ) ) , this . MODE . insert ) ;
355
354
element . insertAdjacentHTML ( 'beforeend' , `<i>${ _componentSvg . check } </i>` ) ;
356
355
}
357
356
}
358
357
359
- selectInactive ( stack , element ) {
360
- if ( element . getAttribute ( 'allow-select' ) == 'false' ) return ;
358
+ selectInactive ( stack , element , end_node ) {
361
359
if ( element . getAttribute ( 'checked' ) == 'false' ) return ;
362
360
element . setAttribute ( 'checked' , 'false' ) ;
363
361
let id = element . getAttribute ( 'data-id' ) ;
364
362
this . tagCal ( parseInt ( id ) , this . MODE . delete ) ;
365
- element . removeChild ( element . querySelector ( 'i' ) ) ;
363
+ element . querySelector ( 'i' ) != null && element . removeChild ( element . querySelector ( 'i' ) ) ;
366
364
for ( let index in this . SELECTED_DOM . childNodes ) {
367
365
let D = this . SELECTED_DOM . childNodes [ index ] ;
368
366
if ( ( D instanceof HTMLElement ) && ( D . getAttribute ( 'data-id' ) == id ) ) {
@@ -371,6 +369,15 @@ class ComponentCascadeDot {
371
369
break ;
372
370
}
373
371
}
372
+ let currentStackDocuments = this . STACKS [ stack ] . childNodes ;
373
+ let parentNode = JSON . parse ( element . getAttribute ( 'data-parent-nodes-id' ) ) . pop ( ) ;
374
+ currentStackDocuments . forEach ( ( D , index ) => {
375
+ currentStackDocuments [ index ] . classList . remove ( 'dlp-label-silence' ) ;
376
+ let parents = JSON . parse ( D . getAttribute ( 'data-parent-nodes-id' ) ) ;
377
+ if ( parents [ stack - 1 ] != parentNode ) {
378
+ currentStackDocuments [ index ] . classList . add ( 'dlp-label-silence' ) ;
379
+ }
380
+ } ) ;
374
381
}
375
382
376
383
selectToSelected ( element , stack ) {
@@ -398,7 +405,7 @@ class ComponentCascadeDot {
398
405
check = true ;
399
406
}
400
407
} ) ;
401
- ! check && D . querySelector ( 'i' ) . remove ( ) ;
408
+ ! check && D . querySelector ( 'i' ) != null && D . querySelector ( 'i' ) . remove ( ) ;
402
409
}
403
410
return ;
404
411
}
0 commit comments