Skip to content

Commit c0a6824

Browse files
committed
1.8
1 parent 857d74b commit c0a6824

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

resources/assets/component.js

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type="rotate"from="0 20 20"to="360 20 20"dur="0.5s"repeatCount="indefinite"/></p
2222
'check': `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-circle-fill" viewBox="0 0 16 16">
2323
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
2424
</svg>`,
25-
'check_circle':`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-circle" viewBox="0 0 16 16">
25+
'check_circle': `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-circle" viewBox="0 0 16 16">
2626
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
2727
<path d="M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"/>
2828
</svg>`
@@ -260,9 +260,18 @@ class ComponentCascadeDot {
260260
if ((index !== -1) && allowSelect == false) {
261261
this.selected_data.splice(index, 1);
262262
this.select_data = this.selected_data.slice(0);
263-
} else if((index !== -1) && allowSelect == true) {
264-
this.selectToSelected(div,stack);
265-
div.insertAdjacentHTML('beforeend',`<i>${_componentSvg.check}</i>`);
263+
} else if ((index !== -1) && allowSelect == true) {
264+
this.selectToSelected(div, stack);
265+
div.insertAdjacentHTML('beforeend', `<i>${_componentSvg.check}</i>`);
266+
/*parent nodes*/
267+
setTimeout(() => {
268+
let parent_nodes = v.parentNodes;
269+
if (Array.isArray(parent_nodes)) {
270+
parent_nodes.forEach((node, stack) => {
271+
this.selectToParent('false', node, stack, parent_nodes[stack - 1], parent_nodes[stack + 1]);
272+
});
273+
}
274+
});
266275
}
267276
});
268277
this.CONTENT_DOM.append(stackDom);
@@ -303,24 +312,24 @@ class ComponentCascadeDot {
303312
this.selectToChildren(stack + 1, nodes);
304313
/*current stack*/
305314
let checked = element.getAttribute('checked');
306-
if(checked == 'false') {
315+
if (checked == 'false') {
307316
this.selectActive(stack, element);
308-
}else {
317+
} else {
309318
this.selectInactive(stack, element);
310319
}
311320
/*parent nodes*/
312321
let parent_nodes = JSON.parse(element.getAttribute('data-parent-nodes-id'));
313322
if (Array.isArray(parent_nodes)) {
314323
for (let stack in parent_nodes) {
315-
this.selectToParent(checked,parent_nodes[stack], parseInt(stack), parent_nodes[stack - 1],parent_nodes[stack + 1]);
324+
this.selectToParent(checked, parent_nodes[stack], parseInt(stack), parent_nodes[stack - 1], parent_nodes[stack + 1]);
316325
}
317326
}
318327
}
319328

320329
selectActive(stack, element) {
321-
if (element.getAttribute('allow-select') == 'false')return;
322-
if (element.getAttribute('checked') == 'true')return;
323-
this.selectToSelected(element,stack);
330+
if (element.getAttribute('allow-select') == 'false') return;
331+
if (element.getAttribute('checked') == 'true') return;
332+
this.selectToSelected(element, stack);
324333
this.tagCal(parseInt(element.getAttribute('data-id')), this.MODE.insert);
325334
let currentStackDocuments = this.STACKS[stack].childNodes;
326335
let parentNode = JSON.parse(element.getAttribute('data-parent-nodes-id')).pop();
@@ -332,27 +341,27 @@ class ComponentCascadeDot {
332341
}
333342
});
334343
element.querySelector('i') && element.removeChild(element.querySelector('i'));
335-
element.insertAdjacentHTML('beforeend',`<i>${_componentSvg.check}</i>`);
344+
element.insertAdjacentHTML('beforeend', `<i>${_componentSvg.check}</i>`);
336345
}
337346

338-
selectInactive(stack, element){
339-
if (element.getAttribute('allow-select') == 'false')return;
340-
if (element.getAttribute('checked') == 'false')return;
347+
selectInactive(stack, element) {
348+
if (element.getAttribute('allow-select') == 'false') return;
349+
if (element.getAttribute('checked') == 'false') return;
341350
element.setAttribute('checked', 'false');
342351
let id = element.getAttribute('data-id');
343352
this.tagCal(parseInt(id), this.MODE.delete);
344353
element.removeChild(element.querySelector('i'));
345-
for(let index in this.SELECTED_DOM.childNodes){
354+
for (let index in this.SELECTED_DOM.childNodes) {
346355
let D = this.SELECTED_DOM.childNodes[index];
347-
if((D instanceof HTMLElement) && (D.getAttribute('data-id') == id)){
356+
if ((D instanceof HTMLElement) && (D.getAttribute('data-id') == id)) {
348357
this.tagCal(parseInt(id), this.MODE.delete);
349358
D.remove();
350359
break;
351360
}
352361
}
353362
}
354363

355-
selectToSelected(element,stack){
364+
selectToSelected(element, stack) {
356365
element.setAttribute('checked', 'true');
357366
let div = document.createElement('div');
358367
div.className = 'dlp dlp-text dlp-label';
@@ -367,15 +376,14 @@ class ComponentCascadeDot {
367376
this.SELECTED_DOM.append(div);
368377
}
369378

370-
selectToParent(checked,node, stack, parent_node,child_nodes) {
379+
selectToParent(checked, node, stack, parent_node, child_nodes) {
371380
let currentStackDocuments = this.STACKS[stack].childNodes;
372381
currentStackDocuments.forEach((D, index) => {
373-
if(checked == 'true'){
382+
if (checked == 'true') {
374383
if (node == parseInt(D.getAttribute('data-id'))) {
375384
let check = false;
376-
console.log(stack)
377-
this.STACKS[stack+1].childNodes.forEach((D)=>{
378-
if(D.getAttribute('checked') == 'true'){
385+
this.STACKS[stack + 1].childNodes.forEach((D) => {
386+
if (D.querySelector('i')) {
379387
check = true;
380388
}
381389
});
@@ -390,8 +398,8 @@ class ComponentCascadeDot {
390398
D.classList.add('dlp-label-silence');
391399
}
392400
if (node == parseInt(D.getAttribute('data-id'))) {
393-
if(D.getAttribute('checked') == 'true' || (D.querySelector('i') instanceof HTMLElement))return;
394-
D.insertAdjacentHTML('beforeend',`<i>${_componentSvg.check_circle}</i>`);
401+
if (D.getAttribute('checked') == 'true' || (D.querySelector('i') instanceof HTMLElement)) return;
402+
D.insertAdjacentHTML('beforeend', `<i>${_componentSvg.check_circle}</i>`);
395403
}
396404
});
397405
}

0 commit comments

Comments
 (0)