@kdcloudjs/table 1.0.1 → 1.0.4

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 (207) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +34 -33
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.css.map +1 -1
  5. package/dist/@kdcloudjs/table.js +6555 -3388
  6. package/dist/@kdcloudjs/table.js.map +1 -1
  7. package/dist/@kdcloudjs/table.min.css +1 -1
  8. package/dist/@kdcloudjs/table.min.js +32 -24
  9. package/dist/@kdcloudjs/table.min.js.map +1 -1
  10. package/es/_utils/hooks.js +1 -2
  11. package/es/_utils/numberUtil.js +3 -4
  12. package/es/locale/locale.js +1 -2
  13. package/es/table/base/calculations.js +3 -4
  14. package/es/table/base/empty.js +2 -2
  15. package/es/table/base/header.d.ts +6 -2
  16. package/es/table/base/header.js +41 -22
  17. package/es/table/base/helpers/SpanManager.js +1 -1
  18. package/es/table/base/helpers/TableDOMUtils.d.ts +3 -0
  19. package/es/table/base/helpers/TableDOMUtils.js +23 -5
  20. package/es/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  21. package/es/table/base/helpers/getRichVisibleRectsStream.js +216 -0
  22. package/es/table/base/html-table.d.ts +3 -1
  23. package/es/table/base/html-table.js +43 -26
  24. package/es/table/base/interfaces.d.ts +1 -0
  25. package/es/table/base/renderTemplates.d.ts +1 -0
  26. package/es/table/base/renderTemplates.js +344 -0
  27. package/es/table/base/styles.d.ts +24 -0
  28. package/es/table/base/styles.js +31 -9
  29. package/es/table/base/table.d.ts +12 -4
  30. package/es/table/base/table.js +183 -136
  31. package/es/table/base/utils.d.ts +6 -3
  32. package/es/table/base/utils.js +27 -6
  33. package/es/table/common-views.js +3 -3
  34. package/es/table/pipeline/features/autoFill.js +7 -1
  35. package/es/table/pipeline/features/columnDrag.js +168 -59
  36. package/es/table/pipeline/features/columnFilter.js +7 -9
  37. package/es/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  38. package/es/table/pipeline/features/columnResizeWidth.js +11 -4
  39. package/es/table/pipeline/features/contextMenu.js +78 -31
  40. package/es/table/pipeline/features/filter/Filter.js +74 -37
  41. package/es/table/pipeline/features/index.d.ts +1 -0
  42. package/es/table/pipeline/features/index.js +2 -1
  43. package/es/table/pipeline/features/multiSelect.js +85 -79
  44. package/es/table/pipeline/features/rangeSelection.d.ts +10 -0
  45. package/es/table/pipeline/features/rangeSelection.js +231 -0
  46. package/es/table/pipeline/features/rowDetail.js +39 -16
  47. package/es/table/pipeline/features/rowGrouping.js +2 -1
  48. package/es/table/pipeline/features/singleSelect.js +4 -1
  49. package/es/table/pipeline/features/sort.js +2 -3
  50. package/es/table/pipeline/features/treeMode.js +4 -4
  51. package/es/table/pipeline/pipeline.d.ts +8 -0
  52. package/es/table/pipeline/pipeline.js +49 -5
  53. package/es/table/pivot/cross-table/buildCrossTable.js +1 -2
  54. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -2
  55. package/es/table/pivot/pivot-utils/builders.js +1 -2
  56. package/es/table/pivot/pivot-utils/convert-utils.js +5 -4
  57. package/es/table/transforms/autoWidth.js +1 -2
  58. package/es/table/transforms/sort.js +1 -2
  59. package/es/table/transforms/treeMode.js +1 -2
  60. package/es/table/utils/applyTransforms.js +1 -3
  61. package/es/table/utils/browserType.d.ts +6 -0
  62. package/es/table/utils/browserType.js +6 -0
  63. package/es/table/utils/buildTree.js +4 -5
  64. package/es/table/utils/collectNodes.js +1 -2
  65. package/es/table/utils/exportTableAsExcel.js +1 -2
  66. package/es/table/utils/getTreeDepth.js +1 -2
  67. package/es/table/utils/groupBy.js +1 -2
  68. package/es/table/utils/index.d.ts +1 -0
  69. package/es/table/utils/index.js +2 -1
  70. package/es/table/utils/layeredSort.js +5 -2
  71. package/es/table/utils/makeRecursiveMapper.js +4 -5
  72. package/es/table/utils/others.d.ts +1 -1
  73. package/es/table/utils/others.js +20 -14
  74. package/es/table/utils/traverseColumn.js +1 -2
  75. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +4 -5
  76. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +4 -5
  77. package/lib/_utils/formatUtil.js +1 -1
  78. package/lib/_utils/hooks.js +2 -4
  79. package/lib/_utils/numberUtil.js +7 -9
  80. package/lib/_utils/usePopper.js +9 -1
  81. package/lib/config-provider/configProvider.js +9 -1
  82. package/lib/config-provider/index.js +5 -5
  83. package/lib/locale/index.js +14 -6
  84. package/lib/locale/locale.js +2 -4
  85. package/lib/table/base/calculations.js +4 -6
  86. package/lib/table/base/empty.js +11 -3
  87. package/lib/table/base/header.d.ts +6 -2
  88. package/lib/table/base/header.js +39 -19
  89. package/lib/table/base/helpers/SpanManager.js +1 -1
  90. package/lib/table/base/helpers/TableDOMUtils.d.ts +3 -0
  91. package/lib/table/base/helpers/TableDOMUtils.js +21 -5
  92. package/lib/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  93. package/lib/table/base/helpers/getRichVisibleRectsStream.js +246 -0
  94. package/lib/table/base/html-table.d.ts +3 -1
  95. package/lib/table/base/html-table.js +44 -26
  96. package/lib/table/base/index.js +4 -4
  97. package/lib/table/base/interfaces.d.ts +1 -0
  98. package/lib/table/base/renderTemplates.d.ts +1 -0
  99. package/lib/table/base/renderTemplates.js +370 -0
  100. package/lib/table/base/styles.d.ts +24 -0
  101. package/lib/table/base/styles.js +42 -13
  102. package/lib/table/base/table.d.ts +12 -4
  103. package/lib/table/base/table.js +191 -137
  104. package/lib/table/base/utils.d.ts +6 -3
  105. package/lib/table/base/utils.js +47 -10
  106. package/lib/table/common-views.js +3 -3
  107. package/lib/table/pipeline/features/autoFill.js +9 -2
  108. package/lib/table/pipeline/features/columnDrag.js +168 -59
  109. package/lib/table/pipeline/features/columnFilter.js +6 -9
  110. package/lib/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  111. package/lib/table/pipeline/features/columnResizeWidth.js +21 -5
  112. package/lib/table/pipeline/features/contextMenu.js +89 -32
  113. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -2
  114. package/lib/table/pipeline/features/filter/Filter.js +88 -37
  115. package/lib/table/pipeline/features/filter/FilterPanel.js +10 -2
  116. package/lib/table/pipeline/features/filter/index.js +4 -4
  117. package/lib/table/pipeline/features/index.d.ts +1 -0
  118. package/lib/table/pipeline/features/index.js +37 -27
  119. package/lib/table/pipeline/features/multiSelect.js +81 -75
  120. package/lib/table/pipeline/features/rangeSelection.d.ts +10 -0
  121. package/lib/table/pipeline/features/rangeSelection.js +256 -0
  122. package/lib/table/pipeline/features/rowDetail.js +42 -16
  123. package/lib/table/pipeline/features/rowGrouping.js +3 -1
  124. package/lib/table/pipeline/features/singleSelect.js +4 -1
  125. package/lib/table/pipeline/features/sort.js +2 -4
  126. package/lib/table/pipeline/features/treeMode.js +6 -6
  127. package/lib/table/pipeline/index.js +11 -3
  128. package/lib/table/pipeline/pipeline.d.ts +8 -0
  129. package/lib/table/pipeline/pipeline.js +50 -7
  130. package/lib/table/pivot/cross-table/buildCrossTable.js +1 -3
  131. package/lib/table/pivot/cross-table/index.js +4 -4
  132. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -3
  133. package/lib/table/pivot/pivot-utils/builders.js +2 -4
  134. package/lib/table/pivot/pivot-utils/convert-utils.js +7 -5
  135. package/lib/table/pivot/pivot-utils/index.js +4 -4
  136. package/lib/table/transforms/autoWidth.js +10 -4
  137. package/lib/table/transforms/columnResize.js +10 -2
  138. package/lib/table/transforms/index.js +32 -32
  139. package/lib/table/transforms/sort.js +10 -4
  140. package/lib/table/transforms/treeMode.js +9 -3
  141. package/lib/table/utils/applyTransforms.js +1 -5
  142. package/lib/table/utils/browserType.d.ts +6 -0
  143. package/lib/table/utils/browserType.js +13 -0
  144. package/lib/table/utils/buildTree.js +1 -3
  145. package/lib/table/utils/collectNodes.js +1 -3
  146. package/lib/table/utils/copyToClipboard.js +1 -1
  147. package/lib/table/utils/element.js +3 -3
  148. package/lib/table/utils/exportTableAsExcel.js +1 -3
  149. package/lib/table/utils/getTreeDepth.js +1 -3
  150. package/lib/table/utils/groupBy.js +1 -3
  151. package/lib/table/utils/index.d.ts +1 -0
  152. package/lib/table/utils/index.js +57 -49
  153. package/lib/table/utils/layeredSort.js +6 -2
  154. package/lib/table/utils/makeRecursiveMapper.js +1 -3
  155. package/lib/table/utils/others.d.ts +1 -1
  156. package/lib/table/utils/others.js +23 -18
  157. package/lib/table/utils/traverseColumn.js +1 -3
  158. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +5 -7
  159. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +5 -7
  160. package/package.json +6 -2
  161. package/dist/kd-table.css +0 -422
  162. package/dist/kd-table.css.map +0 -1
  163. package/dist/kd-table.js +0 -38578
  164. package/dist/kd-table.js.map +0 -1
  165. package/dist/kd-table.min.css +0 -9
  166. package/dist/kd-table.min.js +0 -208
  167. package/dist/kd-table.min.js.map +0 -1
  168. package/es/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  169. package/es/table/base/helpers/__test__/visible-part.test.js +0 -28
  170. package/es/table/base/helpers/visible-part.d.ts +0 -23
  171. package/es/table/base/helpers/visible-part.js +0 -58
  172. package/es/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
  173. package/es/table/pipeline/features/__test__/multiSelect.test.js +0 -152
  174. package/es/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
  175. package/es/table/pipeline/features/__test__/rowDetail.test.js +0 -223
  176. package/es/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
  177. package/es/table/pipeline/features/__test__/rowGrouping.test.js +0 -120
  178. package/es/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
  179. package/es/table/pipeline/features/__test__/singleSelect.test.js +0 -191
  180. package/es/table/pipeline/features/__test__/sort.test.d.ts +0 -1
  181. package/es/table/pipeline/features/__test__/sort.test.js +0 -213
  182. package/es/table/pipeline/features/__test__/tips.test.d.ts +0 -1
  183. package/es/table/pipeline/features/__test__/tips.test.js +0 -123
  184. package/es/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
  185. package/es/table/pipeline/features/__test__/treeMode.test.js +0 -202
  186. package/es/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
  187. package/es/table/pipeline/features/filter/__test__/Filter.test.js +0 -29
  188. package/lib/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  189. package/lib/table/base/helpers/__test__/visible-part.test.js +0 -31
  190. package/lib/table/base/helpers/visible-part.d.ts +0 -23
  191. package/lib/table/base/helpers/visible-part.js +0 -72
  192. package/lib/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
  193. package/lib/table/pipeline/features/__test__/multiSelect.test.js +0 -163
  194. package/lib/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
  195. package/lib/table/pipeline/features/__test__/rowDetail.test.js +0 -230
  196. package/lib/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
  197. package/lib/table/pipeline/features/__test__/rowGrouping.test.js +0 -129
  198. package/lib/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
  199. package/lib/table/pipeline/features/__test__/singleSelect.test.js +0 -201
  200. package/lib/table/pipeline/features/__test__/sort.test.d.ts +0 -1
  201. package/lib/table/pipeline/features/__test__/sort.test.js +0 -218
  202. package/lib/table/pipeline/features/__test__/tips.test.d.ts +0 -1
  203. package/lib/table/pipeline/features/__test__/tips.test.js +0 -133
  204. package/lib/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
  205. package/lib/table/pipeline/features/__test__/treeMode.test.js +0 -206
  206. package/lib/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
  207. package/lib/table/pipeline/features/filter/__test__/Filter.test.js +0 -36
@@ -1,218 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
- var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
6
-
7
- var _sort = require("../sort");
8
-
9
- var _pipeline = require("../../pipeline");
10
-
11
- var _enzyme = require("enzyme");
12
-
13
- var _reactHooks = require("@testing-library/react-hooks");
14
-
15
- var dataSource = [{
16
- id: '1',
17
- prov: '湖北省',
18
- confirm: 54406,
19
- cure: 4793,
20
- dead: 1457,
21
- t: '2020-02-15 19:52:02'
22
- }, {
23
- id: '2',
24
- prov: '广东省',
25
- confirm: 1294,
26
- cure: 409,
27
- dead: 2,
28
- t: '2020-02-15 19:52:02'
29
- }, {
30
- id: '3',
31
- prov: '河南省',
32
- confirm: 1212,
33
- cure: 390,
34
- dead: 13,
35
- t: '2020-02-15 19:52:02'
36
- }, {
37
- id: '4',
38
- prov: '浙江省',
39
- confirm: 1000,
40
- cure: 428,
41
- dead: 0,
42
- t: '2020-02-15 19:52:02'
43
- }, {
44
- id: '5',
45
- prov: '湖南省',
46
- confirm: 1000,
47
- cure: 417,
48
- dead: 2,
49
- t: '2020-02-15 19:52:02'
50
- }];
51
- var columns = [{
52
- code: 'prov',
53
- name: '省份',
54
- width: 150,
55
- features: {
56
- sortable: true
57
- }
58
- }, {
59
- code: 'confirm',
60
- name: '确诊',
61
- width: 100,
62
- align: 'right',
63
- features: {
64
- sortable: true
65
- }
66
- }, {
67
- code: 'cure',
68
- name: '治愈',
69
- width: 100,
70
- align: 'right',
71
- features: {
72
- sortable: true
73
- }
74
- }, {
75
- code: 'dead',
76
- name: '死亡',
77
- width: 100,
78
- align: 'right',
79
- features: {
80
- sortable: true
81
- }
82
- }, {
83
- code: 't',
84
- name: '更新时间',
85
- width: 180,
86
- features: {
87
- sortable: true
88
- }
89
- }];
90
- describe('sort 单元测试', function () {
91
- var opts = {
92
- defaultSorts: [{
93
- code: 'cure',
94
- order: 'asc'
95
- }],
96
- highlightColumnWhenActive: true,
97
- mode: 'single',
98
- keepDataSource: false,
99
- onChangeSorts: jest.fn()
100
- };
101
- var newPipeline = null;
102
- beforeEach(function () {
103
- var _renderHook = (0, _reactHooks.renderHook)(function () {
104
- return (0, _pipeline.useTablePipeline)({
105
- primaryKey: 'id'
106
- }).input({
107
- dataSource: dataSource,
108
- columns: columns
109
- });
110
- }),
111
- result = _renderHook.result;
112
-
113
- var tablePipeline = result.current;
114
- newPipeline = (0, _sort.sort)(opts)(tablePipeline);
115
- });
116
- afterEach(function () {
117
- newPipeline = null;
118
- opts.onChangeSorts.mockClear();
119
- });
120
- it('初始化数据', function () {
121
- // 默认cure列升序排序
122
- expect(newPipeline.getDataSource()[0]).toEqual({
123
- id: '3',
124
- prov: '河南省',
125
- confirm: 1212,
126
- cure: 390,
127
- dead: 13,
128
- t: '2020-02-15 19:52:02'
129
- });
130
- });
131
- it('列头单元格渲染', function () {
132
- var col = newPipeline.getColumns();
133
- var wrapper = (0, _enzyme.mount)(col[0].title);
134
- expect((0, _find.default)(wrapper).call(wrapper, 'SortIcon').length).toBe(1); // 列头单元格
135
-
136
- var div = (0, _find.default)(wrapper).call(wrapper, 'div').at(0);
137
- div.simulate('click');
138
- expect(opts.onChangeSorts).toBeCalledWith([{
139
- code: 'prov',
140
- order: 'desc'
141
- }], {
142
- code: 'prov',
143
- order: 'desc'
144
- });
145
- expect(1).toBe(1);
146
- });
147
- it('getCellProps', function () {
148
- var col = newPipeline.getColumns();
149
- var cellProps = col[2].getCellProps(4793, newPipeline.getDataSource()[0], 0);
150
- expect(cellProps.style).toEqual({
151
- background: 'var(--highlight-bgcolor)'
152
- });
153
- });
154
- it('keepDataSource为true,数据不变', function () {
155
- var _renderHook2 = (0, _reactHooks.renderHook)(function () {
156
- return (0, _pipeline.useTablePipeline)({
157
- primaryKey: 'id'
158
- }).input({
159
- dataSource: dataSource,
160
- columns: columns
161
- });
162
- }),
163
- result = _renderHook2.result;
164
-
165
- var tablePipeline = result.current;
166
- opts.keepDataSource = true;
167
- var newPipeline = (0, _sort.sort)(opts)(tablePipeline);
168
- expect(newPipeline.getDataSource()[0].id).toBe('1');
169
- opts.keepDataSource = false;
170
- });
171
- it('多列排序', function () {
172
- var _renderHook3 = (0, _reactHooks.renderHook)(function () {
173
- return (0, _pipeline.useTablePipeline)({
174
- primaryKey: 'id'
175
- }).input({
176
- dataSource: dataSource,
177
- columns: columns
178
- });
179
- }),
180
- result = _renderHook3.result;
181
-
182
- var tablePipeline = result.current;
183
- opts.defaultSorts = [{
184
- code: 'confirm',
185
- order: 'desc'
186
- }, {
187
- code: 'cure',
188
- order: 'asc'
189
- }];
190
- opts.mode = 'multiple';
191
- var newPipeline = (0, _sort.sort)(opts)(tablePipeline); // confirm 降序,cure升序
192
-
193
- expect(newPipeline.getDataSource()[3].confirm).toBe(1000);
194
- expect(newPipeline.getDataSource()[3].cure).toBe(417);
195
- expect(newPipeline.getDataSource()[4].confirm).toBe(1000);
196
- expect(newPipeline.getDataSource()[4].cure).toBe(428);
197
- var col = newPipeline.getColumns();
198
- var confirmWrapper = (0, _enzyme.mount)(col[1].title); // 列头单元格
199
-
200
- var div = (0, _find.default)(confirmWrapper).call(confirmWrapper, 'div').at(0);
201
- div.simulate('click'); // confirm 列初始是降序,点击后是升序
202
- // calls[0][1]表示第1次调用的第二个参数
203
-
204
- expect(opts.onChangeSorts.mock.calls[0][1]).toEqual({
205
- code: 'confirm',
206
- order: 'asc'
207
- });
208
- opts.onChangeSorts.mockClear();
209
- var cureWrapper = (0, _enzyme.mount)(col[2].title);
210
- var div1 = (0, _find.default)(cureWrapper).call(cureWrapper, 'div').at(0);
211
- div1.simulate('click'); // confirm 列初始是升序,点击后没有排序
212
-
213
- expect(opts.onChangeSorts.mock.calls[0][1]).toEqual({
214
- code: 'cure',
215
- order: 'none'
216
- });
217
- });
218
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,133 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
- var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
6
-
7
- var _tips = require("../tips");
8
-
9
- var _pipeline = require("../../pipeline");
10
-
11
- var _enzyme = require("enzyme");
12
-
13
- var _reactHooks = require("@testing-library/react-hooks");
14
-
15
- var _react = _interopRequireDefault(require("react"));
16
-
17
- var dataSource = [{
18
- id: '1',
19
- prov: '湖北省',
20
- confirm: 54406,
21
- cure: 4793,
22
- dead: 1457,
23
- t: '2020-02-15 19:52:02'
24
- }, {
25
- id: '2',
26
- prov: '广东省',
27
- confirm: 1294,
28
- cure: 409,
29
- dead: 2,
30
- t: '2020-02-15 19:52:02'
31
- }, {
32
- id: '3',
33
- prov: '河南省',
34
- confirm: 1212,
35
- cure: 390,
36
- dead: 13,
37
- t: '2020-02-15 19:52:02'
38
- }, {
39
- id: '4',
40
- prov: '浙江省',
41
- confirm: 1000,
42
- cure: 428,
43
- dead: 0,
44
- t: '2020-02-15 19:52:02'
45
- }, {
46
- id: '5',
47
- prov: '湖南省',
48
- confirm: 1000,
49
- cure: 417,
50
- dead: 2,
51
- t: '2020-02-15 19:52:02'
52
- }];
53
- var columns = [{
54
- code: 'prov',
55
- name: '省份',
56
- width: 150,
57
- features: {
58
- tips: '省份信息'
59
- }
60
- }, {
61
- code: 'confirm',
62
- name: '确诊',
63
- width: 100,
64
- align: 'right',
65
- features: {
66
- tips: '确诊数量'
67
- }
68
- }, {
69
- code: 'cure',
70
- name: '治愈',
71
- width: 100,
72
- align: 'right'
73
- }, {
74
- code: 'dead',
75
- name: '死亡',
76
- width: 100,
77
- align: 'right'
78
- }, {
79
- code: 't',
80
- name: '更新时间',
81
- width: 180
82
- }];
83
-
84
- function Tooltip(_ref) {
85
- var title = _ref.title,
86
- children = _ref.children;
87
- return /*#__PURE__*/_react.default.createElement("div", null, title);
88
- }
89
-
90
- describe('tips 单元测试', function () {
91
- var newPipeline = null;
92
- beforeEach(function () {
93
- var _renderHook = (0, _reactHooks.renderHook)(function () {
94
- return (0, _pipeline.useTablePipeline)({
95
- primaryKey: 'id',
96
- components: {
97
- Tooltip: Tooltip
98
- }
99
- }).input({
100
- dataSource: dataSource,
101
- columns: columns
102
- });
103
- }),
104
- result = _renderHook.result;
105
-
106
- var tablePipeline = result.current;
107
- newPipeline = (0, _tips.tips)()(tablePipeline);
108
- });
109
- afterEach(function () {
110
- newPipeline = null;
111
- });
112
- it('初始化时存在Tooltip组件', function () {
113
- var col = newPipeline.getColumns();
114
- var wrapper = (0, _enzyme.mount)(col[0].title);
115
- expect((0, _find.default)(wrapper).call(wrapper, 'Tooltip').length).toBe(1);
116
- });
117
- it('不传Tooltip', function () {
118
- var _renderHook2 = (0, _reactHooks.renderHook)(function () {
119
- return (0, _pipeline.useTablePipeline)({
120
- primaryKey: 'id'
121
- }).input({
122
- dataSource: dataSource,
123
- columns: columns
124
- });
125
- }),
126
- result = _renderHook2.result;
127
-
128
- var tablePipeline = result.current;
129
- expect(function () {
130
- return (0, _tips.tips)()(tablePipeline);
131
- }).toThrow(Error);
132
- });
133
- });
@@ -1,206 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
- var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
6
-
7
- var _treeMode = require("../treeMode");
8
-
9
- var _pipeline = require("../../pipeline");
10
-
11
- var _enzyme = require("enzyme");
12
-
13
- var _reactHooks = require("@testing-library/react-hooks");
14
-
15
- function makeChildren(prefix) {
16
- return [{
17
- id: "".concat(prefix, "-1"),
18
- title: '二级标题',
19
- dept: '应用部',
20
- dest: '云南大理',
21
- guide: 'Douglas Lee',
22
- children: [{
23
- id: "".concat(prefix, "-1-1"),
24
- title: '三级标题',
25
- dept: '平台大前端-UED',
26
- dest: '云南大理',
27
- guide: 'Douglas Lee'
28
- }, {
29
- id: "".concat(prefix, "-1-2"),
30
- title: '三级标题',
31
- dept: '平台大前端-前端',
32
- dest: '云南大理',
33
- guide: 'Douglas Lee'
34
- }]
35
- }, {
36
- id: "".concat(prefix, "-2"),
37
- title: '二级标题',
38
- dept: '应用部',
39
- dest: '云南大理',
40
- guide: 'Douglas Lee',
41
- children: [{
42
- id: "".concat(prefix, "-2-1"),
43
- title: '三级标题',
44
- dept: '平台大前端-UED',
45
- dest: '云南大理',
46
- guide: 'Douglas Lee'
47
- }, {
48
- id: "".concat(prefix, "-2-2"),
49
- title: '三级标题',
50
- dept: '平台大前端-前端',
51
- dest: '云南大理',
52
- guide: 'Douglas Lee'
53
- }]
54
- }, {
55
- id: "".concat(prefix, "-3"),
56
- title: '二级标题',
57
- dept: '应用部',
58
- dest: '云南大理',
59
- guide: 'Douglas Lee'
60
- }];
61
- }
62
-
63
- var dataSource = [{
64
- id: '1',
65
- title: '一级标题',
66
- dept: '云苍穹-前端',
67
- dest: 'South Maddison',
68
- guide: 'Don Moreno',
69
- children: makeChildren('1')
70
- }, {
71
- id: '2',
72
- title: '一级标题',
73
- dept: '云苍穹-模型',
74
- dest: 'Emilhaven',
75
- guide: 'Douglas Richards',
76
- children: makeChildren('2')
77
- }, {
78
- id: '3',
79
- title: '一级标题',
80
- dept: '云苍穹-基础',
81
- dest: '云南大理',
82
- guide: 'Douglas Lee',
83
- children: makeChildren('3')
84
- }, {
85
- id: '4',
86
- title: '一级标题',
87
- dept: '云苍穹-体验',
88
- dest: '杭州千岛湖',
89
- guide: 'Eric Castillo',
90
- children: makeChildren('4')
91
- }, {
92
- id: '5',
93
- title: '一级标题',
94
- dept: '云苍穹-运营',
95
- dest: 'East Karl',
96
- guide: 'Herbert Patton'
97
- }];
98
- var columns = [{
99
- code: 'title',
100
- name: '标题',
101
- width: 200,
102
- getCellProps: function getCellProps() {
103
- return {
104
- style: {
105
- background: 'red'
106
- }
107
- };
108
- }
109
- }, {
110
- code: 'dept',
111
- name: '部门名称',
112
- width: 180
113
- }, {
114
- code: 'dest',
115
- name: '团建目的地',
116
- width: 160
117
- }, {
118
- code: 'guide',
119
- name: '当地导游',
120
- width: 160
121
- }];
122
- describe('treeMode 单元测试', function () {
123
- var opts = {
124
- openKeys: ['4', '4-2'],
125
- clickArea: 'content',
126
- onChangeOpenKeys: jest.fn()
127
- };
128
- var newPipeline = null;
129
- beforeEach(function () {
130
- var _renderHook = (0, _reactHooks.renderHook)(function () {
131
- return (0, _pipeline.useTablePipeline)({
132
- primaryKey: 'id'
133
- }).input({
134
- dataSource: dataSource,
135
- columns: columns
136
- });
137
- }),
138
- result = _renderHook.result;
139
-
140
- var tablePipeline = result.current;
141
- newPipeline = (0, _treeMode.treeMode)(opts)(tablePipeline);
142
- });
143
- afterEach(function () {
144
- newPipeline = null;
145
- opts.onChangeOpenKeys.mockClear();
146
- });
147
- it('初始化展示', function () {
148
- // 5 + 3 + 2
149
- expect(newPipeline.getDataSource().length).toBe(10);
150
- });
151
- it('展开图标单元格渲染', function () {
152
- var col = newPipeline.getColumns();
153
- var wrapper = (0, _enzyme.mount)(col[0].render('一级标题', newPipeline.getDataSource()[0], 0));
154
- expect((0, _find.default)(wrapper).call(wrapper, 'CaretRightIcon').length).toBe(1);
155
- var div = (0, _find.default)(wrapper).call(wrapper, 'div').at(0);
156
- div.simulate('click');
157
- expect(opts.onChangeOpenKeys).toHaveBeenCalled();
158
- expect(opts.onChangeOpenKeys).toBeCalledWith(['4', '4-2', '1'], '1', 'expand');
159
- opts.onChangeOpenKeys.mockClear(); // 展开列点击
160
-
161
- var expandColWrapper = (0, _enzyme.mount)(col[0].render('一级标题', newPipeline.getDataSource()[3], 3));
162
- var div1 = (0, _find.default)(expandColWrapper).call(expandColWrapper, 'div').at(0);
163
- div1.simulate('click');
164
- expect(opts.onChangeOpenKeys).toBeCalledWith(['4-2'], '4', 'collapse'); // 叶子节点渲染
165
-
166
- var leafWrapper = (0, _enzyme.mount)(col[0].render('一级标题', newPipeline.getDataSource()[9], 9));
167
- expect((0, _find.default)(leafWrapper).call(leafWrapper, '.expansion-cell.leaf').length).toBe(2);
168
- });
169
- it('getCellProps', function () {
170
- var col = newPipeline.getColumns(); // clickArea: 'content' 取默认的cellProps
171
-
172
- expect(col[0].getCellProps()).toEqual({
173
- style: {
174
- background: 'red'
175
- }
176
- });
177
- });
178
- it('clickArea 为cell', function () {
179
- var _renderHook2 = (0, _reactHooks.renderHook)(function () {
180
- return (0, _pipeline.useTablePipeline)({
181
- primaryKey: 'id'
182
- }).input({
183
- dataSource: dataSource,
184
- columns: columns
185
- });
186
- }),
187
- result = _renderHook2.result;
188
-
189
- var tablePipeline = result.current;
190
- opts.clickArea = 'cell';
191
- var newPipeline = (0, _treeMode.treeMode)(opts)(tablePipeline);
192
- var col = newPipeline.getColumns();
193
- var cellProps = col[0].getCellProps('一级标题', newPipeline.getDataSource()[0], 0);
194
- expect(cellProps.style).toEqual({
195
- background: 'red',
196
- cursor: 'pointer'
197
- });
198
- cellProps.onClick();
199
- expect(opts.onChangeOpenKeys).toHaveBeenCalled(); // 叶子节点cellProps
200
-
201
- var leafCellProps = col[0].getCellProps('一级标题', newPipeline.getDataSource()[9], 9);
202
- expect(leafCellProps.style).toEqual({
203
- background: 'red'
204
- });
205
- });
206
- });
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
- var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _enzyme = require("enzyme");
10
-
11
- var _styles = require("../../../../base/styles");
12
-
13
- var _Filter = _interopRequireDefault(require("../Filter"));
14
-
15
- var _DefaultFilterContent = _interopRequireDefault(require("../DefaultFilterContent"));
16
-
17
- var NAME = 'Filter';
18
- var setFilter = jest.fn();
19
- var setFilterModel = jest.fn();
20
- describe("".concat(NAME), function () {
21
- it('render and test event', function () {
22
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_Filter.default, {
23
- setFilter: setFilter,
24
- setFilterModel: setFilterModel,
25
- filterModel: {
26
- filter: []
27
- },
28
- stopClickEventPropagation: true,
29
- isFilterActive: true
30
- }));
31
- (0, _find.default)(wrapper).call(wrapper, ".".concat(_styles.Classes.filterIcon)).at(0).simulate('click');
32
- (0, _find.default)(wrapper).call(wrapper, 'div').at(0).simulate('mousedown');
33
- expect((0, _find.default)(wrapper).call(wrapper, _DefaultFilterContent.default).length).toBe(1);
34
- wrapper.unmount();
35
- });
36
- });