Skip to content

Commit a8ccde1

Browse files
author
hikki
committed
1.7
1 parent 6af82c8 commit a8ccde1

File tree

2 files changed

+37
-10
lines changed

2 files changed

+37
-10
lines changed

resources/assets/component.js

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,9 @@ class ComponentCascadeDot {
235235
}
236236
return;
237237
}
238-
data.parentNodes = parentNodes;
238+
let parent = parentNodes.slice(0);
239+
parent.pop();
240+
data.parentNodes = parent;
239241
if (!Array.isArray(this.dimensional_data[dimension])) {
240242
this.dimensional_data[dimension] = [data];
241243
} else {
@@ -251,19 +253,44 @@ class ComponentCascadeDot {
251253
}
252254

253255
select(element, stack) {
256+
/*nodes*/
254257
let nodes = JSON.parse(element.getAttribute('data-nodes-id'));
255258
this.selectToChildren(stack + 1, nodes);
256-
259+
/*current stack*/
257260
let currentStackDocuments = this.STACKS[stack].childNodes;
258-
let key = parseInt(element.getAttribute('data-id'));
261+
let parentNode = JSON.parse(element.getAttribute('data-parent-nodes-id')).pop();
259262
currentStackDocuments.forEach((D, index) => {
260263
currentStackDocuments[index].classList.remove('dlp-label-active');
264+
currentStackDocuments[index].classList.remove('dlp-label-silence');
265+
let parents = JSON.parse(D.getAttribute('data-parent-nodes-id'));
266+
if(parents[stack-1] != parentNode){
267+
currentStackDocuments[index].classList.add('dlp-label-silence');
268+
}
261269
});
262270
element.classList.add('dlp-label-active');
271+
/*parent nodes*/
272+
let parent_nodes = JSON.parse(element.getAttribute('data-parent-nodes-id'));
273+
if(Array.isArray(parent_nodes)){
274+
for (let stack in parent_nodes){
275+
this.selectToParent(parent_nodes[stack],stack,parent_nodes[stack-1]);
276+
}
277+
}
263278
}
264279

265-
selectToParent(node) {
266-
280+
selectToParent(node,stack,parent_node) {
281+
let currentStackDocuments = this.STACKS[stack].childNodes;
282+
currentStackDocuments.forEach((D, index) => {
283+
let parents = JSON.parse(D.getAttribute('data-parent-nodes-id'));
284+
currentStackDocuments[index].classList.remove('dlp-label-silence');
285+
if(parents.length>0 && (parents[stack-1] != parent_node)) {
286+
currentStackDocuments[index].classList.add('dlp-label-silence');
287+
}
288+
currentStackDocuments[index].classList.remove('dlp-label-active');
289+
if(node == parseInt(D.getAttribute('data-id'))){
290+
currentStackDocuments[index].classList.add('dlp-label-active');
291+
currentStackDocuments[index].classList.remove('dlp-label-silence');
292+
}
293+
});
267294
}
268295

269296
selectToChildren(stack, nodes) {

test/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626

2727
new ComponentCascadeDot('test4',{1:'a',2:'b',3:'c'},
2828
[{'key':1,'val':'a'},
29-
{'key':2,'val':'b','nodes':[{'key':11,'val':'b1'},{'key':12,'val':'b2'},{'key':13,'val':'b3'},{'key':14,'val':'b4'}]},
30-
{'key':3,'val':'c'},
29+
{'key':2,'val':'b','nodes':[{'key':21,'val':'b1'},{'key':22,'val':'b2'},{'key':23,'val':'b3'},{'key':24,'val':'b4'}]},
30+
{'key':3,'val':'c','nodes':[{'key':31,'val':'c1'},{'key':32,'val':'c2','nodes':[]}]},
3131
{'key':4,'val':'d','nodes':[]},
32-
{'key':5,'val':'e','nodes':[{'key':21,'val':'e1'},{'key':22,'val':'e2'},{'key':23,'val':'e3'},{'key':24,'val':'e4'},{'key':25,'val':'e5'}
33-
,{'key':26,'val':'e6'},{'key':27,'val':'e7'},{'key':28,'val':'e8'},{'key':29,'val':'e9'},{'key':20,'val':'e0','nodes':[{'key':120,'val':'e00'},{'key':121,'val':'e01'}]}]},
34-
{'key':6,'val':'f','nodes':[{'key':31,'val':'f1'},{'key':32,'val':'f2'}]}
32+
{'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'}
33+
,{'key':56,'val':'e6'},{'key':57,'val':'e7'},{'key':58,'val':'e8'},{'key':59,'val':'e9'},{'key':60,'val':'e0','nodes':[{'key':120,'val':'e00'},{'key':121,'val':'e01'}]}]},
34+
{'key':6,'val':'f','nodes':[{'key':61,'val':'f1'},{'key':62,'val':'f2'}]}
3535
]);
3636
</script>
3737
</html>

0 commit comments

Comments
 (0)