@kdcloudjs/table 1.0.0 → 1.0.3

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 (178) 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 +6554 -3389
  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/__test__/treeMode.test.js +2 -1
  35. package/es/table/pipeline/features/autoFill.js +7 -1
  36. package/es/table/pipeline/features/columnDrag.js +168 -59
  37. package/es/table/pipeline/features/columnFilter.js +7 -9
  38. package/es/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  39. package/es/table/pipeline/features/columnResizeWidth.js +11 -4
  40. package/es/table/pipeline/features/contextMenu.js +78 -31
  41. package/es/table/pipeline/features/filter/Filter.js +74 -37
  42. package/es/table/pipeline/features/index.d.ts +1 -0
  43. package/es/table/pipeline/features/index.js +2 -1
  44. package/es/table/pipeline/features/multiSelect.js +83 -79
  45. package/es/table/pipeline/features/rangeSelection.d.ts +10 -0
  46. package/es/table/pipeline/features/rangeSelection.js +231 -0
  47. package/es/table/pipeline/features/rowDetail.js +39 -16
  48. package/es/table/pipeline/features/rowGrouping.js +2 -1
  49. package/es/table/pipeline/features/singleSelect.js +4 -1
  50. package/es/table/pipeline/features/sort.js +2 -3
  51. package/es/table/pipeline/features/treeMode.js +4 -4
  52. package/es/table/pipeline/pipeline.d.ts +8 -0
  53. package/es/table/pipeline/pipeline.js +49 -5
  54. package/es/table/pivot/cross-table/buildCrossTable.js +1 -2
  55. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -2
  56. package/es/table/pivot/pivot-utils/builders.js +1 -2
  57. package/es/table/pivot/pivot-utils/convert-utils.js +5 -4
  58. package/es/table/transforms/autoWidth.js +1 -2
  59. package/es/table/transforms/sort.js +1 -2
  60. package/es/table/transforms/treeMode.js +1 -2
  61. package/es/table/utils/applyTransforms.js +1 -3
  62. package/es/table/utils/browserType.d.ts +6 -0
  63. package/es/table/utils/browserType.js +6 -0
  64. package/es/table/utils/buildTree.js +4 -5
  65. package/es/table/utils/collectNodes.js +1 -2
  66. package/es/table/utils/exportTableAsExcel.js +1 -2
  67. package/es/table/utils/getTreeDepth.js +1 -2
  68. package/es/table/utils/groupBy.js +1 -2
  69. package/es/table/utils/index.d.ts +1 -0
  70. package/es/table/utils/index.js +2 -1
  71. package/es/table/utils/layeredSort.js +5 -2
  72. package/es/table/utils/makeRecursiveMapper.js +4 -5
  73. package/es/table/utils/others.d.ts +1 -1
  74. package/es/table/utils/others.js +20 -14
  75. package/es/table/utils/traverseColumn.js +1 -2
  76. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +4 -5
  77. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +4 -5
  78. package/lib/_utils/formatUtil.js +1 -1
  79. package/lib/_utils/hooks.js +2 -4
  80. package/lib/_utils/numberUtil.js +7 -9
  81. package/lib/_utils/usePopper.js +9 -1
  82. package/lib/config-provider/configProvider.js +9 -1
  83. package/lib/config-provider/index.js +5 -5
  84. package/lib/locale/index.js +14 -6
  85. package/lib/locale/locale.js +2 -4
  86. package/lib/table/base/calculations.js +4 -6
  87. package/lib/table/base/empty.js +11 -3
  88. package/lib/table/base/header.d.ts +6 -2
  89. package/lib/table/base/header.js +39 -19
  90. package/lib/table/base/helpers/SpanManager.js +1 -1
  91. package/lib/table/base/helpers/TableDOMUtils.d.ts +3 -0
  92. package/lib/table/base/helpers/TableDOMUtils.js +21 -5
  93. package/lib/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  94. package/lib/table/base/helpers/getRichVisibleRectsStream.js +246 -0
  95. package/lib/table/base/html-table.d.ts +3 -1
  96. package/lib/table/base/html-table.js +44 -26
  97. package/lib/table/base/index.js +4 -4
  98. package/lib/table/base/interfaces.d.ts +1 -0
  99. package/lib/table/base/renderTemplates.d.ts +1 -0
  100. package/lib/table/base/renderTemplates.js +370 -0
  101. package/lib/table/base/styles.d.ts +24 -0
  102. package/lib/table/base/styles.js +42 -13
  103. package/lib/table/base/table.d.ts +12 -4
  104. package/lib/table/base/table.js +191 -137
  105. package/lib/table/base/utils.d.ts +6 -3
  106. package/lib/table/base/utils.js +47 -10
  107. package/lib/table/common-views.js +3 -3
  108. package/lib/table/pipeline/features/__test__/sort.test.js +5 -3
  109. package/lib/table/pipeline/features/__test__/treeMode.test.js +3 -1
  110. package/lib/table/pipeline/features/autoFill.js +9 -2
  111. package/lib/table/pipeline/features/columnDrag.js +168 -59
  112. package/lib/table/pipeline/features/columnFilter.js +6 -9
  113. package/lib/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  114. package/lib/table/pipeline/features/columnResizeWidth.js +21 -5
  115. package/lib/table/pipeline/features/contextMenu.js +89 -32
  116. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -2
  117. package/lib/table/pipeline/features/filter/Filter.js +88 -37
  118. package/lib/table/pipeline/features/filter/FilterPanel.js +10 -2
  119. package/lib/table/pipeline/features/filter/index.js +4 -4
  120. package/lib/table/pipeline/features/index.d.ts +1 -0
  121. package/lib/table/pipeline/features/index.js +37 -27
  122. package/lib/table/pipeline/features/multiSelect.js +79 -75
  123. package/lib/table/pipeline/features/rangeSelection.d.ts +10 -0
  124. package/lib/table/pipeline/features/rangeSelection.js +256 -0
  125. package/lib/table/pipeline/features/rowDetail.js +42 -16
  126. package/lib/table/pipeline/features/rowGrouping.js +3 -1
  127. package/lib/table/pipeline/features/singleSelect.js +4 -1
  128. package/lib/table/pipeline/features/sort.js +2 -4
  129. package/lib/table/pipeline/features/treeMode.js +6 -6
  130. package/lib/table/pipeline/index.js +11 -3
  131. package/lib/table/pipeline/pipeline.d.ts +8 -0
  132. package/lib/table/pipeline/pipeline.js +50 -7
  133. package/lib/table/pivot/cross-table/buildCrossTable.js +1 -3
  134. package/lib/table/pivot/cross-table/index.js +4 -4
  135. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -3
  136. package/lib/table/pivot/pivot-utils/builders.js +2 -4
  137. package/lib/table/pivot/pivot-utils/convert-utils.js +7 -5
  138. package/lib/table/pivot/pivot-utils/index.js +4 -4
  139. package/lib/table/transforms/autoWidth.js +10 -4
  140. package/lib/table/transforms/columnResize.js +10 -2
  141. package/lib/table/transforms/index.js +32 -32
  142. package/lib/table/transforms/sort.js +10 -4
  143. package/lib/table/transforms/treeMode.js +9 -3
  144. package/lib/table/utils/applyTransforms.js +1 -5
  145. package/lib/table/utils/browserType.d.ts +6 -0
  146. package/lib/table/utils/browserType.js +13 -0
  147. package/lib/table/utils/buildTree.js +1 -3
  148. package/lib/table/utils/collectNodes.js +1 -3
  149. package/lib/table/utils/copyToClipboard.js +1 -1
  150. package/lib/table/utils/element.js +3 -3
  151. package/lib/table/utils/exportTableAsExcel.js +1 -3
  152. package/lib/table/utils/getTreeDepth.js +1 -3
  153. package/lib/table/utils/groupBy.js +1 -3
  154. package/lib/table/utils/index.d.ts +1 -0
  155. package/lib/table/utils/index.js +57 -49
  156. package/lib/table/utils/layeredSort.js +6 -2
  157. package/lib/table/utils/makeRecursiveMapper.js +1 -3
  158. package/lib/table/utils/others.d.ts +1 -1
  159. package/lib/table/utils/others.js +23 -18
  160. package/lib/table/utils/traverseColumn.js +1 -3
  161. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +5 -7
  162. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +5 -7
  163. package/package.json +7 -2
  164. package/dist/kd-table.css +0 -422
  165. package/dist/kd-table.css.map +0 -1
  166. package/dist/kd-table.js +0 -38578
  167. package/dist/kd-table.js.map +0 -1
  168. package/dist/kd-table.min.css +0 -9
  169. package/dist/kd-table.min.js +0 -208
  170. package/dist/kd-table.min.js.map +0 -1
  171. package/es/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  172. package/es/table/base/helpers/__test__/visible-part.test.js +0 -28
  173. package/es/table/base/helpers/visible-part.d.ts +0 -23
  174. package/es/table/base/helpers/visible-part.js +0 -58
  175. package/lib/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  176. package/lib/table/base/helpers/__test__/visible-part.test.js +0 -31
  177. package/lib/table/base/helpers/visible-part.d.ts +0 -23
  178. package/lib/table/base/helpers/visible-part.js +0 -72
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- import { getVisiblePartObservable, getVisiblePart } from '../visible-part';
2
- var NAME = 'visible-part';
3
- describe("".concat(NAME), function () {
4
- it('getVisiblePartObservable', function () {
5
- var container = document.createElement('div');
6
- container.setAttribute('id', 't1');
7
- container.style.cssText = 'width:100px;height:100px;overflow:auto;';
8
- var content = document.createElement('div');
9
- content.style.cssText = 'width:200px;height:200px;';
10
- container.appendChild(content);
11
- document.body.appendChild(container); // todo: rxjs test
12
-
13
- getVisiblePartObservable(content, container);
14
- var event = new window.Event('scroll', {
15
- cancelable: false
16
- });
17
- container.dispatchEvent(event);
18
- document.body.removeChild(container);
19
- container = content = null;
20
- });
21
- it('getVisiblePart', function () {
22
- var container = document.createElement('div');
23
- document.body.appendChild(container);
24
- expect(getVisiblePart(container, window).offsetX).toBe(0);
25
- document.body.removeChild(container);
26
- container = null;
27
- });
28
- });
@@ -1,23 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- export declare function getVisiblePart(target: HTMLElement | typeof window, flowRoot: HTMLElement | typeof window): {
3
- offsetY: number;
4
- offsetX: number;
5
- clipRect: {
6
- left: number;
7
- top: number;
8
- right: number;
9
- bottom: number;
10
- };
11
- };
12
- /** 基于 ResizeObserver 和 scroll event 封装的 RxJS observable;
13
- * 用于监听一个元素的在页面中的「可见范围」的不断变化 */
14
- export declare function getVisiblePartObservable(target: HTMLElement, flowRoot: HTMLElement | typeof window): Observable<{
15
- offsetY: number;
16
- offsetX: number;
17
- clipRect: {
18
- left: number;
19
- top: number;
20
- right: number;
21
- bottom: number;
22
- };
23
- }>;
@@ -1,58 +0,0 @@
1
- import ResizeObserver from 'resize-observer-polyfill';
2
- import { fromEvent, merge, Observable } from 'rxjs';
3
- import * as op from 'rxjs/operators';
4
-
5
- function getRect(ele) {
6
- if (ele === window) {
7
- return {
8
- left: 0,
9
- top: 0,
10
- bottom: window.innerHeight,
11
- right: window.innerWidth
12
- };
13
- } else {
14
- return ele.getBoundingClientRect();
15
- }
16
- }
17
-
18
- export function getVisiblePart(target, flowRoot) {
19
- var targetRect = getRect(target);
20
- var rootRect = getRect(flowRoot);
21
- return {
22
- offsetY: Math.max(0, rootRect.top - targetRect.top),
23
- offsetX: Math.max(0, rootRect.left - targetRect.left),
24
- clipRect: {
25
- left: Math.max(targetRect.left, rootRect.left),
26
- top: Math.max(targetRect.top, rootRect.top),
27
- right: Math.min(targetRect.right, rootRect.right),
28
- bottom: Math.min(targetRect.bottom, rootRect.bottom)
29
- }
30
- };
31
- }
32
-
33
- function fromResizeEvent(element) {
34
- if (element === window) {
35
- return fromEvent(element, 'resize');
36
- }
37
-
38
- return new Observable(function (subscriber) {
39
- var resizeObserver = new ResizeObserver(function () {
40
- subscriber.next();
41
- });
42
- resizeObserver.observe(element);
43
- return function () {
44
- resizeObserver.disconnect();
45
- };
46
- });
47
- }
48
- /** 基于 ResizeObserver 和 scroll event 封装的 RxJS observable;
49
- * 用于监听一个元素的在页面中的「可见范围」的不断变化 */
50
-
51
-
52
- export function getVisiblePartObservable(target, flowRoot) {
53
- return merge(fromEvent(flowRoot, 'scroll', {
54
- passive: true
55
- }), fromResizeEvent(flowRoot), fromResizeEvent(target)).pipe(op.map(function () {
56
- return getVisiblePart(target, flowRoot);
57
- }));
58
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- var _visiblePart = require("../visible-part");
4
-
5
- var NAME = 'visible-part';
6
- describe("".concat(NAME), function () {
7
- it('getVisiblePartObservable', function () {
8
- var container = document.createElement('div');
9
- container.setAttribute('id', 't1');
10
- container.style.cssText = 'width:100px;height:100px;overflow:auto;';
11
- var content = document.createElement('div');
12
- content.style.cssText = 'width:200px;height:200px;';
13
- container.appendChild(content);
14
- document.body.appendChild(container); // todo: rxjs test
15
-
16
- (0, _visiblePart.getVisiblePartObservable)(content, container);
17
- var event = new window.Event('scroll', {
18
- cancelable: false
19
- });
20
- container.dispatchEvent(event);
21
- document.body.removeChild(container);
22
- container = content = null;
23
- });
24
- it('getVisiblePart', function () {
25
- var container = document.createElement('div');
26
- document.body.appendChild(container);
27
- expect((0, _visiblePart.getVisiblePart)(container, window).offsetX).toBe(0);
28
- document.body.removeChild(container);
29
- container = null;
30
- });
31
- });
@@ -1,23 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- export declare function getVisiblePart(target: HTMLElement | typeof window, flowRoot: HTMLElement | typeof window): {
3
- offsetY: number;
4
- offsetX: number;
5
- clipRect: {
6
- left: number;
7
- top: number;
8
- right: number;
9
- bottom: number;
10
- };
11
- };
12
- /** 基于 ResizeObserver 和 scroll event 封装的 RxJS observable;
13
- * 用于监听一个元素的在页面中的「可见范围」的不断变化 */
14
- export declare function getVisiblePartObservable(target: HTMLElement, flowRoot: HTMLElement | typeof window): Observable<{
15
- offsetY: number;
16
- offsetX: number;
17
- clipRect: {
18
- left: number;
19
- top: number;
20
- right: number;
21
- bottom: number;
22
- };
23
- }>;
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.getVisiblePart = getVisiblePart;
11
- exports.getVisiblePartObservable = getVisiblePartObservable;
12
-
13
- var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
14
-
15
- var _rxjs = require("rxjs");
16
-
17
- var op = _interopRequireWildcard(require("rxjs/operators"));
18
-
19
- function getRect(ele) {
20
- if (ele === window) {
21
- return {
22
- left: 0,
23
- top: 0,
24
- bottom: window.innerHeight,
25
- right: window.innerWidth
26
- };
27
- } else {
28
- return ele.getBoundingClientRect();
29
- }
30
- }
31
-
32
- function getVisiblePart(target, flowRoot) {
33
- var targetRect = getRect(target);
34
- var rootRect = getRect(flowRoot);
35
- return {
36
- offsetY: Math.max(0, rootRect.top - targetRect.top),
37
- offsetX: Math.max(0, rootRect.left - targetRect.left),
38
- clipRect: {
39
- left: Math.max(targetRect.left, rootRect.left),
40
- top: Math.max(targetRect.top, rootRect.top),
41
- right: Math.min(targetRect.right, rootRect.right),
42
- bottom: Math.min(targetRect.bottom, rootRect.bottom)
43
- }
44
- };
45
- }
46
-
47
- function fromResizeEvent(element) {
48
- if (element === window) {
49
- return (0, _rxjs.fromEvent)(element, 'resize');
50
- }
51
-
52
- return new _rxjs.Observable(function (subscriber) {
53
- var resizeObserver = new _resizeObserverPolyfill.default(function () {
54
- subscriber.next();
55
- });
56
- resizeObserver.observe(element);
57
- return function () {
58
- resizeObserver.disconnect();
59
- };
60
- });
61
- }
62
- /** 基于 ResizeObserver 和 scroll event 封装的 RxJS observable;
63
- * 用于监听一个元素的在页面中的「可见范围」的不断变化 */
64
-
65
-
66
- function getVisiblePartObservable(target, flowRoot) {
67
- return (0, _rxjs.merge)((0, _rxjs.fromEvent)(flowRoot, 'scroll', {
68
- passive: true
69
- }), fromResizeEvent(flowRoot), fromResizeEvent(target)).pipe(op.map(function () {
70
- return getVisiblePart(target, flowRoot);
71
- }));
72
- }