bkui-vue 0.0.2-beta.99 → 0.0.2-modal-refactor.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/dist/index.cjs.js +47 -47
  2. package/dist/index.esm.js +12587 -12621
  3. package/dist/index.umd.js +34 -34
  4. package/dist/locale/en.esm.js +1 -1
  5. package/dist/locale/en.esm.js.map +1 -1
  6. package/dist/locale/en.umd.js +1 -1
  7. package/dist/locale/en.umd.js.map +1 -1
  8. package/dist/locale/zh-cn.esm.js +1 -1
  9. package/dist/locale/zh-cn.esm.js.map +1 -1
  10. package/dist/locale/zh-cn.umd.js +1 -1
  11. package/dist/locale/zh-cn.umd.js.map +1 -1
  12. package/dist/style.css +1 -1
  13. package/dist/style.variable.css +1 -1
  14. package/lib/affix/affix.css +0 -122
  15. package/lib/affix/affix.variable.css +5 -245
  16. package/lib/alert/alert.css +3 -125
  17. package/lib/alert/alert.variable.css +5 -245
  18. package/lib/backtop/backtop.css +3 -125
  19. package/lib/backtop/backtop.variable.css +8 -370
  20. package/lib/badge/badge.css +34 -150
  21. package/lib/badge/badge.less +8 -4
  22. package/lib/badge/badge.variable.css +13 -247
  23. package/lib/breadcrumb/breadcrumb.css +5 -127
  24. package/lib/breadcrumb/breadcrumb.variable.css +10 -372
  25. package/lib/button/button-group.d.ts +2 -2
  26. package/lib/button/button.css +137 -256
  27. package/lib/button/button.d.ts +1 -1
  28. package/lib/button/button.less +98 -93
  29. package/lib/button/button.variable.css +23 -260
  30. package/lib/button/index.d.ts +5 -5
  31. package/lib/card/card.css +11 -133
  32. package/lib/card/card.less +7 -7
  33. package/lib/card/card.variable.css +16 -378
  34. package/lib/cascader/cascader-panel.d.ts +1 -0
  35. package/lib/cascader/cascader.css +26 -148
  36. package/lib/cascader/cascader.d.ts +1 -0
  37. package/lib/cascader/cascader.less +4 -6
  38. package/lib/cascader/cascader.variable.css +31 -393
  39. package/lib/cascader/index.d.ts +4 -0
  40. package/lib/cascader/index.js +31 -14
  41. package/lib/checkbox/checkbox.css +22 -132
  42. package/lib/checkbox/checkbox.d.ts +9 -8
  43. package/lib/checkbox/checkbox.less +15 -1
  44. package/lib/checkbox/checkbox.variable.css +18 -246
  45. package/lib/checkbox/common.d.ts +1 -0
  46. package/lib/checkbox/index.d.ts +15 -12
  47. package/lib/checkbox/index.js +33 -9
  48. package/lib/code-diff/code-diff.css +0 -122
  49. package/lib/code-diff/code-diff.variable.css +5 -245
  50. package/lib/collapse/collapse.css +1 -123
  51. package/lib/collapse/collapse.variable.css +5 -245
  52. package/lib/collapse-transition/collapse-transition.css +0 -122
  53. package/lib/collapse-transition/collapse-transition.variable.css +5 -245
  54. package/lib/color-picker/color-picker.css +0 -122
  55. package/lib/color-picker/color-picker.variable.css +5 -245
  56. package/lib/config-provider/config-provider.css +0 -122
  57. package/lib/config-provider/config-provider.d.ts +18 -0
  58. package/lib/config-provider/config-provider.variable.css +5 -245
  59. package/lib/config-provider/index.d.ts +24 -0
  60. package/lib/config-provider/token.d.ts +6 -0
  61. package/lib/container/container.css +0 -122
  62. package/lib/container/container.variable.css +5 -367
  63. package/lib/date-picker/common.d.ts +2 -0
  64. package/lib/date-picker/date-picker.css +17 -139
  65. package/lib/date-picker/date-picker.d.ts +2 -0
  66. package/lib/date-picker/date-picker.variable.css +5 -245
  67. package/lib/date-picker/index.d.ts +6 -0
  68. package/lib/date-picker/index.js +184 -110
  69. package/lib/date-picker/panel/date.d.ts +2 -2
  70. package/lib/date-picker/panel/time-range.d.ts +17 -0
  71. package/lib/date-picker/panel/time.d.ts +17 -1
  72. package/lib/date-picker/time-picker.d.ts +2 -0
  73. package/lib/date-picker/use-calendar.d.ts +24 -0
  74. package/lib/dialog/dialog.css +76 -172
  75. package/lib/dialog/dialog.d.ts +18 -9
  76. package/lib/dialog/dialog.less +9 -8
  77. package/lib/dialog/dialog.variable.css +81 -417
  78. package/lib/dialog/index.d.ts +34 -18
  79. package/lib/dialog/index.js +4 -7
  80. package/lib/dialog/props.d.ts +7 -3
  81. package/lib/directives/index.js +15 -4
  82. package/lib/divider/divider.css +3 -125
  83. package/lib/divider/divider.variable.css +5 -245
  84. package/lib/dropdown/dropdown.css +1 -123
  85. package/lib/dropdown/dropdown.variable.css +6 -368
  86. package/lib/dropdown/index.js +2 -2
  87. package/lib/exception/exception.css +0 -122
  88. package/lib/exception/exception.variable.css +5 -245
  89. package/lib/fixed-navbar/fixed-navbar.css +4 -126
  90. package/lib/fixed-navbar/fixed-navbar.variable.css +5 -245
  91. package/lib/form/form.css +2 -123
  92. package/lib/form/form.less +3 -2
  93. package/lib/form/form.variable.css +7 -246
  94. package/lib/icon/index.d.ts +1 -0
  95. package/lib/icon/index.js +58 -25
  96. package/lib/icon/loading.d.ts +4 -0
  97. package/lib/icon/loading.js +276 -0
  98. package/lib/image/image-viewer.css +0 -122
  99. package/lib/image/image-viewer.variable.css +5 -245
  100. package/lib/image/image.css +0 -122
  101. package/lib/image/image.variable.css +5 -367
  102. package/lib/info-box/index.js +28 -20
  103. package/lib/info-box/info-box.css +10 -132
  104. package/lib/info-box/info-box.less +37 -34
  105. package/lib/info-box/info-box.variable.css +15 -255
  106. package/lib/input/index.d.ts +4 -4
  107. package/lib/input/index.js +12 -5
  108. package/lib/input/input.css +84 -190
  109. package/lib/input/input.d.ts +3 -3
  110. package/lib/input/input.less +19 -0
  111. package/lib/input/input.variable.css +89 -435
  112. package/lib/link/link.css +16 -138
  113. package/lib/link/link.variable.css +5 -245
  114. package/lib/loading/index.d.ts +3 -3
  115. package/lib/loading/loading.css +25 -147
  116. package/lib/loading/loading.d.ts +1 -1
  117. package/lib/loading/loading.less +14 -9
  118. package/lib/loading/loading.variable.css +30 -392
  119. package/lib/locale/index.js +14 -2
  120. package/lib/locale/lang/en.d.ts +6 -0
  121. package/lib/menu/menu.css +18 -140
  122. package/lib/menu/menu.variable.css +23 -385
  123. package/lib/menu/submenu.css +0 -122
  124. package/lib/menu/submenu.variable.css +5 -245
  125. package/lib/message/message.css +21 -143
  126. package/lib/message/message.variable.css +5 -245
  127. package/lib/modal/index.d.ts +103 -60
  128. package/lib/modal/index.js +131 -103
  129. package/lib/modal/modal.css +35 -132
  130. package/lib/modal/modal.d.ts +38 -20
  131. package/lib/modal/modal.less +33 -0
  132. package/lib/modal/modal.variable.css +40 -377
  133. package/lib/modal/props.mixin.d.ts +7 -3
  134. package/lib/navigation/navigation.css +2 -124
  135. package/lib/navigation/navigation.variable.css +5 -245
  136. package/lib/notify/notify.css +13 -135
  137. package/lib/notify/notify.less +6 -6
  138. package/lib/notify/notify.variable.css +11 -251
  139. package/lib/overflow-title/components/overflow-title.d.ts +0 -1
  140. package/lib/overflow-title/index.js +2 -178
  141. package/lib/pagination/index.d.ts +4 -4
  142. package/lib/pagination/pagination.css +2 -123
  143. package/lib/pagination/pagination.d.ts +3 -3
  144. package/lib/pagination/pagination.less +1 -0
  145. package/lib/pagination/pagination.variable.css +6 -245
  146. package/lib/plugin-popover/index.js +31 -103
  147. package/lib/pop-confirm/index.d.ts +42 -3
  148. package/lib/pop-confirm/index.js +55 -47
  149. package/lib/pop-confirm/pop-confirm.css +4 -126
  150. package/lib/pop-confirm/pop-confirm.d.ts +14 -1
  151. package/lib/pop-confirm/pop-confirm.less +4 -4
  152. package/lib/pop-confirm/pop-confirm.variable.css +9 -249
  153. package/lib/popover/index.js +31 -103
  154. package/lib/popover/popover.css +1 -123
  155. package/lib/popover/popover.less +1 -1
  156. package/lib/popover/popover.variable.css +6 -246
  157. package/lib/preset.d.ts +12 -0
  158. package/lib/process/process.css +13 -135
  159. package/lib/process/process.variable.css +5 -245
  160. package/lib/progress/index.d.ts +4 -4
  161. package/lib/progress/progress.css +11 -129
  162. package/lib/progress/progress.d.ts +3 -3
  163. package/lib/progress/progress.less +8 -3
  164. package/lib/progress/progress.variable.css +16 -374
  165. package/lib/radio/common.d.ts +1 -0
  166. package/lib/radio/index.d.ts +8 -2
  167. package/lib/radio/index.js +11 -3
  168. package/lib/radio/radio-button.d.ts +4 -3
  169. package/lib/radio/radio-group.d.ts +3 -0
  170. package/lib/radio/radio.css +49 -157
  171. package/lib/radio/radio.d.ts +1 -0
  172. package/lib/radio/radio.less +42 -8
  173. package/lib/radio/radio.variable.css +25 -251
  174. package/lib/rate/index.d.ts +4 -4
  175. package/lib/rate/index.js +22 -6
  176. package/lib/rate/rate.css +0 -122
  177. package/lib/rate/rate.d.ts +2 -2
  178. package/lib/rate/rate.variable.css +5 -245
  179. package/lib/rate/star.css +3 -122
  180. package/lib/rate/star.less +3 -0
  181. package/lib/rate/star.variable.css +8 -245
  182. package/lib/resize-layout/index.d.ts +3 -3
  183. package/lib/resize-layout/resize-layout.css +2 -124
  184. package/lib/resize-layout/resize-layout.d.ts +1 -1
  185. package/lib/resize-layout/resize-layout.less +2 -2
  186. package/lib/resize-layout/resize-layout.variable.css +7 -247
  187. package/lib/search-select/index.js +6 -6
  188. package/lib/search-select/search-select.css +34 -156
  189. package/lib/search-select/search-select.less +9 -9
  190. package/lib/search-select/search-select.variable.css +39 -401
  191. package/lib/select/common.d.ts +3 -1
  192. package/lib/select/index.d.ts +92 -21
  193. package/lib/select/index.js +193 -63
  194. package/lib/select/option.d.ts +1 -0
  195. package/lib/select/select.css +27 -146
  196. package/lib/select/select.d.ts +38 -9
  197. package/lib/select/select.less +3 -0
  198. package/lib/select/select.variable.css +32 -391
  199. package/lib/select/selectTagInput.d.ts +2 -0
  200. package/lib/select/type.d.ts +3 -0
  201. package/lib/shared/index.d.ts +1 -2
  202. package/lib/shared/index.js +484 -1133
  203. package/lib/shared/mask.d.ts +11 -0
  204. package/lib/shared/vue-types.d.ts +1 -1
  205. package/lib/sideslider/index.d.ts +34 -18
  206. package/lib/sideslider/index.js +0 -11
  207. package/lib/sideslider/sideslider.css +12 -134
  208. package/lib/sideslider/sideslider.d.ts +18 -9
  209. package/lib/sideslider/sideslider.less +80 -77
  210. package/lib/sideslider/sideslider.variable.css +16 -256
  211. package/lib/slider/index.js +7 -1
  212. package/lib/slider/slider.css +6 -126
  213. package/lib/slider/slider.less +2 -0
  214. package/lib/slider/slider.variable.css +7 -245
  215. package/lib/steps/index.d.ts +4 -4
  216. package/lib/steps/index.js +1 -1
  217. package/lib/steps/steps.css +53 -163
  218. package/lib/steps/steps.d.ts +3 -3
  219. package/lib/steps/steps.less +26 -5
  220. package/lib/steps/steps.variable.css +23 -251
  221. package/lib/styles/index.d.ts +1 -0
  222. package/lib/styles/mixins/animate.css +0 -122
  223. package/lib/styles/mixins/animate.variable.css +5 -245
  224. package/lib/styles/mixins/mixins.css +0 -122
  225. package/lib/styles/mixins/mixins.variable.css +0 -122
  226. package/lib/styles/mixins/popper.css +0 -122
  227. package/lib/styles/mixins/popper.variable.css +5 -245
  228. package/lib/styles/mixins/scroll.css +0 -122
  229. package/lib/styles/mixins/scroll.variable.css +5 -245
  230. package/lib/styles/reset.css +0 -122
  231. package/lib/styles/reset.variable.css +5 -245
  232. package/lib/styles/themes/themes.less +124 -289
  233. package/lib/swiper/swiper.css +0 -122
  234. package/lib/swiper/swiper.variable.css +5 -245
  235. package/lib/switcher/index.d.ts +4 -4
  236. package/lib/switcher/switcher.css +17 -139
  237. package/lib/switcher/switcher.d.ts +3 -3
  238. package/lib/switcher/switcher.variable.css +22 -384
  239. package/lib/tab/tab.css +17 -139
  240. package/lib/tab/tab.variable.css +5 -245
  241. package/lib/table/components/table-column.d.ts +5 -4
  242. package/lib/table/index.d.ts +8 -7
  243. package/lib/table/index.js +877 -630
  244. package/lib/table/plugins/body-empty.d.ts +1 -1
  245. package/lib/table/plugins/head-filter.css +1 -150
  246. package/lib/table/plugins/head-filter.less +2 -34
  247. package/lib/table/plugins/head-filter.variable.css +6 -273
  248. package/lib/table/plugins/head-sort.css +0 -122
  249. package/lib/table/plugins/head-sort.variable.css +5 -245
  250. package/lib/table/plugins/settings.css +0 -122
  251. package/lib/table/plugins/settings.d.ts +0 -7
  252. package/lib/table/plugins/settings.variable.css +5 -245
  253. package/lib/table/plugins/use-head-cell.d.ts +7 -0
  254. package/lib/table/plugins/use-pagination.d.ts +2 -1
  255. package/lib/table/props.d.ts +3 -1
  256. package/lib/table/table.css +207 -337
  257. package/lib/table/table.d.ts +1 -1
  258. package/lib/table/table.less +27 -21
  259. package/lib/table/table.variable.css +212 -582
  260. package/lib/table/use-attributes.d.ts +5 -1
  261. package/lib/table/use-column.d.ts +3 -0
  262. package/lib/table/use-common.d.ts +0 -1
  263. package/lib/table/utils.d.ts +6 -4
  264. package/lib/table-column/index.d.ts +13 -10
  265. package/lib/tag/tag.css +5 -127
  266. package/lib/tag/tag.variable.css +5 -245
  267. package/lib/tag-input/index.js +17 -13
  268. package/lib/tag-input/list-tag-render.d.ts +11 -0
  269. package/lib/tag-input/tag-input.css +18 -140
  270. package/lib/tag-input/tag-input.d.ts +14 -2
  271. package/lib/tag-input/tag-input.variable.css +5 -245
  272. package/lib/time-picker/index.d.ts +6 -0
  273. package/lib/time-picker/time-picker.css +4 -125
  274. package/lib/time-picker/time-picker.less +5 -9
  275. package/lib/time-picker/time-picker.variable.css +9 -248
  276. package/lib/timeline/timeline.css +19 -141
  277. package/lib/timeline/timeline.variable.css +5 -245
  278. package/lib/transfer/transfer.css +21 -143
  279. package/lib/transfer/transfer.less +2 -2
  280. package/lib/transfer/transfer.variable.css +7 -247
  281. package/lib/tree/index.d.ts +3 -3
  282. package/lib/tree/index.js +54 -8
  283. package/lib/tree/tree.css +22 -132
  284. package/lib/tree/tree.d.ts +5 -1
  285. package/lib/tree/tree.variable.css +27 -377
  286. package/lib/tree/use-empty.d.ts +1 -3
  287. package/lib/upload/index.js +2 -2
  288. package/lib/upload/upload.css +27 -149
  289. package/lib/upload/upload.variable.css +32 -394
  290. package/lib/virtual-render/index.js +71 -30
  291. package/lib/virtual-render/use-fix-top.d.ts +18 -0
  292. package/lib/virtual-render/v-virtual-render.d.ts +5 -0
  293. package/lib/virtual-render/virtual-render.css +0 -122
  294. package/lib/virtual-render/virtual-render.variable.css +5 -367
  295. package/package.json +4 -3
  296. package/lib/shared/mask-manager.d.ts +0 -89
  297. package/lib/shared/pop-manager.d.ts +0 -41
  298. package/lib/styles/themes/themes.css +0 -122
  299. package/lib/styles/themes/themes.variable.css +0 -122
  300. package/lib/table/render.d.ts +0 -130
  301. /package/lib/overflow-title/{overflow.css → overflow-title.css} +0 -0
  302. /package/lib/overflow-title/{overflow.less → overflow-title.less} +0 -0
  303. /package/lib/overflow-title/{overflow.variable.css → overflow-title.variable.css} +0 -0
@@ -13,9 +13,9 @@ import * as __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__ from "../icon";
13
13
  import * as __WEBPACK_EXTERNAL_MODULE__pagination_6e36ddb9__ from "../pagination";
14
14
  import * as __WEBPACK_EXTERNAL_MODULE__directives_9cc9ba10__ from "../directives";
15
15
  import * as __WEBPACK_EXTERNAL_MODULE__exception_12c197e0__ from "../exception";
16
- import * as __WEBPACK_EXTERNAL_MODULE__popover_cf5f8dce__ from "../popover";
17
- import * as __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__ from "../icon/";
18
16
  import * as __WEBPACK_EXTERNAL_MODULE__button_59c00871__ from "../button";
17
+ import * as __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__ from "../icon/";
18
+ import * as __WEBPACK_EXTERNAL_MODULE__popover_cf5f8dce__ from "../popover";
19
19
  /******/ // The require scope
20
20
  /******/ var __webpack_require__ = {};
21
21
  /******/
@@ -62,7 +62,7 @@ __webpack_require__.d(__webpack_exports__, {
62
62
  ;// CONCATENATED MODULE: external "../shared"
63
63
  var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
64
64
  var y = x => () => x
65
- const external_shared_namespaceObject = x({ ["PropTypes"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.PropTypes, ["RenderType"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.RenderType, ["classes"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.classes, ["debounce"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.debounce, ["hasOverflowEllipsis"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.hasOverflowEllipsis, ["isElement"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.isElement, ["resolveClassName"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.resolveClassName, ["withInstallProps"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.withInstallProps });
65
+ const external_shared_namespaceObject = x({ ["PropTypes"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.PropTypes, ["RenderType"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.RenderType, ["classes"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.classes, ["debounce"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.debounce, ["hasOverflowEllipsis"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.hasOverflowEllipsis, ["isElement"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.isElement, ["withInstallProps"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.withInstallProps });
66
66
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/typeof.js
67
67
  function typeof_typeof(obj) {
68
68
  "@babel/helpers - typeof";
@@ -1607,6 +1607,7 @@ function use_pagination_objectSpread(target) { for (var i = 1; i < arguments.len
1607
1607
  * IN THE SOFTWARE.
1608
1608
  */
1609
1609
 
1610
+
1610
1611
  /**
1611
1612
  * 处理 Prop中的分页配置
1612
1613
  * prop中的配置会覆盖本地的配置
@@ -1684,6 +1685,16 @@ var resolvePaginationOption = function resolvePaginationOption(propPagination, d
1684
1685
  });
1685
1686
  }
1686
1687
  };
1688
+ /**
1689
+ * 初始化排序动作
1690
+ * @param data
1691
+ * @param sortColumns
1692
+ */
1693
+ var multiSort = function multiSort(data, sortColumns) {
1694
+ sortColumns.forEach(function (item) {
1695
+ sort(data, item.schema[COLUMN_ATTRIBUTE.COL_SORT_FN], item.column, item.schema[COLUMN_ATTRIBUTE.COL_SORT_TYPE], item.schema[COLUMN_ATTRIBUTE.COL_SORT_SCOPE]);
1696
+ });
1697
+ };
1687
1698
  var filter = function filter(sourceData, filterFn) {
1688
1699
  if (typeof filterFn === 'function') {
1689
1700
  var filterVals = sourceData.filter(function (row, index) {
@@ -1694,14 +1705,20 @@ var resolvePaginationOption = function resolvePaginationOption(propPagination, d
1694
1705
  }
1695
1706
  return sourceData;
1696
1707
  };
1697
- var resolvePageData = function resolvePageData(filterFn, sortFn, column, type, sortScope) {
1708
+ var resolvePageData = function resolvePageData(filterFn, sortFn, column, type, sortScope, multiCol) {
1698
1709
  var sourceData = indexData.value.slice();
1710
+ if (multiCol !== null && multiCol !== void 0 && multiCol.length) {
1711
+ multiSort(sourceData, multiCol);
1712
+ }
1699
1713
  pageData.length = 0;
1700
1714
  pageData.push.apply(pageData, _toConsumableArray(sourceData.slice(startIndex.value, endIndex.value)));
1701
1715
  filter(pageData, filterFn);
1702
1716
  sort(pageData, sortFn, column, type, sortScope);
1703
1717
  resolveLocalPagination();
1704
1718
  };
1719
+ var resolvePageDataBySortList = function resolvePageDataBySortList(multiCol) {
1720
+ resolvePageData(null, null, null, null, null, multiCol);
1721
+ };
1705
1722
  var multiFilter = function multiFilter(filterFnList) {
1706
1723
  var sourceData = indexData.value.slice();
1707
1724
  var target = filterFnList.reduce(function (result, fn) {
@@ -1729,6 +1746,7 @@ var resolvePaginationOption = function resolvePaginationOption(propPagination, d
1729
1746
  indexData: indexData,
1730
1747
  localPagination: localPagination,
1731
1748
  resolvePageData: resolvePageData,
1749
+ resolvePageDataBySortList: resolvePageDataBySortList,
1732
1750
  resetStartEndIndex: resetStartEndIndex,
1733
1751
  multiFilter: multiFilter,
1734
1752
  sort: sort
@@ -3005,9 +3023,13 @@ var getElementTextWidth = function getElementTextWidth(element, text) {
3005
3023
  return getTextWidth(text || (element === null || element === void 0 ? void 0 : element.innerHTML), getCanvasFont(element));
3006
3024
  };
3007
3025
  var isColumnHidden = function isColumnHidden(settingFields, column, checked) {
3026
+ var getFieldValue = function getFieldValue(field) {
3027
+ var _field$field;
3028
+ return (_field$field = field.field) !== null && _field$field !== void 0 ? _field$field : field.id;
3029
+ };
3008
3030
  var isSettingField = function isSettingField(col) {
3009
3031
  return settingFields.some(function (field) {
3010
- return field.field === resolvePropVal(col, ['field', 'type'], [col]);
3032
+ return getFieldValue(field) === resolvePropVal(col, ['field', 'type'], [col]);
3011
3033
  });
3012
3034
  };
3013
3035
  return isSettingField(column) && checked.length && !checked.includes(resolvePropVal(column, ['field', 'type'], [column]));
@@ -3052,8 +3074,9 @@ var getSortFn = function getSortFn(column, sortType) {
3052
3074
  return getRowText(row, fieldName);
3053
3075
  };
3054
3076
  var sortFn0 = function sortFn0(a, b) {
3055
- var val0 = getVal(a) || '';
3056
- var val1 = getVal(b) || '';
3077
+ var _getVal, _getVal2;
3078
+ var val0 = (_getVal = getVal(a)) !== null && _getVal !== void 0 ? _getVal : '';
3079
+ var val1 = (_getVal2 = getVal(b)) !== null && _getVal2 !== void 0 ? _getVal2 : '';
3057
3080
  if (typeof val0 === 'number' && typeof val1 === 'number') {
3058
3081
  return val0 - val1;
3059
3082
  }
@@ -3068,13 +3091,13 @@ var getSortFn = function getSortFn(column, sortType) {
3068
3091
  };
3069
3092
  var getNextSortType = function getNextSortType(sortType) {
3070
3093
  var _steps;
3071
- var steps = (_steps = {}, defineProperty_defineProperty(_steps, SORT_OPTION.NULL, 0), defineProperty_defineProperty(_steps, SORT_OPTION.ASC, 1), defineProperty_defineProperty(_steps, SORT_OPTION.DESC, 2), _steps);
3094
+ var steps = (_steps = {}, defineProperty_defineProperty(_steps, SORT_OPTION.NULL, 3), defineProperty_defineProperty(_steps, SORT_OPTION.ASC, 1), defineProperty_defineProperty(_steps, SORT_OPTION.DESC, 2), _steps);
3072
3095
  if (steps[sortType] === undefined) {
3073
- return SORT_OPTION.NULL;
3096
+ return SORT_OPTION.ASC;
3074
3097
  }
3075
3098
  return Object.keys(steps)[(steps[sortType] + 1) % 3];
3076
3099
  };
3077
- var resolveSort = function resolveSort(sort) {
3100
+ var resolveSort = function resolveSort(sort, column) {
3078
3101
  if (typeof sort === 'string') {
3079
3102
  return {
3080
3103
  value: sort
@@ -3086,12 +3109,15 @@ var resolveSort = function resolveSort(sort) {
3086
3109
  };
3087
3110
  }
3088
3111
  if (typeof_typeof(sort) === 'object' && sort !== null) {
3089
- if (typeof_typeof(sort.sortFn)) {
3112
+ var _sort$value;
3113
+ if (typeof sort.sortFn === 'function') {
3090
3114
  return utils_objectSpread({
3091
3115
  value: 'custom'
3092
3116
  }, sort);
3093
3117
  }
3094
- return sort;
3118
+ return Object.assign({}, {
3119
+ sortFn: getSortFn(column, (_sort$value = sort.value) !== null && _sort$value !== void 0 ? _sort$value : SORT_OPTION.NULL)
3120
+ }, sort);
3095
3121
  }
3096
3122
  return null;
3097
3123
  };
@@ -3120,7 +3146,7 @@ var getRowId = function getRowId(row, defVal, props) {
3120
3146
  };
3121
3147
  var resolveColumnSortProp = function resolveColumnSortProp(col, props) {
3122
3148
  var _resolveSort, _col$sort;
3123
- var _ref4 = (_resolveSort = resolveSort((_col$sort = col.sort) !== null && _col$sort !== void 0 ? _col$sort : props.defaultSort)) !== null && _resolveSort !== void 0 ? _resolveSort : {},
3149
+ var _ref4 = (_resolveSort = resolveSort((_col$sort = col.sort) !== null && _col$sort !== void 0 ? _col$sort : props.defaultSort, col)) !== null && _resolveSort !== void 0 ? _resolveSort : {},
3124
3150
  value = _ref4.value,
3125
3151
  sortFn = _ref4.sortFn,
3126
3152
  sortScope = _ref4.sortScope;
@@ -3128,7 +3154,7 @@ var resolveColumnSortProp = function resolveColumnSortProp(col, props) {
3128
3154
  type: value,
3129
3155
  fn: sortFn,
3130
3156
  scope: sortScope,
3131
- active: false
3157
+ active: !!col.sort
3132
3158
  };
3133
3159
  };
3134
3160
  ;// CONCATENATED MODULE: ../../packages/table/src/use-attributes.ts
@@ -3168,18 +3194,28 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3168
3194
 
3169
3195
 
3170
3196
  /* harmony default export */ const use_attributes = (function (props) {
3171
- var _props$settings, _props$settings2;
3172
- var size = props.settings.size;
3173
- var height = SETTING_SIZE[size] || SETTING_SIZE.small;
3197
+ var getDefaultSettings = function getDefaultSettings() {
3198
+ var _ref, _SETTING_SIZE$size;
3199
+ var _props$settings = props.settings,
3200
+ size = _props$settings.size,
3201
+ _props$settings$field = _props$settings.fields,
3202
+ fields = _props$settings$field === void 0 ? [] : _props$settings$field,
3203
+ _props$settings$check = _props$settings.checked,
3204
+ checked = _props$settings$check === void 0 ? [] : _props$settings$check;
3205
+ var height = (_ref = (_SETTING_SIZE$size = SETTING_SIZE[size]) !== null && _SETTING_SIZE$size !== void 0 ? _SETTING_SIZE$size : props.rowHeight) !== null && _ref !== void 0 ? _ref : SETTING_SIZE.small;
3206
+ return {
3207
+ size: size,
3208
+ height: height,
3209
+ fields: fields,
3210
+ checked: checked
3211
+ };
3212
+ };
3174
3213
  var formatData = (0,external_vue_namespaceObject.reactive)({
3175
3214
  data: _toConsumableArray(props.data),
3176
3215
  dataSchema: new WeakMap(),
3177
3216
  columns: _toConsumableArray(props.columns),
3178
3217
  columnSchema: new WeakMap(),
3179
- settings: {
3180
- size: size,
3181
- height: height
3182
- },
3218
+ settings: getDefaultSettings(),
3183
3219
  layout: {
3184
3220
  hasScrollY: false,
3185
3221
  bottom: 0,
@@ -3191,9 +3227,31 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3191
3227
  pageData = _usePagination.pageData,
3192
3228
  localPagination = _usePagination.localPagination,
3193
3229
  resolvePageData = _usePagination.resolvePageData,
3230
+ resolvePageDataBySortList = _usePagination.resolvePageDataBySortList,
3194
3231
  multiFilter = _usePagination.multiFilter,
3195
3232
  sort = _usePagination.sort,
3196
3233
  resetStartEndIndex = _usePagination.resetStartEndIndex;
3234
+ var updateSettings = function updateSettings(settings, rowHeight) {
3235
+ if (settings) {
3236
+ var _ref2, _ref3;
3237
+ var size = settings.size,
3238
+ _settings$fields = settings.fields,
3239
+ fields = _settings$fields === void 0 ? [] : _settings$fields,
3240
+ _settings$checked = settings.checked,
3241
+ checked = _settings$checked === void 0 ? [] : _settings$checked;
3242
+ var height = (_ref2 = (_ref3 = rowHeight !== null && rowHeight !== void 0 ? rowHeight : SETTING_SIZE[size]) !== null && _ref3 !== void 0 ? _ref3 : props.rowHeight) !== null && _ref2 !== void 0 ? _ref2 : SETTING_SIZE.small;
3243
+ Object.assign(formatData.settings, {
3244
+ size: size,
3245
+ height: height,
3246
+ fields: fields,
3247
+ checked: checked
3248
+ });
3249
+ return;
3250
+ }
3251
+ if (rowHeight) {
3252
+ formatData.settings.height = rowHeight;
3253
+ }
3254
+ };
3197
3255
  var resolveMinWidth = function resolveMinWidth(col) {
3198
3256
  if (/^\d+/.test("".concat(col.minWidth))) {
3199
3257
  return col.minWidth;
@@ -3207,8 +3265,6 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3207
3265
  }
3208
3266
  return minWidth;
3209
3267
  };
3210
- var checked = ((_props$settings = props.settings) === null || _props$settings === void 0 ? void 0 : _props$settings.checked) || [];
3211
- var settingFields = ((_props$settings2 = props.settings) === null || _props$settings2 === void 0 ? void 0 : _props$settings2.fields) || [];
3212
3268
  /**
3213
3269
  * Format columns
3214
3270
  * @param columns
@@ -3221,14 +3277,14 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3221
3277
  var needColSpan = neepColspanOrRowspan(['colspan']);
3222
3278
  (columns || []).forEach(function (col, index) {
3223
3279
  var _Object$assign;
3224
- var _ref = needColSpan ? getColumnSpanConfig(col, index, skipColNum) : {
3280
+ var _ref4 = needColSpan ? getColumnSpanConfig(col, index, skipColNum) : {
3225
3281
  skipCol: false,
3226
3282
  skipColumnNum: 0,
3227
3283
  skipColLen: 0
3228
3284
  },
3229
- skipCol = _ref.skipCol,
3230
- skipColumnNum = _ref.skipColumnNum,
3231
- skipColLen = _ref.skipColLen;
3285
+ skipCol = _ref4.skipCol,
3286
+ skipColumnNum = _ref4.skipColumnNum,
3287
+ skipColLen = _ref4.skipColLen;
3232
3288
  skipColNum = skipColumnNum;
3233
3289
  if (!formatData.columnSchema.has(col)) {
3234
3290
  var _formatData$columnSch;
@@ -3237,7 +3293,16 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3237
3293
  fn = _resolveColumnSortPro.fn,
3238
3294
  scope = _resolveColumnSortPro.scope,
3239
3295
  active = _resolveColumnSortPro.active;
3240
- formatData.columnSchema.set(col, (_formatData$columnSch = {}, defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.CALC_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.RESIZE_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_MIN_WIDTH, resolveMinWidth(col)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.LISTENERS, new Map()), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.WIDTH, col.width), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.IS_HIDDEN, isColumnHidden(settingFields, col, checked)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_FN, fn), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_FN, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_SCOPE, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_SCOPE, scope), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_ACTIVE, active), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_IS_DRAG, false), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SPAN, {
3296
+ var getSortFn = function getSortFn(col) {
3297
+ if (col.type === 'index') {
3298
+ return function (a, b) {
3299
+ var _formatData$dataSchem, _formatData$dataSchem2;
3300
+ return fn === null || fn === void 0 ? void 0 : fn((_formatData$dataSchem = formatData.dataSchema.get(a)) === null || _formatData$dataSchem === void 0 ? void 0 : _formatData$dataSchem[TABLE_ROW_ATTRIBUTE.ROW_INDEX], (_formatData$dataSchem2 = formatData.dataSchema.get(b)) === null || _formatData$dataSchem2 === void 0 ? void 0 : _formatData$dataSchem2[TABLE_ROW_ATTRIBUTE.ROW_INDEX]);
3301
+ };
3302
+ }
3303
+ return fn;
3304
+ };
3305
+ formatData.columnSchema.set(col, (_formatData$columnSch = {}, defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.CALC_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.RESIZE_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_MIN_WIDTH, resolveMinWidth(col)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.LISTENERS, new Map()), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.WIDTH, col.width), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.IS_HIDDEN, isColumnHidden(formatData.settings.fields, col, formatData.settings.checked)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_FN, getSortFn(col)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_FN, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_SCOPE, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_SCOPE, scope), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_ACTIVE, active), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_IS_DRAG, false), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SPAN, {
3241
3306
  skipCol: skipCol,
3242
3307
  skipColumnNum: skipColumnNum,
3243
3308
  skipColLen: skipColLen
@@ -3336,17 +3401,26 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3336
3401
  }
3337
3402
  setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_ACTIVE, active);
3338
3403
  };
3404
+ var isRowChecked = function isRowChecked(row, index) {
3405
+ if (isRowSelectEnable(props, {
3406
+ row: row,
3407
+ index: index
3408
+ })) {
3409
+ return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3410
+ }
3411
+ return true;
3412
+ };
3339
3413
  /**
3340
3414
  * 是否数据全选
3341
3415
  */
3342
3416
  var isCheckedAll = function isCheckedAll() {
3343
3417
  if (props.acrossAll) {
3344
- return formatData.data.every(function (row) {
3345
- return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3418
+ return formatData.data.every(function (row, index) {
3419
+ return isRowChecked(row, index);
3346
3420
  });
3347
3421
  }
3348
- return pageData.every(function (row) {
3349
- return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3422
+ return pageData.every(function (row, index) {
3423
+ return isRowChecked(row, index);
3350
3424
  });
3351
3425
  };
3352
3426
  /**
@@ -3381,10 +3455,10 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3381
3455
  * @returns
3382
3456
  */
3383
3457
  var getColumnOrderWidth = function getColumnOrderWidth(col) {
3384
- var _formatData$columnSch4, _ref2, _target$orders$;
3458
+ var _formatData$columnSch4, _ref5, _target$orders$;
3385
3459
  var orders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ORDER_LIST;
3386
3460
  var target = (_formatData$columnSch4 = formatData.columnSchema.get(col)) !== null && _formatData$columnSch4 !== void 0 ? _formatData$columnSch4 : {};
3387
- return (_ref2 = (_target$orders$ = target[orders[0]]) !== null && _target$orders$ !== void 0 ? _target$orders$ : target[orders[1]]) !== null && _ref2 !== void 0 ? _ref2 : target[orders[2]];
3461
+ return (_ref5 = (_target$orders$ = target[orders[0]]) !== null && _target$orders$ !== void 0 ? _target$orders$ : target[orders[1]]) !== null && _ref5 !== void 0 ? _ref5 : target[orders[2]];
3388
3462
  };
3389
3463
  /**
3390
3464
  * 指定列是否展示状态
@@ -3469,7 +3543,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3469
3543
  * @param data
3470
3544
  */
3471
3545
  var formatDataSchema = function formatDataSchema(data) {
3472
- var _formatData$data, _formatData$dataSchem2;
3546
+ var _formatData$data, _formatData$dataSchem4;
3473
3547
  formatData.data.length = 0;
3474
3548
  (_formatData$data = formatData.data).push.apply(_formatData$data, _toConsumableArray(data));
3475
3549
  var hasSelectedRow = false;
@@ -3483,8 +3557,8 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3483
3557
  hasUnSelectedRow = true;
3484
3558
  }
3485
3559
  if (!formatData.dataSchema.has(row)) {
3486
- var _formatData$dataSchem;
3487
- formatData.dataSchema.set(row, (_formatData$dataSchem = {}, defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_EXPAND, false), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, isSelected), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_UID, rowId), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_INDEX, index + 1), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem));
3560
+ var _formatData$dataSchem3;
3561
+ formatData.dataSchema.set(row, (_formatData$dataSchem3 = {}, defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_EXPAND, false), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, isSelected), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_UID, rowId), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_INDEX, index + 1), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem3));
3488
3562
  }
3489
3563
  // 当传入的data改变时,更新相关属性
3490
3564
  // ROW_EXPAND & ROW_SELECTION & ROW_UID 不做更新
@@ -3492,7 +3566,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3492
3566
  rowId = target[TABLE_ROW_ATTRIBUTE.ROW_UID];
3493
3567
  target[TABLE_ROW_ATTRIBUTE.ROW_INDEX] = index + 1;
3494
3568
  });
3495
- formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem2 = {}, defineProperty_defineProperty(_formatData$dataSchem2, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, hasSelectedRow), defineProperty_defineProperty(_formatData$dataSchem2, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, hasSelectedRow && hasUnSelectedRow), _formatData$dataSchem2));
3569
+ formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem4 = {}, defineProperty_defineProperty(_formatData$dataSchem4, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, hasSelectedRow), defineProperty_defineProperty(_formatData$dataSchem4, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, hasSelectedRow && hasUnSelectedRow), _formatData$dataSchem4));
3496
3570
  formatData.dataSchema.set(NEED_COL_ROW_SPAN, defineProperty_defineProperty({}, TABLE_ROW_ATTRIBUTE.ROW_SPAN, neepColspanOrRowspan(['rowspan'])));
3497
3571
  };
3498
3572
  /**
@@ -3528,7 +3602,17 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3528
3602
  * @param isSelected
3529
3603
  */
3530
3604
  var setRowSelection = function setRowSelection(row, isSelected) {
3531
- setRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, isSelected);
3605
+ var value = isSelected;
3606
+ if (typeof props.isSelectedFn === 'function') {
3607
+ value = props.isSelectedFn({
3608
+ row: row
3609
+ });
3610
+ }
3611
+ if (isRowSelectEnable(props, {
3612
+ row: row
3613
+ })) {
3614
+ setRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, value);
3615
+ }
3532
3616
  setRowIndeterminate();
3533
3617
  };
3534
3618
  /**
@@ -3548,14 +3632,20 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3548
3632
  setRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_EXPAND, isExpand);
3549
3633
  };
3550
3634
  var getRowAttribute = function getRowAttribute(row, attrName) {
3551
- var _formatData$dataSchem4;
3552
- return (_formatData$dataSchem4 = formatData.dataSchema.get(row)) === null || _formatData$dataSchem4 === void 0 ? void 0 : _formatData$dataSchem4[attrName];
3635
+ var _formatData$dataSchem6;
3636
+ return (_formatData$dataSchem6 = formatData.dataSchema.get(row)) === null || _formatData$dataSchem6 === void 0 ? void 0 : _formatData$dataSchem6[attrName];
3553
3637
  };
3554
3638
  var toggleRowSelection = function toggleRowSelection(row) {
3639
+ if (typeof props.isSelectedFn === 'function') {
3640
+ setRowSelection(row, props.isSelectedFn({
3641
+ row: row
3642
+ }));
3643
+ return;
3644
+ }
3555
3645
  setRowSelection(row, !getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION));
3556
3646
  };
3557
3647
  var toggleAllSelection = function toggleAllSelection(value) {
3558
- var _formatData$dataSchem5;
3648
+ var _formatData$dataSchem7;
3559
3649
  var val = value !== null && value !== void 0 ? value : !isCheckedAll();
3560
3650
  if (props.acrossAll) {
3561
3651
  formatData.data.forEach(function (row) {
@@ -3566,7 +3656,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3566
3656
  pageData.forEach(function (row) {
3567
3657
  return setRowSelection(row, val);
3568
3658
  });
3569
- formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem5 = {}, defineProperty_defineProperty(_formatData$dataSchem5, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, val), defineProperty_defineProperty(_formatData$dataSchem5, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem5));
3659
+ formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem7 = {}, defineProperty_defineProperty(_formatData$dataSchem7, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, val), defineProperty_defineProperty(_formatData$dataSchem7, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem7));
3570
3660
  };
3571
3661
  var clearSelection = function clearSelection() {
3572
3662
  formatData.data.forEach(function (row) {
@@ -3587,8 +3677,8 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3587
3677
  var resolveColumnWidth = function resolveColumnWidth(root) {
3588
3678
  var autoWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : COL_MIN_WIDTH;
3589
3679
  var offsetWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
3590
- var _ref3 = root.getBoundingClientRect() || {},
3591
- width = _ref3.width;
3680
+ var _ref6 = root.getBoundingClientRect() || {},
3681
+ width = _ref6.width;
3592
3682
  var availableWidth = width - offsetWidth;
3593
3683
  // 可用来平均的宽度
3594
3684
  var avgWidth = availableWidth;
@@ -3684,6 +3774,20 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3684
3774
  return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3685
3775
  });
3686
3776
  };
3777
+ var resolveByDefColumns = function resolveByDefColumns() {
3778
+ var multiSortColumns = [];
3779
+ formatData.columns.forEach(function (column) {
3780
+ var _schema$COLUMN_ATTRIB;
3781
+ var schema = formatData.columnSchema.get(column);
3782
+ if (typeof (schema === null || schema === void 0 ? void 0 : schema[COLUMN_ATTRIBUTE.COL_SORT_FN]) === 'function' && !((_schema$COLUMN_ATTRIB = schema === null || schema === void 0 ? void 0 : schema[COLUMN_ATTRIBUTE.IS_HIDDEN]) !== null && _schema$COLUMN_ATTRIB !== void 0 ? _schema$COLUMN_ATTRIB : true)) {
3783
+ multiSortColumns.push({
3784
+ column: column,
3785
+ schema: schema
3786
+ });
3787
+ }
3788
+ });
3789
+ resolvePageDataBySortList(multiSortColumns);
3790
+ };
3687
3791
  return {
3688
3792
  formatColumns: formatColumns,
3689
3793
  formatDataSchema: formatDataSchema,
@@ -3704,6 +3808,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3704
3808
  isActiveColumn: isActiveColumn,
3705
3809
  isHiddenColumn: isHiddenColumn,
3706
3810
  resolvePageData: resolvePageData,
3811
+ resolveByDefColumns: resolveByDefColumns,
3707
3812
  resetStartEndIndex: resetStartEndIndex,
3708
3813
  toggleAllSelection: toggleAllSelection,
3709
3814
  setAllRowExpand: setAllRowExpand,
@@ -3715,6 +3820,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3715
3820
  sortData: sortData,
3716
3821
  isCheckedAll: isCheckedAll,
3717
3822
  hasCheckedRow: hasCheckedRow,
3823
+ updateSettings: updateSettings,
3718
3824
  pageData: pageData,
3719
3825
  localPagination: localPagination,
3720
3826
  formatData: formatData
@@ -3855,6 +3961,7 @@ function use_common_objectSpread(target) { for (var i = 1; i < arguments.length;
3855
3961
 
3856
3962
 
3857
3963
 
3964
+
3858
3965
  /**
3859
3966
  * 渲染class settings
3860
3967
  * @param props: TablePropTypes
@@ -3865,6 +3972,8 @@ function use_common_objectSpread(target) { for (var i = 1; i < arguments.length;
3865
3972
  */
3866
3973
  var useClass = function useClass(props, targetColumns, root, TableSchema, pageData) {
3867
3974
  var _classes2;
3975
+ var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
3976
+ resolveClassName = _usePrefix.resolveClassName;
3868
3977
  var _useColumn = use_column(props, targetColumns),
3869
3978
  getColumns = _useColumn.getColumns;
3870
3979
  // const autoHeight = ref(LINE_HEIGHT * 10);
@@ -3880,9 +3989,9 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
3880
3989
  });
3881
3990
  var tableClass = (0,external_vue_namespaceObject.computed)(function () {
3882
3991
  var _classes;
3883
- return (0,external_shared_namespaceObject.classes)((_classes = {}, defineProperty_defineProperty(_classes, (0,external_shared_namespaceObject.resolveClassName)('table'), true), defineProperty_defineProperty(_classes, 'has-footer', hasFooter.value), defineProperty_defineProperty(_classes, 'has-scroll-y', hasScrollY.value || props.virtualEnabled), defineProperty_defineProperty(_classes, (0,external_shared_namespaceObject.resolveClassName)('table-flex'), props.isFlex), _classes), resolvePropBorderToClassStr(props.border));
3992
+ return (0,external_shared_namespaceObject.classes)((_classes = {}, defineProperty_defineProperty(_classes, resolveClassName('table'), true), defineProperty_defineProperty(_classes, 'has-footer', hasFooter.value), defineProperty_defineProperty(_classes, 'has-scroll-y', hasScrollY.value || props.virtualEnabled), defineProperty_defineProperty(_classes, resolveClassName('table-flex'), props.isFlex), _classes), resolvePropBorderToClassStr(props.border));
3884
3993
  });
3885
- var headClass = (0,external_shared_namespaceObject.classes)((_classes2 = {}, defineProperty_defineProperty(_classes2, (0,external_shared_namespaceObject.resolveClassName)('table-head'), true), defineProperty_defineProperty(_classes2, 'has-settings', !!props.settings), _classes2));
3994
+ var headClass = (0,external_shared_namespaceObject.classes)((_classes2 = {}, defineProperty_defineProperty(_classes2, resolveClassName('table-head'), true), defineProperty_defineProperty(_classes2, 'has-settings', !!props.settings), _classes2));
3886
3995
  var resolvedColumns = (0,external_vue_namespaceObject.computed)(function () {
3887
3996
  return getColumns();
3888
3997
  });
@@ -3894,10 +4003,10 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
3894
4003
  '--scroll-left': "".concat(TableSchema.formatData.layout.translateX, "px")
3895
4004
  };
3896
4005
  });
3897
- var contentClass = defineProperty_defineProperty({}, (0,external_shared_namespaceObject.resolveClassName)('table-body'), true);
4006
+ var contentClass = defineProperty_defineProperty({}, resolveClassName('table-body'), true);
3898
4007
  var footerClass = (0,external_vue_namespaceObject.computed)(function () {
3899
4008
  var _classes3;
3900
- return (0,external_shared_namespaceObject.classes)((_classes3 = {}, defineProperty_defineProperty(_classes3, (0,external_shared_namespaceObject.resolveClassName)('table-footer'), true), defineProperty_defineProperty(_classes3, 'is-hidden', !props.pagination || !props.data.length), _classes3));
4009
+ return (0,external_shared_namespaceObject.classes)((_classes3 = {}, defineProperty_defineProperty(_classes3, resolveClassName('table-footer'), true), defineProperty_defineProperty(_classes3, 'is-hidden', !props.pagination || !props.data.length), _classes3));
3901
4010
  });
3902
4011
  var getTableHeight = function getTableHeight() {
3903
4012
  if (props.height === 'number') {
@@ -3962,7 +4071,7 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
3962
4071
  var _resolvePropHeight;
3963
4072
  return (_resolvePropHeight = resolvePropHeight(props.headHeight, LINE_HEIGHT)) !== null && _resolvePropHeight !== void 0 ? _resolvePropHeight : 0;
3964
4073
  }
3965
- var selector = (0,external_shared_namespaceObject.resolveClassName)('table-head');
4074
+ var selector = resolveClassName('table-head');
3966
4075
  var head = rootEl.querySelector(selector);
3967
4076
  return (_ref = (_head$offsetHeight = head === null || head === void 0 ? void 0 : head.offsetHeight) !== null && _head$offsetHeight !== void 0 ? _head$offsetHeight : resolvePropHeight(props.headHeight, LINE_HEIGHT)) !== null && _ref !== void 0 ? _ref : 0;
3968
4077
  }
@@ -4007,8 +4116,8 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
4007
4116
  if (rootEl) {
4008
4117
  var _tableBody$offsetHeig, _tableBodyContent$off;
4009
4118
  var _headHeight = getHeadHeight(rootEl);
4010
- var contentselector = ".".concat((0,external_shared_namespaceObject.resolveClassName)('table-body-content'), " > table");
4011
- var bodySelector = ".".concat((0,external_shared_namespaceObject.resolveClassName)('table-body'));
4119
+ var contentselector = ".".concat(resolveClassName('table-body-content'), " > table");
4120
+ var bodySelector = ".".concat(resolveClassName('table-body'));
4012
4121
  var tableBody = rootEl.querySelector(bodySelector);
4013
4122
  var tableBodyContent = rootEl.querySelector(contentselector);
4014
4123
  resolveContentStyle(rootEl);
@@ -4021,8 +4130,8 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
4021
4130
  if (!root) {
4022
4131
  return;
4023
4132
  }
4024
- var querySelector = props.virtualEnabled ? ".".concat((0,external_shared_namespaceObject.resolveClassName)('virtual-section')) : ".".concat((0,external_shared_namespaceObject.resolveClassName)('table-body-content'));
4025
- var rootBody = root.querySelector(".".concat((0,external_shared_namespaceObject.resolveClassName)('table-body')));
4133
+ var querySelector = props.virtualEnabled ? ".".concat(resolveClassName('virtual-section')) : ".".concat(resolveClassName('table-body-content'));
4134
+ var rootBody = root.querySelector(".".concat(resolveClassName('table-body')));
4026
4135
  hasScrollY.value = hasRootScrollY(rootBody, querySelector, 0);
4027
4136
  };
4028
4137
  /**
@@ -4046,7 +4155,7 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
4046
4155
  });
4047
4156
  var tableBodyContentClass = (0,external_vue_namespaceObject.computed)(function () {
4048
4157
  var _ref2;
4049
- return _ref2 = {}, defineProperty_defineProperty(_ref2, (0,external_shared_namespaceObject.resolveClassName)('table-body-content'), true), defineProperty_defineProperty(_ref2, (0,external_shared_namespaceObject.resolveClassName)('stripe'), props.stripe), defineProperty_defineProperty(_ref2, 'with-virtual-render', props.virtualEnabled), _ref2;
4158
+ return _ref2 = {}, defineProperty_defineProperty(_ref2, resolveClassName('table-body-content'), true), defineProperty_defineProperty(_ref2, resolveClassName('stripe'), props.stripe), defineProperty_defineProperty(_ref2, 'with-virtual-render', props.virtualEnabled), _ref2;
4050
4159
  });
4051
4160
  var resizeColumnClass = {
4052
4161
  column_drag_line: true,
@@ -4058,7 +4167,7 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
4058
4167
  };
4059
4168
  var fixedBottomBorder = (0,external_vue_namespaceObject.computed)(function () {
4060
4169
  var _ref3;
4061
- return _ref3 = {}, defineProperty_defineProperty(_ref3, (0,external_shared_namespaceObject.resolveClassName)('fixed-bottom-border'), true), defineProperty_defineProperty(_ref3, '_is-empty', !props.data.length), _ref3;
4170
+ return _ref3 = {}, defineProperty_defineProperty(_ref3, resolveClassName('fixed-bottom-border'), true), defineProperty_defineProperty(_ref3, '_is-empty', !props.data.length), _ref3;
4062
4171
  });
4063
4172
  var columnGhostStyle = {
4064
4173
  zIndex: -1,
@@ -4074,8 +4183,7 @@ var useClass = function useClass(props, targetColumns, root, TableSchema, pageDa
4074
4183
  var fixedContainerStyle = (0,external_vue_namespaceObject.computed)(function () {
4075
4184
  return use_common_objectSpread({
4076
4185
  right: hasScrollYRef.value ? "".concat(SCROLLY_WIDTH, "px") : 0,
4077
- '--fix-height': "".concat(fixHeight.value, "px"),
4078
- '--fix-max-height': "".concat(maxFixHeight.value, "px")
4186
+ '--fix-height': "".concat(fixHeight.value, "px")
4079
4187
  }, footerStyle.value);
4080
4188
  });
4081
4189
  var scrollClass = (0,external_vue_namespaceObject.computed)(function () {
@@ -4257,7 +4365,8 @@ const external_directives_namespaceObject = external_directives_x({ ["bkEllipsis
4257
4365
  disabled = Reflect.apply(disabled, _this, [props.column, props.row]);
4258
4366
  }
4259
4367
  if (props.isHead) {
4260
- disabled = false;
4368
+ var _props$column$showOve, _props$column;
4369
+ disabled = !((_props$column$showOve = (_props$column = props.column) === null || _props$column === void 0 || (_props$column = _props$column.showOverflowTooltip) === null || _props$column === void 0 ? void 0 : _props$column.showHead) !== null && _props$column$showOve !== void 0 ? _props$column$showOve : true);
4261
4370
  mode = 'auto';
4262
4371
  content = function content() {
4263
4372
  var _getEllipsisTarget;
@@ -4461,12 +4570,19 @@ const external_exception_namespaceObject = external_exception_x({ ["default"]: (
4461
4570
  };
4462
4571
  }
4463
4572
  }));
4573
+ ;// CONCATENATED MODULE: external "../button"
4574
+ var external_button_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4575
+ var external_button_y = x => () => x
4576
+ const external_button_namespaceObject = external_button_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__button_59c00871__["default"] });
4577
+ ;// CONCATENATED MODULE: external "../icon/"
4578
+ var _x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4579
+ var _y = x => () => x
4580
+ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleDownFill, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleUpFill, ["CloseLine"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CloseLine, ["CogShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CogShape });
4464
4581
  ;// CONCATENATED MODULE: external "../popover"
4465
4582
  var external_popover_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4466
4583
  var external_popover_y = x => () => x
4467
4584
  const external_popover_namespaceObject = external_popover_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__popover_cf5f8dce__["default"] });
4468
- ;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-filter.tsx
4469
-
4585
+ ;// CONCATENATED MODULE: ../../packages/table/src/plugins/settings.tsx
4470
4586
 
4471
4587
 
4472
4588
  /*
@@ -4504,123 +4620,432 @@ const external_popover_namespaceObject = external_popover_x({ ["default"]: () =>
4504
4620
 
4505
4621
 
4506
4622
 
4507
- /* harmony default export */ const head_filter = ((0,external_vue_namespaceObject.defineComponent)({
4508
- name: 'HeadFilter',
4623
+ function _isSlot(s) {
4624
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
4625
+ }
4626
+ /* harmony default export */ const plugins_settings = ((0,external_vue_namespaceObject.defineComponent)({
4627
+ name: 'Settings',
4509
4628
  props: {
4510
- column: IColumnType,
4511
- height: external_shared_namespaceObject.PropTypes.number.def(LINE_HEIGHT)
4629
+ settings: ITableSettings,
4630
+ columns: external_shared_namespaceObject.PropTypes.arrayOf(IColumnType).def([])
4512
4631
  },
4513
- emits: ['change', 'filterSave'],
4632
+ emits: ['change'],
4514
4633
  setup: function setup(props, _ref) {
4515
- var emit = _ref.emit;
4634
+ var emit = _ref.emit,
4635
+ slots = _ref.slots;
4516
4636
  var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4517
4637
  resolveClassName = _usePrefix.resolveClassName;
4518
4638
  var t = (0,external_config_provider_namespaceObject.useLocale)('table');
4519
- var column = props.column;
4520
- var _toRefs = (0,external_vue_namespaceObject.toRefs)(props.column),
4521
- filter = _toRefs.filter;
4522
- var checked = (0,external_vue_namespaceObject.computed)(function () {
4523
- var _filter$value$checked, _filter$value;
4524
- return (_filter$value$checked = (_filter$value = filter.value) === null || _filter$value === void 0 ? void 0 : _filter$value.checked) !== null && _filter$value$checked !== void 0 ? _filter$value$checked : [];
4525
- });
4526
- var state = (0,external_vue_namespaceObject.reactive)({
4527
- isOpen: false,
4528
- checked: checked.value
4529
- });
4530
- var maxHeight = (0,external_vue_namespaceObject.computed)(function () {
4531
- var _filter$value$maxHeig, _filter$value2;
4532
- return (_filter$value$maxHeig = (_filter$value2 = filter.value) === null || _filter$value2 === void 0 ? void 0 : _filter$value2.maxHeight) !== null && _filter$value$maxHeig !== void 0 ? _filter$value$maxHeig : LINE_HEIGHT * 15;
4533
- });
4534
- var height = (0,external_vue_namespaceObject.computed)(function () {
4535
- var _filter$value3;
4536
- return ((_filter$value3 = filter.value) === null || _filter$value3 === void 0 ? void 0 : _filter$value3.height) || '100%';
4537
- });
4538
- (0,external_vue_namespaceObject.watch)(function () {
4539
- return filter.value;
4540
- }, function () {
4541
- state.checked = checked.value;
4542
- }, {
4543
- immediate: true,
4544
- deep: true
4545
- });
4546
- var headClass = (0,external_vue_namespaceObject.computed)(function () {
4547
- var _classes;
4548
- return (0,external_shared_namespaceObject.classes)((_classes = {}, defineProperty_defineProperty(_classes, resolveClassName('table-head-action'), true), defineProperty_defineProperty(_classes, 'column-filter', true), defineProperty_defineProperty(_classes, '--row-height', "".concat(props.height, "px")), defineProperty_defineProperty(_classes, "active", state.checked.length), defineProperty_defineProperty(_classes, "opened", state.isOpen), _classes));
4549
- });
4550
- var headFilterContentClass = (0,external_shared_namespaceObject.classes)(defineProperty_defineProperty({}, resolveClassName('table-head-filter'), true));
4551
- var refVirtualRender = (0,external_vue_namespaceObject.ref)(null);
4552
- var handlePopShow = function handlePopShow(isOpen) {
4553
- state.isOpen = isOpen;
4554
- isOpen && setTimeout(function () {
4555
- refVirtualRender.value.reset();
4556
- });
4639
+ var defaultSizeList = createDefaultSizeList(t);
4640
+ var resolvedColVal = function resolvedColVal(item, index) {
4641
+ return resolvePropVal(item, ['id', 'field', 'type'], [item, index]);
4557
4642
  };
4558
- var theme = "light ".concat(resolveClassName('table-head-filter'));
4559
- var localData = (0,external_vue_namespaceObject.computed)(function () {
4560
- var _filter$value$list = filter.value.list,
4561
- list = _filter$value$list === void 0 ? [] : _filter$value$list;
4562
- return list;
4643
+ var checkAll = (0,external_vue_namespaceObject.ref)(false);
4644
+ var isShow = (0,external_vue_namespaceObject.ref)(false);
4645
+ var localSettings = (0,external_vue_namespaceObject.computed)(function () {
4646
+ var deafultSettings = {
4647
+ fields: props.columns.map(function (col) {
4648
+ return Object.assign({}, col, {
4649
+ field: col.field || col.type
4650
+ });
4651
+ }),
4652
+ checked: [],
4653
+ limit: 0,
4654
+ size: 'small',
4655
+ sizeList: defaultSizeList,
4656
+ showLineHeight: true,
4657
+ trigger: 'manual'
4658
+ };
4659
+ if (typeof props.settings === 'boolean') {
4660
+ return deafultSettings;
4661
+ }
4662
+ return Object.assign({}, deafultSettings, props.settings);
4563
4663
  });
4564
- var getRegExp = function getRegExp(searchValue) {
4565
- var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ig';
4566
- return new RegExp("".concat(searchValue).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), flags);
4664
+ var activeSize = (0,external_vue_namespaceObject.ref)(localSettings.value.size || 'small');
4665
+ var activeHeight = (0,external_vue_namespaceObject.ref)(SETTING_SIZE.small);
4666
+ var checkedFields = (0,external_vue_namespaceObject.ref)(localSettings.value.checked || []);
4667
+ var className = resolveClassName('table-settings');
4668
+ var theme = "light ".concat(className);
4669
+ var renderFields = (0,external_vue_namespaceObject.computed)(function () {
4670
+ return localSettings.value.fields || props.columns || [];
4671
+ });
4672
+ var cachedValue = {
4673
+ checkAll: checkAll.value,
4674
+ activeSize: activeSize.value,
4675
+ activeHeight: activeHeight.value,
4676
+ checkedFields: localSettings.value.checked || []
4567
4677
  };
4568
- var defaultFilterFn = function defaultFilterFn(checked, row) {
4569
- var match = filter.value.match;
4570
- var matchText = getRowText(row, resolvePropVal(column, 'field', [column, row]));
4571
- if (match === 'full') {
4572
- return checked.includes(matchText);
4573
- }
4574
- return checked.some(function (str) {
4575
- return getRegExp(str, 'img').test(matchText);
4678
+ var handleSaveClick = function handleSaveClick() {
4679
+ Object.assign(cachedValue, {
4680
+ checkAll: checkAll.value,
4681
+ activeSize: activeSize.value,
4682
+ activeHeight: activeHeight.value,
4683
+ checkedFields: checkedFields.value
4576
4684
  });
4685
+ emit('change', {
4686
+ checked: checkedFields.value,
4687
+ size: activeSize.value,
4688
+ height: activeHeight.value,
4689
+ fields: (0,external_vue_namespaceObject.unref)(renderFields)
4690
+ });
4691
+ isShow.value = false;
4577
4692
  };
4578
- var filterFn = typeof filter.value.filterFn === 'function' ?
4579
- // eslint-disable-next-line max-len
4580
- function (checked, row, index, data) {
4581
- return filter.value.filterFn(checked, row, props.column, index, data);
4582
- } : function (checked, row) {
4583
- return checked.length ? defaultFilterFn(checked, row) : true;
4584
- };
4585
- var handleBtnSaveClick = function handleBtnSaveClick() {
4586
- handleFilterChange(true);
4587
- emit('filterSave', state.checked);
4588
- state.isOpen = false;
4693
+ var handleCancelClick = function handleCancelClick() {
4694
+ checkAll.value = cachedValue.checkAll;
4695
+ activeSize.value = cachedValue.activeSize;
4696
+ activeHeight.value = cachedValue.activeHeight;
4697
+ checkedFields.value = cachedValue.checkedFields;
4698
+ isShow.value = false;
4589
4699
  };
4590
- var handleFilterChange = function handleFilterChange() {
4591
- var btnSaveClick = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
4592
- var _resolveBtnOption = resolveBtnOption(btnSave, t.value.confirm),
4593
- disabled = _resolveBtnOption.disabled;
4594
- if (disabled || btnSaveClick) {
4595
- if (filter.value === 'custom') {
4596
- emit('change', state.checked, null);
4597
- state.isOpen = false;
4598
- return;
4599
- }
4600
- filter.value.checked = state.checked;
4601
- emit('change', state.checked, filterFn);
4602
- }
4700
+ var handleSettingClick = function handleSettingClick() {
4701
+ isShow.value = true;
4603
4702
  };
4604
- var handleBtnResetClick = function handleBtnResetClick() {
4605
- if (state.checked.length) {
4606
- state.checked.length = 0;
4607
- state.isOpen = false;
4608
- (0,external_vue_namespaceObject.nextTick)(function () {
4609
- return emit('change', state.checked, filterFn);
4703
+ var handleCheckAllClick = function handleCheckAllClick(e) {
4704
+ e.stopImmediatePropagation();
4705
+ e.stopPropagation();
4706
+ e.preventDefault();
4707
+ checkAll.value = !checkAll.value;
4708
+ var fields = localSettings.value.fields || props.columns || [];
4709
+ var readonlyFields = fields.filter(function (f, index) {
4710
+ return f.disabled && checkedFields.value.includes(resolvedColVal(f, index));
4711
+ }).map(function (item, index) {
4712
+ return resolvedColVal(item, index);
4713
+ });
4714
+ if (checkAll.value) {
4715
+ var _checkedFields$value;
4716
+ var allFields = fields.filter(function (f) {
4717
+ return !f.disabled;
4718
+ }).map(function (item, index) {
4719
+ return resolvedColVal(item, index);
4610
4720
  });
4721
+ (_checkedFields$value = checkedFields.value).splice.apply(_checkedFields$value, [0, checkedFields.value.length].concat(_toConsumableArray(allFields), _toConsumableArray(readonlyFields)));
4722
+ } else {
4723
+ var _checkedFields$value2;
4724
+ (_checkedFields$value2 = checkedFields.value).splice.apply(_checkedFields$value2, [0, checkedFields.value.length].concat(_toConsumableArray(readonlyFields)));
4611
4725
  }
4612
4726
  };
4613
- var resolveBtnOption = function resolveBtnOption(opt, defText) {
4614
- var disabled = opt === 'disabled' || opt === false;
4615
- var text = typeof opt === 'string' ? opt : defText;
4727
+ var isLimit = (0,external_vue_namespaceObject.computed)(function () {
4728
+ var _localSettings$value$;
4729
+ return ((_localSettings$value$ = localSettings.value.limit) !== null && _localSettings$value$ !== void 0 ? _localSettings$value$ : 0) > 0;
4730
+ });
4731
+ var sizeList = localSettings.value.sizeList || defaultSizeList;
4732
+ var isFiledDisabled = (0,external_vue_namespaceObject.computed)(function () {
4733
+ return isLimit.value && (localSettings.value.limit ? localSettings.value.limit : 0) <= checkedFields.value.length;
4734
+ });
4735
+ var isItemReadonly = function isItemReadonly(item, index) {
4736
+ return item.disabled || isFiledDisabled.value && !checkedFields.value.includes(resolvedColVal(item, index));
4737
+ };
4738
+ var handleSizeItemClick = function handleSizeItemClick(item) {
4739
+ activeSize.value = item.value;
4740
+ activeHeight.value = item.height;
4741
+ };
4742
+ var getItemClass = function getItemClass(item) {
4616
4743
  return {
4617
- disabled: disabled,
4618
- text: text
4744
+ 'line-size': true,
4745
+ 'is-medium': activeSize.value === 'medium',
4746
+ active: item.value === activeSize.value
4619
4747
  };
4620
4748
  };
4621
- var _filter$value4 = filter.value,
4622
- btnSave = _filter$value4.btnSave,
4623
- btnReset = _filter$value4.btnReset;
4749
+ var buttonStyle = {
4750
+ marginRight: '12px'
4751
+ };
4752
+ var renderSize = function renderSize() {
4753
+ return sizeList.map(function (item) {
4754
+ return (0,external_vue_namespaceObject.createVNode)("span", {
4755
+ "class": getItemClass(item),
4756
+ "onClick": function onClick() {
4757
+ return handleSizeItemClick(item);
4758
+ }
4759
+ }, [item.label]);
4760
+ });
4761
+ };
4762
+ var indeterminate = (0,external_vue_namespaceObject.computed)(function () {
4763
+ return checkedFields.value.length > 0 && checkedFields.value.length < renderFields.value.length;
4764
+ });
4765
+ var showLineHeight = (0,external_vue_namespaceObject.computed)(function () {
4766
+ return typeof localSettings.value.showLineHeight === 'boolean' ? localSettings.value.showLineHeight : true;
4767
+ });
4768
+ (0,external_vue_namespaceObject.watch)(function () {
4769
+ return [checkedFields.value];
4770
+ }, function () {
4771
+ if (!checkedFields.value.length) {
4772
+ checkAll.value = false;
4773
+ }
4774
+ if (checkedFields.value.length && renderFields.value.every(function (field, index) {
4775
+ return checkedFields.value.includes(resolvedColVal(field, index));
4776
+ })) {
4777
+ checkAll.value = true;
4778
+ }
4779
+ }, {
4780
+ immediate: true,
4781
+ deep: true
4782
+ });
4783
+ (0,external_vue_namespaceObject.watch)(function () {
4784
+ return [props.settings.checked];
4785
+ }, function () {
4786
+ var _checkedFields$value3;
4787
+ (_checkedFields$value3 = checkedFields.value).splice.apply(_checkedFields$value3, [0, checkedFields.value.length].concat(_toConsumableArray(localSettings.value.checked)));
4788
+ }, {
4789
+ immediate: true,
4790
+ deep: true
4791
+ });
4792
+ return function () {
4793
+ var _localSettings$value$2;
4794
+ return props.settings ? (0,external_vue_namespaceObject.createVNode)(external_popover_namespaceObject["default"], (0,external_vue_namespaceObject.mergeProps)({
4795
+ "trigger": (_localSettings$value$2 = localSettings.value.trigger) !== null && _localSettings$value$2 !== void 0 ? _localSettings$value$2 : 'manual',
4796
+ "isShow": isShow.value,
4797
+ "placement": "bottom-end",
4798
+ "arrow": true
4799
+ }, {
4800
+ theme: theme
4801
+ }), {
4802
+ "default": function _default() {
4803
+ return (0,external_vue_namespaceObject.createVNode)("span", {
4804
+ "class": "table-head-settings",
4805
+ "onClick": handleSettingClick
4806
+ }, [(0,external_vue_namespaceObject.createVNode)(_namespaceObject.CogShape, {
4807
+ "style": "color: #c4c6cc;"
4808
+ }, null)]);
4809
+ },
4810
+ content: function content() {
4811
+ var _slots$default;
4812
+ var _slot2;
4813
+ return (0,external_vue_namespaceObject.createVNode)("div", {
4814
+ "class": "setting-content"
4815
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
4816
+ "class": "setting-head"
4817
+ }, [(0,external_vue_namespaceObject.createVNode)("span", {
4818
+ "class": "head-title"
4819
+ }, [t.value.setting.title]), (0,external_vue_namespaceObject.createVNode)(_namespaceObject.CloseLine, {
4820
+ "class": "icon-close-action",
4821
+ "onClick": handleCancelClick
4822
+ }, null)]), (0,external_vue_namespaceObject.createVNode)("div", {
4823
+ "class": "setting-body"
4824
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
4825
+ "class": "setting-body-title"
4826
+ }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)("span", {
4827
+ "class": "field-setting-label"
4828
+ }, [t.value.setting.fields.title]), isLimit.value ? (0,external_vue_namespaceObject.createVNode)("span", {
4829
+ "class": "limit"
4830
+ }, [t.value.setting.fields.subtitle(localSettings.value.limit)]) : '']), isLimit.value ? '' : (0,external_vue_namespaceObject.createVNode)("span", {
4831
+ "class": "check-all",
4832
+ "onClick": handleCheckAllClick
4833
+ }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
4834
+ "label": t.value.setting.fields.selectAll,
4835
+ "indeterminate": Boolean(indeterminate.value),
4836
+ "modelValue": checkedFields.value.length > 0
4837
+ }, {
4838
+ "default": function _default() {
4839
+ return [t.value.setting.fields.selectAll];
4840
+ }
4841
+ })])]), (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject.BkCheckboxGroup, {
4842
+ "class": "setting-body-fields",
4843
+ "modelValue": checkedFields.value,
4844
+ "onUpdate:modelValue": function onUpdateModelValue($event) {
4845
+ return checkedFields.value = $event;
4846
+ }
4847
+ }, _isSlot(_slot2 = renderFields.value.map(function (item, index) {
4848
+ var _slot;
4849
+ return (0,external_vue_namespaceObject.createVNode)("div", {
4850
+ "class": "field-item"
4851
+ }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
4852
+ "checked": checkedFields.value.includes(resolvedColVal(item, index)),
4853
+ "label": resolvedColVal(item, index),
4854
+ "disabled": isItemReadonly(item, index)
4855
+ }, _isSlot(_slot = resolvePropVal(item, ['name', 'label'], [item, index])) ? _slot : {
4856
+ "default": function _default() {
4857
+ return [_slot];
4858
+ }
4859
+ })]);
4860
+ })) ? _slot2 : {
4861
+ "default": function _default() {
4862
+ return [_slot2];
4863
+ }
4864
+ }), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), showLineHeight.value ? (0,external_vue_namespaceObject.createVNode)("div", {
4865
+ "class": "setting-body-line-height"
4866
+ }, [t.value.setting.lineHeight.title, (0,external_vue_namespaceObject.createTextVNode)("\uFF1A"), renderSize()]) : '']), (0,external_vue_namespaceObject.createVNode)("div", {
4867
+ "class": "setting-footer"
4868
+ }, [(0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
4869
+ "theme": "primary",
4870
+ "style": buttonStyle,
4871
+ "onClick": handleSaveClick
4872
+ }, {
4873
+ "default": function _default() {
4874
+ return [t.value.setting.options.ok];
4875
+ }
4876
+ }), (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
4877
+ "style": buttonStyle,
4878
+ "onClick": handleCancelClick
4879
+ }, {
4880
+ "default": function _default() {
4881
+ return [t.value.setting.options.cancel];
4882
+ }
4883
+ })])]);
4884
+ }
4885
+ }) : '';
4886
+ };
4887
+ }
4888
+ }));
4889
+ ;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-filter.tsx
4890
+
4891
+
4892
+
4893
+ /*
4894
+ * Tencent is pleased to support the open source community by making
4895
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
4896
+ *
4897
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
4898
+ *
4899
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
4900
+ *
4901
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
4902
+ *
4903
+ * ---------------------------------------------------
4904
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
4905
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
4906
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
4907
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4908
+ *
4909
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
4910
+ * the Software.
4911
+ *
4912
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
4913
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4914
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
4915
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
4916
+ * IN THE SOFTWARE.
4917
+ */
4918
+
4919
+
4920
+
4921
+
4922
+
4923
+
4924
+
4925
+
4926
+
4927
+
4928
+
4929
+ function head_filter_isSlot(s) {
4930
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
4931
+ }
4932
+ /* harmony default export */ const head_filter = ((0,external_vue_namespaceObject.defineComponent)({
4933
+ name: 'HeadFilter',
4934
+ props: {
4935
+ column: IColumnType,
4936
+ height: external_shared_namespaceObject.PropTypes.number.def(LINE_HEIGHT)
4937
+ },
4938
+ emits: ['change', 'filterSave'],
4939
+ setup: function setup(props, _ref) {
4940
+ var emit = _ref.emit;
4941
+ var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4942
+ resolveClassName = _usePrefix.resolveClassName;
4943
+ var t = (0,external_config_provider_namespaceObject.useLocale)('table');
4944
+ var column = props.column;
4945
+ var _toRefs = (0,external_vue_namespaceObject.toRefs)(props.column),
4946
+ filter = _toRefs.filter;
4947
+ var checked = (0,external_vue_namespaceObject.computed)(function () {
4948
+ var _filter$value$checked, _filter$value;
4949
+ return (_filter$value$checked = (_filter$value = filter.value) === null || _filter$value === void 0 ? void 0 : _filter$value.checked) !== null && _filter$value$checked !== void 0 ? _filter$value$checked : [];
4950
+ });
4951
+ var state = (0,external_vue_namespaceObject.reactive)({
4952
+ isOpen: false,
4953
+ checked: checked.value
4954
+ });
4955
+ var maxHeight = (0,external_vue_namespaceObject.computed)(function () {
4956
+ var _filter$value$maxHeig, _filter$value2;
4957
+ return (_filter$value$maxHeig = (_filter$value2 = filter.value) === null || _filter$value2 === void 0 ? void 0 : _filter$value2.maxHeight) !== null && _filter$value$maxHeig !== void 0 ? _filter$value$maxHeig : LINE_HEIGHT * 15;
4958
+ });
4959
+ var height = (0,external_vue_namespaceObject.computed)(function () {
4960
+ var _filter$value3;
4961
+ return ((_filter$value3 = filter.value) === null || _filter$value3 === void 0 ? void 0 : _filter$value3.height) || '100%';
4962
+ });
4963
+ (0,external_vue_namespaceObject.watch)(function () {
4964
+ return filter.value;
4965
+ }, function () {
4966
+ state.checked = checked.value;
4967
+ }, {
4968
+ immediate: true,
4969
+ deep: true
4970
+ });
4971
+ var headClass = (0,external_vue_namespaceObject.computed)(function () {
4972
+ var _classes;
4973
+ return (0,external_shared_namespaceObject.classes)((_classes = {}, defineProperty_defineProperty(_classes, resolveClassName('table-head-action'), true), defineProperty_defineProperty(_classes, 'column-filter', true), defineProperty_defineProperty(_classes, '--row-height', "".concat(props.height, "px")), defineProperty_defineProperty(_classes, "active", state.checked.length), defineProperty_defineProperty(_classes, "opened", state.isOpen), _classes));
4974
+ });
4975
+ var headFilterContentClass = (0,external_shared_namespaceObject.classes)(defineProperty_defineProperty({}, resolveClassName('table-head-filter'), true));
4976
+ var refVirtualRender = (0,external_vue_namespaceObject.ref)(null);
4977
+ var handlePopShow = function handlePopShow(isOpen) {
4978
+ state.isOpen = isOpen;
4979
+ isOpen && setTimeout(function () {
4980
+ refVirtualRender.value.reset();
4981
+ });
4982
+ };
4983
+ var theme = "light ".concat(resolveClassName('table-head-filter'));
4984
+ var localData = (0,external_vue_namespaceObject.computed)(function () {
4985
+ var _filter$value$list = filter.value.list,
4986
+ list = _filter$value$list === void 0 ? [] : _filter$value$list;
4987
+ return list;
4988
+ });
4989
+ var getRegExp = function getRegExp(searchValue) {
4990
+ var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ig';
4991
+ return new RegExp("".concat(searchValue).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), flags);
4992
+ };
4993
+ var defaultFilterFn = function defaultFilterFn(checked, row) {
4994
+ var match = filter.value.match;
4995
+ var matchText = getRowText(row, resolvePropVal(column, 'field', [column, row]));
4996
+ if (match === 'full') {
4997
+ return checked.includes(matchText);
4998
+ }
4999
+ return checked.some(function (str) {
5000
+ return getRegExp(str, 'img').test(matchText);
5001
+ });
5002
+ };
5003
+ var filterFn = typeof filter.value.filterFn === 'function' ?
5004
+ // eslint-disable-next-line max-len
5005
+ function (checked, row, index, data) {
5006
+ return filter.value.filterFn(checked, row, props.column, index, data);
5007
+ } : function (checked, row) {
5008
+ return checked.length ? defaultFilterFn(checked, row) : true;
5009
+ };
5010
+ var handleBtnSaveClick = function handleBtnSaveClick() {
5011
+ handleFilterChange(true);
5012
+ emit('filterSave', state.checked);
5013
+ state.isOpen = false;
5014
+ };
5015
+ var handleFilterChange = function handleFilterChange() {
5016
+ var btnSaveClick = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5017
+ var _resolveBtnOption = resolveBtnOption(btnSave, t.value.confirm),
5018
+ disabled = _resolveBtnOption.disabled;
5019
+ if (disabled || btnSaveClick) {
5020
+ if (filter.value === 'custom') {
5021
+ emit('change', state.checked, null);
5022
+ state.isOpen = false;
5023
+ return;
5024
+ }
5025
+ filter.value.checked = state.checked;
5026
+ emit('change', state.checked, filterFn);
5027
+ }
5028
+ };
5029
+ var handleBtnResetClick = function handleBtnResetClick() {
5030
+ if (state.checked.length) {
5031
+ state.checked.length = 0;
5032
+ state.isOpen = false;
5033
+ (0,external_vue_namespaceObject.nextTick)(function () {
5034
+ return emit('change', state.checked, filterFn);
5035
+ });
5036
+ }
5037
+ };
5038
+ var resolveBtnOption = function resolveBtnOption(opt, defText) {
5039
+ var disabled = opt === 'disabled' || opt === false;
5040
+ var text = typeof opt === 'string' ? opt : defText;
5041
+ return {
5042
+ disabled: disabled,
5043
+ text: text
5044
+ };
5045
+ };
5046
+ var _filter$value4 = filter.value,
5047
+ btnSave = _filter$value4.btnSave,
5048
+ btnReset = _filter$value4.btnReset;
4624
5049
  var renderSaveBtn = function renderSaveBtn() {
4625
5050
  var _resolveBtnOption2 = resolveBtnOption(btnSave, t.value.confirm),
4626
5051
  disabled = _resolveBtnOption2.disabled,
@@ -4630,10 +5055,16 @@ const external_popover_namespaceObject = external_popover_x({ ["default"]: () =>
4630
5055
  "class": "btn-filter-save disabled"
4631
5056
  }, [text]);
4632
5057
  }
4633
- return (0,external_vue_namespaceObject.createVNode)("span", {
4634
- "class": "btn-filter-save",
5058
+ return (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5059
+ "theme": "primary",
5060
+ "size": "small",
5061
+ "style": "width: 56px; margin-right: 8px;",
4635
5062
  "onClick": handleBtnSaveClick
4636
- }, [text]);
5063
+ }, head_filter_isSlot(text) ? text : {
5064
+ "default": function _default() {
5065
+ return [text];
5066
+ }
5067
+ });
4637
5068
  };
4638
5069
  var renderResetBtn = function renderResetBtn() {
4639
5070
  var _resolveBtnOption3 = resolveBtnOption(btnReset, t.value.reset),
@@ -4642,10 +5073,16 @@ const external_popover_namespaceObject = external_popover_x({ ["default"]: () =>
4642
5073
  if (disabled) {
4643
5074
  return '';
4644
5075
  }
4645
- return (0,external_vue_namespaceObject.createVNode)("span", {
4646
- "class": ['btn-filter-reset', state.checked.length ? '' : 'disable'],
5076
+ return (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5077
+ "style": "width: 56px;",
5078
+ "size": "small",
5079
+ "disabled": state.checked.length === 0,
4647
5080
  "onClick": handleBtnResetClick
4648
- }, [text]);
5081
+ }, head_filter_isSlot(text) ? text : {
5082
+ "default": function _default() {
5083
+ return [text];
5084
+ }
5085
+ });
4649
5086
  };
4650
5087
  var handleValueChange = function handleValueChange(val, item) {
4651
5088
  var _state$checked;
@@ -4739,9 +5176,7 @@ const external_popover_namespaceObject = external_popover_x({ ["default"]: () =>
4739
5176
  }
4740
5177
  }), (0,external_vue_namespaceObject.createVNode)("div", {
4741
5178
  "class": "content-footer"
4742
- }, [renderSaveBtn(), (0,external_vue_namespaceObject.createVNode)("span", {
4743
- "class": "btn-filter-split"
4744
- }, null), renderResetBtn()])]);
5179
+ }, [renderSaveBtn(), renderResetBtn()])]);
4745
5180
  }
4746
5181
  });
4747
5182
  };
@@ -4791,10 +5226,6 @@ function _nonIterableRest() {
4791
5226
  function _slicedToArray(arr, i) {
4792
5227
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
4793
5228
  }
4794
- ;// CONCATENATED MODULE: external "../icon/"
4795
- var _x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4796
- var _y = x => () => x
4797
- const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleDownFill, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleUpFill, ["CloseLine"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CloseLine, ["CogShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CogShape });
4798
5229
  ;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-sort.tsx
4799
5230
 
4800
5231
 
@@ -4839,19 +5270,23 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4839
5270
  },
4840
5271
  emits: ['change'],
4841
5272
  setup: function setup(props, _ref) {
4842
- var _props$column;
4843
- var emit = _ref.emit;
5273
+ var _ref2, _props$column$sort$va, _props$column;
5274
+ var emit = _ref.emit,
5275
+ expose = _ref.expose;
4844
5276
  var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4845
5277
  resolveClassName = _usePrefix.resolveClassName;
4846
- var defSort = ((_props$column = props.column) === null || _props$column === void 0 || (_props$column = _props$column.sort) === null || _props$column === void 0 ? void 0 : _props$column.value) || props.defaultSort || SORT_OPTION.NULL;
5278
+ var defSort = (_ref2 = (_props$column$sort$va = (_props$column = props.column) === null || _props$column === void 0 || (_props$column = _props$column.sort) === null || _props$column === void 0 ? void 0 : _props$column.value) !== null && _props$column$sort$va !== void 0 ? _props$column$sort$va : props.defaultSort) !== null && _ref2 !== void 0 ? _ref2 : SORT_OPTION.NULL;
4847
5279
  var sortType = (0,external_vue_namespaceObject.ref)(defSort);
4848
5280
  (0,external_vue_namespaceObject.watch)(function () {
4849
5281
  return [props.defaultSort];
4850
- }, function (_ref2) {
4851
- var _ref3 = _slicedToArray(_ref2, 1),
4852
- val = _ref3[0];
5282
+ }, function (_ref3) {
5283
+ var _ref4 = _slicedToArray(_ref3, 1),
5284
+ val = _ref4[0];
4853
5285
  sortType.value = val;
4854
5286
  });
5287
+ var setNextSortType = function setNextSortType(type) {
5288
+ sortType.value = type;
5289
+ };
4855
5290
  /**
4856
5291
  * 点击排序事件
4857
5292
  * @param e 鼠标事件
@@ -4870,7 +5305,7 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4870
5305
  currentSort = SORT_OPTION.NULL;
4871
5306
  }
4872
5307
  var execFn = getSortFn(props.column, currentSort);
4873
- var sort = resolveSort(props.column.sort);
5308
+ var sort = resolveSort(props.column.sort, props.column);
4874
5309
  if ((sort === null || sort === void 0 ? void 0 : sort.value) === 'custom') {
4875
5310
  var _sort$sortFn;
4876
5311
  emit('change', (_sort$sortFn = sort === null || sort === void 0 ? void 0 : sort.sortFn) !== null && _sort$sortFn !== void 0 ? _sort$sortFn : execFn, currentSort);
@@ -4878,6 +5313,9 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4878
5313
  }
4879
5314
  emit('change', execFn, currentSort);
4880
5315
  };
5316
+ expose({
5317
+ setNextSortType: setNextSortType
5318
+ });
4881
5319
  return function () {
4882
5320
  return (0,external_vue_namespaceObject.createVNode)("span", {
4883
5321
  "class": resolveClassName('head-cell-sort')
@@ -4897,12 +5335,9 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4897
5335
  };
4898
5336
  }
4899
5337
  }));
4900
- ;// CONCATENATED MODULE: external "../button"
4901
- var external_button_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4902
- var external_button_y = x => () => x
4903
- const external_button_namespaceObject = external_button_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__button_59c00871__["default"] });
4904
- ;// CONCATENATED MODULE: ../../packages/table/src/plugins/settings.tsx
5338
+ ;// CONCATENATED MODULE: ../../packages/table/src/plugins/use-head-cell.tsx
4905
5339
 
5340
+ var use_head_cell_this = undefined;
4906
5341
 
4907
5342
  /*
4908
5343
  * Tencent is pleased to support the open source community by making
@@ -4937,279 +5372,236 @@ const external_button_namespaceObject = external_button_x({ ["default"]: () => _
4937
5372
 
4938
5373
 
4939
5374
 
4940
-
4941
-
4942
- function _isSlot(s) {
5375
+ function use_head_cell_isSlot(s) {
4943
5376
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
4944
5377
  }
4945
- /* harmony default export */ const plugins_settings = ((0,external_vue_namespaceObject.defineComponent)({
4946
- name: 'Settings',
4947
- props: {
4948
- settings: ITableSettings,
4949
- columns: external_shared_namespaceObject.PropTypes.arrayOf(IColumnType).def([]),
4950
- rowHeight: RowHeightFunctionNumberType.def(LINE_HEIGHT)
4951
- },
4952
- emits: ['change'],
4953
- setup: function setup(props, _ref) {
4954
- var emit = _ref.emit,
4955
- slots = _ref.slots;
4956
- var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4957
- resolveClassName = _usePrefix.resolveClassName;
4958
- var t = (0,external_config_provider_namespaceObject.useLocale)('table');
4959
- var defaultSizeList = createDefaultSizeList(t);
4960
- var resolvedColVal = function resolvedColVal(item, index) {
4961
- return resolvePropVal(item, ['id', 'field', 'type'], [item, index]);
4962
- };
4963
- var checkAll = (0,external_vue_namespaceObject.ref)(false);
4964
- var isShow = (0,external_vue_namespaceObject.ref)(false);
4965
- var localSettings = (0,external_vue_namespaceObject.computed)(function () {
4966
- if (typeof props.settings === 'boolean') {
4967
- return {
4968
- fields: props.columns.map(function (col) {
4969
- return Object.assign({}, col, {
4970
- field: col.field || col.type
4971
- });
4972
- }),
4973
- checked: [],
4974
- limit: 0,
4975
- size: SETTING_SIZE.small,
4976
- sizeList: defaultSizeList,
4977
- showLineHeight: true
4978
- };
4979
- }
4980
- return props.settings;
4981
- });
4982
- var activeSize = (0,external_vue_namespaceObject.ref)(localSettings.value.size || 'small');
4983
- var activeHeight = (0,external_vue_namespaceObject.ref)(props.rowHeight);
4984
- var checkedFields = (0,external_vue_namespaceObject.ref)(localSettings.value.checked || []);
4985
- var className = resolveClassName('table-settings');
4986
- var theme = "light ".concat(className);
4987
- var renderFields = (0,external_vue_namespaceObject.computed)(function () {
4988
- return localSettings.value.fields || props.columns || [];
4989
- });
4990
- var cachedValue = {
4991
- checkAll: checkAll.value,
4992
- activeSize: activeSize.value,
4993
- activeHeight: activeHeight.value,
4994
- checkedFields: localSettings.value.checked || []
4995
- };
4996
- var handleSaveClick = function handleSaveClick() {
4997
- Object.assign(cachedValue, {
4998
- checkAll: checkAll.value,
4999
- activeSize: activeSize.value,
5000
- activeHeight: activeHeight.value,
5001
- checkedFields: checkedFields.value
5002
- });
5003
- emit('change', {
5004
- checked: checkedFields.value,
5005
- size: activeSize.value,
5006
- height: activeHeight.value,
5007
- fields: (0,external_vue_namespaceObject.unref)(renderFields)
5008
- });
5009
- isShow.value = false;
5010
- };
5011
- var handleCancelClick = function handleCancelClick() {
5012
- checkAll.value = cachedValue.checkAll;
5013
- activeSize.value = cachedValue.activeSize;
5014
- activeHeight.value = cachedValue.activeHeight;
5015
- checkedFields.value = cachedValue.checkedFields;
5016
- isShow.value = false;
5017
- };
5018
- var handleSettingClick = function handleSettingClick() {
5019
- isShow.value = true;
5020
- };
5021
- var handleCheckAllClick = function handleCheckAllClick(e) {
5022
- e.stopImmediatePropagation();
5023
- e.stopPropagation();
5024
- e.preventDefault();
5025
- checkAll.value = !checkAll.value;
5026
- var fields = localSettings.value.fields || props.columns || [];
5027
- var readonlyFields = fields.filter(function (f, index) {
5028
- return f.disabled && checkedFields.value.includes(resolvedColVal(f, index));
5029
- }).map(function (item, index) {
5030
- return resolvedColVal(item, index);
5378
+ /* harmony default export */ const use_head_cell = (function (props, context, column, tableResp) {
5379
+ var _tableResp$formatData;
5380
+ var nextSort = (0,external_vue_namespaceObject.ref)((_tableResp$formatData = tableResp.formatData.columnSchema.get(column)) === null || _tableResp$formatData === void 0 ? void 0 : _tableResp$formatData[COLUMN_ATTRIBUTE.COL_SORT_TYPE]);
5381
+ var active = (0,external_vue_namespaceObject.computed)(function () {
5382
+ var _tableResp$formatData2, _tableResp$formatData3;
5383
+ return (_tableResp$formatData2 = (_tableResp$formatData3 = tableResp.formatData.columnSchema.get(column)) === null || _tableResp$formatData3 === void 0 ? void 0 : _tableResp$formatData3[COLUMN_ATTRIBUTE.COL_SORT_ACTIVE]) !== null && _tableResp$formatData2 !== void 0 ? _tableResp$formatData2 : false;
5384
+ });
5385
+ var resolveEventListener = function resolveEventListener(col) {
5386
+ var listeners = tableResp.getColumnAttribute(col, COLUMN_ATTRIBUTE.LISTENERS);
5387
+ if (!listeners) {
5388
+ return {};
5389
+ }
5390
+ return Array.from(listeners === null || listeners === void 0 ? void 0 : listeners.keys()).reduce(function (handle, key) {
5391
+ var eventName = key.split('_').slice(-1)[0];
5392
+ return Object.assign(handle, defineProperty_defineProperty({}, eventName, function (e) {
5393
+ listeners.get(key).forEach(function (fn) {
5394
+ return Reflect.apply(fn, use_head_cell_this, [e, col]);
5395
+ });
5396
+ }));
5397
+ }, {});
5398
+ };
5399
+ var getSortFnByColumn = function getSortFnByColumn(column, fn, a, b) {
5400
+ if (column.type === 'index') {
5401
+ return fn(tableResp.getRowAttribute(a, TABLE_ROW_ATTRIBUTE.ROW_INDEX), tableResp.getRowAttribute(b, TABLE_ROW_ATTRIBUTE.ROW_INDEX));
5402
+ }
5403
+ return fn(a, b);
5404
+ };
5405
+ /**
5406
+ * 点击选中一列事件
5407
+ * @param index 当前选中列Index
5408
+ * @param column 当前选中列
5409
+ */
5410
+ var handleColumnHeadClick = function handleColumnHeadClick(index, column) {
5411
+ if (tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_IS_DRAG)) {
5412
+ return;
5413
+ }
5414
+ if (column.sort && !column.filter) {
5415
+ var type = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5416
+ nextSort.value = getNextSortType(type);
5417
+ var sortFn = function sortFn(a, b) {
5418
+ return getSortFnByColumn(column, getSortFn(column, nextSort.value), a, b);
5419
+ };
5420
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, nextSort.value);
5421
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, sortFn);
5422
+ tableResp.setColumnSortActive(column, true);
5423
+ tableResp.sortData(column);
5424
+ context.emit(EMIT_EVENTS.COLUMN_SORT, {
5425
+ column: (0,external_vue_namespaceObject.unref)(column),
5426
+ index: index,
5427
+ type: nextSort.value
5031
5428
  });
5032
- if (checkAll.value) {
5033
- var _checkedFields$value;
5034
- var allFields = fields.filter(function (f) {
5035
- return !f.disabled;
5036
- }).map(function (item, index) {
5037
- return resolvedColVal(item, index);
5429
+ }
5430
+ };
5431
+ var handleColCellClick = function handleColCellClick(index) {
5432
+ handleColumnHeadClick(index, column);
5433
+ };
5434
+ var renderCheckboxColumn = function renderCheckboxColumn(row, index) {
5435
+ var isAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
5436
+ var handleChecked = function handleChecked(value) {
5437
+ if (isAll) {
5438
+ tableResp.setRowSelectionAll(value);
5439
+ context.emit(EMIT_EVENTS.ROW_SELECT_ALL, {
5440
+ checked: value,
5441
+ data: props.data
5038
5442
  });
5039
- (_checkedFields$value = checkedFields.value).splice.apply(_checkedFields$value, [0, checkedFields.value.length].concat(_toConsumableArray(allFields), _toConsumableArray(readonlyFields)));
5040
- } else {
5041
- var _checkedFields$value2;
5042
- (_checkedFields$value2 = checkedFields.value).splice.apply(_checkedFields$value2, [0, checkedFields.value.length].concat(_toConsumableArray(readonlyFields)));
5443
+ return;
5043
5444
  }
5445
+ tableResp.setRowSelection(row, value);
5446
+ context.emit(EMIT_EVENTS.ROW_SELECT, {
5447
+ row: row,
5448
+ index: index,
5449
+ checked: value,
5450
+ data: props.data
5451
+ });
5452
+ context.emit(EMIT_EVENTS.ROW_SELECT_CHANGE, {
5453
+ row: row,
5454
+ index: index,
5455
+ checked: value,
5456
+ data: props.data
5457
+ });
5044
5458
  };
5045
- var isLimit = (0,external_vue_namespaceObject.computed)(function () {
5046
- var _localSettings$value$;
5047
- return ((_localSettings$value$ = localSettings.value.limit) !== null && _localSettings$value$ !== void 0 ? _localSettings$value$ : 0) > 0;
5048
- });
5049
- var sizeList = localSettings.value.sizeList || defaultSizeList;
5050
- var isFiledDisabled = (0,external_vue_namespaceObject.computed)(function () {
5051
- return isLimit.value && (localSettings.value.limit ? localSettings.value.limit : 0) <= checkedFields.value.length;
5459
+ var indeterminate = tableResp.getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE);
5460
+ var isChecked = tableResp.getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
5461
+ var isEnable = isRowSelectEnable(props, {
5462
+ row: row,
5463
+ index: index,
5464
+ isCheckAll: isAll
5052
5465
  });
5053
- var isItemReadonly = function isItemReadonly(item, index) {
5054
- return item.disabled || isFiledDisabled.value && !checkedFields.value.includes(resolvedColVal(item, index));
5055
- };
5056
- var handleSizeItemClick = function handleSizeItemClick(item) {
5057
- activeSize.value = item.value;
5058
- activeHeight.value = item.height;
5059
- };
5060
- var getItemClass = function getItemClass(item) {
5061
- return {
5062
- 'line-size': true,
5063
- 'is-medium': activeSize.value === 'medium',
5064
- active: item.value === activeSize.value
5466
+ return (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
5467
+ "onChange": handleChecked,
5468
+ "disabled": !isEnable,
5469
+ "modelValue": isChecked,
5470
+ "indeterminate": indeterminate
5471
+ }, null);
5472
+ };
5473
+ /**
5474
+ * 获取排序设置表头
5475
+ * @param column 当前渲染排序列
5476
+ * @param index 排序列所在index
5477
+ * @returns
5478
+ */
5479
+ var getSortCell = function getSortCell(column, index) {
5480
+ /**
5481
+ * 点击排序事件
5482
+ * @param sortFn 排序函数
5483
+ * @param type 排序类型
5484
+ */
5485
+ var handleSortClick = function handleSortClick(sortFn, type) {
5486
+ var fn = function fn(a, b) {
5487
+ return getSortFnByColumn(column, sortFn, a, b);
5065
5488
  };
5489
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type);
5490
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, fn);
5491
+ tableResp.sortData(column);
5492
+ tableResp.setColumnSortActive(column, true);
5493
+ context.emit(EMIT_EVENTS.COLUMN_SORT, {
5494
+ column: column,
5495
+ index: index,
5496
+ type: type
5497
+ });
5066
5498
  };
5067
- var buttonStyle = {
5068
- marginRight: '12px'
5499
+ // 如果是独立的,则只高亮当前排序
5500
+ return (0,external_vue_namespaceObject.createVNode)(head_sort, {
5501
+ "column": column,
5502
+ "defaultSort": active.value ? nextSort.value : SORT_OPTION.NULL,
5503
+ "onChange": handleSortClick,
5504
+ "active": active.value
5505
+ }, null);
5506
+ };
5507
+ var getFilterCell = function getFilterCell(column, index) {
5508
+ var handleFilterChange = function handleFilterChange(checked, filterFn) {
5509
+ var filterFn0 = function filterFn0(row, index) {
5510
+ return filterFn(checked, row, index);
5511
+ };
5512
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_FILTER_FN, filterFn0);
5513
+ tableResp.filter();
5514
+ context.emit(EMIT_EVENTS.COLUMN_FILTER, {
5515
+ checked: checked,
5516
+ column: (0,external_vue_namespaceObject.unref)(column),
5517
+ index: index
5518
+ });
5069
5519
  };
5070
- var renderSize = function renderSize() {
5071
- return sizeList.map(function (item) {
5072
- return (0,external_vue_namespaceObject.createVNode)("span", {
5073
- "class": getItemClass(item),
5074
- "onClick": function onClick() {
5075
- return handleSizeItemClick(item);
5076
- }
5077
- }, [item.label]);
5520
+ var filterSave = function filterSave(values) {
5521
+ context.emit(EMIT_EVENTS.COLUMN_FILTER_SAVE, {
5522
+ column: column,
5523
+ values: values
5078
5524
  });
5079
5525
  };
5080
- var indeterminate = (0,external_vue_namespaceObject.computed)(function () {
5081
- return checkedFields.value.length > 0 && !renderFields.value.every(function (field, index) {
5082
- return checkedFields.value.includes(resolvePropVal(field, 'field', [field, index]));
5083
- });
5084
- });
5085
- var showLineHeight = (0,external_vue_namespaceObject.computed)(function () {
5086
- return typeof localSettings.value.showLineHeight === 'boolean' ? localSettings.value.showLineHeight : true;
5087
- });
5088
- (0,external_vue_namespaceObject.watch)(function () {
5089
- return [checkedFields.value];
5090
- }, function () {
5091
- if (!checkedFields.value.length) {
5092
- checkAll.value = false;
5093
- }
5094
- if (checkedFields.value.length && renderFields.value.every(function (field, index) {
5095
- return checkedFields.value.includes(resolvedColVal(field, index));
5096
- })) {
5097
- checkAll.value = true;
5526
+ return (0,external_vue_namespaceObject.createVNode)(head_filter, {
5527
+ "column": column,
5528
+ "height": props.headHeight,
5529
+ "onChange": handleFilterChange,
5530
+ "onFilterSave": filterSave
5531
+ }, null);
5532
+ };
5533
+ var config = resolveHeadConfig(props);
5534
+ var cellFn = config.cellFn;
5535
+ var getHeadCellText = function getHeadCellText(column, index) {
5536
+ if (typeof cellFn === 'function') {
5537
+ return cellFn(column, index);
5538
+ }
5539
+ if (typeof column.renderHead === 'function') {
5540
+ return column.renderHead(column, index);
5541
+ }
5542
+ return resolvePropVal(column, 'label', [column, index]);
5543
+ };
5544
+ /**
5545
+ * table head cell render
5546
+ * @param column
5547
+ * @param index
5548
+ * @returns
5549
+ */
5550
+ var renderHeadCell = function renderHeadCell(column, index) {
5551
+ if (column.type === 'selection') {
5552
+ return [renderCheckboxColumn(CHECK_ALL_OBJ, null, true)];
5553
+ }
5554
+ var cells = [];
5555
+ if (column.sort) {
5556
+ cells.push(getSortCell(column, index));
5557
+ }
5558
+ if (column.filter) {
5559
+ cells.push(getFilterCell(column, index));
5560
+ }
5561
+ var cellText = getHeadCellText(column, index);
5562
+ cells.unshift((0,external_vue_namespaceObject.createVNode)("span", {
5563
+ "class": "head-text"
5564
+ }, [cellText]));
5565
+ var showTitle = typeof cellText === 'string' ? cellText : undefined;
5566
+ var headClass = {
5567
+ 'has-sort': !!column.sort,
5568
+ 'has-filter': !!column.filter
5569
+ };
5570
+ return (0,external_vue_namespaceObject.createVNode)(table_cell, {
5571
+ "class": headClass,
5572
+ "title": showTitle,
5573
+ "observerResize": props.observerResize,
5574
+ "resizerWay": props.resizerWay,
5575
+ "isHead": true,
5576
+ "column": column,
5577
+ "parentSetting": props.showOverflowTooltip,
5578
+ "headExplain": resolvePropVal(column.explain, 'head', [column])
5579
+ }, use_head_cell_isSlot(cells) ? cells : {
5580
+ "default": function _default() {
5581
+ return [cells];
5098
5582
  }
5099
- }, {
5100
- immediate: true,
5101
- deep: true
5102
- });
5103
- (0,external_vue_namespaceObject.watch)(function () {
5104
- return [props.settings.checked];
5105
- }, function () {
5106
- var _checkedFields$value3;
5107
- (_checkedFields$value3 = checkedFields.value).splice.apply(_checkedFields$value3, [0, checkedFields.value.length].concat(_toConsumableArray(localSettings.value.checked)));
5108
- }, {
5109
- immediate: true,
5110
- deep: true
5111
5583
  });
5112
- return function () {
5113
- return props.settings ? (0,external_vue_namespaceObject.createVNode)(external_popover_namespaceObject["default"], (0,external_vue_namespaceObject.mergeProps)({
5114
- "trigger": "manual",
5115
- "isShow": isShow.value,
5116
- "placement": "bottom-end",
5117
- "arrow": true
5118
- }, {
5119
- theme: theme
5120
- }), {
5121
- "default": function _default() {
5122
- return (0,external_vue_namespaceObject.createVNode)("span", {
5123
- "class": "table-head-settings",
5124
- "onClick": handleSettingClick
5125
- }, [(0,external_vue_namespaceObject.createVNode)(_namespaceObject.CogShape, {
5126
- "style": "color: #c4c6cc;"
5127
- }, null)]);
5128
- },
5129
- content: function content() {
5130
- var _slots$default;
5131
- var _slot2;
5132
- return (0,external_vue_namespaceObject.createVNode)("div", {
5133
- "class": "setting-content"
5134
- }, [(0,external_vue_namespaceObject.createVNode)("div", {
5135
- "class": "setting-head"
5136
- }, [(0,external_vue_namespaceObject.createVNode)("span", {
5137
- "class": "head-title"
5138
- }, [t.value.setting.title]), (0,external_vue_namespaceObject.createVNode)(_namespaceObject.CloseLine, {
5139
- "class": "icon-close-action",
5140
- "onClick": handleCancelClick
5141
- }, null)]), (0,external_vue_namespaceObject.createVNode)("div", {
5142
- "class": "setting-body"
5143
- }, [(0,external_vue_namespaceObject.createVNode)("div", {
5144
- "class": "setting-body-title"
5145
- }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)("span", {
5146
- "class": "field-setting-label"
5147
- }, [t.value.setting.fields.title]), isLimit.value ? (0,external_vue_namespaceObject.createVNode)("span", {
5148
- "class": "limit"
5149
- }, [t.value.setting.fields.subtitle(localSettings.value.limit)]) : '']), isLimit.value ? '' : (0,external_vue_namespaceObject.createVNode)("span", {
5150
- "class": "check-all",
5151
- "onClick": handleCheckAllClick
5152
- }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
5153
- "label": t.value.setting.fields.selectAll,
5154
- "indeterminate": Boolean(indeterminate.value),
5155
- "modelValue": checkedFields.value.length > 0
5156
- }, {
5157
- "default": function _default() {
5158
- return [t.value.setting.fields.selectAll];
5159
- }
5160
- })])]), (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject.BkCheckboxGroup, {
5161
- "class": "setting-body-fields",
5162
- "modelValue": checkedFields.value,
5163
- "onUpdate:modelValue": function onUpdateModelValue($event) {
5164
- return checkedFields.value = $event;
5165
- }
5166
- }, _isSlot(_slot2 = renderFields.value.map(function (item, index) {
5167
- var _slot;
5168
- return (0,external_vue_namespaceObject.createVNode)("div", {
5169
- "class": "field-item"
5170
- }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
5171
- "checked": checkedFields.value.includes(resolvedColVal(item, index)),
5172
- "label": resolvedColVal(item, index),
5173
- "disabled": isItemReadonly(item, index)
5174
- }, _isSlot(_slot = resolvePropVal(item, ['name', 'label'], [item, index])) ? _slot : {
5175
- "default": function _default() {
5176
- return [_slot];
5177
- }
5178
- })]);
5179
- })) ? _slot2 : {
5180
- "default": function _default() {
5181
- return [_slot2];
5182
- }
5183
- }), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), showLineHeight.value ? (0,external_vue_namespaceObject.createVNode)("div", {
5184
- "class": "setting-body-line-height"
5185
- }, [t.value.setting.lineHeight.title, (0,external_vue_namespaceObject.createTextVNode)("\uFF1A"), renderSize()]) : '']), (0,external_vue_namespaceObject.createVNode)("div", {
5186
- "class": "setting-footer"
5187
- }, [(0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5188
- "theme": "primary",
5189
- "style": buttonStyle,
5190
- "onClick": handleSaveClick
5191
- }, {
5192
- "default": function _default() {
5193
- return [t.value.setting.options.ok];
5194
- }
5195
- }), (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5196
- "style": buttonStyle,
5197
- "onClick": handleCancelClick
5198
- }, {
5199
- "default": function _default() {
5200
- return [t.value.setting.options.cancel];
5201
- }
5202
- })])]);
5203
- }
5204
- }) : '';
5205
- };
5206
- }
5207
- }));
5584
+ };
5585
+ var getTH = function getTH(classList, style, index) {
5586
+ return (0,external_vue_namespaceObject.createVNode)("th", (0,external_vue_namespaceObject.mergeProps)({
5587
+ "colspan": 1,
5588
+ "rowspan": 1,
5589
+ "data-id": tableResp.getColumnId(column),
5590
+ "class": classList,
5591
+ "style": style,
5592
+ "onClick": function onClick() {
5593
+ return handleColCellClick(index);
5594
+ }
5595
+ }, resolveEventListener(column)), [renderHeadCell(column, index)]);
5596
+ };
5597
+ return {
5598
+ getTH: getTH
5599
+ };
5600
+ });
5208
5601
  ;// CONCATENATED MODULE: ../../packages/table/src/use-render.tsx
5209
5602
 
5210
5603
 
5211
5604
 
5212
- var use_render_this = undefined;
5213
5605
 
5214
5606
  function use_render_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; }
5215
5607
  function use_render_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? use_render_ownKeys(Object(source), !0).forEach(function (key) { defineProperty_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : use_render_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -5254,8 +5646,6 @@ function use_render_objectSpread(target) { for (var i = 1; i < arguments.length;
5254
5646
 
5255
5647
 
5256
5648
 
5257
-
5258
-
5259
5649
  function use_render_isSlot(s) {
5260
5650
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
5261
5651
  }
@@ -5271,7 +5661,7 @@ function use_render_isSlot(s) {
5271
5661
  var settings = (0,external_vue_namespaceObject.computed)(function () {
5272
5662
  return formatData.value.settings;
5273
5663
  });
5274
- var activeSortIndex = (0,external_vue_namespaceObject.ref)(null);
5664
+ // const activeSortIndex = ref(null);
5275
5665
  /**
5276
5666
  * 过滤当前可渲染的列
5277
5667
  */
@@ -5297,10 +5687,9 @@ function use_render_isSlot(s) {
5297
5687
  size = arg.size,
5298
5688
  height = arg.height,
5299
5689
  fields = arg.fields;
5300
- tableResp.formatData.settings.size = size;
5301
- tableResp.formatData.settings.height = height;
5690
+ tableResp.updateSettings(arg);
5691
+ tableResp.setColumnAttributeBySettings(props.settings, checked);
5302
5692
  if (checked.length) {
5303
- tableResp.setColumnAttributeBySettings(props.settings, checked);
5304
5693
  (0,external_vue_namespaceObject.nextTick)(function () {
5305
5694
  resetTableHeight(root.value);
5306
5695
  });
@@ -5316,7 +5705,6 @@ function use_render_isSlot(s) {
5316
5705
  "class": "table-head-settings",
5317
5706
  "settings": props.settings,
5318
5707
  "columns": columns.value,
5319
- "rowHeight": props.rowHeight,
5320
5708
  "onChange": handleSettingsChanged
5321
5709
  }, {
5322
5710
  "default": function _default() {
@@ -5388,209 +5776,47 @@ function use_render_isSlot(s) {
5388
5776
  });
5389
5777
  context.emit(EMIT_EVENTS.PAGE_VALUE_CHANGE, current);
5390
5778
  };
5391
- var getSortFnByColumn = function getSortFnByColumn(column, fn, a, b) {
5392
- if (column.type === 'index') {
5393
- return fn(tableResp.getRowAttribute(a, TABLE_ROW_ATTRIBUTE.ROW_INDEX), tableResp.getRowAttribute(b, TABLE_ROW_ATTRIBUTE.ROW_INDEX));
5394
- }
5395
- return fn(a, b);
5396
- };
5397
- /**
5398
- * 点击选中一列事件
5399
- * @param index 当前选中列Index
5400
- * @param column 当前选中列
5401
- */
5402
- var handleColumnHeadClick = function handleColumnHeadClick(index, column) {
5403
- if (tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_IS_DRAG)) {
5404
- return;
5405
- }
5406
- if (column.sort && !column.filter) {
5407
- var type = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5408
- var nextSort = getNextSortType(type);
5409
- var sortFn = function sortFn(a, b) {
5410
- return getSortFnByColumn(column, getSortFn(column, nextSort), a, b);
5411
- };
5412
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, nextSort);
5413
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, sortFn);
5414
- tableResp.sortData(column);
5415
- context.emit(EMIT_EVENTS.COLUMN_SORT, {
5416
- column: (0,external_vue_namespaceObject.unref)(column),
5417
- index: index,
5418
- type: nextSort
5419
- });
5420
- }
5421
- };
5422
- /**
5423
- * 获取排序设置表头
5424
- * @param column 当前渲染排序列
5425
- * @param index 排序列所在index
5426
- * @returns
5427
- */
5428
- var getSortCell = function getSortCell(column, index) {
5429
- /**
5430
- * 点击排序事件
5431
- * @param sortFn 排序函数
5432
- * @param type 排序类型
5433
- */
5434
- var handleSortClick = function handleSortClick(sortFn, type) {
5435
- var fn = function fn(a, b) {
5436
- return getSortFnByColumn(column, sortFn, a, b);
5437
- };
5438
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type);
5439
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, fn);
5440
- tableResp.sortData(column);
5441
- activeSortIndex.value = index;
5442
- context.emit(EMIT_EVENTS.COLUMN_SORT, {
5443
- column: column,
5444
- index: index,
5445
- type: type
5446
- });
5447
- };
5448
- var nextSort = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5449
- var active = props.colSortBehavior === IColSortBehavior.independent ? activeSortIndex.value === index : true;
5450
- // 如果是独立的,则只高亮当前排序
5451
- return (0,external_vue_namespaceObject.createVNode)(head_sort, {
5452
- "column": column,
5453
- "defaultSort": active ? nextSort : SORT_OPTION.NULL,
5454
- "onChange": handleSortClick,
5455
- "active": active
5456
- }, null);
5457
- };
5458
- var getFilterCell = function getFilterCell(column, index) {
5459
- var handleFilterChange = function handleFilterChange(checked, filterFn) {
5460
- var filterFn0 = function filterFn0(row, index) {
5461
- return filterFn(checked, row, index);
5462
- };
5463
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_FILTER_FN, filterFn0);
5464
- tableResp.filter();
5465
- context.emit(EMIT_EVENTS.COLUMN_FILTER, {
5466
- checked: checked,
5467
- column: (0,external_vue_namespaceObject.unref)(column),
5468
- index: index
5469
- });
5470
- };
5471
- var filterSave = function filterSave(values) {
5472
- context.emit(EMIT_EVENTS.COLUMN_FILTER_SAVE, {
5473
- column: column,
5474
- values: values
5475
- });
5476
- };
5477
- return (0,external_vue_namespaceObject.createVNode)(head_filter, {
5478
- "column": column,
5479
- "height": props.headHeight,
5480
- "onChange": handleFilterChange,
5481
- "onFilterSave": filterSave
5482
- }, null);
5483
- };
5484
5779
  /**
5485
5780
  * 渲染Table Header
5486
5781
  * @returns
5487
5782
  */
5488
5783
  var renderHeader = function renderHeader() {
5489
5784
  var config = resolveHeadConfig(props);
5490
- var cellFn = config.cellFn;
5491
5785
  var rowStyle = {
5492
5786
  // @ts-ignore:next-line
5493
5787
  '--row-height': "".concat(resolvePropVal(config, 'height', ['thead']), "px"),
5494
5788
  backgroundColor: props.thead.color
5495
5789
  };
5496
- var getHeadCellText = function getHeadCellText(column, index) {
5497
- if (typeof cellFn === 'function') {
5498
- return cellFn(column, index);
5499
- }
5500
- if (typeof column.renderHead === 'function') {
5501
- return column.renderHead(column, index);
5502
- }
5503
- return resolvePropVal(column, 'label', [column, index]);
5504
- };
5505
- /**
5506
- * table head cell render
5507
- * @param column
5508
- * @param index
5509
- * @returns
5510
- */
5511
- var renderHeadCell = function renderHeadCell(column, index) {
5512
- if (column.type === 'selection') {
5513
- return renderCheckboxColumn(CHECK_ALL_OBJ, null, true);
5514
- }
5515
- var cells = [];
5516
- if (column.sort) {
5517
- cells.push(getSortCell(column, index));
5518
- }
5519
- if (column.filter) {
5520
- cells.push(getFilterCell(column, index));
5521
- }
5522
- var cellText = getHeadCellText(column, index);
5523
- cells.unshift((0,external_vue_namespaceObject.createVNode)("span", {
5524
- "class": "head-text"
5525
- }, [cellText]));
5526
- var showTitle = typeof cellText === 'string' ? cellText : undefined;
5527
- var headClass = {
5528
- 'has-sort': !!column.sort,
5529
- 'has-filter': !!column.filter
5530
- };
5531
- return (0,external_vue_namespaceObject.createVNode)(table_cell, {
5532
- "class": headClass,
5533
- "title": showTitle,
5534
- "observerResize": props.observerResize,
5535
- "resizerWay": props.resizerWay,
5536
- "isHead": true,
5537
- "column": column,
5538
- "parentSetting": props.showOverflowTooltip,
5539
- "headExplain": resolvePropVal(column.explain, 'head', [column])
5540
- }, use_render_isSlot(cells) ? cells : {
5541
- "default": function _default() {
5542
- return [cells];
5543
- }
5544
- });
5545
- };
5546
- var resolveEventListener = function resolveEventListener(col) {
5547
- var listeners = tableResp.getColumnAttribute(col, COLUMN_ATTRIBUTE.LISTENERS);
5548
- if (!listeners) {
5549
- return {};
5550
- }
5551
- return Array.from(listeners === null || listeners === void 0 ? void 0 : listeners.keys()).reduce(function (handle, key) {
5552
- var eventName = key.split('_').slice(-1)[0];
5553
- return Object.assign(handle, defineProperty_defineProperty({}, eventName, function (e) {
5554
- listeners.get(key).forEach(function (fn) {
5555
- return Reflect.apply(fn, use_render_this, [e, col]);
5556
- });
5557
- }));
5558
- }, {});
5559
- };
5560
5790
  var _useFixedColumn = use_fixed_column(props, tableResp, head),
5561
5791
  resolveFixedColumnStyle = _useFixedColumn.resolveFixedColumnStyle;
5562
- var getScrollFix = function getScrollFix() {
5563
- if (styleRef.value.hasScrollY) {
5564
- var fixStyle = {
5565
- width: "".concat(SCROLLY_WIDTH + 2, "px"),
5566
- right: '-1px'
5567
- };
5568
- return (0,external_vue_namespaceObject.createVNode)("th", {
5569
- "style": fixStyle,
5570
- "class": "column_fixed"
5571
- }, null);
5572
- }
5573
- };
5792
+ // const getScrollFix = () => {
5793
+ // if (styleRef.value.hasScrollY) {
5794
+ // const fixStyle = {
5795
+ // width: `${SCROLLY_WIDTH + 2}px`,
5796
+ // right: '-1px',
5797
+ // };
5798
+ // return (
5799
+ // <th
5800
+ // style={fixStyle}
5801
+ // class='column_fixed'
5802
+ // ></th>
5803
+ // );
5804
+ // }
5805
+ // };
5574
5806
  return (0,external_vue_namespaceObject.createVNode)(external_vue_namespaceObject.Fragment, null, [(0,external_vue_namespaceObject.createVNode)("thead", {
5575
5807
  "style": rowStyle
5576
5808
  }, [(0,external_vue_namespaceObject.createVNode)(table_row, null, {
5577
5809
  "default": function _default() {
5578
5810
  return [(0,external_vue_namespaceObject.createVNode)("tr", null, [filterColGroups.value.map(function (column, index) {
5579
5811
  var _props$thead$color, _props$thead;
5812
+ var _useHeadCell = use_head_cell(props, context, column, tableResp),
5813
+ getTH = _useHeadCell.getTH;
5580
5814
  var headStyle = Object.assign({}, resolveFixedColumnStyle(column, styleRef.value.hasScrollY), {
5581
5815
  '--background-color': DEF_COLOR[(_props$thead$color = (_props$thead = props.thead) === null || _props$thead === void 0 ? void 0 : _props$thead.color) !== null && _props$thead$color !== void 0 ? _props$thead$color : IHeadColor.DEF1]
5582
5816
  });
5583
- return (0,external_vue_namespaceObject.createVNode)("th", (0,external_vue_namespaceObject.mergeProps)({
5584
- "colspan": 1,
5585
- "rowspan": 1,
5586
- "data-id": tableResp.getColumnId(column),
5587
- "class": [getHeadColumnClass(column, index), getColumnCustomClass(column), column.align || props.headerAlign || props.align],
5588
- "style": headStyle,
5589
- "onClick": function onClick() {
5590
- return handleColumnHeadClick(index, column);
5591
- }
5592
- }, resolveEventListener(column)), [renderHeadCell(column, index)]);
5593
- }), getScrollFix()])];
5817
+ var classList = [getHeadColumnClass(column, index), getColumnCustomClass(column), column.align || props.headerAlign || props.align];
5818
+ return getTH(classList, headStyle, index);
5819
+ })])];
5594
5820
  }
5595
5821
  })])]);
5596
5822
  };
@@ -5781,8 +6007,8 @@ function use_render_isSlot(s) {
5781
6007
  }
5782
6008
  };
5783
6009
  var getColumnClass = function getColumnClass(column, colIndex) {
5784
- var _objectSpread2;
5785
- return use_render_objectSpread((_objectSpread2 = {}, defineProperty_defineProperty(_objectSpread2, "".concat(uuid, "-column-").concat(colIndex), false), defineProperty_defineProperty(_objectSpread2, "column_fixed", !!column.fixed), defineProperty_defineProperty(_objectSpread2, "column_fixed_left", !!column.fixed), defineProperty_defineProperty(_objectSpread2, "column_fixed_right", column.fixed === 'right'), _objectSpread2), column.className ? defineProperty_defineProperty({}, "".concat(column.className), true) : {});
6010
+ var _ref3;
6011
+ return _ref3 = {}, defineProperty_defineProperty(_ref3, "".concat(uuid, "-column-").concat(colIndex), false), defineProperty_defineProperty(_ref3, "column_fixed", !!column.fixed), defineProperty_defineProperty(_ref3, "column_fixed_left", !!column.fixed), defineProperty_defineProperty(_ref3, "column_fixed_right", column.fixed === 'right'), _ref3;
5786
6012
  };
5787
6013
  var getHeadColumnClass = function getHeadColumnClass(column, colIndex) {
5788
6014
  return use_render_objectSpread({}, getColumnClass(column, colIndex));
@@ -6092,6 +6318,9 @@ function table_objectSpread(target) { for (var i = 1; i < arguments.length; i++)
6092
6318
  renderTableFooter = _useRender.renderTableFooter,
6093
6319
  renderTableHeadSchema = _useRender.renderTableHeadSchema;
6094
6320
  var updateOffsetRight = function updateOffsetRight() {
6321
+ if (!(root !== null && root !== void 0 && root.value)) {
6322
+ return;
6323
+ }
6095
6324
  var $tableContent = root.value.querySelector(".".concat(resolveClassName('table-body-content')));
6096
6325
  var $table = $tableContent.querySelector('table');
6097
6326
  if ($table) {
@@ -6100,13 +6329,19 @@ function table_objectSpread(target) { for (var i = 1; i < arguments.length; i++)
6100
6329
  tableOffsetRight.value = $tableScrollWidth - $contentWidth;
6101
6330
  }
6102
6331
  };
6332
+ var isFirstLoad = (0,external_vue_namespaceObject.ref)(true);
6103
6333
  (0,external_vue_namespaceObject.watch)(function () {
6104
6334
  return [props.data, columns];
6105
6335
  }, function () {
6106
6336
  tableSchema.formatColumns(columns);
6107
6337
  tableSchema.formatDataSchema(props.data);
6108
6338
  tableSchema.resetStartEndIndex();
6109
- tableSchema.resolvePageData();
6339
+ if (isFirstLoad.value) {
6340
+ tableSchema.resolveByDefColumns();
6341
+ isFirstLoad.value = false;
6342
+ } else {
6343
+ tableSchema.resolvePageData();
6344
+ }
6110
6345
  registerResizeEvent();
6111
6346
  (0,external_vue_namespaceObject.nextTick)(function () {
6112
6347
  updateOffsetRight();
@@ -6129,6 +6364,18 @@ function table_objectSpread(target) { for (var i = 1; i < arguments.length; i++)
6129
6364
  resetTableHeight(root.value);
6130
6365
  });
6131
6366
  });
6367
+ (0,external_vue_namespaceObject.watch)(function () {
6368
+ return [props.settings];
6369
+ }, function () {
6370
+ tableSchema.updateSettings(props.settings);
6371
+ }, {
6372
+ deep: true
6373
+ });
6374
+ (0,external_vue_namespaceObject.watch)(function () {
6375
+ return [props.rowHeight];
6376
+ }, function () {
6377
+ tableSchema.updateSettings(undefined, props.rowHeight);
6378
+ });
6132
6379
  var handleScrollChanged = function handleScrollChanged(args) {
6133
6380
  var _tableSchema$formatDa;
6134
6381
  var preBottom = (_tableSchema$formatDa = tableSchema.formatData.layout.bottom) !== null && _tableSchema$formatDa !== void 0 ? _tableSchema$formatDa : 0;