@vtx/components 2.5.13 → 2.5.15

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 (242) hide show
  1. package/CHANGELOG.md +842 -0
  2. package/lib/_util/filterSpecialCharacters.js +43 -54
  3. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  4. package/lib/_util/getComponentProps.js +3 -0
  5. package/lib/_util/getComponentProps.js.map +1 -1
  6. package/lib/_util/getUrlParam.js +6 -0
  7. package/lib/_util/getUrlParam.js.map +1 -1
  8. package/lib/_util/isFunction.js +1 -0
  9. package/lib/_util/isFunction.js.map +1 -1
  10. package/lib/_util/isObject.js +1 -0
  11. package/lib/_util/isObject.js.map +1 -1
  12. package/lib/_util/useInterval.js +3 -0
  13. package/lib/_util/useInterval.js.map +1 -1
  14. package/lib/_util/useSet.js +32 -14
  15. package/lib/_util/useSet.js.map +1 -1
  16. package/lib/config.js.map +1 -1
  17. package/lib/index.js +22 -0
  18. package/lib/index.js.map +1 -1
  19. package/lib/vtx-color-picker/index.js +21 -5
  20. package/lib/vtx-color-picker/index.js.map +1 -1
  21. package/lib/vtx-color-picker/style/css.js +2 -0
  22. package/lib/vtx-color-picker/style/css.js.map +1 -1
  23. package/lib/vtx-color-picker/style/index.js +2 -0
  24. package/lib/vtx-color-picker/style/index.js.map +1 -1
  25. package/lib/vtx-combogrid/Combogrid.js +73 -33
  26. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  27. package/lib/vtx-combogrid/index.js +45 -20
  28. package/lib/vtx-combogrid/index.js.map +1 -1
  29. package/lib/vtx-combogrid/style/css.js +7 -0
  30. package/lib/vtx-combogrid/style/css.js.map +1 -1
  31. package/lib/vtx-combogrid/style/index.js +7 -0
  32. package/lib/vtx-combogrid/style/index.js.map +1 -1
  33. package/lib/vtx-combogrid/style/index.less +29 -29
  34. package/lib/vtx-datagrid/Alert.js +11 -3
  35. package/lib/vtx-datagrid/Alert.js.map +1 -1
  36. package/lib/vtx-datagrid/ColumnSetting.js +44 -19
  37. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  38. package/lib/vtx-datagrid/ResizeableTitle.js +13 -2
  39. package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
  40. package/lib/vtx-datagrid/index.js +137 -77
  41. package/lib/vtx-datagrid/index.js.map +1 -1
  42. package/lib/vtx-datagrid/renderColumnButtons.js +35 -5
  43. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  44. package/lib/vtx-datagrid/style/css.js +10 -0
  45. package/lib/vtx-datagrid/style/css.js.map +1 -1
  46. package/lib/vtx-datagrid/style/index.js +10 -0
  47. package/lib/vtx-datagrid/style/index.js.map +1 -1
  48. package/lib/vtx-datagrid/style/index.less +131 -131
  49. package/lib/vtx-date-picker/QdatePicker.js +46 -16
  50. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  51. package/lib/vtx-date-picker/YearPicker.js +30 -7
  52. package/lib/vtx-date-picker/YearPicker.js.map +1 -1
  53. package/lib/vtx-date-picker/generatePicker.js +46 -5
  54. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  55. package/lib/vtx-date-picker/index.js +8 -2
  56. package/lib/vtx-date-picker/index.js.map +1 -1
  57. package/lib/vtx-date-picker/style/css.js +1 -0
  58. package/lib/vtx-date-picker/style/css.js.map +1 -1
  59. package/lib/vtx-date-picker/style/index.js +1 -0
  60. package/lib/vtx-date-picker/style/index.js.map +1 -1
  61. package/lib/vtx-date-picker/style/index.less +38 -38
  62. package/lib/vtx-editor/index.js +23 -5
  63. package/lib/vtx-editor/index.js.map +1 -1
  64. package/lib/vtx-editor/style/css.js +2 -0
  65. package/lib/vtx-editor/style/css.js.map +1 -1
  66. package/lib/vtx-editor/style/index.js +2 -0
  67. package/lib/vtx-editor/style/index.js.map +1 -1
  68. package/lib/vtx-editor/style/index.less +6 -6
  69. package/lib/vtx-export/index.js +55 -23
  70. package/lib/vtx-export/index.js.map +1 -1
  71. package/lib/vtx-export/style/css.js +6 -0
  72. package/lib/vtx-export/style/css.js.map +1 -1
  73. package/lib/vtx-export/style/index.js +6 -0
  74. package/lib/vtx-export/style/index.js.map +1 -1
  75. package/lib/vtx-form-layout/Card.js +26 -5
  76. package/lib/vtx-form-layout/Card.js.map +1 -1
  77. package/lib/vtx-form-layout/Divider.js +5 -0
  78. package/lib/vtx-form-layout/Divider.js.map +1 -1
  79. package/lib/vtx-form-layout/FormItem.js +34 -9
  80. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  81. package/lib/vtx-form-layout/Pane.js +7 -2
  82. package/lib/vtx-form-layout/Pane.js.map +1 -1
  83. package/lib/vtx-form-layout/Row.js +6 -0
  84. package/lib/vtx-form-layout/Row.js.map +1 -1
  85. package/lib/vtx-form-layout/context.js +2 -0
  86. package/lib/vtx-form-layout/context.js.map +1 -1
  87. package/lib/vtx-form-layout/demo/Modal.less +41 -41
  88. package/lib/vtx-form-layout/index.js +22 -8
  89. package/lib/vtx-form-layout/index.js.map +1 -1
  90. package/lib/vtx-form-layout/style/css.js +8 -0
  91. package/lib/vtx-form-layout/style/css.js.map +1 -1
  92. package/lib/vtx-form-layout/style/index.js +8 -0
  93. package/lib/vtx-form-layout/style/index.js.map +1 -1
  94. package/lib/vtx-form-layout/style/index.less +148 -148
  95. package/lib/vtx-image/Image.js +92 -56
  96. package/lib/vtx-image/Image.js.map +1 -1
  97. package/lib/vtx-image/Preview.js +51 -20
  98. package/lib/vtx-image/Preview.js.map +1 -1
  99. package/lib/vtx-image/PreviewGroup.js +40 -11
  100. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  101. package/lib/vtx-image/index.js +6 -0
  102. package/lib/vtx-image/index.js.map +1 -1
  103. package/lib/vtx-image/style/css.js +1 -0
  104. package/lib/vtx-image/style/css.js.map +1 -1
  105. package/lib/vtx-image/style/index.js +1 -0
  106. package/lib/vtx-image/style/index.js.map +1 -1
  107. package/lib/vtx-image/style/index.less +46 -46
  108. package/lib/vtx-import/index.js +72 -37
  109. package/lib/vtx-import/index.js.map +1 -1
  110. package/lib/vtx-import/result.js +24 -7
  111. package/lib/vtx-import/result.js.map +1 -1
  112. package/lib/vtx-import/style/css.js +2 -0
  113. package/lib/vtx-import/style/css.js.map +1 -1
  114. package/lib/vtx-import/style/index.js +2 -0
  115. package/lib/vtx-import/style/index.js.map +1 -1
  116. package/lib/vtx-input/TextArea.js +22 -6
  117. package/lib/vtx-input/TextArea.js.map +1 -1
  118. package/lib/vtx-input/index.js +37 -11
  119. package/lib/vtx-input/index.js.map +1 -1
  120. package/lib/vtx-input/style/css.js +1 -0
  121. package/lib/vtx-input/style/css.js.map +1 -1
  122. package/lib/vtx-input/style/index.js +1 -0
  123. package/lib/vtx-input/style/index.js.map +1 -1
  124. package/lib/vtx-input/style/index.less +20 -20
  125. package/lib/vtx-input/useLength.js +16 -4
  126. package/lib/vtx-input/useLength.js.map +1 -1
  127. package/lib/vtx-modal/Title.js +6 -1
  128. package/lib/vtx-modal/Title.js.map +1 -1
  129. package/lib/vtx-modal/index.js +70 -32
  130. package/lib/vtx-modal/index.js.map +1 -1
  131. package/lib/vtx-modal/style/css.js +2 -0
  132. package/lib/vtx-modal/style/css.js.map +1 -1
  133. package/lib/vtx-modal/style/index.js +2 -0
  134. package/lib/vtx-modal/style/index.js.map +1 -1
  135. package/lib/vtx-modal/style/index.less +83 -83
  136. package/lib/vtx-page-layout/Basic.js +6 -2
  137. package/lib/vtx-page-layout/Basic.js.map +1 -1
  138. package/lib/vtx-page-layout/Content.js +19 -7
  139. package/lib/vtx-page-layout/Content.js.map +1 -1
  140. package/lib/vtx-page-layout/Pane.js +10 -2
  141. package/lib/vtx-page-layout/Pane.js.map +1 -1
  142. package/lib/vtx-page-layout/TableLayout.js +52 -22
  143. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  144. package/lib/vtx-page-layout/TableWrap.js +15 -3
  145. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  146. package/lib/vtx-page-layout/container.js +34 -4
  147. package/lib/vtx-page-layout/container.js.map +1 -1
  148. package/lib/vtx-page-layout/index.js +8 -0
  149. package/lib/vtx-page-layout/index.js.map +1 -1
  150. package/lib/vtx-page-layout/style/index.less +139 -139
  151. package/lib/vtx-rps-frame/index.js +44 -21
  152. package/lib/vtx-rps-frame/index.js.map +1 -1
  153. package/lib/vtx-scrollable-row/index.js +55 -19
  154. package/lib/vtx-scrollable-row/index.js.map +1 -1
  155. package/lib/vtx-scrollable-row/style/css.js +1 -0
  156. package/lib/vtx-scrollable-row/style/css.js.map +1 -1
  157. package/lib/vtx-scrollable-row/style/index.js +1 -0
  158. package/lib/vtx-scrollable-row/style/index.js.map +1 -1
  159. package/lib/vtx-scrollable-row/style/index.less +111 -111
  160. package/lib/vtx-search/VtxCol.js +21 -0
  161. package/lib/vtx-search/VtxCol.js.map +1 -1
  162. package/lib/vtx-search/VtxRow.js +12 -6
  163. package/lib/vtx-search/VtxRow.js.map +1 -1
  164. package/lib/vtx-search/index.js +87 -36
  165. package/lib/vtx-search/index.js.map +1 -1
  166. package/lib/vtx-search/style/css.js +5 -0
  167. package/lib/vtx-search/style/css.js.map +1 -1
  168. package/lib/vtx-search/style/index.js +5 -0
  169. package/lib/vtx-search/style/index.js.map +1 -1
  170. package/lib/vtx-search/style/index.less +81 -81
  171. package/lib/vtx-search-map-input/index.js +68 -39
  172. package/lib/vtx-search-map-input/index.js.map +1 -1
  173. package/lib/vtx-search-map-input/style/css.js +2 -0
  174. package/lib/vtx-search-map-input/style/css.js.map +1 -1
  175. package/lib/vtx-search-map-input/style/index.js +2 -0
  176. package/lib/vtx-search-map-input/style/index.js.map +1 -1
  177. package/lib/vtx-select/index.js +64 -20
  178. package/lib/vtx-select/index.js.map +1 -1
  179. package/lib/vtx-select/style/css.js +8 -0
  180. package/lib/vtx-select/style/css.js.map +1 -1
  181. package/lib/vtx-select/style/index.js +8 -0
  182. package/lib/vtx-select/style/index.js.map +1 -1
  183. package/lib/vtx-select/style/index.less +66 -66
  184. package/lib/vtx-signature/index.js +28 -14
  185. package/lib/vtx-signature/index.js.map +1 -1
  186. package/lib/vtx-signature/style/css.js +2 -0
  187. package/lib/vtx-signature/style/css.js.map +1 -1
  188. package/lib/vtx-signature/style/index.js +2 -0
  189. package/lib/vtx-signature/style/index.js.map +1 -1
  190. package/lib/vtx-signature/style/index.less +32 -32
  191. package/lib/vtx-split-pane/Pane.js +14 -2
  192. package/lib/vtx-split-pane/Pane.js.map +1 -1
  193. package/lib/vtx-split-pane/Resizer.js +30 -10
  194. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  195. package/lib/vtx-split-pane/SplitPane.js +104 -52
  196. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  197. package/lib/vtx-split-pane/index.js +4 -0
  198. package/lib/vtx-split-pane/index.js.map +1 -1
  199. package/lib/vtx-split-pane/style/css.js +3 -0
  200. package/lib/vtx-split-pane/style/css.js.map +1 -1
  201. package/lib/vtx-split-pane/style/index.js +3 -0
  202. package/lib/vtx-split-pane/style/index.js.map +1 -1
  203. package/lib/vtx-split-pane/style/index.less +59 -59
  204. package/lib/vtx-statistics-column/Back.js +7 -1
  205. package/lib/vtx-statistics-column/Back.js.map +1 -1
  206. package/lib/vtx-statistics-column/Item.js +22 -5
  207. package/lib/vtx-statistics-column/Item.js.map +1 -1
  208. package/lib/vtx-statistics-column/Total.js +22 -5
  209. package/lib/vtx-statistics-column/Total.js.map +1 -1
  210. package/lib/vtx-statistics-column/context.js +2 -0
  211. package/lib/vtx-statistics-column/context.js.map +1 -1
  212. package/lib/vtx-statistics-column/index.js +16 -0
  213. package/lib/vtx-statistics-column/index.js.map +1 -1
  214. package/lib/vtx-statistics-column/style/index.less +61 -61
  215. package/lib/vtx-time-picker/index.js +16 -3
  216. package/lib/vtx-time-picker/index.js.map +1 -1
  217. package/lib/vtx-time-picker/style/css.js.map +1 -1
  218. package/lib/vtx-time-picker/style/index.js.map +1 -1
  219. package/lib/vtx-upload/FilePreview.js +28 -9
  220. package/lib/vtx-upload/FilePreview.js.map +1 -1
  221. package/lib/vtx-upload/index.js +136 -67
  222. package/lib/vtx-upload/index.js.map +1 -1
  223. package/lib/vtx-upload/style/css.js +6 -0
  224. package/lib/vtx-upload/style/css.js.map +1 -1
  225. package/lib/vtx-upload/style/index.js +6 -0
  226. package/lib/vtx-upload/style/index.js.map +1 -1
  227. package/lib/vtx-upload/style/index.less +59 -59
  228. package/lib/vtx-ztree/index.js +103 -51
  229. package/lib/vtx-ztree/index.js.map +1 -1
  230. package/lib/vtx-ztree/style/css.js +1 -0
  231. package/lib/vtx-ztree/style/css.js.map +1 -1
  232. package/lib/vtx-ztree/style/index.js +1 -0
  233. package/lib/vtx-ztree/style/index.js.map +1 -1
  234. package/lib/vtx-ztree/style/index.less +30 -30
  235. package/lib/vtx-ztree-select/index.js +97 -38
  236. package/lib/vtx-ztree-select/index.js.map +1 -1
  237. package/lib/vtx-ztree-select/style/css.js +4 -0
  238. package/lib/vtx-ztree-select/style/css.js.map +1 -1
  239. package/lib/vtx-ztree-select/style/index.js +4 -0
  240. package/lib/vtx-ztree-select/style/index.js.map +1 -1
  241. package/lib/vtx-ztree-select/style/index.less +76 -76
  242. package/package.json +1 -1
@@ -1,117 +1,158 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = VtxDatagrid;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _table = _interopRequireDefault(require("antd/es/table"));
13
+
10
14
  var _icon = _interopRequireDefault(require("antd/es/icon"));
15
+
11
16
  var _tooltip = _interopRequireDefault(require("antd/es/tooltip"));
17
+
12
18
  var _dropdown = _interopRequireDefault(require("antd/es/dropdown"));
19
+
13
20
  var _menu = _interopRequireDefault(require("antd/es/menu"));
21
+
14
22
  var _empty = _interopRequireDefault(require("antd/es/empty"));
23
+
15
24
  var _classnames2 = _interopRequireDefault(require("classnames"));
25
+
16
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
17
28
  var _Alert = _interopRequireDefault(require("./Alert"));
29
+
18
30
  var _ColumnSetting = _interopRequireDefault(require("./ColumnSetting"));
31
+
19
32
  var _ResizeableTitle = _interopRequireDefault(require("./ResizeableTitle"));
33
+
20
34
  var _renderColumnButtons = _interopRequireDefault(require("./renderColumnButtons"));
35
+
21
36
  var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
37
+
22
38
  var _isFunction = _interopRequireDefault(require("../_util/isFunction"));
39
+
23
40
  var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "className", "style", "emptyText", "claerRowSelection", "searchCollapseEvent$", "disabledColumnKeys", "onColumnsSave"];
41
+
24
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
43
+
25
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
+
26
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
+
27
48
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
49
+
28
50
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
51
+
29
52
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
53
+
30
54
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
55
+
31
56
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
57
+
32
58
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
59
+
33
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
61
+
34
62
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
63
+
35
64
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
65
+
36
66
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
67
+
37
68
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
69
+
38
70
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
71
+
39
72
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
73
+
40
74
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
75
+
41
76
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
77
+
42
78
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
79
+
43
80
  function VtxDatagrid(props) {
44
81
  var _rest$rowSelection, _rest$rowSelection2, _dataSource2, _classnames, _rest$rowSelection3;
82
+
45
83
  var _useSet = (0, _useSet3["default"])({
46
- // 显示列
47
- visibleColumns: [],
48
- // 列设置选中的列
49
- checkedColumnKeys: [],
50
- // 列设置选项
51
- columnSettingOptions: [],
52
- datagridId: "vtx-datagrid-".concat(new Date().getTime()),
53
- scrollY: null,
54
- size: 'middle'
55
- }),
56
- _useSet2 = _slicedToArray(_useSet, 2),
57
- state = _useSet2[0],
58
- setState = _useSet2[1];
84
+ // 显示列
85
+ visibleColumns: [],
86
+ // 列设置选中的列
87
+ checkedColumnKeys: [],
88
+ // 列设置选项
89
+ columnSettingOptions: [],
90
+ datagridId: "vtx-datagrid-".concat(new Date().getTime()),
91
+ scrollY: null,
92
+ size: 'middle'
93
+ }),
94
+ _useSet2 = _slicedToArray(_useSet, 2),
95
+ state = _useSet2[0],
96
+ setState = _useSet2[1];
97
+
59
98
  var visibleColumns = state.visibleColumns,
60
- checkedColumnKeys = state.checkedColumnKeys,
61
- columnSettingOptions = state.columnSettingOptions,
62
- datagridId = state.datagridId,
63
- scrollY = state.scrollY,
64
- size = state.size;
65
-
66
- // 列设置提示高度
67
- var alertHeight = (0, _react.useRef)(0);
68
- // 工具栏高度
99
+ checkedColumnKeys = state.checkedColumnKeys,
100
+ columnSettingOptions = state.columnSettingOptions,
101
+ datagridId = state.datagridId,
102
+ scrollY = state.scrollY,
103
+ size = state.size; // 列设置提示高度
104
+
105
+ var alertHeight = (0, _react.useRef)(0); // 工具栏高度
106
+
69
107
  var toolbarHeight = (0, _react.useRef)(0);
108
+
70
109
  var _props$prefixCls = props.prefixCls,
71
- prefixCls = _props$prefixCls === void 0 ? 'vtx-datagrid' : _props$prefixCls,
72
- _props$toolbar = props.toolbar,
73
- toolbar = _props$toolbar === void 0 ? true : _props$toolbar,
74
- toolbarClassName = props.toolbarClassName,
75
- _props$toolbarTilte = props.toolbarTilte,
76
- toolbarTilte = _props$toolbarTilte === void 0 ? '查询结果' : _props$toolbarTilte,
77
- buttonGroup = props.buttonGroup,
78
- _props$refreshIconVis = props.refreshIconVisible,
79
- refreshIconVisible = _props$refreshIconVis === void 0 ? true : _props$refreshIconVis,
80
- hideColumnSetting = props.hideColumnSetting,
81
- hideColumnHeight = props.hideColumnHeight,
82
- visibleColumnKeys = props.visibleColumnKeys,
83
- defaultVisibleColumnKeys = props.defaultVisibleColumnKeys,
84
- onVisibleColumnsChange = props.onVisibleColumnsChange,
85
- onRefresh = props.onRefresh,
86
- _props$indexColumn = props.indexColumn,
87
- indexColumn = _props$indexColumn === void 0 ? true : _props$indexColumn,
88
- _props$indexFixed = props.indexFixed,
89
- indexFixed = _props$indexFixed === void 0 ? false : _props$indexFixed,
90
- _props$bordered = props.bordered,
91
- bordered = _props$bordered === void 0 ? true : _props$bordered,
92
- _props$indexTitle = props.indexTitle,
93
- indexTitle = _props$indexTitle === void 0 ? '序号' : _props$indexTitle,
94
- _props$startIndex = props.startIndex,
95
- startIndex = _props$startIndex === void 0 ? 1 : _props$startIndex,
96
- _props$autoFit = props.autoFit,
97
- autoFit = _props$autoFit === void 0 ? true : _props$autoFit,
98
- _props$headFootHeight = props.headFootHeight,
99
- headFootHeight = _props$headFootHeight === void 0 ? 115 : _props$headFootHeight,
100
- columnResizable = props.columnResizable,
101
- className = props.className,
102
- style = props.style,
103
- _props$emptyText = props.emptyText,
104
- emptyText = _props$emptyText === void 0 ? '暂无数据' : _props$emptyText,
105
- claerRowSelection = props.claerRowSelection,
106
- searchCollapseEvent$ = props.searchCollapseEvent$,
107
- disabledColumnKeys = props.disabledColumnKeys,
108
- onColumnsSave = props.onColumnsSave,
109
- rest = _objectWithoutProperties(props, _excluded);
110
+ prefixCls = _props$prefixCls === void 0 ? 'vtx-datagrid' : _props$prefixCls,
111
+ _props$toolbar = props.toolbar,
112
+ toolbar = _props$toolbar === void 0 ? true : _props$toolbar,
113
+ toolbarClassName = props.toolbarClassName,
114
+ _props$toolbarTilte = props.toolbarTilte,
115
+ toolbarTilte = _props$toolbarTilte === void 0 ? '查询结果' : _props$toolbarTilte,
116
+ buttonGroup = props.buttonGroup,
117
+ _props$refreshIconVis = props.refreshIconVisible,
118
+ refreshIconVisible = _props$refreshIconVis === void 0 ? true : _props$refreshIconVis,
119
+ hideColumnSetting = props.hideColumnSetting,
120
+ hideColumnHeight = props.hideColumnHeight,
121
+ visibleColumnKeys = props.visibleColumnKeys,
122
+ defaultVisibleColumnKeys = props.defaultVisibleColumnKeys,
123
+ onVisibleColumnsChange = props.onVisibleColumnsChange,
124
+ onRefresh = props.onRefresh,
125
+ _props$indexColumn = props.indexColumn,
126
+ indexColumn = _props$indexColumn === void 0 ? true : _props$indexColumn,
127
+ _props$indexFixed = props.indexFixed,
128
+ indexFixed = _props$indexFixed === void 0 ? false : _props$indexFixed,
129
+ _props$bordered = props.bordered,
130
+ bordered = _props$bordered === void 0 ? true : _props$bordered,
131
+ _props$indexTitle = props.indexTitle,
132
+ indexTitle = _props$indexTitle === void 0 ? '序号' : _props$indexTitle,
133
+ _props$startIndex = props.startIndex,
134
+ startIndex = _props$startIndex === void 0 ? 1 : _props$startIndex,
135
+ _props$autoFit = props.autoFit,
136
+ autoFit = _props$autoFit === void 0 ? true : _props$autoFit,
137
+ _props$headFootHeight = props.headFootHeight,
138
+ headFootHeight = _props$headFootHeight === void 0 ? 115 : _props$headFootHeight,
139
+ columnResizable = props.columnResizable,
140
+ className = props.className,
141
+ style = props.style,
142
+ _props$emptyText = props.emptyText,
143
+ emptyText = _props$emptyText === void 0 ? '暂无数据' : _props$emptyText,
144
+ claerRowSelection = props.claerRowSelection,
145
+ searchCollapseEvent$ = props.searchCollapseEvent$,
146
+ disabledColumnKeys = props.disabledColumnKeys,
147
+ onColumnsSave = props.onColumnsSave,
148
+ rest = _objectWithoutProperties(props, _excluded);
149
+
110
150
  (0, _react.useEffect)(function () {
111
151
  // componentDidMount
112
152
  if (autoFit) {
113
153
  window.addEventListener('resize', calculateHeight, false);
114
154
  }
155
+
115
156
  return function () {
116
157
  // componentWillUnmount
117
158
  if (autoFit) {
@@ -123,9 +164,8 @@ function VtxDatagrid(props) {
123
164
  if (autoFit) {
124
165
  calculateHeight();
125
166
  }
126
- }, [(((_rest$rowSelection = rest.rowSelection) === null || _rest$rowSelection === void 0 ? void 0 : _rest$rowSelection.selectedRowKeys) || []).join(',')]);
167
+ }, [(((_rest$rowSelection = rest.rowSelection) === null || _rest$rowSelection === void 0 ? void 0 : _rest$rowSelection.selectedRowKeys) || []).join(',')]); // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数
127
168
 
128
- // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数
129
169
  if (searchCollapseEvent$) {
130
170
  // eslint-disable-next-line react/prop-types
131
171
  searchCollapseEvent$.useSubscription(function () {
@@ -137,8 +177,10 @@ function VtxDatagrid(props) {
137
177
  }, 350);
138
178
  });
139
179
  }
180
+
140
181
  (0, _react.useEffect)(function () {
141
182
  var _rest$columns;
183
+
142
184
  parseColumns();
143
185
  setState({
144
186
  columnSettingOptions: (_rest$columns = rest.columns) === null || _rest$columns === void 0 ? void 0 : _rest$columns.map(function (col) {
@@ -148,11 +190,13 @@ function VtxDatagrid(props) {
148
190
  })
149
191
  });
150
192
  }, [rest.columns]);
193
+
151
194
  var parseColumns = function parseColumns(type) {
152
195
  // 显示工具栏的同时并显示列设置
153
196
  if (toolbar && !hideColumnSetting) {
154
197
  if (defaultVisibleColumnKeys || visibleColumnKeys) {
155
198
  var _rest$columns2;
199
+
156
200
  var columnKeys = type === 'reset' ? defaultVisibleColumnKeys : visibleColumnKeys || defaultVisibleColumnKeys;
157
201
  setState({
158
202
  checkedColumnKeys: columnKeys,
@@ -162,6 +206,7 @@ function VtxDatagrid(props) {
162
206
  });
163
207
  } else {
164
208
  var _rest$columns3;
209
+
165
210
  setState({
166
211
  checkedColumnKeys: (_rest$columns3 = rest.columns) === null || _rest$columns3 === void 0 ? void 0 : _rest$columns3.map(function (item) {
167
212
  return item.dataIndex || item.key;
@@ -175,10 +220,11 @@ function VtxDatagrid(props) {
175
220
  });
176
221
  }
177
222
  };
223
+
178
224
  var hasAlert = (((_rest$rowSelection2 = rest.rowSelection) === null || _rest$rowSelection2 === void 0 ? void 0 : _rest$rowSelection2.selectedRowKeys) || []).length > 0;
179
225
  alertHeight.current = hasAlert ? 49 : 0;
180
- toolbarHeight.current = toolbar ? 56 : 0;
181
- // 高度计算
226
+ toolbarHeight.current = toolbar ? 56 : 0; // 高度计算
227
+
182
228
  var calculateHeight = function calculateHeight() {
183
229
  var bodyHeight = document.getElementById(datagridId).clientHeight - headFootHeight - toolbarHeight.current - alertHeight.current;
184
230
  var divs = document.getElementById(datagridId).getElementsByTagName('div');
@@ -189,9 +235,9 @@ function VtxDatagrid(props) {
189
235
  setState({
190
236
  scrollY: bodyHeight
191
237
  });
192
- };
238
+ }; // 列设置回调
239
+
193
240
 
194
- // 列设置回调
195
241
  var handleChangeColumns = function handleChangeColumns(keys) {
196
242
  setState({
197
243
  checkedColumnKeys: keys,
@@ -200,10 +246,11 @@ function VtxDatagrid(props) {
200
246
  })
201
247
  });
202
248
  onVisibleColumnsChange && onVisibleColumnsChange(keys);
203
- };
249
+ }; // 工具栏
250
+
204
251
 
205
- // 工具栏
206
252
  var toolbarRender;
253
+
207
254
  if (toolbar) {
208
255
  toolbarRender = /*#__PURE__*/_react["default"].createElement("div", {
209
256
  className: (0, _classnames2["default"])("".concat(prefixCls, "-toolbar"), toolbarClassName)
@@ -264,13 +311,14 @@ function VtxDatagrid(props) {
264
311
  }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
265
312
  type: "setting"
266
313
  })))))));
267
- }
314
+ } // 分页
315
+
268
316
 
269
- // 分页
270
317
  var getPagination = function getPagination(pagination) {
271
318
  if (typeof pagination === 'boolean' && !pagination) {
272
319
  return pagination;
273
320
  }
321
+
274
322
  return _objectSpread({
275
323
  pageSizeOptions: ['10', '20', '30', '40', '50'],
276
324
  showSizeChanger: true,
@@ -279,17 +327,20 @@ function VtxDatagrid(props) {
279
327
  return "\u5171 ".concat(total, " \u6761");
280
328
  }
281
329
  }, pagination);
282
- };
330
+ }; // 处理操作按钮
331
+
283
332
 
284
- // 处理操作按钮
285
333
  var columns = (visibleColumns || []).map(function (column) {
286
334
  var newColumn = _objectSpread({}, column);
335
+
287
336
  if (newColumn.renderButtons) {
288
337
  delete newColumn.renderButtons;
289
338
  }
339
+
290
340
  if (newColumn.renderButtonsVisibleNum) {
291
341
  delete newColumn.renderButtonsVisibleNum;
292
342
  }
343
+
293
344
  return _objectSpread(_objectSpread({}, newColumn), {}, {
294
345
  render: (0, _isFunction["default"])(column.renderButtons) ? function (text, record, index) {
295
346
  return (0, _renderColumnButtons["default"])(column.renderButtons, column.renderButtonsVisibleNum, text, record, index);
@@ -297,8 +348,8 @@ function VtxDatagrid(props) {
297
348
  return ['', null, undefined].includes(text) ? '-' : text;
298
349
  }
299
350
  });
300
- });
301
- // 配置了列可伸缩
351
+ }); // 配置了列可伸缩
352
+
302
353
  if (columnResizable) {
303
354
  columns = columns.map(function (col, index) {
304
355
  return _objectSpread(_objectSpread({}, col), {}, {
@@ -310,12 +361,15 @@ function VtxDatagrid(props) {
310
361
  }
311
362
  });
312
363
  });
364
+
313
365
  var handleResize = function handleResize(index) {
314
366
  return function (e, _ref2) {
315
367
  var size = _ref2.size;
316
368
  setState(function (_ref3) {
317
369
  var visibleColumns = _ref3.visibleColumns;
370
+
318
371
  var nextColumns = _toConsumableArray(visibleColumns);
372
+
319
373
  nextColumns[index] = _objectSpread(_objectSpread({}, nextColumns[index]), {}, {
320
374
  width: size.width
321
375
  });
@@ -325,12 +379,14 @@ function VtxDatagrid(props) {
325
379
  });
326
380
  };
327
381
  };
328
- }
382
+ } // 序号添加
383
+
329
384
 
330
- // 序号添加
331
385
  var dataSource = rest.dataSource;
386
+
332
387
  if (indexColumn) {
333
388
  var _dataSource;
389
+
334
390
  columns = [{
335
391
  title: indexTitle,
336
392
  dataIndex: '_serialNum',
@@ -344,12 +400,15 @@ function VtxDatagrid(props) {
344
400
  });
345
401
  });
346
402
  }
403
+
347
404
  var scroll;
405
+
348
406
  if (autoFit) {
349
407
  scroll = _objectSpread(_objectSpread({}, rest.scroll || {}), {}, {
350
408
  y: scrollY
351
409
  });
352
410
  }
411
+
353
412
  return /*#__PURE__*/_react["default"].createElement("div", {
354
413
  id: datagridId,
355
414
  className: (0, _classnames2["default"])(prefixCls, className, (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-fit"), autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-nodata"), !((_dataSource2 = dataSource) !== null && _dataSource2 !== void 0 && _dataSource2.length)), _classnames)),
@@ -383,6 +442,7 @@ function VtxDatagrid(props) {
383
442
  } : undefined
384
443
  })));
385
444
  }
445
+
386
446
  VtxDatagrid.propTypes = {
387
447
  prefixCls: _propTypes["default"].string,
388
448
  refreshIconVisible: _propTypes["default"].bool,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","alertHeight","useRef","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","className","style","emptyText","claerRowSelection","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","rest","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","length","current","bodyHeight","document","getElementById","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","classnames","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","dataSource","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport Table from 'antd/es/table';\nimport Icon from 'antd/es/icon';\nimport Tooltip from 'antd/es/tooltip';\nimport Dropdown from 'antd/es/dropdown';\nimport Menu from 'antd/es/menu';\nimport Empty from 'antd/es/empty';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Alert from './Alert';\nimport ColumnSetting from './ColumnSetting';\nimport ResizeableTitle from './ResizeableTitle';\nimport renderColumnButtons from './renderColumnButtons';\nimport useSet from '../_util/useSet';\nimport isFunction from '../_util/isFunction';\n\nexport default function VtxDatagrid(props) {\n const [state, setState] = useSet({\n // 显示列\n visibleColumns: [],\n // 列设置选中的列\n checkedColumnKeys: [],\n // 列设置选项\n columnSettingOptions: [],\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\n scrollY: null,\n size: 'middle',\n });\n const {\n visibleColumns,\n checkedColumnKeys,\n columnSettingOptions,\n datagridId,\n scrollY,\n size,\n } = state;\n\n // 列设置提示高度\n const alertHeight = useRef(0);\n // 工具栏高度\n const toolbarHeight = useRef(0);\n\n const {\n prefixCls = 'vtx-datagrid',\n toolbar = true,\n toolbarClassName,\n toolbarTilte = '查询结果',\n buttonGroup,\n refreshIconVisible = true,\n hideColumnSetting,\n hideColumnHeight,\n visibleColumnKeys,\n defaultVisibleColumnKeys,\n onVisibleColumnsChange,\n onRefresh,\n indexColumn = true,\n indexFixed = false,\n bordered = true,\n indexTitle = '序号',\n startIndex = 1,\n autoFit = true,\n headFootHeight = 115,\n columnResizable,\n className,\n style,\n emptyText = '暂无数据',\n claerRowSelection,\n searchCollapseEvent$,\n disabledColumnKeys,\n onColumnsSave,\n ...rest\n } = props;\n\n useEffect(() => {\n // componentDidMount\n if (autoFit) {\n window.addEventListener('resize', calculateHeight, false);\n }\n return () => {\n // componentWillUnmount\n if (autoFit) {\n window.removeEventListener('resize', calculateHeight, false);\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n if (autoFit) {\n calculateHeight();\n }\n }, [(rest.rowSelection?.selectedRowKeys || []).join(',')]);\n\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\n if (searchCollapseEvent$) {\n // eslint-disable-next-line react/prop-types\n searchCollapseEvent$.useSubscription(() => {\n // 350ms 是为了等待css动画时间\n let timer = setTimeout(() => {\n calculateHeight();\n timer = '';\n clearTimeout(timer);\n }, 350);\n });\n }\n\n useEffect(() => {\n parseColumns();\n setState({\n columnSettingOptions: rest.columns?.map(col => ({\n ...col,\n key: col.dataIndex || col.key,\n })),\n });\n }, [rest.columns]);\n\n const parseColumns = type => {\n // 显示工具栏的同时并显示列设置\n if (toolbar && !hideColumnSetting) {\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\n const columnKeys =\n type === 'reset'\n ? defaultVisibleColumnKeys\n : visibleColumnKeys || defaultVisibleColumnKeys;\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: rest.columns?.filter(item =>\n columnKeys.includes(item.dataIndex || item.key),\n ),\n });\n } else {\n setState({\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\n visibleColumns: rest.columns,\n });\n }\n } else {\n setState({\n visibleColumns: rest.columns,\n });\n }\n };\n\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\n alertHeight.current = hasAlert ? 49 : 0;\n toolbarHeight.current = toolbar ? 56 : 0;\n // 高度计算\n const calculateHeight = () => {\n const bodyHeight =\n document.getElementById(datagridId).clientHeight -\n headFootHeight -\n toolbarHeight.current -\n alertHeight.current;\n const divs = document.getElementById(datagridId).getElementsByTagName('div');\n const bodyDiv = Array.prototype.filter.call(\n divs,\n dom => dom.className == 'ant-table-body',\n )[0];\n bodyDiv.style.minHeight = `${bodyHeight}px`;\n setState({\n scrollY: bodyHeight,\n });\n };\n\n // 列设置回调\n const handleChangeColumns = keys => {\n setState({\n checkedColumnKeys: keys,\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\n });\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\n };\n\n // 工具栏\n let toolbarRender;\n if (toolbar) {\n toolbarRender = (\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\n <div className={`${prefixCls}-toolbar-right`}>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-actions`,\n )}\n >\n {buttonGroup}\n </div>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-setting`,\n )}\n >\n {refreshIconVisible && (\n <div\n className={`${prefixCls}-toolbar-setting-item`}\n onClick={() => {\n onRefresh && onRefresh();\n }}\n >\n <Tooltip title=\"刷新\">\n <Icon type=\"redo\" />\n </Tooltip>\n </div>\n )}\n {!hideColumnHeight && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <Dropdown\n overlay={\n <Menu\n onClick={({ key }) => setState({ size: key })}\n selectedKeys={[size]}\n >\n <Menu.Item key=\"default\">默认</Menu.Item>\n <Menu.Item key=\"middle\">中等</Menu.Item>\n <Menu.Item key=\"small\">紧凑</Menu.Item>\n </Menu>\n }\n trigger={['click']}\n >\n <Tooltip title=\"列密度\">\n <Icon type=\"column-height\" />\n </Tooltip>\n </Dropdown>\n </div>\n )}\n {!hideColumnSetting && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <ColumnSetting\n prefixCls={prefixCls}\n checkedColumnKeys={checkedColumnKeys}\n columnSettingOptions={columnSettingOptions}\n onChange={handleChangeColumns}\n onReset={() => parseColumns('reset')}\n disabledColumnKeys={disabledColumnKeys}\n onColumnsSave={onColumnsSave}\n >\n <Tooltip title=\"列设置\">\n <Icon type=\"setting\" />\n </Tooltip>\n </ColumnSetting>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n // 分页\n const getPagination = pagination => {\n if (typeof pagination === 'boolean' && !pagination) {\n return pagination;\n }\n return {\n pageSizeOptions: ['10', '20', '30', '40', '50'],\n showSizeChanger: true,\n showQuickJumper: true,\n showTotal(total) {\n return `共 ${total} 条`;\n },\n ...pagination,\n };\n };\n\n // 处理操作按钮\n let columns = (visibleColumns || []).map(column => {\n const newColumn = { ...column };\n if (newColumn.renderButtons) {\n delete newColumn.renderButtons;\n }\n if (newColumn.renderButtonsVisibleNum) {\n delete newColumn.renderButtonsVisibleNum;\n }\n return {\n ...newColumn,\n render: isFunction(column.renderButtons)\n ? function (text, record, index) {\n return renderColumnButtons(\n column.renderButtons,\n column.renderButtonsVisibleNum,\n text,\n record,\n index,\n );\n }\n : 'render' in column\n ? column.render\n : function (text) {\n return ['', null, undefined].includes(text) ? '-' : text;\n },\n };\n });\n // 配置了列可伸缩\n if (columnResizable) {\n columns = columns.map((col, index) => ({\n ...col,\n onHeaderCell: column => ({\n width: column.width,\n onResize: handleResize(index),\n }),\n }));\n const handleResize = index => (e, { size }) => {\n setState(({ visibleColumns }) => {\n const nextColumns = [...visibleColumns];\n nextColumns[index] = {\n ...nextColumns[index],\n width: size.width,\n };\n return { visibleColumns: nextColumns };\n });\n };\n }\n\n // 序号添加\n let dataSource = rest.dataSource;\n if (indexColumn) {\n columns = [\n {\n title: indexTitle,\n dataIndex: '_serialNum',\n key: '_serialNum',\n width: 70,\n fixed: indexFixed,\n },\n ...columns,\n ];\n dataSource = dataSource?.map((item, i) => {\n return {\n ...item,\n _serialNum: i + startIndex,\n };\n });\n }\n\n let scroll;\n if (autoFit) {\n scroll = {\n ...(rest.scroll || {}),\n y: scrollY,\n };\n }\n\n return (\n <div\n id={datagridId}\n className={classnames(prefixCls, className, {\n [`${prefixCls}-fit`]: autoFit,\n [`${prefixCls}-nodata`]: !dataSource?.length,\n })}\n style={style}\n >\n {toolbarRender}\n {hasAlert && (\n <div className={`${prefixCls}-alert`}>\n <Alert\n prefixCls={prefixCls}\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\n claerRowSelection={claerRowSelection}\n />\n </div>\n )}\n <Table\n size={size}\n bordered={bordered}\n {...rest}\n columns={columns}\n dataSource={dataSource}\n scroll={scroll}\n pagination={getPagination(rest.pagination)}\n style={{ height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)` }}\n locale={{\n emptyText: <Empty description={emptyText} />,\n ...rest.locale,\n }}\n components={\n columnResizable\n ? {\n header: {\n cell: ResizeableTitle,\n },\n }\n : undefined\n }\n />\n </div>\n );\n}\n\nVtxDatagrid.propTypes = {\n prefixCls: PropTypes.string,\n refreshIconVisible: PropTypes.bool,\n hideColumnSetting: PropTypes.bool,\n hideColumnHeight: PropTypes.bool,\n bordered: PropTypes.bool,\n visibleColumnKeys: PropTypes.array,\n defaultVisibleColumnKeys: PropTypes.array,\n onVisibleColumnsChange: PropTypes.func,\n toolbarClassName: PropTypes.string,\n toolbar: PropTypes.bool,\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRefresh: PropTypes.func,\n indexColumn: PropTypes.bool,\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indexTitle: PropTypes.string,\n startIndex: PropTypes.number,\n buttonGroup: PropTypes.node,\n autoFit: PropTypes.bool,\n headFootHeight: PropTypes.number,\n columnResizable: PropTypes.bool,\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n claerRowSelection: PropTypes.func,\n searchCollapseEvent$: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n disabledColumnKeys: PropTypes.array,\n onColumnsSave: PropTypes.func,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","alertHeight","useRef","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","className","style","emptyText","claerRowSelection","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","rest","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","length","current","bodyHeight","document","getElementById","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","classnames","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","dataSource","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\r\nimport Table from 'antd/es/table';\r\nimport Icon from 'antd/es/icon';\r\nimport Tooltip from 'antd/es/tooltip';\r\nimport Dropdown from 'antd/es/dropdown';\r\nimport Menu from 'antd/es/menu';\r\nimport Empty from 'antd/es/empty';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Alert from './Alert';\r\nimport ColumnSetting from './ColumnSetting';\r\nimport ResizeableTitle from './ResizeableTitle';\r\nimport renderColumnButtons from './renderColumnButtons';\r\nimport useSet from '../_util/useSet';\r\nimport isFunction from '../_util/isFunction';\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: null,\r\n size: 'middle',\r\n });\r\n const {\r\n visibleColumns,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n datagridId,\r\n scrollY,\r\n size,\r\n } = state;\r\n\r\n // 列设置提示高度\r\n const alertHeight = useRef(0);\r\n // 工具栏高度\r\n const toolbarHeight = useRef(0);\r\n\r\n const {\r\n prefixCls = 'vtx-datagrid',\r\n toolbar = true,\r\n toolbarClassName,\r\n toolbarTilte = '查询结果',\r\n buttonGroup,\r\n refreshIconVisible = true,\r\n hideColumnSetting,\r\n hideColumnHeight,\r\n visibleColumnKeys,\r\n defaultVisibleColumnKeys,\r\n onVisibleColumnsChange,\r\n onRefresh,\r\n indexColumn = true,\r\n indexFixed = false,\r\n bordered = true,\r\n indexTitle = '序号',\r\n startIndex = 1,\r\n autoFit = true,\r\n headFootHeight = 115,\r\n columnResizable,\r\n className,\r\n style,\r\n emptyText = '暂无数据',\r\n claerRowSelection,\r\n searchCollapseEvent$,\r\n disabledColumnKeys,\r\n onColumnsSave,\r\n ...rest\r\n } = props;\r\n\r\n useEffect(() => {\r\n // componentDidMount\r\n if (autoFit) {\r\n window.addEventListener('resize', calculateHeight, false);\r\n }\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n window.removeEventListener('resize', calculateHeight, false);\r\n }\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n if (autoFit) {\r\n calculateHeight();\r\n }\r\n }, [(rest.rowSelection?.selectedRowKeys || []).join(',')]);\r\n\r\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\r\n if (searchCollapseEvent$) {\r\n // eslint-disable-next-line react/prop-types\r\n searchCollapseEvent$.useSubscription(() => {\r\n // 350ms 是为了等待css动画时间\r\n let timer = setTimeout(() => {\r\n calculateHeight();\r\n timer = '';\r\n clearTimeout(timer);\r\n }, 350);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n parseColumns();\r\n setState({\r\n columnSettingOptions: rest.columns?.map(col => ({\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n })),\r\n });\r\n }, [rest.columns]);\r\n\r\n const parseColumns = type => {\r\n // 显示工具栏的同时并显示列设置\r\n if (toolbar && !hideColumnSetting) {\r\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : visibleColumnKeys || defaultVisibleColumnKeys;\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: rest.columns?.filter(item =>\r\n columnKeys.includes(item.dataIndex || item.key),\r\n ),\r\n });\r\n } else {\r\n setState({\r\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n } else {\r\n setState({\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n };\r\n\r\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n // 高度计算\r\n const calculateHeight = () => {\r\n const bodyHeight =\r\n document.getElementById(datagridId).clientHeight -\r\n headFootHeight -\r\n toolbarHeight.current -\r\n alertHeight.current;\r\n const divs = document.getElementById(datagridId).getElementsByTagName('div');\r\n const bodyDiv = Array.prototype.filter.call(\r\n divs,\r\n dom => dom.className == 'ant-table-body',\r\n )[0];\r\n bodyDiv.style.minHeight = `${bodyHeight}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n };\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n setState({\r\n checkedColumnKeys: keys,\r\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\r\n };\r\n\r\n // 工具栏\r\n let toolbarRender;\r\n if (toolbar) {\r\n toolbarRender = (\r\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\r\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\r\n <div className={`${prefixCls}-toolbar-right`}>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-actions`,\r\n )}\r\n >\r\n {buttonGroup}\r\n </div>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title=\"刷新\">\r\n <Icon type=\"redo\" />\r\n </Tooltip>\r\n </div>\r\n )}\r\n {!hideColumnHeight && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <Dropdown\r\n overlay={\r\n <Menu\r\n onClick={({ key }) => setState({ size: key })}\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">默认</Menu.Item>\r\n <Menu.Item key=\"middle\">中等</Menu.Item>\r\n <Menu.Item key=\"small\">紧凑</Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title=\"列密度\">\r\n <Icon type=\"column-height\" />\r\n </Tooltip>\r\n </Dropdown>\r\n </div>\r\n )}\r\n {!hideColumnSetting && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <ColumnSetting\r\n prefixCls={prefixCls}\r\n checkedColumnKeys={checkedColumnKeys}\r\n columnSettingOptions={columnSettingOptions}\r\n onChange={handleChangeColumns}\r\n onReset={() => parseColumns('reset')}\r\n disabledColumnKeys={disabledColumnKeys}\r\n onColumnsSave={onColumnsSave}\r\n >\r\n <Tooltip title=\"列设置\">\r\n <Icon type=\"setting\" />\r\n </Tooltip>\r\n </ColumnSetting>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 分页\r\n const getPagination = pagination => {\r\n if (typeof pagination === 'boolean' && !pagination) {\r\n return pagination;\r\n }\r\n return {\r\n pageSizeOptions: ['10', '20', '30', '40', '50'],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n showTotal(total) {\r\n return `共 ${total} 条`;\r\n },\r\n ...pagination,\r\n };\r\n };\r\n\r\n // 处理操作按钮\r\n let columns = (visibleColumns || []).map(column => {\r\n const newColumn = { ...column };\r\n if (newColumn.renderButtons) {\r\n delete newColumn.renderButtons;\r\n }\r\n if (newColumn.renderButtonsVisibleNum) {\r\n delete newColumn.renderButtonsVisibleNum;\r\n }\r\n return {\r\n ...newColumn,\r\n render: isFunction(column.renderButtons)\r\n ? function (text, record, index) {\r\n return renderColumnButtons(\r\n column.renderButtons,\r\n column.renderButtonsVisibleNum,\r\n text,\r\n record,\r\n index,\r\n );\r\n }\r\n : 'render' in column\r\n ? column.render\r\n : function (text) {\r\n return ['', null, undefined].includes(text) ? '-' : text;\r\n },\r\n };\r\n });\r\n // 配置了列可伸缩\r\n if (columnResizable) {\r\n columns = columns.map((col, index) => ({\r\n ...col,\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: handleResize(index),\r\n }),\r\n }));\r\n const handleResize = index => (e, { size }) => {\r\n setState(({ visibleColumns }) => {\r\n const nextColumns = [...visibleColumns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n return { visibleColumns: nextColumns };\r\n });\r\n };\r\n }\r\n\r\n // 序号添加\r\n let dataSource = rest.dataSource;\r\n if (indexColumn) {\r\n columns = [\r\n {\r\n title: indexTitle,\r\n dataIndex: '_serialNum',\r\n key: '_serialNum',\r\n width: 70,\r\n fixed: indexFixed,\r\n },\r\n ...columns,\r\n ];\r\n dataSource = dataSource?.map((item, i) => {\r\n return {\r\n ...item,\r\n _serialNum: i + startIndex,\r\n };\r\n });\r\n }\r\n\r\n let scroll;\r\n if (autoFit) {\r\n scroll = {\r\n ...(rest.scroll || {}),\r\n y: scrollY,\r\n };\r\n }\r\n\r\n return (\r\n <div\r\n id={datagridId}\r\n className={classnames(prefixCls, className, {\r\n [`${prefixCls}-fit`]: autoFit,\r\n [`${prefixCls}-nodata`]: !dataSource?.length,\r\n })}\r\n style={style}\r\n >\r\n {toolbarRender}\r\n {hasAlert && (\r\n <div className={`${prefixCls}-alert`}>\r\n <Alert\r\n prefixCls={prefixCls}\r\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\r\n claerRowSelection={claerRowSelection}\r\n />\r\n </div>\r\n )}\r\n <Table\r\n size={size}\r\n bordered={bordered}\r\n {...rest}\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={scroll}\r\n pagination={getPagination(rest.pagination)}\r\n style={{ height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)` }}\r\n locale={{\r\n emptyText: <Empty description={emptyText} />,\r\n ...rest.locale,\r\n }}\r\n components={\r\n columnResizable\r\n ? {\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n }\r\n : undefined\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nVtxDatagrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n refreshIconVisible: PropTypes.bool,\r\n hideColumnSetting: PropTypes.bool,\r\n hideColumnHeight: PropTypes.bool,\r\n bordered: PropTypes.bool,\r\n visibleColumnKeys: PropTypes.array,\r\n defaultVisibleColumnKeys: PropTypes.array,\r\n onVisibleColumnsChange: PropTypes.func,\r\n toolbarClassName: PropTypes.string,\r\n toolbar: PropTypes.bool,\r\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRefresh: PropTypes.func,\r\n indexColumn: PropTypes.bool,\r\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n indexTitle: PropTypes.string,\r\n startIndex: PropTypes.number,\r\n buttonGroup: PropTypes.node,\r\n autoFit: PropTypes.bool,\r\n headFootHeight: PropTypes.number,\r\n columnResizable: PropTypes.bool,\r\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n claerRowSelection: PropTypes.func,\r\n searchCollapseEvent$: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n};\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEe,SAASA,WAAT,CAAqBC,KAArB,EAA4B;EAAA;;EACvC,cAA0B,IAAAC,mBAAA,EAAO;IAC7B;IACAC,cAAc,EAAE,EAFa;IAG7B;IACAC,iBAAiB,EAAE,EAJU;IAK7B;IACAC,oBAAoB,EAAE,EANO;IAO7BC,UAAU,yBAAkB,IAAIC,IAAJ,GAAWC,OAAX,EAAlB,CAPmB;IAQ7BC,OAAO,EAAE,IARoB;IAS7BC,IAAI,EAAE;EATuB,CAAP,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAWA,IACIT,cADJ,GAOIQ,KAPJ,CACIR,cADJ;EAAA,IAEIC,iBAFJ,GAOIO,KAPJ,CAEIP,iBAFJ;EAAA,IAGIC,oBAHJ,GAOIM,KAPJ,CAGIN,oBAHJ;EAAA,IAIIC,UAJJ,GAOIK,KAPJ,CAIIL,UAJJ;EAAA,IAKIG,OALJ,GAOIE,KAPJ,CAKIF,OALJ;EAAA,IAMIC,IANJ,GAOIC,KAPJ,CAMID,IANJ,CAZuC,CAqBvC;;EACA,IAAMG,WAAW,GAAG,IAAAC,aAAA,EAAO,CAAP,CAApB,CAtBuC,CAuBvC;;EACA,IAAMC,aAAa,GAAG,IAAAD,aAAA,EAAO,CAAP,CAAtB;;EAEA,uBA6BIb,KA7BJ,CACIe,SADJ;EAAA,IACIA,SADJ,iCACgB,cADhB;EAAA,qBA6BIf,KA7BJ,CAEIgB,OAFJ;EAAA,IAEIA,OAFJ,+BAEc,IAFd;EAAA,IAGIC,gBAHJ,GA6BIjB,KA7BJ,CAGIiB,gBAHJ;EAAA,0BA6BIjB,KA7BJ,CAIIkB,YAJJ;EAAA,IAIIA,YAJJ,oCAImB,MAJnB;EAAA,IAKIC,WALJ,GA6BInB,KA7BJ,CAKImB,WALJ;EAAA,4BA6BInB,KA7BJ,CAMIoB,kBANJ;EAAA,IAMIA,kBANJ,sCAMyB,IANzB;EAAA,IAOIC,iBAPJ,GA6BIrB,KA7BJ,CAOIqB,iBAPJ;EAAA,IAQIC,gBARJ,GA6BItB,KA7BJ,CAQIsB,gBARJ;EAAA,IASIC,iBATJ,GA6BIvB,KA7BJ,CASIuB,iBATJ;EAAA,IAUIC,wBAVJ,GA6BIxB,KA7BJ,CAUIwB,wBAVJ;EAAA,IAWIC,sBAXJ,GA6BIzB,KA7BJ,CAWIyB,sBAXJ;EAAA,IAYIC,SAZJ,GA6BI1B,KA7BJ,CAYI0B,SAZJ;EAAA,yBA6BI1B,KA7BJ,CAaI2B,WAbJ;EAAA,IAaIA,WAbJ,mCAakB,IAblB;EAAA,wBA6BI3B,KA7BJ,CAcI4B,UAdJ;EAAA,IAcIA,UAdJ,kCAciB,KAdjB;EAAA,sBA6BI5B,KA7BJ,CAeI6B,QAfJ;EAAA,IAeIA,QAfJ,gCAee,IAff;EAAA,wBA6BI7B,KA7BJ,CAgBI8B,UAhBJ;EAAA,IAgBIA,UAhBJ,kCAgBiB,IAhBjB;EAAA,wBA6BI9B,KA7BJ,CAiBI+B,UAjBJ;EAAA,IAiBIA,UAjBJ,kCAiBiB,CAjBjB;EAAA,qBA6BI/B,KA7BJ,CAkBIgC,OAlBJ;EAAA,IAkBIA,OAlBJ,+BAkBc,IAlBd;EAAA,4BA6BIhC,KA7BJ,CAmBIiC,cAnBJ;EAAA,IAmBIA,cAnBJ,sCAmBqB,GAnBrB;EAAA,IAoBIC,eApBJ,GA6BIlC,KA7BJ,CAoBIkC,eApBJ;EAAA,IAqBIC,SArBJ,GA6BInC,KA7BJ,CAqBImC,SArBJ;EAAA,IAsBIC,KAtBJ,GA6BIpC,KA7BJ,CAsBIoC,KAtBJ;EAAA,uBA6BIpC,KA7BJ,CAuBIqC,SAvBJ;EAAA,IAuBIA,SAvBJ,iCAuBgB,MAvBhB;EAAA,IAwBIC,iBAxBJ,GA6BItC,KA7BJ,CAwBIsC,iBAxBJ;EAAA,IAyBIC,oBAzBJ,GA6BIvC,KA7BJ,CAyBIuC,oBAzBJ;EAAA,IA0BIC,kBA1BJ,GA6BIxC,KA7BJ,CA0BIwC,kBA1BJ;EAAA,IA2BIC,aA3BJ,GA6BIzC,KA7BJ,CA2BIyC,aA3BJ;EAAA,IA4BOC,IA5BP,4BA6BI1C,KA7BJ;;EA+BA,IAAA2C,gBAAA,EAAU,YAAM;IACZ;IACA,IAAIX,OAAJ,EAAa;MACTY,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCC,eAAlC,EAAmD,KAAnD;IACH;;IACD,OAAO,YAAM;MACT;MACA,IAAId,OAAJ,EAAa;QACTY,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqCD,eAArC,EAAsD,KAAtD;MACH;IACJ,CALD;EAMH,CAXD,EAWG,EAXH;EAaA,IAAAE,sBAAA,EAAgB,YAAM;IAClB,IAAIhB,OAAJ,EAAa;MACTc,eAAe;IAClB;EACJ,CAJD,EAIG,CAAC,CAAC,uBAAAJ,IAAI,CAACO,YAAL,0EAAmBC,eAAnB,KAAsC,EAAvC,EAA2CC,IAA3C,CAAgD,GAAhD,CAAD,CAJH,EAtEuC,CA4EvC;;EACA,IAAIZ,oBAAJ,EAA0B;IACtB;IACAA,oBAAoB,CAACa,eAArB,CAAqC,YAAM;MACvC;MACA,IAAIC,KAAK,GAAGC,UAAU,CAAC,YAAM;QACzBR,eAAe;QACfO,KAAK,GAAG,EAAR;QACAE,YAAY,CAACF,KAAD,CAAZ;MACH,CAJqB,EAInB,GAJmB,CAAtB;IAKH,CAPD;EAQH;;EAED,IAAAV,gBAAA,EAAU,YAAM;IAAA;;IACZa,YAAY;IACZ7C,QAAQ,CAAC;MACLP,oBAAoB,mBAAEsC,IAAI,CAACe,OAAP,kDAAE,cAAcC,GAAd,CAAkB,UAAAC,GAAG;QAAA,uCACpCA,GADoC;UAEvCC,GAAG,EAAED,GAAG,CAACE,SAAJ,IAAiBF,GAAG,CAACC;QAFa;MAAA,CAArB;IADjB,CAAD,CAAR;EAMH,CARD,EAQG,CAAClB,IAAI,CAACe,OAAN,CARH;;EAUA,IAAMD,YAAY,GAAG,SAAfA,YAAe,CAAAM,IAAI,EAAI;IACzB;IACA,IAAI9C,OAAO,IAAI,CAACK,iBAAhB,EAAmC;MAC/B,IAAIG,wBAAwB,IAAID,iBAAhC,EAAmD;QAAA;;QAC/C,IAAMwC,UAAU,GACZD,IAAI,KAAK,OAAT,GACMtC,wBADN,GAEMD,iBAAiB,IAAIC,wBAH/B;QAIAb,QAAQ,CAAC;UACLR,iBAAiB,EAAE4D,UADd;UAEL7D,cAAc,oBAAEwC,IAAI,CAACe,OAAP,mDAAE,eAAcO,MAAd,CAAqB,UAAAC,IAAI;YAAA,OACrCF,UAAU,CAACG,QAAX,CAAoBD,IAAI,CAACJ,SAAL,IAAkBI,IAAI,CAACL,GAA3C,CADqC;UAAA,CAAzB;QAFX,CAAD,CAAR;MAMH,CAXD,MAWO;QAAA;;QACHjD,QAAQ,CAAC;UACLR,iBAAiB,oBAAEuC,IAAI,CAACe,OAAP,mDAAE,eAAcC,GAAd,CAAkB,UAAAO,IAAI;YAAA,OAAIA,IAAI,CAACJ,SAAL,IAAkBI,IAAI,CAACL,GAA3B;UAAA,CAAtB,CADd;UAEL1D,cAAc,EAAEwC,IAAI,CAACe;QAFhB,CAAD,CAAR;MAIH;IACJ,CAlBD,MAkBO;MACH9C,QAAQ,CAAC;QACLT,cAAc,EAAEwC,IAAI,CAACe;MADhB,CAAD,CAAR;IAGH;EACJ,CAzBD;;EA2BA,IAAMU,QAAQ,GAAG,CAAC,wBAAAzB,IAAI,CAACO,YAAL,4EAAmBC,eAAnB,KAAsC,EAAvC,EAA2CkB,MAA3C,GAAoD,CAArE;EACAxD,WAAW,CAACyD,OAAZ,GAAsBF,QAAQ,GAAG,EAAH,GAAQ,CAAtC;EACArD,aAAa,CAACuD,OAAd,GAAwBrD,OAAO,GAAG,EAAH,GAAQ,CAAvC,CAhIuC,CAiIvC;;EACA,IAAM8B,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC1B,IAAMwB,UAAU,GACZC,QAAQ,CAACC,cAAT,CAAwBnE,UAAxB,EAAoCoE,YAApC,GACAxC,cADA,GAEAnB,aAAa,CAACuD,OAFd,GAGAzD,WAAW,CAACyD,OAJhB;IAKA,IAAMK,IAAI,GAAGH,QAAQ,CAACC,cAAT,CAAwBnE,UAAxB,EAAoCsE,oBAApC,CAAyD,KAAzD,CAAb;IACA,IAAMC,OAAO,GAAGC,KAAK,CAACC,SAAN,CAAgBd,MAAhB,CAAuBe,IAAvB,CACZL,IADY,EAEZ,UAAAM,GAAG;MAAA,OAAIA,GAAG,CAAC7C,SAAJ,IAAiB,gBAArB;IAAA,CAFS,EAGd,CAHc,CAAhB;IAIAyC,OAAO,CAACxC,KAAR,CAAc6C,SAAd,aAA6BX,UAA7B;IACA3D,QAAQ,CAAC;MACLH,OAAO,EAAE8D;IADJ,CAAD,CAAR;EAGH,CAfD,CAlIuC,CAmJvC;;;EACA,IAAMY,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,IAAI,EAAI;IAChCxE,QAAQ,CAAC;MACLR,iBAAiB,EAAEgF,IADd;MAELjF,cAAc,EAAEE,oBAAF,aAAEA,oBAAF,uBAAEA,oBAAoB,CAAE4D,MAAtB,CAA6B,UAAAC,IAAI;QAAA,OAAIkB,IAAI,CAACjB,QAAL,CAAcD,IAAI,CAACL,GAAnB,CAAJ;MAAA,CAAjC;IAFX,CAAD,CAAR;IAIAnC,sBAAsB,IAAIA,sBAAsB,CAAC0D,IAAD,CAAhD;EACH,CAND,CApJuC,CA4JvC;;;EACA,IAAIC,aAAJ;;EACA,IAAIpE,OAAJ,EAAa;IACToE,aAAa,gBACT;MAAK,SAAS,EAAE,IAAAC,uBAAA,YAActE,SAAd,eAAmCE,gBAAnC;IAAhB,gBACI;MAAK,SAAS,YAAKF,SAAL;IAAd,GAA8CG,YAA9C,CADJ,eAEI;MAAK,SAAS,YAAKH,SAAL;IAAd,gBACI;MACI,SAAS,EAAE,IAAAsE,uBAAA,YACJtE,SADI,4BAEJA,SAFI;IADf,GAMKI,WANL,CADJ,eASI;MACI,SAAS,EAAE,IAAAkE,uBAAA,YACJtE,SADI,4BAEJA,SAFI;IADf,GAMKK,kBAAkB,iBACf;MACI,SAAS,YAAKL,SAAL,0BADb;MAEI,OAAO,EAAE,mBAAM;QACXW,SAAS,IAAIA,SAAS,EAAtB;MACH;IAJL,gBAMI,gCAAC,mBAAD;MAAS,KAAK,EAAC;IAAf,gBACI,gCAAC,gBAAD;MAAM,IAAI,EAAC;IAAX,EADJ,CANJ,CAPR,EAkBK,CAACJ,gBAAD,iBACG;MAAK,SAAS,YAAKP,SAAL;IAAd,gBACI,gCAAC,oBAAD;MACI,OAAO,eACH,gCAAC,gBAAD;QACI,OAAO,EAAE;UAAA,IAAG6C,GAAH,QAAGA,GAAH;UAAA,OAAajD,QAAQ,CAAC;YAAEF,IAAI,EAAEmD;UAAR,CAAD,CAArB;QAAA,CADb;QAEI,YAAY,EAAE,CAACnD,IAAD;MAFlB,gBAII,gCAAC,gBAAD,CAAM,IAAN;QAAW,GAAG,EAAC;MAAf,kBAJJ,eAKI,gCAAC,gBAAD,CAAM,IAAN;QAAW,GAAG,EAAC;MAAf,kBALJ,eAMI,gCAAC,gBAAD,CAAM,IAAN;QAAW,GAAG,EAAC;MAAf,kBANJ,CAFR;MAWI,OAAO,EAAE,CAAC,OAAD;IAXb,gBAaI,gCAAC,mBAAD;MAAS,KAAK,EAAC;IAAf,gBACI,gCAAC,gBAAD;MAAM,IAAI,EAAC;IAAX,EADJ,CAbJ,CADJ,CAnBR,EAuCK,CAACY,iBAAD,iBACG;MAAK,SAAS,YAAKN,SAAL;IAAd,gBACI,gCAAC,yBAAD;MACI,SAAS,EAAEA,SADf;MAEI,iBAAiB,EAAEZ,iBAFvB;MAGI,oBAAoB,EAAEC,oBAH1B;MAII,QAAQ,EAAE8E,mBAJd;MAKI,OAAO,EAAE;QAAA,OAAM1B,YAAY,CAAC,OAAD,CAAlB;MAAA,CALb;MAMI,kBAAkB,EAAEhB,kBANxB;MAOI,aAAa,EAAEC;IAPnB,gBASI,gCAAC,mBAAD;MAAS,KAAK,EAAC;IAAf,gBACI,gCAAC,gBAAD;MAAM,IAAI,EAAC;IAAX,EADJ,CATJ,CADJ,CAxCR,CATJ,CAFJ,CADJ;EAwEH,CAvOsC,CAyOvC;;;EACA,IAAM6C,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,UAAU,EAAI;IAChC,IAAI,OAAOA,UAAP,KAAsB,SAAtB,IAAmC,CAACA,UAAxC,EAAoD;MAChD,OAAOA,UAAP;IACH;;IACD;MACIC,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,CADrB;MAEIC,eAAe,EAAE,IAFrB;MAGIC,eAAe,EAAE,IAHrB;MAIIC,SAJJ,qBAIcC,KAJd,EAIqB;QACb,wBAAYA,KAAZ;MACH;IANL,GAOOL,UAPP;EASH,CAbD,CA1OuC,CAyPvC;;;EACA,IAAI9B,OAAO,GAAG,CAACvD,cAAc,IAAI,EAAnB,EAAuBwD,GAAvB,CAA2B,UAAAmC,MAAM,EAAI;IAC/C,IAAMC,SAAS,qBAAQD,MAAR,CAAf;;IACA,IAAIC,SAAS,CAACC,aAAd,EAA6B;MACzB,OAAOD,SAAS,CAACC,aAAjB;IACH;;IACD,IAAID,SAAS,CAACE,uBAAd,EAAuC;MACnC,OAAOF,SAAS,CAACE,uBAAjB;IACH;;IACD,uCACOF,SADP;MAEIG,MAAM,EAAE,IAAAC,sBAAA,EAAWL,MAAM,CAACE,aAAlB,IACF,UAAUI,IAAV,EAAgBC,MAAhB,EAAwBC,KAAxB,EAA+B;QAC7B,OAAO,IAAAC,+BAAA,EACHT,MAAM,CAACE,aADJ,EAEHF,MAAM,CAACG,uBAFJ,EAGHG,IAHG,EAIHC,MAJG,EAKHC,KALG,CAAP;MAOH,CATG,GAUF,YAAYR,MAAZ,GACIA,MAAM,CAACI,MADX,GAEI,UAAUE,IAAV,EAAgB;QACd,OAAO,CAAC,EAAD,EAAK,IAAL,EAAWI,SAAX,EAAsBrC,QAAtB,CAA+BiC,IAA/B,IAAuC,GAAvC,GAA6CA,IAApD;MACH;IAhBb;EAkBH,CA1Ba,CAAd,CA1PuC,CAqRvC;;EACA,IAAIjE,eAAJ,EAAqB;IACjBuB,OAAO,GAAGA,OAAO,CAACC,GAAR,CAAY,UAACC,GAAD,EAAM0C,KAAN;MAAA,uCACf1C,GADe;QAElB6C,YAAY,EAAE,sBAAAX,MAAM;UAAA,OAAK;YACrBY,KAAK,EAAEZ,MAAM,CAACY,KADO;YAErBC,QAAQ,EAAEC,YAAY,CAACN,KAAD;UAFD,CAAL;QAAA;MAFF;IAAA,CAAZ,CAAV;;IAOA,IAAMM,YAAY,GAAG,SAAfA,YAAe,CAAAN,KAAK;MAAA,OAAI,UAACO,CAAD,SAAiB;QAAA,IAAXnG,IAAW,SAAXA,IAAW;QAC3CE,QAAQ,CAAC,iBAAwB;UAAA,IAArBT,cAAqB,SAArBA,cAAqB;;UAC7B,IAAM2G,WAAW,sBAAO3G,cAAP,CAAjB;;UACA2G,WAAW,CAACR,KAAD,CAAX,mCACOQ,WAAW,CAACR,KAAD,CADlB;YAEII,KAAK,EAAEhG,IAAI,CAACgG;UAFhB;UAIA,OAAO;YAAEvG,cAAc,EAAE2G;UAAlB,CAAP;QACH,CAPO,CAAR;MAQH,CATyB;IAAA,CAA1B;EAUH,CAxSsC,CA0SvC;;;EACA,IAAIC,UAAU,GAAGpE,IAAI,CAACoE,UAAtB;;EACA,IAAInF,WAAJ,EAAiB;IAAA;;IACb8B,OAAO,IACH;MACIsD,KAAK,EAAEjF,UADX;MAEI+B,SAAS,EAAE,YAFf;MAGID,GAAG,EAAE,YAHT;MAII6C,KAAK,EAAE,EAJX;MAKIO,KAAK,EAAEpF;IALX,CADG,4BAQA6B,OARA,EAAP;IAUAqD,UAAU,kBAAGA,UAAH,gDAAG,YAAYpD,GAAZ,CAAgB,UAACO,IAAD,EAAOgD,CAAP,EAAa;MACtC,uCACOhD,IADP;QAEIiD,UAAU,EAAED,CAAC,GAAGlF;MAFpB;IAIH,CALY,CAAb;EAMH;;EAED,IAAIoF,MAAJ;;EACA,IAAInF,OAAJ,EAAa;IACTmF,MAAM,mCACEzE,IAAI,CAACyE,MAAL,IAAe,EADjB;MAEFC,CAAC,EAAE5G;IAFD,EAAN;EAIH;;EAED,oBACI;IACI,EAAE,EAAEH,UADR;IAEI,SAAS,EAAE,IAAAgF,uBAAA,EAAWtE,SAAX,EAAsBoB,SAAtB,4DACHpB,SADG,WACeiB,OADf,0CAEHjB,SAFG,cAEkB,kBAAC+F,UAAD,yCAAC,aAAY1C,MAAb,CAFlB,gBAFf;IAMI,KAAK,EAAEhC;EANX,GAQKgD,aARL,EASKjB,QAAQ,iBACL;IAAK,SAAS,YAAKpD,SAAL;EAAd,gBACI,gCAAC,iBAAD;IACI,SAAS,EAAEA,SADf;IAEI,eAAe,yBAAE2B,IAAI,CAACO,YAAP,wDAAE,oBAAmBC,eAFxC;IAGI,iBAAiB,EAAEZ;EAHvB,EADJ,CAVR,eAkBI,gCAAC,iBAAD;IACI,IAAI,EAAE7B,IADV;IAEI,QAAQ,EAAEoB;EAFd,GAGQa,IAHR;IAII,OAAO,EAAEe,OAJb;IAKI,UAAU,EAAEqD,UALhB;IAMI,MAAM,EAAEK,MANZ;IAOI,UAAU,EAAE7B,aAAa,CAAC5C,IAAI,CAAC6C,UAAN,CAP7B;IAQI,KAAK,EAAE;MAAE8B,MAAM,wBAAiBvG,aAAa,CAACuD,OAAd,GAAwBzD,WAAW,CAACyD,OAArD;IAAR,CARX;IASI,MAAM;MACFhC,SAAS,eAAE,gCAAC,iBAAD;QAAO,WAAW,EAAEA;MAApB;IADT,GAECK,IAAI,CAAC4E,MAFN,CATV;IAaI,UAAU,EACNpF,eAAe,GACT;MACEqF,MAAM,EAAE;QACJC,IAAI,EAAEC;MADF;IADV,CADS,GAMTlB;EApBd,GAlBJ,CADJ;AA4CH;;AAEDxG,WAAW,CAAC2H,SAAZ,GAAwB;EACpB3G,SAAS,EAAE4G,qBAAA,CAAUC,MADD;EAEpBxG,kBAAkB,EAAEuG,qBAAA,CAAUE,IAFV;EAGpBxG,iBAAiB,EAAEsG,qBAAA,CAAUE,IAHT;EAIpBvG,gBAAgB,EAAEqG,qBAAA,CAAUE,IAJR;EAKpBhG,QAAQ,EAAE8F,qBAAA,CAAUE,IALA;EAMpBtG,iBAAiB,EAAEoG,qBAAA,CAAUG,KANT;EAOpBtG,wBAAwB,EAAEmG,qBAAA,CAAUG,KAPhB;EAQpBrG,sBAAsB,EAAEkG,qBAAA,CAAUI,IARd;EASpB9G,gBAAgB,EAAE0G,qBAAA,CAAUC,MATR;EAUpB5G,OAAO,EAAE2G,qBAAA,CAAUE,IAVC;EAWpB3G,YAAY,EAAEyG,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUC,MAAX,EAAmBD,qBAAA,CAAUM,IAA7B,CAApB,CAXM;EAYpBvG,SAAS,EAAEiG,qBAAA,CAAUI,IAZD;EAapBpG,WAAW,EAAEgG,qBAAA,CAAUE,IAbH;EAcpBjG,UAAU,EAAE+F,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUC,MAAX,EAAmBD,qBAAA,CAAUE,IAA7B,CAApB,CAdQ;EAepB/F,UAAU,EAAE6F,qBAAA,CAAUC,MAfF;EAgBpB7F,UAAU,EAAE4F,qBAAA,CAAUO,MAhBF;EAiBpB/G,WAAW,EAAEwG,qBAAA,CAAUM,IAjBH;EAkBpBjG,OAAO,EAAE2F,qBAAA,CAAUE,IAlBC;EAmBpB5F,cAAc,EAAE0F,qBAAA,CAAUO,MAnBN;EAoBpBhG,eAAe,EAAEyF,qBAAA,CAAUE,IApBP;EAqBpBxF,SAAS,EAAEsF,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUC,MAAX,EAAmBD,qBAAA,CAAUM,IAA7B,CAApB,CArBS;EAsBpB3F,iBAAiB,EAAEqF,qBAAA,CAAUI,IAtBT;EAuBpBxF,oBAAoB,EAAEoF,qBAAA,CAAUQ,MAvBZ;EAwBpBhG,SAAS,EAAEwF,qBAAA,CAAUC,MAxBD;EAyBpBxF,KAAK,EAAEuF,qBAAA,CAAUQ,MAzBG;EA0BpB3F,kBAAkB,EAAEmF,qBAAA,CAAUG,KA1BV;EA2BpBrF,aAAa,EAAEkF,qBAAA,CAAUI;AA3BL,CAAxB"}