@nuralyui/table 0.0.3 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.js +1497 -0
- package/package.json +16 -2
- package/react.js +1 -1
- package/react.js.map +1 -1
- package/table.component.d.ts +85 -12
- package/table.component.js +229 -136
- package/table.component.js.map +1 -1
- package/table.style.js +253 -2
- package/table.style.js.map +1 -1
- package/table.types.d.ts +22 -4
- package/table.types.js +0 -23
- package/table.types.js.map +1 -1
- package/components/hy-table-actions.d.ts +0 -10
- package/components/hy-table-actions.d.ts.map +0 -1
- package/components/hy-table-actions.js +0 -39
- package/components/hy-table-actions.js.map +0 -1
- package/components/hy-table-content.d.ts +0 -25
- package/components/hy-table-content.d.ts.map +0 -1
- package/components/hy-table-content.js +0 -168
- package/components/hy-table-content.js.map +0 -1
- package/components/hy-table-filter.d.ts +0 -11
- package/components/hy-table-filter.d.ts.map +0 -1
- package/components/hy-table-filter.js +0 -59
- package/components/hy-table-filter.js.map +0 -1
- package/components/hy-table-pagination.d.ts +0 -21
- package/components/hy-table-pagination.d.ts.map +0 -1
- package/components/hy-table-pagination.js +0 -111
- package/components/hy-table-pagination.js.map +0 -1
- package/components/table-actions.style.d.ts +0 -2
- package/components/table-actions.style.d.ts.map +0 -1
- package/components/table-actions.style.js +0 -31
- package/components/table-actions.style.js.map +0 -1
- package/components/table-actions.variables.d.ts +0 -2
- package/components/table-actions.variables.d.ts.map +0 -1
- package/components/table-actions.variables.js +0 -13
- package/components/table-actions.variables.js.map +0 -1
- package/components/table-content.style.d.ts +0 -2
- package/components/table-content.style.d.ts.map +0 -1
- package/components/table-content.style.js +0 -77
- package/components/table-content.style.js.map +0 -1
- package/components/table-content.variables.d.ts +0 -2
- package/components/table-content.variables.d.ts.map +0 -1
- package/components/table-content.variables.js +0 -29
- package/components/table-content.variables.js.map +0 -1
- package/components/table-filter.style.d.ts +0 -2
- package/components/table-filter.style.d.ts.map +0 -1
- package/components/table-filter.style.js +0 -39
- package/components/table-filter.style.js.map +0 -1
- package/components/table-filter.variables.d.ts +0 -2
- package/components/table-filter.variables.d.ts.map +0 -1
- package/components/table-filter.variables.js +0 -17
- package/components/table-filter.variables.js.map +0 -1
- package/components/table-pagination.style.d.ts +0 -2
- package/components/table-pagination.style.d.ts.map +0 -1
- package/components/table-pagination.style.js +0 -102
- package/components/table-pagination.style.js.map +0 -1
- package/components/table-pagination.variables.d.ts +0 -2
- package/components/table-pagination.variables.d.ts.map +0 -1
- package/components/table-pagination.variables.js +0 -17
- package/components/table-pagination.variables.js.map +0 -1
- package/demo/table-demo.d.ts +0 -17
- package/demo/table-demo.d.ts.map +0 -1
- package/demo/table-demo.js +0 -166
- package/demo/table-demo.js.map +0 -1
- package/index.d.ts.map +0 -1
- package/react.d.ts.map +0 -1
- package/table.component.d.ts.map +0 -1
- package/table.style.d.ts.map +0 -1
- package/table.types.d.ts.map +0 -1
- package/test/hy-table-actions_test.d.ts +0 -2
- package/test/hy-table-actions_test.d.ts.map +0 -1
- package/test/hy-table-actions_test.js +0 -32
- package/test/hy-table-actions_test.js.map +0 -1
- package/test/hy-table-content_test.d.ts +0 -2
- package/test/hy-table-content_test.d.ts.map +0 -1
- package/test/hy-table-content_test.js +0 -168
- package/test/hy-table-content_test.js.map +0 -1
- package/test/hy-table-filter_test.d.ts +0 -2
- package/test/hy-table-filter_test.d.ts.map +0 -1
- package/test/hy-table-filter_test.js +0 -80
- package/test/hy-table-filter_test.js.map +0 -1
- package/test/hy-table-pagination_test.d.ts +0 -2
- package/test/hy-table-pagination_test.d.ts.map +0 -1
- package/test/hy-table-pagination_test.js +0 -114
- package/test/hy-table-pagination_test.js.map +0 -1
- package/test/hy-table_test.d.ts +0 -2
- package/test/hy-table_test.d.ts.map +0 -1
- package/test/hy-table_test.js +0 -145
- package/test/hy-table_test.js.map +0 -1
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { html, fixture, expect } from '@open-wc/testing';
|
|
11
|
-
import '../components/hy-table-content';
|
|
12
|
-
import { SelectionMode, SortOrder } from '../table.types';
|
|
13
|
-
suite('HyTableContent', () => {
|
|
14
|
-
const headers = [
|
|
15
|
-
{ key: 'name', name: 'Name' },
|
|
16
|
-
{ key: 'age', name: 'Age' },
|
|
17
|
-
];
|
|
18
|
-
const rows = [
|
|
19
|
-
{ name: 'John', age: 30 },
|
|
20
|
-
{ name: 'Doe', age: 25 },
|
|
21
|
-
];
|
|
22
|
-
test('init table content', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
-
const el = yield fixture(html `<hy-table-content
|
|
24
|
-
.headers=${headers}
|
|
25
|
-
.rows=${rows}
|
|
26
|
-
.sortAttribute=${{ index: -1, order: SortOrder.Default }}
|
|
27
|
-
></hy-table-content>`);
|
|
28
|
-
const headerElements = el.shadowRoot.querySelectorAll('th span');
|
|
29
|
-
expect(headerElements.length).to.equal(headers.length);
|
|
30
|
-
}));
|
|
31
|
-
test('Specify selected items', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
-
const selectedItems = [true, false];
|
|
33
|
-
const currentPage = 1;
|
|
34
|
-
const itemPerPage = 2;
|
|
35
|
-
const el = yield fixture(html `<hy-table-content
|
|
36
|
-
.headers=${headers}
|
|
37
|
-
.rows=${rows}
|
|
38
|
-
.selectionMode=${SelectionMode.Multiple}
|
|
39
|
-
.selectedItems=${selectedItems}
|
|
40
|
-
.currentPage=${currentPage}
|
|
41
|
-
.itemPerPage=${itemPerPage}
|
|
42
|
-
.sortAttribute=${{ index: -1, order: SortOrder.Default }}
|
|
43
|
-
></hy-table-content>`);
|
|
44
|
-
const checkboxes = el.shadowRoot.querySelectorAll('input[type="checkbox"]');
|
|
45
|
-
expect(checkboxes.length).to.equal(3);
|
|
46
|
-
expect(checkboxes[1].checked).to.be.true;
|
|
47
|
-
expect(checkboxes[2].checked).to.be.false;
|
|
48
|
-
}));
|
|
49
|
-
test('expand row attribute on click', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
-
const headers = [
|
|
51
|
-
{ key: 'name', name: 'Name' },
|
|
52
|
-
{ key: 'age', name: 'Age' },
|
|
53
|
-
{ key: 'details', name: 'Details' },
|
|
54
|
-
];
|
|
55
|
-
const rows = [
|
|
56
|
-
{ name: 'John', age: 30, details: 'John details' },
|
|
57
|
-
{ name: 'Doe', age: 25, details: 'Doe details' },
|
|
58
|
-
];
|
|
59
|
-
const el = yield fixture(html `<hy-table-content
|
|
60
|
-
.headers=${headers}
|
|
61
|
-
.rows=${rows}
|
|
62
|
-
expandable="details"
|
|
63
|
-
.sortAttribute=${{ index: -1, order: SortOrder.Default }}
|
|
64
|
-
></hy-table-content>`);
|
|
65
|
-
const expandIcons = el.shadowRoot.querySelectorAll('.expand-icon');
|
|
66
|
-
expect(expandIcons.length).to.equal(rows.length);
|
|
67
|
-
expect(el.expand[0]).to.be.false;
|
|
68
|
-
expect(el.expand[1]).to.be.false;
|
|
69
|
-
expandIcons[0].click();
|
|
70
|
-
expect(el.expand[0]).to.be.true;
|
|
71
|
-
expect(el.expand[1]).to.be.false;
|
|
72
|
-
}));
|
|
73
|
-
test('dispatch check-all element event', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
74
|
-
const el = yield fixture(html `<hy-table-content
|
|
75
|
-
.headers=${headers}
|
|
76
|
-
.rows=${rows}
|
|
77
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Ascending }}
|
|
78
|
-
.selectionMode=${SelectionMode.Multiple}
|
|
79
|
-
></hy-table-content>`);
|
|
80
|
-
const globalCheckBox = el.shadowRoot.querySelectorAll('input[type="checkbox"]')[0];
|
|
81
|
-
let dispatchCheckAllItem = false;
|
|
82
|
-
el.addEventListener('check-all', () => {
|
|
83
|
-
dispatchCheckAllItem = true;
|
|
84
|
-
});
|
|
85
|
-
globalCheckBox.dispatchEvent(new Event('change'));
|
|
86
|
-
expect(dispatchCheckAllItem).to.be.true;
|
|
87
|
-
}));
|
|
88
|
-
test('dispatch check one item event', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
89
|
-
const el = yield fixture(html `<hy-table-content
|
|
90
|
-
.headers=${headers}
|
|
91
|
-
.rows=${rows}
|
|
92
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Ascending }}
|
|
93
|
-
.selectionMode=${SelectionMode.Multiple}
|
|
94
|
-
></hy-table-content>`);
|
|
95
|
-
const firstItemCheckBox = el.shadowRoot.querySelectorAll('input[type="checkbox"]')[1];
|
|
96
|
-
let dispatchCheckItem = false;
|
|
97
|
-
el.addEventListener('check-one', () => {
|
|
98
|
-
dispatchCheckItem = true;
|
|
99
|
-
});
|
|
100
|
-
firstItemCheckBox.dispatchEvent(new Event('change'));
|
|
101
|
-
expect(dispatchCheckItem).to.be.true;
|
|
102
|
-
}));
|
|
103
|
-
test('dispatch select one event ', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
104
|
-
const el = yield fixture(html `<hy-table-content
|
|
105
|
-
.headers=${headers}
|
|
106
|
-
.rows=${rows}
|
|
107
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Ascending }}
|
|
108
|
-
.selectionMode=${SelectionMode.Single}
|
|
109
|
-
></hy-table-content>`);
|
|
110
|
-
const firstItemRadio = el.shadowRoot.querySelector('input[type="radio"]');
|
|
111
|
-
let dispatchSelectItem = false;
|
|
112
|
-
el.addEventListener('select-one', () => {
|
|
113
|
-
dispatchSelectItem = true;
|
|
114
|
-
});
|
|
115
|
-
firstItemRadio.dispatchEvent(new Event('change'));
|
|
116
|
-
expect(dispatchSelectItem).to.be.true;
|
|
117
|
-
}));
|
|
118
|
-
test('dispatch update sort order event', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
-
var _a;
|
|
120
|
-
const el = yield fixture(html `<hy-table-content
|
|
121
|
-
.headers=${headers}
|
|
122
|
-
.rows=${rows}
|
|
123
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Ascending }}
|
|
124
|
-
></hy-table-content>`);
|
|
125
|
-
const th = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th');
|
|
126
|
-
let dispatchUpdateSortOrder = false;
|
|
127
|
-
el.addEventListener('update-sort', () => {
|
|
128
|
-
dispatchUpdateSortOrder = true;
|
|
129
|
-
});
|
|
130
|
-
expect(dispatchUpdateSortOrder).to.be.false;
|
|
131
|
-
th === null || th === void 0 ? void 0 : th.click();
|
|
132
|
-
yield el.updateComplete;
|
|
133
|
-
expect(dispatchUpdateSortOrder).to.be.true;
|
|
134
|
-
}));
|
|
135
|
-
suite('display sorting icon', () => {
|
|
136
|
-
test('ascending icon', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
-
const el = yield fixture(html `<hy-table-content
|
|
138
|
-
.headers=${headers}
|
|
139
|
-
.rows=${rows}
|
|
140
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Ascending }}
|
|
141
|
-
></hy-table-content>`);
|
|
142
|
-
const sortIcon = el.shadowRoot.querySelector('th span hy-icon');
|
|
143
|
-
expect(sortIcon).to.exist;
|
|
144
|
-
expect(sortIcon).to.have.attribute('name', 'long-arrow-up');
|
|
145
|
-
}));
|
|
146
|
-
test('descending icon', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
147
|
-
const el = yield fixture(html `<hy-table-content
|
|
148
|
-
.headers=${headers}
|
|
149
|
-
.rows=${rows}
|
|
150
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Descending }}
|
|
151
|
-
></hy-table-content>`);
|
|
152
|
-
const sortIcon = el.shadowRoot.querySelector('th span hy-icon');
|
|
153
|
-
expect(sortIcon).to.exist;
|
|
154
|
-
expect(sortIcon).to.have.attribute('name', 'long-arrow-down');
|
|
155
|
-
}));
|
|
156
|
-
test('default icon', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
157
|
-
const el = yield fixture(html `<hy-table-content
|
|
158
|
-
.headers=${headers}
|
|
159
|
-
.rows=${rows}
|
|
160
|
-
.sortAttribute=${{ index: 0, order: SortOrder.Default }}
|
|
161
|
-
></hy-table-content>`);
|
|
162
|
-
const sortIcon = el.shadowRoot.querySelector('th span hy-icon');
|
|
163
|
-
expect(sortIcon).to.exist;
|
|
164
|
-
expect(sortIcon).to.have.attribute('name', 'arrows-v');
|
|
165
|
-
}));
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
//# sourceMappingURL=hy-table-content_test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table-content_test.js","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table-content_test.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, fixture, expect} from '@open-wc/testing';\nimport '../components/hy-table-content';\nimport {HyTableContent} from '../components/hy-table-content';\nimport {SelectionMode, SortOrder} from '../table.types';\n\nsuite('HyTableContent', () => {\n const headers = [\n {key: 'name', name: 'Name'},\n {key: 'age', name: 'Age'},\n ];\n const rows = [\n {name: 'John', age: 30},\n {name: 'Doe', age: 25},\n ];\n test('init table content', async () => {\n const el: HyTableContent = await fixture(\n html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: -1, order: SortOrder.Default}}\n ></hy-table-content>`\n );\n\n const headerElements = el.shadowRoot!.querySelectorAll('th span');\n expect(headerElements.length).to.equal(headers.length);\n });\n\n test('Specify selected items', async () => {\n const selectedItems = [true, false];\n const currentPage = 1;\n const itemPerPage = 2;\n\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .selectionMode=${SelectionMode.Multiple}\n .selectedItems=${selectedItems}\n .currentPage=${currentPage}\n .itemPerPage=${itemPerPage}\n .sortAttribute=${{index: -1, order: SortOrder.Default}}\n ></hy-table-content>`);\n\n const checkboxes: NodeListOf<HTMLInputElement> = el.shadowRoot!.querySelectorAll('input[type=\"checkbox\"]');\n expect(checkboxes.length).to.equal(3);\n expect(checkboxes[1].checked).to.be.true;\n expect(checkboxes[2].checked).to.be.false;\n });\n\n test('expand row attribute on click', async () => {\n const headers = [\n {key: 'name', name: 'Name'},\n {key: 'age', name: 'Age'},\n {key: 'details', name: 'Details'},\n ];\n const rows = [\n {name: 'John', age: 30, details: 'John details'},\n {name: 'Doe', age: 25, details: 'Doe details'},\n ];\n\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n expandable=\"details\"\n .sortAttribute=${{index: -1, order: SortOrder.Default}}\n ></hy-table-content>`);\n\n const expandIcons: NodeListOf<HTMLElement> = el.shadowRoot!.querySelectorAll('.expand-icon');\n expect(expandIcons.length).to.equal(rows.length);\n\n expect(el.expand[0]).to.be.false;\n expect(el.expand[1]).to.be.false;\n expandIcons[0].click();\n expect(el.expand[0]).to.be.true;\n expect(el.expand[1]).to.be.false;\n });\n\n test('dispatch check-all element event', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Ascending}}\n .selectionMode=${SelectionMode.Multiple}\n ></hy-table-content>`);\n const globalCheckBox: Element = el.shadowRoot!.querySelectorAll('input[type=\"checkbox\"]')[0];\n let dispatchCheckAllItem = false;\n el.addEventListener('check-all', () => {\n dispatchCheckAllItem = true;\n });\n globalCheckBox.dispatchEvent(new Event('change'));\n expect(dispatchCheckAllItem).to.be.true;\n });\n test('dispatch check one item event', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Ascending}}\n .selectionMode=${SelectionMode.Multiple}\n ></hy-table-content>`);\n const firstItemCheckBox: Element = el.shadowRoot!.querySelectorAll('input[type=\"checkbox\"]')[1];\n let dispatchCheckItem = false;\n el.addEventListener('check-one', () => {\n dispatchCheckItem = true;\n });\n firstItemCheckBox.dispatchEvent(new Event('change'));\n expect(dispatchCheckItem).to.be.true;\n });\n test('dispatch select one event ', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Ascending}}\n .selectionMode=${SelectionMode.Single}\n ></hy-table-content>`);\n const firstItemRadio: Element = el.shadowRoot!.querySelector('input[type=\"radio\"]')!;\n let dispatchSelectItem = false;\n el.addEventListener('select-one', () => {\n dispatchSelectItem = true;\n });\n firstItemRadio.dispatchEvent(new Event('change'));\n expect(dispatchSelectItem).to.be.true;\n });\n\n test('dispatch update sort order event', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Ascending}}\n ></hy-table-content>`);\n const th = el.shadowRoot?.querySelector('th');\n let dispatchUpdateSortOrder = false;\n el.addEventListener('update-sort', () => {\n dispatchUpdateSortOrder = true;\n });\n expect(dispatchUpdateSortOrder).to.be.false;\n th?.click();\n await el.updateComplete;\n expect(dispatchUpdateSortOrder).to.be.true;\n });\n suite('display sorting icon', () => {\n test('ascending icon', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Ascending}}\n ></hy-table-content>`);\n const sortIcon = el.shadowRoot!.querySelector('th span hy-icon')!;\n expect(sortIcon).to.exist;\n expect(sortIcon).to.have.attribute('name', 'long-arrow-up');\n });\n test('descending icon', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Descending}}\n ></hy-table-content>`);\n const sortIcon = el.shadowRoot!.querySelector('th span hy-icon')!;\n expect(sortIcon).to.exist;\n expect(sortIcon).to.have.attribute('name', 'long-arrow-down');\n });\n test('default icon', async () => {\n const el: HyTableContent = await fixture(html`<hy-table-content\n .headers=${headers}\n .rows=${rows}\n .sortAttribute=${{index: 0, order: SortOrder.Default}}\n ></hy-table-content>`);\n const sortIcon = el.shadowRoot!.querySelector('th span hy-icon')!;\n expect(sortIcon).to.exist;\n expect(sortIcon).to.have.attribute('name', 'arrows-v');\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table-filter_test.d.ts","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table-filter_test.ts"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import '../components/hy-table-filter';
|
|
11
|
-
import { fixture, html, expect } from '@open-wc/testing';
|
|
12
|
-
suite('HyTableFilterComponent', () => {
|
|
13
|
-
test('init input filter', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
var _a;
|
|
15
|
-
const el = yield fixture(html `<hy-table-filter></hy-table-filter>`);
|
|
16
|
-
const input = el.shadowRoot.querySelector('input');
|
|
17
|
-
const iconContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.icon-container');
|
|
18
|
-
expect(el.showInput).to.be.false;
|
|
19
|
-
expect(el.value).to.be.empty;
|
|
20
|
-
expect(input).to.not.exist;
|
|
21
|
-
expect(iconContainer).to.exist;
|
|
22
|
-
}));
|
|
23
|
-
test('show input filter and hide icon on click icon', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
const el = yield fixture(html `<hy-table-filter></hy-table-filter>`);
|
|
25
|
-
let input = el.shadowRoot.querySelector('input');
|
|
26
|
-
let iconContainer = el.shadowRoot.querySelector('.icon-container');
|
|
27
|
-
expect(el.showInput).to.be.false;
|
|
28
|
-
expect(input).to.not.exist;
|
|
29
|
-
expect(iconContainer).to.exist;
|
|
30
|
-
iconContainer.click();
|
|
31
|
-
yield el.updateComplete;
|
|
32
|
-
input = el.shadowRoot.querySelector('input');
|
|
33
|
-
iconContainer = el.shadowRoot.querySelector('.icon-container');
|
|
34
|
-
expect(el.showInput).to.be.true;
|
|
35
|
-
expect(input).to.exist;
|
|
36
|
-
expect(iconContainer).to.not.exist;
|
|
37
|
-
}));
|
|
38
|
-
test('dispatch value change', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
-
const el = yield fixture(html `<hy-table-filter .showInput=${true}></hy-table-filter>`);
|
|
40
|
-
const input = el.shadowRoot.querySelector('input');
|
|
41
|
-
let valueChangeDispatched = false;
|
|
42
|
-
el.addEventListener('value-change', () => {
|
|
43
|
-
valueChangeDispatched = true;
|
|
44
|
-
});
|
|
45
|
-
input.dispatchEvent(new Event('input'));
|
|
46
|
-
expect(valueChangeDispatched).to.be.true;
|
|
47
|
-
}));
|
|
48
|
-
suite('on blur input', () => {
|
|
49
|
-
test('show icon and hide input when input is empty', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
-
const el = yield fixture(html `<hy-table-filter .showInput=${true}></hy-table-filter>`);
|
|
51
|
-
const iconContainer = el.shadowRoot.querySelector('.icon-container');
|
|
52
|
-
let input = el.shadowRoot.querySelector('input');
|
|
53
|
-
expect(el.showInput).to.be.true;
|
|
54
|
-
expect(input).to.exist;
|
|
55
|
-
expect(iconContainer).to.not.exist;
|
|
56
|
-
input.blur();
|
|
57
|
-
yield el.updateComplete;
|
|
58
|
-
input = el.shadowRoot.querySelector('input');
|
|
59
|
-
expect(el.showInput).to.be.false;
|
|
60
|
-
expect(input).to.not.exist;
|
|
61
|
-
}));
|
|
62
|
-
test('expose input and hide icon when input is filled', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
const el = yield fixture(html `<hy-table-filter .showInput=${true}></hy-table-filter>`);
|
|
64
|
-
const iconContainer = el.shadowRoot.querySelector('.icon-container');
|
|
65
|
-
let input = el.shadowRoot.querySelector('input');
|
|
66
|
-
expect(input).to.exist;
|
|
67
|
-
expect(iconContainer).to.not.exist;
|
|
68
|
-
input.value = 'hey';
|
|
69
|
-
input.dispatchEvent(new Event('input'));
|
|
70
|
-
yield el.updateComplete;
|
|
71
|
-
input.blur();
|
|
72
|
-
yield el.updateComplete;
|
|
73
|
-
input = el.shadowRoot.querySelector('input');
|
|
74
|
-
expect(el.showInput).to.be.true;
|
|
75
|
-
expect(input).to.exist;
|
|
76
|
-
expect(iconContainer).to.not.exist;
|
|
77
|
-
}));
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
//# sourceMappingURL=hy-table-filter_test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table-filter_test.js","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table-filter_test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../components/hy-table-filter';\nimport {HyTableFilter} from '../components/hy-table-filter';\nimport {fixture, html, expect} from '@open-wc/testing';\nsuite('HyTableFilterComponent', () => {\n test('init input filter', async () => {\n const el: HyTableFilter = await fixture(html`<hy-table-filter></hy-table-filter>`);\n const input: HTMLInputElement = el.shadowRoot!.querySelector('input')!;\n const iconContainer = el.shadowRoot?.querySelector('.icon-container');\n expect(el.showInput).to.be.false;\n expect(el.value).to.be.empty;\n expect(input).to.not.exist;\n expect(iconContainer).to.exist;\n });\n\n test('show input filter and hide icon on click icon', async () => {\n const el: HyTableFilter = await fixture(html`<hy-table-filter></hy-table-filter>`);\n let input: HTMLInputElement = el.shadowRoot!.querySelector('input')!;\n let iconContainer: HTMLElement = el.shadowRoot!.querySelector('.icon-container')!;\n expect(el.showInput).to.be.false;\n expect(input).to.not.exist;\n expect(iconContainer).to.exist;\n iconContainer.click();\n await el.updateComplete;\n input = el.shadowRoot!.querySelector('input')!;\n iconContainer = el.shadowRoot!.querySelector('.icon-container')!;\n expect(el.showInput).to.be.true;\n expect(input).to.exist;\n expect(iconContainer).to.not.exist;\n });\n test('dispatch value change', async () => {\n const el: HyTableFilter = await fixture(html`<hy-table-filter .showInput=${true}></hy-table-filter>`);\n const input: HTMLInputElement = el.shadowRoot!.querySelector('input')!;\n\n let valueChangeDispatched = false;\n el.addEventListener('value-change', () => {\n valueChangeDispatched = true;\n });\n input.dispatchEvent(new Event('input'));\n expect(valueChangeDispatched).to.be.true;\n });\n\n suite('on blur input', () => {\n test('show icon and hide input when input is empty', async () => {\n const el: HyTableFilter = await fixture(html`<hy-table-filter .showInput=${true}></hy-table-filter>`);\n const iconContainer: HTMLElement = el.shadowRoot!.querySelector('.icon-container')!;\n let input: HTMLInputElement = el.shadowRoot!.querySelector('input')!;\n expect(el.showInput).to.be.true;\n expect(input).to.exist;\n expect(iconContainer).to.not.exist;\n input.blur();\n await el.updateComplete;\n input = el.shadowRoot!.querySelector('input')!;\n expect(el.showInput).to.be.false;\n expect(input).to.not.exist;\n });\n test('expose input and hide icon when input is filled', async () => {\n const el: HyTableFilter = await fixture(html`<hy-table-filter .showInput=${true}></hy-table-filter>`);\n const iconContainer: HTMLElement = el.shadowRoot!.querySelector('.icon-container')!;\n let input: HTMLInputElement = el.shadowRoot!.querySelector('input')!;\n expect(input).to.exist;\n expect(iconContainer).to.not.exist;\n input.value = 'hey';\n input.dispatchEvent(new Event('input'));\n await el.updateComplete;\n input.blur();\n await el.updateComplete;\n input = el.shadowRoot!.querySelector('input')!;\n expect(el.showInput).to.be.true;\n expect(input).to.exist;\n expect(iconContainer).to.not.exist;\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table-pagination_test.d.ts","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table-pagination_test.ts"],"names":[],"mappings":"AACA,OAAO,mCAAmC,CAAC"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { html, fixture, expect } from '@open-wc/testing';
|
|
11
|
-
import '../components/hy-table-pagination';
|
|
12
|
-
import { Sizes } from '../table.types';
|
|
13
|
-
suite('HyTablePagination', () => {
|
|
14
|
-
test('init pagination', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
const numberOfItems = 100;
|
|
16
|
-
const itemPerPage = [5, 10, 15];
|
|
17
|
-
const selectedItemPerPage = itemPerPage[0];
|
|
18
|
-
const currentPage = 1;
|
|
19
|
-
const size = Sizes.Normal;
|
|
20
|
-
const el = yield fixture(html `<hy-table-pagination
|
|
21
|
-
.numberOfItems=${numberOfItems}
|
|
22
|
-
.itemPerPage=${itemPerPage}
|
|
23
|
-
.selectedItemPerPage=${selectedItemPerPage}
|
|
24
|
-
.currentPage=${currentPage}
|
|
25
|
-
.size=${size}
|
|
26
|
-
></hy-table-pagination>`);
|
|
27
|
-
expect(el.numberOfItems).to.equal(numberOfItems);
|
|
28
|
-
expect(el.itemPerPage).to.equal(itemPerPage);
|
|
29
|
-
expect(el.selectedItemPerPage).to.equal(selectedItemPerPage);
|
|
30
|
-
expect(el.currentPage).to.equal(currentPage);
|
|
31
|
-
expect(el.size).to.equal(size);
|
|
32
|
-
expect(el.numberOfPages).to.equal(20);
|
|
33
|
-
expect(el.fromItem).to.equal(1);
|
|
34
|
-
expect(el.toItem).to.equal(5);
|
|
35
|
-
expect(el.enablePrevious).to.be.false;
|
|
36
|
-
expect(el.enableNext).to.be.true;
|
|
37
|
-
}));
|
|
38
|
-
test('handles item per page change', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
-
const numberOfItems = 100;
|
|
40
|
-
const itemPerPage = [10, 20, 50];
|
|
41
|
-
const selectedItemPerPage = itemPerPage[0];
|
|
42
|
-
const currentPage = 1;
|
|
43
|
-
const el = yield fixture(html `<hy-table-pagination
|
|
44
|
-
.numberOfItems=${numberOfItems}
|
|
45
|
-
.itemPerPage=${itemPerPage}
|
|
46
|
-
.selectedItemPerPage=${selectedItemPerPage}
|
|
47
|
-
.currentPage=${currentPage}
|
|
48
|
-
></hy-table-pagination>`);
|
|
49
|
-
expect(el.fromItem).to.equal(1);
|
|
50
|
-
expect(el.toItem).to.equal(10);
|
|
51
|
-
expect(el.enablePrevious).to.be.false;
|
|
52
|
-
expect(el.enableNext).to.be.true;
|
|
53
|
-
expect(el.numberOfPages).to.equal(10);
|
|
54
|
-
const select = el.shadowRoot.querySelector('select');
|
|
55
|
-
select.value = '20';
|
|
56
|
-
select.dispatchEvent(new Event('change'));
|
|
57
|
-
yield el.updateComplete;
|
|
58
|
-
expect(el.selectedItemPerPage).to.equal(20);
|
|
59
|
-
expect(el.fromItem).to.equal(1);
|
|
60
|
-
expect(el.toItem).to.equal(20);
|
|
61
|
-
expect(el.enablePrevious).to.be.false;
|
|
62
|
-
expect(el.enableNext).to.be.true;
|
|
63
|
-
expect(el.numberOfPages).to.equal(5);
|
|
64
|
-
}));
|
|
65
|
-
test('handles next page action', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
-
const numberOfItems = 100;
|
|
67
|
-
const itemPerPage = [10, 20, 50];
|
|
68
|
-
const selectedItemPerPage = itemPerPage[0];
|
|
69
|
-
const currentPage = 1;
|
|
70
|
-
const el = yield fixture(html `<hy-table-pagination
|
|
71
|
-
.numberOfItems=${numberOfItems}
|
|
72
|
-
.itemPerPage=${itemPerPage}
|
|
73
|
-
.selectedItemPerPage=${selectedItemPerPage}
|
|
74
|
-
.currentPage=${currentPage}
|
|
75
|
-
></hy-table-pagination>`);
|
|
76
|
-
expect(el.currentPage).to.equal(1);
|
|
77
|
-
expect(el.fromItem).to.equal(1);
|
|
78
|
-
expect(el.toItem).to.equal(10);
|
|
79
|
-
expect(el.enablePrevious).to.be.false;
|
|
80
|
-
expect(el.enableNext).to.be.true;
|
|
81
|
-
el._nextPage();
|
|
82
|
-
yield el.updateComplete;
|
|
83
|
-
expect(el.currentPage).to.equal(2);
|
|
84
|
-
expect(el.fromItem).to.equal(11);
|
|
85
|
-
expect(el.toItem).to.equal(20);
|
|
86
|
-
expect(el.enablePrevious).to.be.true;
|
|
87
|
-
expect(el.enableNext).to.be.true;
|
|
88
|
-
}));
|
|
89
|
-
test('handles previous page action', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
-
const numberOfItems = 100;
|
|
91
|
-
const itemPerPage = [10, 20, 50];
|
|
92
|
-
const selectedItemPerPage = itemPerPage[0];
|
|
93
|
-
const currentPage = 10;
|
|
94
|
-
const el = yield fixture(html `<hy-table-pagination
|
|
95
|
-
.numberOfItems=${numberOfItems}
|
|
96
|
-
.itemPerPage=${itemPerPage}
|
|
97
|
-
.selectedItemPerPage=${selectedItemPerPage}
|
|
98
|
-
.currentPage=${currentPage}
|
|
99
|
-
></hy-table-pagination>`);
|
|
100
|
-
expect(el.currentPage).to.equal(10);
|
|
101
|
-
expect(el.fromItem).to.equal(91);
|
|
102
|
-
expect(el.toItem).to.equal(100);
|
|
103
|
-
expect(el.enablePrevious).to.be.true;
|
|
104
|
-
expect(el.enableNext).to.be.false;
|
|
105
|
-
el._previousPage();
|
|
106
|
-
yield el.updateComplete;
|
|
107
|
-
expect(el.currentPage).to.equal(9);
|
|
108
|
-
expect(el.fromItem).to.equal(81);
|
|
109
|
-
expect(el.toItem).to.equal(90);
|
|
110
|
-
expect(el.enablePrevious).to.be.true;
|
|
111
|
-
expect(el.enableNext).to.be.true;
|
|
112
|
-
}));
|
|
113
|
-
});
|
|
114
|
-
//# sourceMappingURL=hy-table-pagination_test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table-pagination_test.js","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table-pagination_test.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, fixture, expect} from '@open-wc/testing';\nimport '../components/hy-table-pagination';\nimport {HyTablePagination} from '../components/hy-table-pagination';\nimport {Sizes} from '../table.types';\n\nsuite('HyTablePagination', () => {\n test('init pagination', async () => {\n const numberOfItems = 100;\n const itemPerPage = [5, 10, 15];\n const selectedItemPerPage = itemPerPage[0];\n const currentPage = 1;\n const size = Sizes.Normal;\n const el: HyTablePagination = await fixture(\n html`<hy-table-pagination\n .numberOfItems=${numberOfItems}\n .itemPerPage=${itemPerPage}\n .selectedItemPerPage=${selectedItemPerPage}\n .currentPage=${currentPage}\n .size=${size}\n ></hy-table-pagination>`\n );\n expect(el.numberOfItems).to.equal(numberOfItems);\n expect(el.itemPerPage).to.equal(itemPerPage);\n expect(el.selectedItemPerPage).to.equal(selectedItemPerPage);\n expect(el.currentPage).to.equal(currentPage);\n expect(el.size).to.equal(size);\n expect(el.numberOfPages).to.equal(20);\n expect(el.fromItem).to.equal(1);\n expect(el.toItem).to.equal(5);\n expect(el.enablePrevious).to.be.false;\n expect(el.enableNext).to.be.true;\n });\n\n test('handles item per page change', async () => {\n const numberOfItems = 100;\n const itemPerPage = [10, 20, 50];\n const selectedItemPerPage = itemPerPage[0];\n const currentPage = 1;\n const el: HyTablePagination = await fixture(html`<hy-table-pagination\n .numberOfItems=${numberOfItems}\n .itemPerPage=${itemPerPage}\n .selectedItemPerPage=${selectedItemPerPage}\n .currentPage=${currentPage}\n ></hy-table-pagination>`);\n expect(el.fromItem).to.equal(1);\n expect(el.toItem).to.equal(10);\n expect(el.enablePrevious).to.be.false;\n expect(el.enableNext).to.be.true;\n expect(el.numberOfPages).to.equal(10);\n\n const select = el.shadowRoot!.querySelector('select')!;\n select.value = '20';\n select.dispatchEvent(new Event('change'));\n await el.updateComplete;\n expect(el.selectedItemPerPage).to.equal(20);\n expect(el.fromItem).to.equal(1);\n expect(el.toItem).to.equal(20);\n expect(el.enablePrevious).to.be.false;\n expect(el.enableNext).to.be.true;\n expect(el.numberOfPages).to.equal(5);\n });\n\n test('handles next page action', async () => {\n const numberOfItems = 100;\n const itemPerPage = [10, 20, 50];\n const selectedItemPerPage = itemPerPage[0];\n const currentPage = 1;\n const el: HyTablePagination = await fixture(html`<hy-table-pagination\n .numberOfItems=${numberOfItems}\n .itemPerPage=${itemPerPage}\n .selectedItemPerPage=${selectedItemPerPage}\n .currentPage=${currentPage}\n ></hy-table-pagination>`);\n expect(el.currentPage).to.equal(1);\n expect(el.fromItem).to.equal(1);\n expect(el.toItem).to.equal(10);\n expect(el.enablePrevious).to.be.false;\n expect(el.enableNext).to.be.true;\n\n el._nextPage();\n await el.updateComplete;\n expect(el.currentPage).to.equal(2);\n expect(el.fromItem).to.equal(11);\n expect(el.toItem).to.equal(20);\n expect(el.enablePrevious).to.be.true;\n expect(el.enableNext).to.be.true;\n });\n\n test('handles previous page action', async () => {\n const numberOfItems = 100;\n const itemPerPage = [10, 20, 50];\n const selectedItemPerPage = itemPerPage[0];\n const currentPage = 10;\n const el: HyTablePagination = await fixture(html`<hy-table-pagination\n .numberOfItems=${numberOfItems}\n .itemPerPage=${itemPerPage}\n .selectedItemPerPage=${selectedItemPerPage}\n .currentPage=${currentPage}\n ></hy-table-pagination>`);\n expect(el.currentPage).to.equal(10);\n expect(el.fromItem).to.equal(91);\n expect(el.toItem).to.equal(100);\n expect(el.enablePrevious).to.be.true;\n expect(el.enableNext).to.be.false;\n\n el._previousPage();\n await el.updateComplete;\n expect(el.currentPage).to.equal(9);\n expect(el.fromItem).to.equal(81);\n expect(el.toItem).to.equal(90);\n expect(el.enablePrevious).to.be.true;\n expect(el.enableNext).to.be.true;\n });\n});\n"]}
|
package/test/hy-table_test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table_test.d.ts","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table_test.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC"}
|
package/test/hy-table_test.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import '../table.component';
|
|
11
|
-
import { fixture, html, expect } from '@open-wc/testing';
|
|
12
|
-
import { SelectionMode, SortOrder } from '../table.types';
|
|
13
|
-
suite('HyTableComponent', () => {
|
|
14
|
-
const headers = [
|
|
15
|
-
{ key: 'name', name: 'Name' },
|
|
16
|
-
{ key: 'age', name: 'Age' },
|
|
17
|
-
];
|
|
18
|
-
const rows = [
|
|
19
|
-
{ name: 'John', age: 30 },
|
|
20
|
-
{ name: 'Doe', age: 55 },
|
|
21
|
-
{ name: 'Jack', age: 20 },
|
|
22
|
-
{ name: 'Phil', age: 35 },
|
|
23
|
-
{ name: 'Sebastian', age: 45 },
|
|
24
|
-
{ name: 'Thibaut', age: 44 },
|
|
25
|
-
];
|
|
26
|
-
test('init table', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows}></hy-table>`);
|
|
28
|
-
expect(el.rowsCopy).to.deep.equal(rows);
|
|
29
|
-
expect(el.displayedRows).to.deep.equal(el.rowsCopy.slice(0, el.selectedItemPerPage));
|
|
30
|
-
expect(el.currentPage).to.equal(1);
|
|
31
|
-
}));
|
|
32
|
-
test('sort data correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows}></hy-table>`);
|
|
34
|
-
const sortToNameEvent = new CustomEvent('', { detail: { index: 0 } });
|
|
35
|
-
const rowsAscToName = [
|
|
36
|
-
{ name: 'Doe', age: 55 },
|
|
37
|
-
{ name: 'Jack', age: 20 },
|
|
38
|
-
{ name: 'John', age: 30 },
|
|
39
|
-
{ name: 'Phil', age: 35 },
|
|
40
|
-
{ name: 'Sebastian', age: 45 },
|
|
41
|
-
{ name: 'Thibaut', age: 44 },
|
|
42
|
-
];
|
|
43
|
-
el._handleSortOrder(sortToNameEvent);
|
|
44
|
-
yield el.updateComplete;
|
|
45
|
-
expect(el.sortAttribute.order).to.equal(SortOrder.Ascending);
|
|
46
|
-
expect(el.rowsCopy).to.deep.equal(rowsAscToName);
|
|
47
|
-
const rowsDescToName = [
|
|
48
|
-
{ name: 'Thibaut', age: 44 },
|
|
49
|
-
{ name: 'Sebastian', age: 45 },
|
|
50
|
-
{ name: 'Phil', age: 35 },
|
|
51
|
-
{ name: 'John', age: 30 },
|
|
52
|
-
{ name: 'Jack', age: 20 },
|
|
53
|
-
{ name: 'Doe', age: 55 },
|
|
54
|
-
];
|
|
55
|
-
el._handleSortOrder(sortToNameEvent);
|
|
56
|
-
yield el.updateComplete;
|
|
57
|
-
expect(el.sortAttribute.order).to.equal(SortOrder.Descending);
|
|
58
|
-
expect(el.rowsCopy).to.deep.equal(rowsDescToName);
|
|
59
|
-
el._handleSortOrder(sortToNameEvent);
|
|
60
|
-
yield el.updateComplete;
|
|
61
|
-
expect(el.sortAttribute.order).to.equal(SortOrder.Default);
|
|
62
|
-
expect(el.rowsCopy).to.deep.equal(rows);
|
|
63
|
-
}));
|
|
64
|
-
suite('Multiple selection', () => {
|
|
65
|
-
const selectedItems = Array(rows.length).fill(false);
|
|
66
|
-
test('select one item', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows} .selectionMode=${SelectionMode.Multiple}></hy-table>`);
|
|
68
|
-
expect(el.selectedItems).to.deep.equal(selectedItems);
|
|
69
|
-
const selectFirstItemEvent = new CustomEvent('', { detail: { index: 1, value: true } });
|
|
70
|
-
el._handleCheckOne(selectFirstItemEvent);
|
|
71
|
-
yield el.updateComplete;
|
|
72
|
-
expect(el.selectedItems[1]).to.be.true;
|
|
73
|
-
const selectSecondItemEvent = new CustomEvent('', { detail: { index: 3, value: true } });
|
|
74
|
-
el._handleCheckOne(selectSecondItemEvent);
|
|
75
|
-
yield el.updateComplete;
|
|
76
|
-
expect(el.selectedItems[3]).to.be.true;
|
|
77
|
-
expect(el.selectedItems[1]).to.be.true;
|
|
78
|
-
}));
|
|
79
|
-
test('select all', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows} .selectionMode=${SelectionMode.Multiple}></hy-table>`);
|
|
81
|
-
expect(el.selectedItems).to.deep.equal(selectedItems);
|
|
82
|
-
const selectAllItemsEvent = new CustomEvent('', { detail: { isEveryItemChecked: false } });
|
|
83
|
-
el._handleCheckAll(selectAllItemsEvent);
|
|
84
|
-
yield el.updateComplete;
|
|
85
|
-
expect(el.selectedItems.every((v) => v)).to.be.true;
|
|
86
|
-
const unselectAllItemsEvent = new CustomEvent('', { detail: { isEveryItemChecked: true } });
|
|
87
|
-
el._handleCheckAll(unselectAllItemsEvent);
|
|
88
|
-
yield el.updateComplete;
|
|
89
|
-
expect(el.selectedItems.every((v) => !v)).to.be.true;
|
|
90
|
-
}));
|
|
91
|
-
});
|
|
92
|
-
suite('Single selection', () => {
|
|
93
|
-
const selectedItems = Array(rows.length).fill(false);
|
|
94
|
-
test('select one item', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows} .selectionMode=${SelectionMode.Multiple}></hy-table>`);
|
|
96
|
-
expect(el.selectedItems).to.deep.equal(selectedItems);
|
|
97
|
-
const selectFirstItemEvent = new CustomEvent('', { detail: { index: 0 } });
|
|
98
|
-
el._handleSelectOne(selectFirstItemEvent);
|
|
99
|
-
yield el.updateComplete;
|
|
100
|
-
expect(el.selectedItems[0]).to.be.true;
|
|
101
|
-
const selectSecondItemEvent = new CustomEvent('', { detail: { index: 3 } });
|
|
102
|
-
el._handleSelectOne(selectSecondItemEvent);
|
|
103
|
-
yield el.updateComplete;
|
|
104
|
-
expect(el.selectedItems[3]).to.be.true;
|
|
105
|
-
expect(el.selectedItems[0]).to.be.false;
|
|
106
|
-
}));
|
|
107
|
-
});
|
|
108
|
-
test('search items', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows}></hy-table>`);
|
|
110
|
-
const searchEvent = new CustomEvent('', { detail: { value: 'Joh' } });
|
|
111
|
-
el._handleSearch(searchEvent);
|
|
112
|
-
yield el.updateComplete;
|
|
113
|
-
expect(el.rowsCopy.length).to.equal(1);
|
|
114
|
-
expect(el.rowsCopy).to.deep.equal([{ name: 'John', age: 30 }]);
|
|
115
|
-
const initSearchEvent = new CustomEvent('', { detail: { value: '' } });
|
|
116
|
-
el._handleSearch(initSearchEvent);
|
|
117
|
-
yield el.updateComplete;
|
|
118
|
-
expect(el.rowsCopy).to.deep.equal(rows);
|
|
119
|
-
}));
|
|
120
|
-
test('update page', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
121
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows}></hy-table>`);
|
|
122
|
-
const updatePageEvent = new CustomEvent('', { detail: { page: 2 } });
|
|
123
|
-
el._handleUpdatePage(updatePageEvent);
|
|
124
|
-
yield el.updateComplete;
|
|
125
|
-
expect(el.currentPage).to.equal(2);
|
|
126
|
-
expect(el.displayedRows).to.deep.equal([{ name: 'Thibaut', age: 44 }]);
|
|
127
|
-
}));
|
|
128
|
-
test('update item per page', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
129
|
-
const el = yield fixture(html `<hy-table .headers=${headers} .rows=${rows}></hy-table>`);
|
|
130
|
-
const updateItemPerPageEvent = new CustomEvent('', { detail: { selectedItemPerPage: el.itemPerPage[1] } });
|
|
131
|
-
expect(el.displayedRows).to.deep.equal([
|
|
132
|
-
{ name: 'John', age: 30 },
|
|
133
|
-
{ name: 'Doe', age: 55 },
|
|
134
|
-
{ name: 'Jack', age: 20 },
|
|
135
|
-
{ name: 'Phil', age: 35 },
|
|
136
|
-
{ name: 'Sebastian', age: 45 },
|
|
137
|
-
]);
|
|
138
|
-
el._handleItemPerPage(updateItemPerPageEvent);
|
|
139
|
-
yield el.updateComplete;
|
|
140
|
-
expect(el.selectedItemPerPage).to.equal(el.itemPerPage[1]);
|
|
141
|
-
expect(el.currentPage).to.equal(1);
|
|
142
|
-
expect(el.displayedRows).to.deep.equal(rows);
|
|
143
|
-
}));
|
|
144
|
-
});
|
|
145
|
-
//# sourceMappingURL=hy-table_test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hy-table_test.js","sourceRoot":"","sources":["../../../../src/components/table/test/hy-table_test.ts"],"names":[],"mappings":"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","sourcesContent":["import '../table.component';\nimport {HyTable} from '../table.component';\nimport {fixture, html, expect} from '@open-wc/testing';\nimport {SelectionMode, SortOrder} from '../table.types';\nsuite('HyTableComponent', () => {\n const headers = [\n {key: 'name', name: 'Name'},\n {key: 'age', name: 'Age'},\n ];\n const rows = [\n {name: 'John', age: 30},\n {name: 'Doe', age: 55},\n {name: 'Jack', age: 20},\n {name: 'Phil', age: 35},\n {name: 'Sebastian', age: 45},\n {name: 'Thibaut', age: 44},\n ];\n test('init table', async () => {\n const el: HyTable = await fixture(html`<hy-table .headers=${headers} .rows=${rows}></hy-table>`);\n expect(el.rowsCopy).to.deep.equal(rows);\n expect(el.displayedRows).to.deep.equal(el.rowsCopy.slice(0, el.selectedItemPerPage));\n expect(el.currentPage).to.equal(1);\n });\n\n test('sort data correctly', async () => {\n const el: HyTable = await fixture(html`<hy-table .headers=${headers} .rows=${rows}></hy-table>`);\n const sortToNameEvent = new CustomEvent('', {detail: {index: 0}});\n const rowsAscToName = [\n {name: 'Doe', age: 55},\n {name: 'Jack', age: 20},\n {name: 'John', age: 30},\n {name: 'Phil', age: 35},\n {name: 'Sebastian', age: 45},\n {name: 'Thibaut', age: 44},\n ];\n el._handleSortOrder(sortToNameEvent);\n await el.updateComplete;\n expect(el.sortAttribute.order).to.equal(SortOrder.Ascending);\n expect(el.rowsCopy).to.deep.equal(rowsAscToName);\n const rowsDescToName = [\n {name: 'Thibaut', age: 44},\n {name: 'Sebastian', age: 45},\n {name: 'Phil', age: 35},\n {name: 'John', age: 30},\n {name: 'Jack', age: 20},\n {name: 'Doe', age: 55},\n ];\n el._handleSortOrder(sortToNameEvent);\n await el.updateComplete;\n expect(el.sortAttribute.order).to.equal(SortOrder.Descending);\n expect(el.rowsCopy).to.deep.equal(rowsDescToName);\n el._handleSortOrder(sortToNameEvent);\n await el.updateComplete;\n expect(el.sortAttribute.order).to.equal(SortOrder.Default);\n expect(el.rowsCopy).to.deep.equal(rows);\n });\n\n suite('Multiple selection', () => {\n const selectedItems = Array(rows.length).fill(false);\n test('select one item', async () => {\n const el: HyTable = await fixture(\n html`<hy-table .headers=${headers} .rows=${rows} .selectionMode=${SelectionMode.Multiple}></hy-table>`\n );\n expect(el.selectedItems).to.deep.equal(selectedItems);\n const selectFirstItemEvent = new CustomEvent('', {detail: {index: 1, value: true}});\n el._handleCheckOne(selectFirstItemEvent);\n await el.updateComplete;\n expect(el.selectedItems[1]).to.be.true;\n const selectSecondItemEvent = new CustomEvent('', {detail: {index: 3, value: true}});\n el._handleCheckOne(selectSecondItemEvent);\n await el.updateComplete;\n expect(el.selectedItems[3]).to.be.true;\n expect(el.selectedItems[1]).to.be.true;\n });\n test('select all', async () => {\n const el: HyTable = await fixture(\n html`<hy-table .headers=${headers} .rows=${rows} .selectionMode=${SelectionMode.Multiple}></hy-table>`\n );\n expect(el.selectedItems).to.deep.equal(selectedItems);\n const selectAllItemsEvent = new CustomEvent('', {detail: {isEveryItemChecked: false}});\n el._handleCheckAll(selectAllItemsEvent);\n await el.updateComplete;\n expect(el.selectedItems.every((v) => v)).to.be.true;\n const unselectAllItemsEvent = new CustomEvent('', {detail: {isEveryItemChecked: true}});\n el._handleCheckAll(unselectAllItemsEvent);\n await el.updateComplete;\n expect(el.selectedItems.every((v) => !v)).to.be.true;\n });\n });\n\n suite('Single selection', () => {\n const selectedItems = Array(rows.length).fill(false);\n\n test('select one item', async () => {\n const el: HyTable = await fixture(\n html`<hy-table .headers=${headers} .rows=${rows} .selectionMode=${SelectionMode.Multiple}></hy-table>`\n );\n expect(el.selectedItems).to.deep.equal(selectedItems);\n const selectFirstItemEvent = new CustomEvent('', {detail: {index: 0}});\n el._handleSelectOne(selectFirstItemEvent);\n await el.updateComplete;\n expect(el.selectedItems[0]).to.be.true;\n const selectSecondItemEvent = new CustomEvent('', {detail: {index: 3}});\n el._handleSelectOne(selectSecondItemEvent);\n await el.updateComplete;\n expect(el.selectedItems[3]).to.be.true;\n expect(el.selectedItems[0]).to.be.false;\n });\n });\n\n test('search items', async () => {\n const el: HyTable = await fixture(html`<hy-table .headers=${headers} .rows=${rows}></hy-table>`);\n const searchEvent = new CustomEvent('', {detail: {value: 'Joh'}});\n el._handleSearch(searchEvent);\n await el.updateComplete;\n expect(el.rowsCopy.length).to.equal(1);\n expect(el.rowsCopy).to.deep.equal([{name: 'John', age: 30}]);\n const initSearchEvent = new CustomEvent('', {detail: {value: ''}});\n el._handleSearch(initSearchEvent);\n await el.updateComplete;\n expect(el.rowsCopy).to.deep.equal(rows);\n });\n\n test('update page', async () => {\n const el: HyTable = await fixture(html`<hy-table .headers=${headers} .rows=${rows}></hy-table>`);\n const updatePageEvent = new CustomEvent('', {detail: {page: 2}});\n el._handleUpdatePage(updatePageEvent);\n await el.updateComplete;\n expect(el.currentPage).to.equal(2);\n expect(el.displayedRows).to.deep.equal([{name: 'Thibaut', age: 44}]);\n });\n test('update item per page', async () => {\n const el: HyTable = await fixture(html`<hy-table .headers=${headers} .rows=${rows}></hy-table>`);\n const updateItemPerPageEvent = new CustomEvent('', {detail: {selectedItemPerPage: el.itemPerPage[1]}});\n expect(el.displayedRows).to.deep.equal([\n {name: 'John', age: 30},\n {name: 'Doe', age: 55},\n {name: 'Jack', age: 20},\n {name: 'Phil', age: 35},\n {name: 'Sebastian', age: 45},\n ]);\n el._handleItemPerPage(updateItemPerPageEvent);\n await el.updateComplete;\n expect(el.selectedItemPerPage).to.equal(el.itemPerPage[1]);\n expect(el.currentPage).to.equal(1);\n expect(el.displayedRows).to.deep.equal(rows);\n });\n});\n"]}
|