@king-design/intact 3.5.0-beta.0 → 3.5.0

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 (122) hide show
  1. package/components/affix/index.md +1 -0
  2. package/components/affix/index.ts +2 -0
  3. package/components/affix/useStyle.ts +38 -35
  4. package/components/datepicker/basepicker.ts +3 -3
  5. package/components/dialog/styles.ts +2 -2
  6. package/components/dropdown/useKeyboard.ts +3 -0
  7. package/components/layout/styles.ts +1 -0
  8. package/components/select/base.ts +2 -0
  9. package/components/select/base.vdt +0 -2
  10. package/components/select/demos/group.md +1 -1
  11. package/components/select/demos/virtual.md +47 -0
  12. package/components/select/group.vdt +3 -2
  13. package/components/select/index.md +1 -0
  14. package/components/select/menu.vdt +5 -4
  15. package/components/select/select.vdt +1 -1
  16. package/components/select/useFilterable.ts +2 -2
  17. package/components/select/useInput.ts +6 -1
  18. package/components/table/demos/fixHeader.md +25 -5
  19. package/components/table/demos/virtual.md +105 -0
  20. package/components/table/index.md +1 -0
  21. package/components/table/index.spec.ts +2 -1
  22. package/components/table/row.ts +2 -1
  23. package/components/table/styles.ts +4 -0
  24. package/components/table/table.ts +6 -4
  25. package/components/table/table.vdt +15 -11
  26. package/components/treeSelect/index.ts +1 -1
  27. package/components/virtualList/container.ts +36 -0
  28. package/components/virtualList/container.vdt +30 -0
  29. package/components/virtualList/demos/basic.md +67 -0
  30. package/components/virtualList/demos/combined.md +57 -0
  31. package/components/virtualList/demos/delete.md +70 -0
  32. package/components/virtualList/index.md +19 -0
  33. package/components/virtualList/index.spec.ts +263 -0
  34. package/components/virtualList/index.ts +5 -0
  35. package/components/virtualList/phantom.ts +18 -0
  36. package/components/virtualList/phantom.vdt +28 -0
  37. package/components/virtualList/rows.ts +13 -0
  38. package/components/virtualList/rows.vdt +20 -0
  39. package/components/virtualList/styles.ts +29 -0
  40. package/components/virtualList/useRows.ts +24 -0
  41. package/components/virtualList/useVirtualRows.ts +145 -0
  42. package/components/virtualList/virtual.ts +19 -0
  43. package/components/virtualList/virtual.vdt +17 -0
  44. package/components/virtualList/wrapper.ts +17 -0
  45. package/components/virtualList/wrapper.vdt +24 -0
  46. package/es/components/affix/index.d.ts +1 -0
  47. package/es/components/affix/index.js +2 -1
  48. package/es/components/affix/useStyle.js +50 -47
  49. package/es/components/datepicker/basepicker.js +3 -3
  50. package/es/components/dialog/styles.js +2 -2
  51. package/es/components/dropdown/useKeyboard.js +3 -0
  52. package/es/components/input/index.spec.js +4 -2
  53. package/es/components/layout/styles.js +1 -1
  54. package/es/components/select/base.d.ts +1 -0
  55. package/es/components/select/base.js +2 -1
  56. package/es/components/select/base.vdt.js +2 -4
  57. package/es/components/select/group.vdt.js +8 -3
  58. package/es/components/select/menu.vdt.js +12 -3
  59. package/es/components/select/select.vdt.js +2 -1
  60. package/es/components/select/useFilterable.js +7 -5
  61. package/es/components/select/useInput.js +6 -2
  62. package/es/components/table/index.spec.js +7 -6
  63. package/es/components/table/styles.js +1 -1
  64. package/es/components/table/table.d.ts +1 -0
  65. package/es/components/table/table.js +3 -2
  66. package/es/components/table/table.vdt.js +126 -114
  67. package/es/components/treeSelect/index.js +4 -3
  68. package/es/components/virtualList/container.d.ts +10 -0
  69. package/es/components/virtualList/container.js +26 -0
  70. package/es/components/virtualList/container.vdt.js +39 -0
  71. package/es/components/virtualList/index.d.ts +5 -0
  72. package/es/components/virtualList/index.js +5 -0
  73. package/es/components/virtualList/index.spec.d.ts +1 -0
  74. package/es/components/virtualList/index.spec.js +372 -0
  75. package/es/components/virtualList/phantom.d.ts +9 -0
  76. package/es/components/virtualList/phantom.js +24 -0
  77. package/es/components/virtualList/phantom.vdt.js +33 -0
  78. package/es/components/virtualList/rows.d.ts +8 -0
  79. package/es/components/virtualList/rows.js +20 -0
  80. package/es/components/virtualList/rows.vdt.js +32 -0
  81. package/es/components/virtualList/styles.d.ts +13 -0
  82. package/es/components/virtualList/styles.js +34 -0
  83. package/es/components/virtualList/useRows.d.ts +2 -0
  84. package/es/components/virtualList/useRows.js +19 -0
  85. package/es/components/virtualList/useVirtualRows.d.ts +20 -0
  86. package/es/components/virtualList/useVirtualRows.js +120 -0
  87. package/es/components/virtualList/virtual.d.ts +8 -0
  88. package/es/components/virtualList/virtual.js +15 -0
  89. package/es/components/virtualList/virtual.vdt.js +26 -0
  90. package/es/components/virtualList/wrapper.d.ts +9 -0
  91. package/es/components/virtualList/wrapper.js +24 -0
  92. package/es/components/virtualList/wrapper.vdt.js +34 -0
  93. package/es/index.d.ts +3 -2
  94. package/es/index.js +3 -2
  95. package/es/site/data/components/select/demos/virtual/index.d.ts +11 -0
  96. package/es/site/data/components/select/demos/virtual/index.js +32 -0
  97. package/es/site/data/components/select/demos/virtual/react.d.ts +11 -0
  98. package/es/site/data/components/select/demos/virtual/react.js +53 -0
  99. package/es/site/data/components/table/demos/fixHeader/index.d.ts +6 -0
  100. package/es/site/data/components/table/demos/fixHeader/index.js +14 -0
  101. package/es/site/data/components/table/demos/fixHeader/react.d.ts +6 -0
  102. package/es/site/data/components/table/demos/fixHeader/react.js +28 -11
  103. package/es/site/data/components/table/demos/virtual/index.d.ts +13 -0
  104. package/es/site/data/components/table/demos/virtual/index.js +76 -0
  105. package/es/site/data/components/table/demos/virtual/react.d.ts +14 -0
  106. package/es/site/data/components/table/demos/virtual/react.js +114 -0
  107. package/es/site/data/components/virtualList/demos/basic/index.d.ts +12 -0
  108. package/es/site/data/components/virtualList/demos/basic/index.js +42 -0
  109. package/es/site/data/components/virtualList/demos/basic/react.d.ts +12 -0
  110. package/es/site/data/components/virtualList/demos/basic/react.js +67 -0
  111. package/es/site/data/components/virtualList/demos/combined/index.d.ts +11 -0
  112. package/es/site/data/components/virtualList/demos/combined/index.js +32 -0
  113. package/es/site/data/components/virtualList/demos/combined/react.d.ts +11 -0
  114. package/es/site/data/components/virtualList/demos/combined/react.js +50 -0
  115. package/es/site/data/components/virtualList/demos/delete/index.d.ts +13 -0
  116. package/es/site/data/components/virtualList/demos/delete/index.js +51 -0
  117. package/es/site/data/components/virtualList/demos/delete/react.d.ts +13 -0
  118. package/es/site/data/components/virtualList/demos/delete/react.js +75 -0
  119. package/es/site/data/components/virtualList/index.d.ts +57 -0
  120. package/es/site/data/components/virtualList/index.js +32 -0
  121. package/index.ts +3 -2
  122. package/package.json +1 -1
@@ -14,7 +14,8 @@ export default function ($props, $blocks, $__proto__) {
14
14
  autoDisableArrow = _this$get.autoDisableArrow,
15
15
  disabled = _this$get.disabled,
16
16
  multiple = _this$get.multiple,
17
- value = _this$get.value;
17
+ value = _this$get.value,
18
+ virtual = _this$get.virtual;
18
19
  var _this$filterable = this.filterable,
19
20
  getCreatedVNode = _this$filterable.getCreatedVNode,
20
21
  filter = _filterInstanceProperty(_this$filterable);
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
- import _findInstanceProperty from "@babel/runtime-corejs3/core-js/instance/find";
3
2
  import _trimInstanceProperty from "@babel/runtime-corejs3/core-js/instance/trim";
3
+ import _findInstanceProperty from "@babel/runtime-corejs3/core-js/instance/find";
4
4
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js/instance/filter";
5
5
  import { useInstance, createVNode as h, directClone } from 'intact';
6
6
  import { Option } from './option';
@@ -10,18 +10,19 @@ import { getTextByChildren, mapChildren, isComponentVNode } from '../utils';
10
10
  export function useFilterable(keywords) {
11
11
  var component = useInstance();
12
12
  function getCreatedVNode(children) {
13
+ var _context;
13
14
  var _component$get = component.get(),
14
15
  creatable = _component$get.creatable,
15
16
  filterable = _component$get.filterable;
16
- var _keywords = keywords.value;
17
+ var _keywords = _trimInstanceProperty(_context = keywords.value).call(_context);
17
18
  if (creatable && filterable && _keywords) {
18
19
  if (!_findInstanceProperty(children).call(children, function (vNode) {
19
20
  // TODO: create Option for OptionGroup
20
21
  if (vNode.tag === Option) {
21
- var _context;
22
+ var _context2;
22
23
  var props = vNode.props;
23
24
  if (isNullOrUndefined(props)) return false;
24
- if (props.value === _keywords || _trimInstanceProperty(_context = props.label).call(_context) === _keywords) {
25
+ if (props.value === _keywords || _trimInstanceProperty(_context2 = props.label).call(_context2) === _keywords) {
25
26
  return true;
26
27
  }
27
28
  }
@@ -47,6 +48,7 @@ export function useFilterable(keywords) {
47
48
  var _children = [];
48
49
  mapChildren(children, function (vNode) {
49
50
  if (isComponentVNode(vNode, Option)) {
51
+ var _context3;
50
52
  var props = vNode.props;
51
53
  if (isNullOrUndefined(props)) return;
52
54
  vNode = directClone(vNode);
@@ -59,7 +61,7 @@ export function useFilterable(keywords) {
59
61
  if (isStringOrNumber(value)) {
60
62
  vNode.key = value;
61
63
  }
62
- if (filter(keywords.value, vNode.props)) {
64
+ if (filter(_trimInstanceProperty(_context3 = keywords.value).call(_context3), vNode.props)) {
63
65
  _children.push(vNode);
64
66
  }
65
67
  } else if (isComponentVNode(vNode, OptionGroup)) {
@@ -1,4 +1,3 @@
1
- import _trimInstanceProperty from "@babel/runtime-corejs3/core-js/instance/trim";
2
1
  import { useInstance, nextTick, createRef } from 'intact';
3
2
  import { useState } from '../../hooks/useState';
4
3
  export function useInput(resetKeywords) {
@@ -6,7 +5,12 @@ export function useInput(resetKeywords) {
6
5
  var keywords = useState('');
7
6
  var inputRef = createRef();
8
7
  function onInput(value) {
9
- keywords.set(_trimInstanceProperty(value).call(value));
8
+ /**
9
+ * can not trim the keywords, otherwise we can not input spaces
10
+ * https://github.com/ksc-fe/kpc/issues/1047
11
+ */
12
+ // keywords.set(value.trim());
13
+ keywords.set(value);
10
14
  var dropdown = component.dropdownRef.value;
11
15
  // the position may be flip, and the select input height may change height too,
12
16
  // so we should reset the position
@@ -777,27 +777,28 @@ describe('Table', function () {
777
777
  while (1) switch (_context21.prev = _context21.next) {
778
778
  case 0:
779
779
  _mount19 = mount(TreeDemo), instance = _mount19[0], element = _mount19[1];
780
- table = instance.$lastInput.children; // check all
780
+ table = instance.$lastInput.children[0].children; // check all
781
781
  checkbox = element.querySelector('.k-checkbox');
782
782
  checkbox.click();
783
783
  _context21.next = 6;
784
784
  return wait();
785
785
  case 6:
786
786
  expect(element.innerHTML).to.matchSnapshot();
787
+ debugger;
787
788
  expect(table.getCheckedData()).to.have.lengthOf(8);
788
789
  arrow = element.querySelector('.k-table-arrow');
789
790
  arrow.click();
790
- _context21.next = 12;
791
+ _context21.next = 13;
791
792
  return wait();
792
- case 12:
793
+ case 13:
793
794
  expect(element.innerHTML).to.matchSnapshot();
794
795
  arrow.click();
795
- _context21.next = 16;
796
+ _context21.next = 17;
796
797
  return wait();
797
- case 16:
798
+ case 17:
798
799
  expect(element.innerHTML).to.matchSnapshot();
799
800
  expect(table.getCheckedData()).to.have.lengthOf(8);
800
- case 18:
801
+ case 19:
801
802
  case "end":
802
803
  return _context21.stop();
803
804
  }
@@ -93,7 +93,7 @@ export { table };
93
93
  export var makeStyles = cache(function makeStyles(k) {
94
94
  return /*#__PURE__*/css("font-size:", table.fontSize, ";color:", table.color, ";position:relative;z-index:0;.", k, "-table-wrapper{border-bottom:", table.border, ";overflow:auto;border-radius:", table.borderRadius, ";}table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;}thead{text-align:", table.thead.textAlign, ";font-size:", table.thead.fontSize, ";font-weight:", table.thead.fontWeight, ";z-index:2;tr{height:", table.thead.height, ";&:not(:last-of-type) th{border-bottom:", table.border, ";}}}tfoot{z-index:2;tr{td{border-top:", table.border, ";border-bottom-color:transparent;}}}th{padding:", table.thead.padding, ";position:relative;background:", table.thead.bgColor, ";line-height:normal;&:before{content:'';height:", table.thead.delimiterHeight, ";position:absolute;background-color:", table.thead.delimiterColor, ";width:1px;left:1px;top:50%;transform:translateY(-50%);}&.", k, "-fixed-right:before{left:-2px;}&:first-of-type:before{display:none;}}.", k, "-table-title{display:inline-flex;align-items:center;max-width:100%;color:", table.thead.color, ";}.", k, "-table-title-text{flex:1;display:inline-flex;line-height:1.4;}tbody{tr{&:hover td{background:", table.tbody.hoverBgcolor, ";}&:last-of-type td{border-bottom-color:transparent;}}}td{padding:", table.tbody.padding, ";border-bottom:", table.border, ";background:", table.bgColor, ";word-wrap:break-word;}.", k, "-fixed-left,.", k, "-fixed-right{position:sticky;z-index:1;&:after{content:'';display:block;transition:box-shadow ", table.transition, ";position:absolute;top:0;bottom:0px;width:10px;pointer-events:none;}}.", k, "-fixed-left:after{right:-11px;}.", k, "-fixed-right:after{left:-11px;}&.", k, "-scroll-left .", k, "-fixed-right:after{box-shadow:", table.fixRightShadow, ";}&.", k, "-scroll-right .", k, "-fixed-left:after{box-shadow:", table.fixLeftShadow, ";}&.", k, "-scroll-middle{.", k, "-fixed-left:after{box-shadow:", table.fixLeftShadow, ";}.", k, "-fixed-right:after{box-shadow:", table.fixRightShadow, ";}}.", k, "-fixed-right+.", k, "-fixed-right:after{display:none;}.", k, "-table-affix-header{position:sticky;top:0;left:0;.", k, "-affix-wrapper{overflow:hidden;}&.", k, "-fixed{position:relative;}}&.", k, "-border,&.", k, "-grid{.", k, "-table-wrapper{border-top:", table.border, ";border-left:", table.border, ";border-right:", table.border, ";}}&.", k, "-grid{td:not(:last-of-type),th:not(:last-of-type){border-right:", table.border, ";}th:before{display:none;}}&.", k, "-stripe{tr:nth-child(even):not(:hover) td{background:", table.stripeBgColor, ";}}.", k, "-table-group{margin-left:", table.group.gap, ";}.", k, "-table-check{.", k, "-checkbox,.", k, "-radio{position:relative;top:-1px;}}.", k, "-column-sortable{cursor:pointer;}.", k, "-column-sort{.", k, "-icon{display:block;height:", _sortInstanceProperty(table).iconHeight, ";line-height:", _sortInstanceProperty(table).iconHeight, ";margin:0 0 1px ", _sortInstanceProperty(table).gap, ";}&.", k, "-desc .", k, "-icon.", k, "-desc,&.", k, "-asc .", k, "-icon.", k, "-asc{color:", _sortInstanceProperty(table).enabledColor, ";}}.", k, "-table-spin.", k, "-overlay{z-index:2;}.", k, "-table-empty{text-align:center;}tr.", k, "-expand{td{padding:0;background:#fdfcff;}}&.", k, "-with-expand{tr:not(.", k, "-expand){td{border-bottom:none;}}}.", k, "-table-expand{border-top:", table.border, ";box-sizing:content-box;}tbody tr.", k, "-selected td{background:", table.selectedBgColor, ";}.", k, "-hidden{display:none;}.", k, "-table-arrow{width:", table.arrow.width, "!important;margin-right:", table.arrow.gap, ";transition:transform ", table.transition, ";position:relative;top:-1px;}tr.", k, "-spreaded{.", k, "-table-arrow{transform:rotate(90deg);}}.", k, "-table-resize{height:100%;width:", table.resizeWidth, ";position:absolute;top:0;left:-1px;cursor:ew-resize;}tr.", k, "-dragging{opacity:", table.draggingOpacity, ";}.", k, "-table-scrollbar{overflow-x:auto;overflow-y:hidden;}.", k, "-table-scrollbar-inner{height:1px;}", _mapInstanceProperty(aligns).call(aligns, function (type) {
95
95
  return /*#__PURE__*/css(".", k, "-align-", type, "{text-align:", type, ";}");
96
- }), ">.", k, "-pagination{margin:16px 0;}&.", k, "-fix-header{min-height:0;.", k, "-table-wrapper{height:100%;}thead{position:sticky;top:0;}}&.", k, "-fix-footer{min-height:0;.", k, "-table-wrapper{height:100%;}tfoot{position:sticky;bottom:0;}}");
96
+ }), ">.", k, "-pagination{margin:16px 0;}&.", k, "-fix-header{min-height:0;.", k, "-table-wrapper{height:100%;}thead{position:sticky;top:0;}}&.", k, "-fix-footer{min-height:0;.", k, "-table-wrapper{height:100%;}tfoot{position:sticky;bottom:0;}}.", k, "-table-phantom{position:static;}");
97
97
  });
98
98
  export var makeGroupMenuStyles = cache(function makeGroupMenuStyles(k) {
99
99
  return /*#__PURE__*/css("min-width:", table.group.menuMinWidth, "!important;.", k, "-dropdown-item.", k, "-active{color:", table.group.activeColor, ";}.", k, "-table-group-header{padding:", table.group.headerPadding, ";border-bottom:", table.group.headerBorder, ";}.", k, "-table-group-body{max-height:", table.group.menuMaxHeight, ";overflow:auto;}.", k, "-table-group-footer{text-align:right;border-top:", table.group.headerBorder, ";padding:8px;.", k, "-btn{margin-left:8px;}}");
@@ -39,6 +39,7 @@ export interface TableProps<T = any, K extends TableRowKey = TableRowKey, C exte
39
39
  hideHeader?: boolean;
40
40
  pagination?: boolean | PaginationProps;
41
41
  fixFooter?: boolean;
42
+ virtual?: boolean;
42
43
  spreadArrowIndex?: number;
43
44
  load?: (value: T) => Promise<void> | void;
44
45
  }
@@ -63,6 +63,7 @@ var typeDefs = {
63
63
  hideHeader: Boolean,
64
64
  pagination: [Boolean, Object],
65
65
  fixFooter: Boolean,
66
+ virtual: Boolean,
66
67
  spreadArrowIndex: Number,
67
68
  load: Function
68
69
  };
@@ -146,9 +147,9 @@ export var Table = /*#__PURE__*/function (_Component) {
146
147
  // we can not use scrollIntoView with smooth, because it can only operate one element
147
148
  // at the same time
148
149
  // elem.scrollIntoView({behavior: 'smooth'});
149
- var headerHeight = scrollElement.querySelector('thead').offsetHeight;
150
+ // const headerHeight = (scrollElement.querySelector('thead') as HTMLElement).offsetHeight;
150
151
  var scrollTop = scrollElement.scrollTop;
151
- var offsetTop = tr.offsetTop - headerHeight;
152
+ var offsetTop = tr.offsetTop;
152
153
  var top = offsetTop - scrollTop;
153
154
  var topOneFrame = top / 60 / (100 / 1000);
154
155
  var step = function step() {
@@ -20,6 +20,7 @@ import { AllCheckedStatus } from './useChecked';
20
20
  import { context as ResizableContext } from './useResizable';
21
21
  import { context as FixedColumnsContext } from './useFixedColumns';
22
22
  import { Pagination } from '../pagination';
23
+ import { VirtualListContainer, VirtualListWrapper, VirtualListRows, VirtualListPhantom } from '../virtualList';
23
24
  var _$tmp0 = {
24
25
  'width': '40'
25
26
  };
@@ -56,6 +57,7 @@ export default function ($props, $blocks, $__proto__) {
56
57
  hideHeader = _this$get.hideHeader,
57
58
  pagination = _this$get.pagination,
58
59
  fixFooter = _this$get.fixFooter,
60
+ virtual = _this$get.virtual,
59
61
  spreadArrowIndex = _this$get.spreadArrowIndex;
60
62
  var animation = !Array.isArray(_animation) ? [_animation, _animation] : _animation;
61
63
  var _this$columns$getData = this.columns.getData(),
@@ -168,114 +170,119 @@ export default function ($props, $blocks, $__proto__) {
168
170
  onRowDragOver = _this$draggable.onRowDragOver,
169
171
  onRowDragEnd = _this$draggable.onRowDragEnd,
170
172
  draggingKey = _this$draggable.draggingKey;
171
- var tbody = _$ce(2, 'tbody', !hasData ? _$ce(2, 'tr', _$ce(2, 'td', (_$blocks['empty'] = function ($super) {
172
- return _$('暂无数据');
173
- }, __$blocks['empty'] = function ($super, data) {
174
- var block = $blocks['empty'];
175
- var callBlock = function callBlock() {
176
- return _$blocks['empty'].call($this, $super, data);
177
- };
178
- return block ? block.call($this, callBlock, data) : callBlock();
179
- }, __$blocks['empty'](_$no)), 0, _$cn(k + "-table-empty"), {
180
- 'colspan': colCount
181
- }), 2, null, null, 'table-empty') : function () {
182
- var rows = [];
183
- loopData(function (value, index, level, hidden) {
184
- // don't render if row is hidden
185
- if (hidden) return hidden;
186
- var status = allStatus[index];
187
- var key = allKeys[index];
188
- var spreaded = isSpreaded(key);
189
- var hasChildren = !!childrenKey && Array.isArray(value[childrenKey]);
190
- var indentSize = indent ? indent * level : 0;
191
- var row = _$cc(TableRow, {
192
- 'key': key,
193
- 'cols': cols,
194
- 'data': value,
195
- 'loaded': value.loaded,
196
- 'checkType': checkType,
197
- 'hasFixedLeft': hasFixedLeft,
198
- 'onClick': _this.clickRow,
199
- 'checked': status.checked,
200
- 'indeterminate': status.indeterminate,
201
- 'index': index,
202
- 'disabled': status.disabled,
203
- 'allDisabled': status.allDisabled,
204
- 'className': _$cn(rowClassName && rowClassName(value, index, key)),
205
- 'merge': merge,
206
- 'grid': getGrid(),
207
- 'onChangeChecked': onChangeChecked,
208
- 'selected': isSelected(key),
209
- 'spreaded': spreaded,
210
- 'hasChildren': hasChildren,
211
- 'indent': indentSize,
212
- 'onToggleSpreadRow': toggleSpreadRow,
213
- 'onBeforeUnmount': _this.resetRowStatus.onRowBeforeUnmount,
214
- 'offsetMap': offsetMap.value,
215
- 'animation': animation[1],
216
- 'spreadArrowIndex': spreadArrowIndex,
217
- 'draggable': draggable,
218
- 'draggingKey': draggingKey.value,
219
- 'onRowDragStart': onRowDragStart,
220
- 'onRowDragEnd': onRowDragEnd,
221
- 'onRowDragOver': onRowDragOver
222
- }, key);
223
- if ($blocks.tooltip) {
224
- var content = (_$blocks['tooltip'] = function ($super) {
225
- return null;
226
- }, __$blocks['tooltip'] = function ($super, data) {
227
- var block = $blocks['tooltip'];
228
- var callBlock = function callBlock() {
229
- return _$blocks['tooltip'].call($this, $super, data);
230
- };
231
- return block ? block.call($this, callBlock, data) : callBlock();
232
- }, __$blocks['tooltip'](_$no, [value, index]));
233
- row = _$cc(Tooltip, {
173
+ var tbody = _$cc(VirtualListWrapper, {
174
+ 'tagName': 'tbody',
175
+ 'children': !hasData ? _$ce(2, 'tr', _$ce(2, 'td', (_$blocks['empty'] = function ($super) {
176
+ return _$('暂无数据');
177
+ }, __$blocks['empty'] = function ($super, data) {
178
+ var block = $blocks['empty'];
179
+ var callBlock = function callBlock() {
180
+ return _$blocks['empty'].call($this, $super, data);
181
+ };
182
+ return block ? block.call($this, callBlock, data) : callBlock();
183
+ }, __$blocks['empty'](_$no)), 0, _$cn(k + "-table-empty"), {
184
+ 'colspan': colCount
185
+ }), 2, null, null, 'table-empty') : function () {
186
+ var rows = [];
187
+ loopData(function (value, index, level, hidden) {
188
+ // don't render if row is hidden
189
+ if (hidden) return hidden;
190
+ var status = allStatus[index];
191
+ var key = allKeys[index];
192
+ var spreaded = isSpreaded(key);
193
+ var hasChildren = !!childrenKey && Array.isArray(value[childrenKey]);
194
+ var indentSize = indent ? indent * level : 0;
195
+ var row = _$cc(TableRow, {
234
196
  'key': key,
235
- 'position': tooltipPosition,
236
- 'container': tooltipContainer,
237
- 'children': row,
238
- '$blocks': function ($blocks) {
239
- var _$blocks = {},
240
- __$blocks = _$ex({}, $blocks);
241
- return (_$blocks['content'] = function ($super) {
242
- return content;
243
- }, __$blocks['content'] = function ($super, data) {
244
- var block = $blocks['content'];
245
- var callBlock = function callBlock() {
246
- return _$blocks['content'].call($this, $super, data);
247
- };
248
- return block ? block.call($this, callBlock, data) : callBlock();
249
- }), __$blocks;
250
- }.call($this, _$em)
197
+ 'cols': cols,
198
+ 'data': value,
199
+ 'loaded': value.loaded,
200
+ 'checkType': checkType,
201
+ 'hasFixedLeft': hasFixedLeft,
202
+ 'onClick': _this.clickRow,
203
+ 'checked': status.checked,
204
+ 'indeterminate': status.indeterminate,
205
+ 'index': index,
206
+ 'disabled': status.disabled,
207
+ 'allDisabled': status.allDisabled,
208
+ 'className': _$cn(rowClassName && rowClassName(value, index, key)),
209
+ 'merge': merge,
210
+ 'grid': getGrid(),
211
+ 'onChangeChecked': onChangeChecked,
212
+ 'selected': isSelected(key),
213
+ 'spreaded': spreaded,
214
+ 'hasChildren': hasChildren,
215
+ 'indent': indentSize,
216
+ 'onToggleSpreadRow': toggleSpreadRow,
217
+ 'onBeforeUnmount': _this.resetRowStatus.onRowBeforeUnmount,
218
+ 'offsetMap': offsetMap.value,
219
+ 'animation': animation[1],
220
+ 'spreadArrowIndex': spreadArrowIndex,
221
+ 'draggable': draggable,
222
+ 'draggingKey': draggingKey.value,
223
+ 'onRowDragStart': onRowDragStart,
224
+ 'onRowDragEnd': onRowDragEnd,
225
+ 'onRowDragOver': onRowDragOver
251
226
  }, key);
252
- }
253
- rows.push(row);
254
- if ($blocks.expand) {
255
- var _$cn3;
256
- var expanded = isExpanded(key);
257
- rows.push(_$ce(2, 'tr', _$ce(2, 'td', _$cc(Transition, _extends({}, expandAnimationCallbacks, {
258
- 'children': expanded ? _$ce(2, 'div', (_$blocks['expand'] = function ($super) {
227
+ if ($blocks.tooltip) {
228
+ var content = (_$blocks['tooltip'] = function ($super) {
259
229
  return null;
260
- }, __$blocks['expand'] = function ($super, data) {
261
- var block = $blocks['expand'];
230
+ }, __$blocks['tooltip'] = function ($super, data) {
231
+ var block = $blocks['tooltip'];
262
232
  var callBlock = function callBlock() {
263
- return _$blocks['expand'].call($this, $super, data);
233
+ return _$blocks['tooltip'].call($this, $super, data);
264
234
  };
265
235
  return block ? block.call($this, callBlock, data) : callBlock();
266
- }, __$blocks['expand'](_$no, [value, index])), 0, _$cn(k + "-table-expand")) : undefined
267
- })), 2, null, {
268
- 'colspan': colCount
269
- }), 2, _$cn((_$cn3 = {}, _$cn3[k + "-expand"] = true, _$cn3[k + "-expanded"] = expanded, _$cn3)), null, key + ".$expand"));
270
- }
271
- return hidden || !spreaded;
272
- });
273
- return animation[0] ? _$cc(TransitionGroup, {
274
- 'name': 'k-fade-in-left',
275
- 'move': !draggingKey.value,
276
- 'children': rows
277
- }) : rows;
278
- }(), 0);
236
+ }, __$blocks['tooltip'](_$no, [value, index]));
237
+ row = _$cc(Tooltip, {
238
+ 'key': key,
239
+ 'position': tooltipPosition,
240
+ 'container': tooltipContainer,
241
+ 'children': row,
242
+ '$blocks': function ($blocks) {
243
+ var _$blocks = {},
244
+ __$blocks = _$ex({}, $blocks);
245
+ return (_$blocks['content'] = function ($super) {
246
+ return content;
247
+ }, __$blocks['content'] = function ($super, data) {
248
+ var block = $blocks['content'];
249
+ var callBlock = function callBlock() {
250
+ return _$blocks['content'].call($this, $super, data);
251
+ };
252
+ return block ? block.call($this, callBlock, data) : callBlock();
253
+ }), __$blocks;
254
+ }.call($this, _$em)
255
+ }, key);
256
+ }
257
+ rows.push(row);
258
+ if ($blocks.expand) {
259
+ var _$cn3;
260
+ var expanded = isExpanded(key);
261
+ rows.push(_$ce(2, 'tr', _$ce(2, 'td', _$cc(Transition, _extends({}, expandAnimationCallbacks, {
262
+ 'children': expanded ? _$ce(2, 'div', (_$blocks['expand'] = function ($super) {
263
+ return null;
264
+ }, __$blocks['expand'] = function ($super, data) {
265
+ var block = $blocks['expand'];
266
+ var callBlock = function callBlock() {
267
+ return _$blocks['expand'].call($this, $super, data);
268
+ };
269
+ return block ? block.call($this, callBlock, data) : callBlock();
270
+ }, __$blocks['expand'](_$no, [value, index])), 0, _$cn(k + "-table-expand")) : undefined
271
+ })), 2, null, {
272
+ 'colspan': colCount
273
+ }), 2, _$cn((_$cn3 = {}, _$cn3[k + "-expand"] = true, _$cn3[k + "-expanded"] = expanded, _$cn3)), null, key + ".$expand"));
274
+ }
275
+ return hidden || !spreaded;
276
+ });
277
+ return animation[0] && !virtual ? _$cc(TransitionGroup, {
278
+ 'name': 'k-fade-in-left',
279
+ 'move': !draggingKey.value,
280
+ 'children': rows
281
+ }) : _$cc(VirtualListRows, {
282
+ 'children': rows
283
+ });
284
+ }()
285
+ });
279
286
  var tfooter = null;
280
287
  if ($blocks.footer) {
281
288
  tfooter = _$ce(2, 'tfoot', _$ce(2, 'tr', _$ce(2, 'td', (_$blocks['footer'] = function ($super) {
@@ -303,21 +310,26 @@ export default function ($props, $blocks, $__proto__) {
303
310
  pageLimit = _this$pagination.limit,
304
311
  onPageChange = _this$pagination.onChange,
305
312
  paginationRef = _this$pagination.paginationRef;
306
- return _$ce(2, 'div', [_$ce(2, 'div', [!isNull(stickHeader.value) ? _$cc(Affix, {
307
- 'top': stickHeader.value,
308
- 'exclude': excludeStickHeader,
309
- 'className': _$cn(k + "-table-affix-header"),
310
- 'children': _$ce(2, 'table', [colgroup, thead], 0, null, {
313
+ return _$ce(2, 'div', [_$cc(VirtualListContainer, {
314
+ 'className': _$cn(k + "-table-wrapper"),
315
+ 'disabled': !virtual,
316
+ 'style': style,
317
+ 'ref': scrollRef,
318
+ 'children': [_$cc(VirtualListPhantom), !isNull(stickHeader.value) || fixHeader ? _$cc(Affix, {
319
+ 'top': stickHeader.value,
320
+ 'exclude': excludeStickHeader,
321
+ 'className': _$cn(k + "-table-affix-header"),
322
+ 'disabled': !!fixHeader,
323
+ 'children': _$ce(2, 'table', [colgroup, thead], 0, null, {
324
+ 'style': {
325
+ width: tableWidthPx
326
+ }
327
+ }, null, headRef)
328
+ }) : undefined, _$ce(2, 'table', [colgroup, isNull(stickHeader.value) && !fixHeader ? thead : undefined, tbody, $blocks.footer ? tfooter : undefined], 0, null, {
311
329
  'style': {
312
330
  width: tableWidthPx
313
331
  }
314
- }, null, headRef)
315
- }) : undefined, _$ce(2, 'table', [colgroup, isNull(stickHeader.value) ? thead : undefined, tbody, $blocks.footer ? tfooter : undefined], 0, null, {
316
- 'style': {
317
- width: tableWidthPx
318
- }
319
- }, null, tableRef)], 0, _$cn(k + "-table-wrapper"), {
320
- 'style': style
332
+ }, null, tableRef)]
321
333
  }, null, scrollRef), pagination ? _$cc(Pagination, _extends({
322
334
  'ref': paginationRef,
323
335
  'total': data ? data.length : 0,
@@ -2,6 +2,7 @@ import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
2
2
  import _extends from "@babel/runtime-corejs3/helpers/extends";
3
3
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
4
4
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js/instance/find";
5
+ import _trimInstanceProperty from "@babel/runtime-corejs3/core-js/instance/trim";
5
6
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js/instance/filter";
6
7
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js/instance/includes";
7
8
  import { __decorate } from "tslib";
@@ -98,14 +99,14 @@ export var TreeSelect = /*#__PURE__*/function (_BaseSelect) {
98
99
  return label;
99
100
  };
100
101
  _proto.filter = function filter(data) {
101
- var _context2, _context3;
102
- var keywords = this.input.keywords.value;
102
+ var _context2, _context3, _context4;
103
+ var keywords = _trimInstanceProperty(_context2 = this.input.keywords.value).call(_context2);
103
104
  if (!keywords) return true;
104
105
  var _this$get3 = this.get(),
105
106
  filter = _filterInstanceProperty(_this$get3);
106
107
  if (filter) return filter(keywords, data);
107
108
  keywords = keywords.toLowerCase();
108
- return isStringOrNumber(data.label) && _includesInstanceProperty(_context2 = String(data.label).toLowerCase()).call(_context2, keywords) || _includesInstanceProperty(_context3 = String(data.key).toLowerCase()).call(_context3, keywords);
109
+ return isStringOrNumber(data.label) && _includesInstanceProperty(_context3 = String(data.label).toLowerCase()).call(_context3, keywords) || _includesInstanceProperty(_context4 = String(data.key).toLowerCase()).call(_context4, keywords);
109
110
  };
110
111
  return TreeSelect;
111
112
  }(BaseSelect);
@@ -0,0 +1,10 @@
1
+ import { Component, TypeDefs } from 'intact';
2
+ export interface VirtualListContainerProps {
3
+ disabled?: boolean;
4
+ }
5
+ export declare class VirtualListContainer extends Component<VirtualListContainerProps> {
6
+ static template: string | import("intact").Template<any>;
7
+ static typeDefs: Required<TypeDefs<VirtualListContainerProps>>;
8
+ private config;
9
+ private virtualRows;
10
+ }
@@ -0,0 +1,26 @@
1
+ import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
2
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
3
+ import { Component } from 'intact';
4
+ import template from './container.vdt';
5
+ import { useConfigContext } from '../config';
6
+ import { useVirtualRows } from './useVirtualRows';
7
+ var typeDefs = {
8
+ disabled: Boolean
9
+ };
10
+ export var VirtualListContainer = /*#__PURE__*/function (_Component) {
11
+ _inheritsLoose(VirtualListContainer, _Component);
12
+ function VirtualListContainer() {
13
+ var _context;
14
+ var _this;
15
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
16
+ args[_key] = arguments[_key];
17
+ }
18
+ _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
19
+ _this.config = useConfigContext();
20
+ _this.virtualRows = useVirtualRows();
21
+ return _this;
22
+ }
23
+ return VirtualListContainer;
24
+ }(Component);
25
+ VirtualListContainer.template = template;
26
+ VirtualListContainer.typeDefs = typeDefs;
@@ -0,0 +1,39 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import { createUnknownComponentVNode as _$cc, createVNode as _$cv, className as _$cn } from 'intact';
3
+ import { addStyle, getRestProps } from '../utils';
4
+ import { makeContainerStyles } from './styles';
5
+ import { context as VirtualRowsContext } from './useVirtualRows';
6
+ export default function ($props, $blocks, $__proto__) {
7
+ var _classNameObj;
8
+ $blocks || ($blocks = {});
9
+ $props || ($props = {});
10
+ var $this = this;
11
+ var _this$get = this.get(),
12
+ children = _this$get.children,
13
+ className = _this$get.className,
14
+ disabled = _this$get.disabled,
15
+ ref = _this$get.ref;
16
+ var k = this.config.k;
17
+ var _this$virtualRows = this.virtualRows,
18
+ notifyRows = _this$virtualRows.notifyRows,
19
+ startIndex = _this$virtualRows.startIndex,
20
+ length = _this$virtualRows.length,
21
+ getTotalHeight = _this$virtualRows.getTotalHeight,
22
+ translateY = _this$virtualRows.translateY;
23
+ var classNameObj = (_classNameObj = {}, _classNameObj[k + "-virtual"] = !disabled, _classNameObj[k + "-virtual-container"] = !disabled, _classNameObj[makeContainerStyles(k)] = !disabled, _classNameObj[className] = className, _classNameObj);
24
+ return _$cc(VirtualRowsContext.Provider, {
25
+ 'value': {
26
+ disabled: disabled,
27
+ notifyRows: notifyRows,
28
+ getTotalHeight: getTotalHeight,
29
+ startIndex: startIndex.value,
30
+ length: length.value,
31
+ translateY: translateY.value
32
+ },
33
+ 'children': _$cv('div', _extends({}, getRestProps(this), {
34
+ 'className': _$cn(classNameObj),
35
+ 'ref': ref
36
+ }), children)
37
+ });
38
+ }
39
+ ;
@@ -0,0 +1,5 @@
1
+ export * from './container';
2
+ export * from './wrapper';
3
+ export * from './rows';
4
+ export * from './virtual';
5
+ export * from './phantom';
@@ -0,0 +1,5 @@
1
+ export * from './container';
2
+ export * from './wrapper';
3
+ export * from './rows';
4
+ export * from './virtual';
5
+ export * from './phantom';
@@ -0,0 +1 @@
1
+ export {};