Skip to content

Commit 6bc5157

Browse files
author
hikki
committed
1.8
1 parent dfe7955 commit 6bc5157

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

resources/assets/component.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,8 @@ class ComponentCascadeDot {
302302
let nodes = JSON.parse(element.getAttribute('data-nodes-id'));
303303
this.selectToChildren(stack + 1, nodes);
304304
/*current stack*/
305-
if(element.getAttribute('checked') == 'false') {
305+
let checked = element.getAttribute('checked');
306+
if(checked == 'false') {
306307
this.selectActive(stack, element);
307308
}else {
308309
this.selectInactive(stack, element);
@@ -311,7 +312,7 @@ class ComponentCascadeDot {
311312
let parent_nodes = JSON.parse(element.getAttribute('data-parent-nodes-id'));
312313
if (Array.isArray(parent_nodes)) {
313314
for (let stack in parent_nodes) {
314-
this.selectToParent(parent_nodes[stack], stack, parent_nodes[stack - 1]);
315+
this.selectToParent(checked,parent_nodes[stack], stack, parent_nodes[stack - 1]);
315316
}
316317
}
317318
}
@@ -330,6 +331,7 @@ class ComponentCascadeDot {
330331
currentStackDocuments[index].classList.add('dlp-label-silence');
331332
}
332333
});
334+
element.querySelector('i') && element.removeChild(element.querySelector('i'));
333335
element.insertAdjacentHTML('beforeend',`<i>${_componentSvg.check}</i>`);
334336
}
335337

@@ -365,16 +367,24 @@ class ComponentCascadeDot {
365367
this.SELECTED_DOM.append(div);
366368
}
367369

368-
selectToParent(node, stack, parent_node) {
370+
selectToParent(checked,node, stack, parent_node) {
369371
let currentStackDocuments = this.STACKS[stack].childNodes;
370372
currentStackDocuments.forEach((D, index) => {
373+
if(checked == 'true'){
374+
if (node == parseInt(D.getAttribute('data-id'))) {
375+
376+
}
377+
return;
378+
}
371379
let parents = JSON.parse(D.getAttribute('data-parent-nodes-id'));
372380
currentStackDocuments[index].classList.remove('dlp-label-silence');
373381
if (parents.length > 0 && (parents[stack - 1] != parent_node)) {
374-
currentStackDocuments[index].classList.add('dlp-label-silence');
382+
let D = currentStackDocuments[index];
383+
D.classList.add('dlp-label-silence');
375384
}
376385
if (node == parseInt(D.getAttribute('data-id'))) {
377-
currentStackDocuments[index].classList.remove('dlp-label-silence');
386+
if(D.getAttribute('checked') == 'true' || (D.querySelector('i') instanceof HTMLElement))return;
387+
D.insertAdjacentHTML('beforeend',`<i>${_componentSvg.check_circle}</i>`);
378388
}
379389
});
380390
}

test/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
new ComponentCascadeDot('test4',[1,2,3,22],
2828
[{'key':1,'val':'a'},
29-
{'key':2,'val':'b','nodes':[{'key':21,'val':'b1'},{'key':22,'val':'b2'},{'key':23,'val':'b3'},{'key':24,'val':'b4'}]},
29+
{'key':2,'val':'b','nodes':[{'key':21,'val':'b1'},{'key':22,'val':'b2'},{'key':23,'val':'b3',nodes:[{'key':222,'val':'b03'}]},{'key':24,'val':'b4'}]},
3030
{'key':3,'val':'c','nodes':[{'key':31,'val':'c1'},{'key':32,'val':'c2','nodes':[]}]},
3131
{'key':4,'val':'d','nodes':[]},
3232
{'key':5,'val':'e','nodes':[{'key':51,'val':'e1'},{'key':52,'val':'e2'},{'key':53,'val':'e3'},{'key':54,'val':'e4'},{'key':55,'val':'e5'}

0 commit comments

Comments
 (0)