@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.
Files changed (89) hide show
  1. package/bundle.js +1497 -0
  2. package/package.json +16 -2
  3. package/react.js +1 -1
  4. package/react.js.map +1 -1
  5. package/table.component.d.ts +85 -12
  6. package/table.component.js +229 -136
  7. package/table.component.js.map +1 -1
  8. package/table.style.js +253 -2
  9. package/table.style.js.map +1 -1
  10. package/table.types.d.ts +22 -4
  11. package/table.types.js +0 -23
  12. package/table.types.js.map +1 -1
  13. package/components/hy-table-actions.d.ts +0 -10
  14. package/components/hy-table-actions.d.ts.map +0 -1
  15. package/components/hy-table-actions.js +0 -39
  16. package/components/hy-table-actions.js.map +0 -1
  17. package/components/hy-table-content.d.ts +0 -25
  18. package/components/hy-table-content.d.ts.map +0 -1
  19. package/components/hy-table-content.js +0 -168
  20. package/components/hy-table-content.js.map +0 -1
  21. package/components/hy-table-filter.d.ts +0 -11
  22. package/components/hy-table-filter.d.ts.map +0 -1
  23. package/components/hy-table-filter.js +0 -59
  24. package/components/hy-table-filter.js.map +0 -1
  25. package/components/hy-table-pagination.d.ts +0 -21
  26. package/components/hy-table-pagination.d.ts.map +0 -1
  27. package/components/hy-table-pagination.js +0 -111
  28. package/components/hy-table-pagination.js.map +0 -1
  29. package/components/table-actions.style.d.ts +0 -2
  30. package/components/table-actions.style.d.ts.map +0 -1
  31. package/components/table-actions.style.js +0 -31
  32. package/components/table-actions.style.js.map +0 -1
  33. package/components/table-actions.variables.d.ts +0 -2
  34. package/components/table-actions.variables.d.ts.map +0 -1
  35. package/components/table-actions.variables.js +0 -13
  36. package/components/table-actions.variables.js.map +0 -1
  37. package/components/table-content.style.d.ts +0 -2
  38. package/components/table-content.style.d.ts.map +0 -1
  39. package/components/table-content.style.js +0 -77
  40. package/components/table-content.style.js.map +0 -1
  41. package/components/table-content.variables.d.ts +0 -2
  42. package/components/table-content.variables.d.ts.map +0 -1
  43. package/components/table-content.variables.js +0 -29
  44. package/components/table-content.variables.js.map +0 -1
  45. package/components/table-filter.style.d.ts +0 -2
  46. package/components/table-filter.style.d.ts.map +0 -1
  47. package/components/table-filter.style.js +0 -39
  48. package/components/table-filter.style.js.map +0 -1
  49. package/components/table-filter.variables.d.ts +0 -2
  50. package/components/table-filter.variables.d.ts.map +0 -1
  51. package/components/table-filter.variables.js +0 -17
  52. package/components/table-filter.variables.js.map +0 -1
  53. package/components/table-pagination.style.d.ts +0 -2
  54. package/components/table-pagination.style.d.ts.map +0 -1
  55. package/components/table-pagination.style.js +0 -102
  56. package/components/table-pagination.style.js.map +0 -1
  57. package/components/table-pagination.variables.d.ts +0 -2
  58. package/components/table-pagination.variables.d.ts.map +0 -1
  59. package/components/table-pagination.variables.js +0 -17
  60. package/components/table-pagination.variables.js.map +0 -1
  61. package/demo/table-demo.d.ts +0 -17
  62. package/demo/table-demo.d.ts.map +0 -1
  63. package/demo/table-demo.js +0 -166
  64. package/demo/table-demo.js.map +0 -1
  65. package/index.d.ts.map +0 -1
  66. package/react.d.ts.map +0 -1
  67. package/table.component.d.ts.map +0 -1
  68. package/table.style.d.ts.map +0 -1
  69. package/table.types.d.ts.map +0 -1
  70. package/test/hy-table-actions_test.d.ts +0 -2
  71. package/test/hy-table-actions_test.d.ts.map +0 -1
  72. package/test/hy-table-actions_test.js +0 -32
  73. package/test/hy-table-actions_test.js.map +0 -1
  74. package/test/hy-table-content_test.d.ts +0 -2
  75. package/test/hy-table-content_test.d.ts.map +0 -1
  76. package/test/hy-table-content_test.js +0 -168
  77. package/test/hy-table-content_test.js.map +0 -1
  78. package/test/hy-table-filter_test.d.ts +0 -2
  79. package/test/hy-table-filter_test.d.ts.map +0 -1
  80. package/test/hy-table-filter_test.js +0 -80
  81. package/test/hy-table-filter_test.js.map +0 -1
  82. package/test/hy-table-pagination_test.d.ts +0 -2
  83. package/test/hy-table-pagination_test.d.ts.map +0 -1
  84. package/test/hy-table-pagination_test.js +0 -114
  85. package/test/hy-table-pagination_test.js.map +0 -1
  86. package/test/hy-table_test.d.ts +0 -2
  87. package/test/hy-table_test.d.ts.map +0 -1
  88. package/test/hy-table_test.js +0 -145
  89. 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":";;;;;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,gCAAgC,CAAC;AAExC,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAExD,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC3B,MAAM,OAAO,GAAG;QACd,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC;QAC3B,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;KAC1B,CAAC;IACF,MAAM,IAAI,GAAG;QACX,EAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAC;QACvB,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAC;KACvB,CAAC;IACF,IAAI,CAAC,oBAAoB,EAAE,GAAS,EAAE;QACpC,MAAM,EAAE,GAAmB,MAAM,OAAO,CACtC,IAAI,CAAA;mBACS,OAAO;gBACV,IAAI;yBACK,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAC;2BACnC,CACtB,CAAC;QAEF,MAAM,cAAc,GAAG,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,GAAS,EAAE;QACxC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,WAAW,GAAG,CAAC,CAAC;QAEtB,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;iBAChC,OAAO;cACV,IAAI;uBACK,aAAa,CAAC,QAAQ;uBACtB,aAAa;qBACf,WAAW;qBACX,WAAW;uBACT,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAC;yBACnC,CAAC,CAAC;QAEvB,MAAM,UAAU,GAAiC,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC3G,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC/C,MAAM,OAAO,GAAG;YACd,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC;YAC3B,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;YACzB,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC;SAClC,CAAC;QACF,MAAM,IAAI,GAAG;YACX,EAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAC;YAChD,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAC;SAC/C,CAAC;QAEF,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;iBAChC,OAAO;cACV,IAAI;;uBAEK,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAC;yBACnC,CAAC,CAAC;QAEvB,MAAM,WAAW,GAA4B,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACnC,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAClD,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;iBAChC,OAAO;cACV,IAAI;uBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAC;uBACtC,aAAa,CAAC,QAAQ;yBACpB,CAAC,CAAC;QACvB,MAAM,cAAc,GAAY,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YACpC,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC/C,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;iBAChC,OAAO;cACV,IAAI;uBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAC;uBACtC,aAAa,CAAC,QAAQ;yBACpB,CAAC,CAAC;QACvB,MAAM,iBAAiB,GAAY,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YACpC,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,iBAAiB,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACvC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC5C,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;iBAChC,OAAO;cACV,IAAI;uBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAC;uBACtC,aAAa,CAAC,MAAM;yBAClB,CAAC,CAAC;QACvB,MAAM,cAAc,GAAY,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,qBAAqB,CAAE,CAAC;QACrF,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YACrC,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAS,EAAE;;QAClD,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;iBAChC,OAAO;cACV,IAAI;uBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAC;yBACpC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE;YACtC,uBAAuB,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5C,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;IACH,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACjC,IAAI,CAAC,gBAAgB,EAAE,GAAS,EAAE;YAChC,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;mBAChC,OAAO;gBACV,IAAI;yBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAC;2BACpC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC;YAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC,CAAA,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,EAAE,GAAS,EAAE;YACjC,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;mBAChC,OAAO;gBACV,IAAI;yBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,UAAU,EAAC;2BACrC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC;YAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAChE,CAAC,CAAA,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,GAAS,EAAE;YAC9B,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC,IAAI,CAAA;mBAChC,OAAO;gBACV,IAAI;yBACK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAC;2BAClC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC;YAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","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,2 +0,0 @@
1
- import '../components/hy-table-filter';
2
- //# sourceMappingURL=hy-table-filter_test.d.ts.map
@@ -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,2 +0,0 @@
1
- import '../components/hy-table-pagination';
2
- //# sourceMappingURL=hy-table-pagination_test.d.ts.map
@@ -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"]}
@@ -1,2 +0,0 @@
1
- import '../table.component';
2
- //# sourceMappingURL=hy-table_test.d.ts.map
@@ -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"}
@@ -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"]}