@kdcloudjs/table 1.0.1 → 1.0.2

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 (171) 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 +6323 -3240
  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 +2 -3
  14. package/es/table/base/header.d.ts +6 -2
  15. package/es/table/base/header.js +36 -13
  16. package/es/table/base/helpers/SpanManager.js +1 -1
  17. package/es/table/base/helpers/TableDOMUtils.d.ts +3 -0
  18. package/es/table/base/helpers/TableDOMUtils.js +23 -5
  19. package/es/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  20. package/es/table/base/helpers/getRichVisibleRectsStream.js +216 -0
  21. package/es/table/base/html-table.d.ts +3 -1
  22. package/es/table/base/html-table.js +34 -8
  23. package/es/table/base/interfaces.d.ts +1 -0
  24. package/es/table/base/renderTemplates.d.ts +1 -0
  25. package/es/table/base/renderTemplates.js +344 -0
  26. package/es/table/base/styles.d.ts +14 -0
  27. package/es/table/base/styles.js +20 -8
  28. package/es/table/base/table.d.ts +12 -4
  29. package/es/table/base/table.js +183 -136
  30. package/es/table/base/utils.d.ts +6 -3
  31. package/es/table/base/utils.js +27 -6
  32. package/es/table/common-views.js +1 -1
  33. package/es/table/pipeline/features/autoFill.js +7 -1
  34. package/es/table/pipeline/features/columnDrag.js +109 -41
  35. package/es/table/pipeline/features/columnFilter.js +7 -9
  36. package/es/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  37. package/es/table/pipeline/features/columnResizeWidth.js +11 -4
  38. package/es/table/pipeline/features/contextMenu.js +42 -10
  39. package/es/table/pipeline/features/filter/Filter.js +74 -37
  40. package/es/table/pipeline/features/index.d.ts +1 -0
  41. package/es/table/pipeline/features/index.js +2 -1
  42. package/es/table/pipeline/features/rangeSelection.d.ts +10 -0
  43. package/es/table/pipeline/features/rangeSelection.js +231 -0
  44. package/es/table/pipeline/features/rowDetail.js +37 -15
  45. package/es/table/pipeline/features/singleSelect.js +4 -1
  46. package/es/table/pipeline/features/sort.js +2 -3
  47. package/es/table/pipeline/features/treeMode.js +1 -2
  48. package/es/table/pipeline/pipeline.d.ts +4 -0
  49. package/es/table/pipeline/pipeline.js +32 -5
  50. package/es/table/pivot/cross-table/buildCrossTable.js +1 -2
  51. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -2
  52. package/es/table/pivot/pivot-utils/builders.js +1 -2
  53. package/es/table/pivot/pivot-utils/convert-utils.js +1 -2
  54. package/es/table/transforms/autoWidth.js +1 -2
  55. package/es/table/transforms/sort.js +1 -2
  56. package/es/table/transforms/treeMode.js +1 -2
  57. package/es/table/utils/applyTransforms.js +1 -3
  58. package/es/table/utils/browserType.d.ts +6 -0
  59. package/es/table/utils/browserType.js +6 -0
  60. package/es/table/utils/buildTree.js +4 -5
  61. package/es/table/utils/collectNodes.js +1 -2
  62. package/es/table/utils/exportTableAsExcel.js +1 -2
  63. package/es/table/utils/getTreeDepth.js +1 -2
  64. package/es/table/utils/groupBy.js +1 -2
  65. package/es/table/utils/index.d.ts +1 -0
  66. package/es/table/utils/index.js +2 -1
  67. package/es/table/utils/layeredSort.js +5 -2
  68. package/es/table/utils/makeRecursiveMapper.js +4 -5
  69. package/es/table/utils/others.d.ts +1 -1
  70. package/es/table/utils/others.js +20 -14
  71. package/es/table/utils/traverseColumn.js +1 -2
  72. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +4 -5
  73. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +4 -5
  74. package/lib/_utils/formatUtil.js +1 -1
  75. package/lib/_utils/hooks.js +2 -4
  76. package/lib/_utils/numberUtil.js +7 -9
  77. package/lib/_utils/usePopper.js +9 -1
  78. package/lib/config-provider/configProvider.js +9 -1
  79. package/lib/config-provider/index.js +5 -5
  80. package/lib/locale/index.js +14 -6
  81. package/lib/locale/locale.js +2 -4
  82. package/lib/table/base/calculations.js +3 -5
  83. package/lib/table/base/empty.js +9 -1
  84. package/lib/table/base/header.d.ts +6 -2
  85. package/lib/table/base/header.js +33 -10
  86. package/lib/table/base/helpers/SpanManager.js +1 -1
  87. package/lib/table/base/helpers/TableDOMUtils.d.ts +3 -0
  88. package/lib/table/base/helpers/TableDOMUtils.js +21 -5
  89. package/lib/table/base/helpers/getRichVisibleRectsStream.d.ts +23 -0
  90. package/lib/table/base/helpers/getRichVisibleRectsStream.js +246 -0
  91. package/lib/table/base/html-table.d.ts +3 -1
  92. package/lib/table/base/html-table.js +34 -8
  93. package/lib/table/base/index.js +4 -4
  94. package/lib/table/base/interfaces.d.ts +1 -0
  95. package/lib/table/base/renderTemplates.d.ts +1 -0
  96. package/lib/table/base/renderTemplates.js +370 -0
  97. package/lib/table/base/styles.d.ts +14 -0
  98. package/lib/table/base/styles.js +31 -12
  99. package/lib/table/base/table.d.ts +12 -4
  100. package/lib/table/base/table.js +191 -137
  101. package/lib/table/base/utils.d.ts +6 -3
  102. package/lib/table/base/utils.js +47 -10
  103. package/lib/table/common-views.js +2 -2
  104. package/lib/table/pipeline/features/__test__/sort.test.js +5 -3
  105. package/lib/table/pipeline/features/autoFill.js +9 -2
  106. package/lib/table/pipeline/features/columnDrag.js +108 -40
  107. package/lib/table/pipeline/features/columnFilter.js +6 -9
  108. package/lib/table/pipeline/features/columnResizeWidth.d.ts +3 -0
  109. package/lib/table/pipeline/features/columnResizeWidth.js +21 -5
  110. package/lib/table/pipeline/features/contextMenu.js +53 -11
  111. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -2
  112. package/lib/table/pipeline/features/filter/Filter.js +88 -37
  113. package/lib/table/pipeline/features/filter/FilterPanel.js +10 -2
  114. package/lib/table/pipeline/features/filter/index.js +4 -4
  115. package/lib/table/pipeline/features/index.d.ts +1 -0
  116. package/lib/table/pipeline/features/index.js +37 -27
  117. package/lib/table/pipeline/features/rangeSelection.d.ts +10 -0
  118. package/lib/table/pipeline/features/rangeSelection.js +256 -0
  119. package/lib/table/pipeline/features/rowDetail.js +39 -15
  120. package/lib/table/pipeline/features/singleSelect.js +4 -1
  121. package/lib/table/pipeline/features/sort.js +2 -4
  122. package/lib/table/pipeline/features/treeMode.js +2 -4
  123. package/lib/table/pipeline/index.js +11 -3
  124. package/lib/table/pipeline/pipeline.d.ts +4 -0
  125. package/lib/table/pipeline/pipeline.js +33 -7
  126. package/lib/table/pivot/cross-table/buildCrossTable.js +1 -3
  127. package/lib/table/pivot/cross-table/index.js +4 -4
  128. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +1 -3
  129. package/lib/table/pivot/pivot-utils/builders.js +2 -4
  130. package/lib/table/pivot/pivot-utils/convert-utils.js +1 -3
  131. package/lib/table/pivot/pivot-utils/index.js +4 -4
  132. package/lib/table/transforms/autoWidth.js +10 -4
  133. package/lib/table/transforms/columnResize.js +10 -2
  134. package/lib/table/transforms/index.js +32 -32
  135. package/lib/table/transforms/sort.js +10 -4
  136. package/lib/table/transforms/treeMode.js +9 -3
  137. package/lib/table/utils/applyTransforms.js +1 -5
  138. package/lib/table/utils/browserType.d.ts +6 -0
  139. package/lib/table/utils/browserType.js +13 -0
  140. package/lib/table/utils/buildTree.js +1 -3
  141. package/lib/table/utils/collectNodes.js +1 -3
  142. package/lib/table/utils/copyToClipboard.js +1 -1
  143. package/lib/table/utils/element.js +3 -3
  144. package/lib/table/utils/exportTableAsExcel.js +1 -3
  145. package/lib/table/utils/getTreeDepth.js +1 -3
  146. package/lib/table/utils/groupBy.js +1 -3
  147. package/lib/table/utils/index.d.ts +1 -0
  148. package/lib/table/utils/index.js +57 -49
  149. package/lib/table/utils/layeredSort.js +6 -2
  150. package/lib/table/utils/makeRecursiveMapper.js +1 -3
  151. package/lib/table/utils/others.d.ts +1 -1
  152. package/lib/table/utils/others.js +23 -18
  153. package/lib/table/utils/traverseColumn.js +1 -3
  154. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +5 -7
  155. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +5 -7
  156. package/package.json +6 -2
  157. package/dist/kd-table.css +0 -422
  158. package/dist/kd-table.css.map +0 -1
  159. package/dist/kd-table.js +0 -38578
  160. package/dist/kd-table.js.map +0 -1
  161. package/dist/kd-table.min.css +0 -9
  162. package/dist/kd-table.min.js +0 -208
  163. package/dist/kd-table.min.js.map +0 -1
  164. package/es/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  165. package/es/table/base/helpers/__test__/visible-part.test.js +0 -28
  166. package/es/table/base/helpers/visible-part.d.ts +0 -23
  167. package/es/table/base/helpers/visible-part.js +0 -58
  168. package/lib/table/base/helpers/__test__/visible-part.test.d.ts +0 -1
  169. package/lib/table/base/helpers/__test__/visible-part.test.js +0 -31
  170. package/lib/table/base/helpers/visible-part.d.ts +0 -23
  171. 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
- }