Skip to content

Commit f4fa9d0

Browse files
authored
Merge pull request #67 from eidng8/dev
dev
2 parents 3a984b0 + 7a0aae6 commit f4fa9d0

File tree

6 files changed

+11
-15
lines changed

6 files changed

+11
-15
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
A Vue tree view component with stable DOM structure. By stable, it means the DOM structure will not change once it is rendered.
66

7+
[Demo](https://codesandbox.io/s/g8-vue-tree-demo-pwj45?file=/src/App.vue)
8+
79
## Performance Consideration
810

911
The DOM structure of this component doesn't change once rendered. Comparing to others using `v-if`, which generate sub-nodes while expanded. While working on long list of items, lags will be obvious.

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
"eslint-plugin-promise": "^4.2.1",
6666
"eslint-plugin-standard": "^4.0.0",
6767
"eslint-plugin-vue": "^6.1.2",
68-
"geckodriver": "latest",
6968
"husky": "^4.2.5",
7069
"prettier": "2.0.4",
7170
"pretty-data": "^0.40.0",

src/components/G8VueTree.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
@click.stop.prevent="setState(!checked)"
2323
:class="{
2424
'g8-tree__checker--checked': checked,
25-
'g8-tree__checker--checked--intermediate': intermediate,
25+
'g8-tree__checker--intermediate': intermediate,
2626
}"
2727
></span>
2828
<span class="g8-tree__node__entry__label">

src/components/tree-view.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,9 @@ $g8-tree__bg--highlight--secondary--inverse: lighten(
7070
}
7171
}
7272

73-
.g8-tree__checker--checked--intermediate:after {
73+
.g8-tree__checker--intermediate:after {
7474
content: '\220E';
75+
visibility: visible;
7576
margin-left: -0.05em;
7677
}
7778

tests/e2e/custom-assertions/checkerIntermediate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ exports.assertion = function (selector, msg) {
5656
* @return {Boolean}
5757
*/
5858
this.evaluate = function (value) {
59-
return /.*\bg8-tree__checker--checked--intermediate\b.*/.test(value);
59+
return /.*\bg8-tree__checker--intermediate\b.*/.test(value);
6060
};
6161

6262
/**

tests/unit/G8TreeView-interactions.spec.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ describe('Tree View interactions', () => {
106106
checkers.at(1).trigger('click');
107107
await wrapper.vm.$nextTick();
108108
expect(wrapper.find('.g8-tree__checker').classes()).toContain(
109-
'g8-tree__checker--checked--intermediate',
109+
'g8-tree__checker--intermediate',
110110
);
111111
});
112112

@@ -121,7 +121,7 @@ describe('Tree View interactions', () => {
121121
checkers.at(1).trigger('click');
122122
await wrapper.vm.$nextTick();
123123
expect(wrapper.find('.g8-tree__checker').classes()).toContain(
124-
'g8-tree__checker--checked--intermediate',
124+
'g8-tree__checker--intermediate',
125125
);
126126
expect(wrapper.findAll('.g8-tree__checker--checked').length).toBe(2);
127127
});
@@ -140,26 +140,20 @@ describe('Tree View interactions', () => {
140140
// check last node = set root & 2nd branch to intermediate
141141
checkers.at(checkers.length - 1).trigger('click');
142142
await wrapper.vm.$nextTick();
143-
expect(
144-
wrapper.findAll('.g8-tree__checker--checked--intermediate').length,
145-
).toBe(2);
143+
expect(wrapper.findAll('.g8-tree__checker--intermediate').length).toBe(2);
146144
// check root node = check all
147145
checkers.at(0).trigger('click');
148146
await wrapper.vm.$nextTick();
149147
expect(wrapper.findAll('.g8-tree__checker--checked').length).toBe(5);
150148
// uncheck last node = set root & 2nd branch to intermediate
151149
checkers.at(checkers.length - 1).trigger('click');
152150
await wrapper.vm.$nextTick();
153-
expect(
154-
wrapper.findAll('.g8-tree__checker--checked--intermediate').length,
155-
).toBe(2);
151+
expect(wrapper.findAll('.g8-tree__checker--intermediate').length).toBe(2);
156152
expect(wrapper.findAll('.g8-tree__checker--checked').length).toBe(4);
157153
// uncheck 2nd last node = set root & 2nd branch to intermediate
158154
checkers.at(checkers.length - 2).trigger('click');
159155
await wrapper.vm.$nextTick();
160-
expect(
161-
wrapper.findAll('.g8-tree__checker--checked--intermediate').length,
162-
).toBe(1);
156+
expect(wrapper.findAll('.g8-tree__checker--intermediate').length).toBe(1);
163157
expect(wrapper.findAll('.g8-tree__checker--checked').length).toBe(2);
164158
});
165159
});

0 commit comments

Comments
 (0)