@fangzhongya/fang-ui 0.1.25 → 0.1.27

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 (229) hide show
  1. package/dist/components/array/index.css +5 -0
  2. package/dist/components/array/src/index2.cjs +0 -1
  3. package/dist/components/array/src/index2.js +0 -1
  4. package/dist/components/audios/index.css +5 -0
  5. package/dist/components/box/index.css +29 -0
  6. package/dist/components/box-adjust/index.css +29 -1
  7. package/dist/components/box-adjust/index.scss +0 -6
  8. package/dist/components/box-adjust/src/index2.cjs +6 -6
  9. package/dist/components/box-adjust/src/index2.js +3 -3
  10. package/dist/components/box-fun/index.cjs +7 -0
  11. package/dist/components/box-fun/index.d.ts +7 -0
  12. package/dist/components/box-fun/index.js +7 -0
  13. package/dist/components/box-fun/src/data.cjs +34 -0
  14. package/dist/components/box-fun/src/data.d.ts +35 -0
  15. package/dist/components/box-fun/src/data.js +34 -0
  16. package/dist/components/box-fun/src/function.cjs +97 -0
  17. package/dist/components/box-fun/src/function.d.ts +8 -0
  18. package/dist/components/box-fun/src/function.js +97 -0
  19. package/dist/components/box-fun/src/index.cjs +5 -0
  20. package/dist/components/box-fun/src/index.d.ts +2 -0
  21. package/dist/components/box-fun/src/index.js +5 -0
  22. package/dist/components/box-local/index.css +29 -0
  23. package/dist/components/box-mask/index.css +5 -0
  24. package/dist/components/box-teleport/src/index2.cjs +2 -11
  25. package/dist/components/box-teleport/src/index2.js +2 -11
  26. package/dist/components/box-title/index.css +29 -0
  27. package/dist/components/box-title/index.scss +1 -1
  28. package/dist/components/buttons/index.css +5 -0
  29. package/dist/components/cascaders/index.css +5 -0
  30. package/dist/components/checks/index.css +5 -0
  31. package/dist/components/dates/index.css +5 -0
  32. package/dist/components/dates-divide/index.css +5 -0
  33. package/dist/components/dates-picker/index.css +5 -0
  34. package/dist/components/dates2/index.css +5 -0
  35. package/dist/components/dialogs/index.css +5 -0
  36. package/dist/components/draggable/index.cjs +9 -0
  37. package/dist/components/draggable/index.d.ts +4 -0
  38. package/dist/components/draggable/index.js +9 -0
  39. package/dist/components/draggable/index.scss +5 -0
  40. package/dist/components/draggable/src/data.cjs +37 -0
  41. package/dist/components/draggable/src/data.d.ts +60 -0
  42. package/dist/components/draggable/src/data.js +37 -0
  43. package/dist/components/draggable/src/index.cjs +4 -0
  44. package/dist/components/draggable/src/index.js +4 -0
  45. package/dist/components/draggable/src/index2.cjs +101 -0
  46. package/dist/components/draggable/src/index2.js +101 -0
  47. package/dist/components/edit/index.css +5 -0
  48. package/dist/components/edit-float/index.css +5 -0
  49. package/dist/components/forms/common/config.cjs +7 -0
  50. package/dist/components/forms/common/config.d.ts +4 -0
  51. package/dist/components/forms/common/config.js +7 -0
  52. package/dist/components/forms/index.css +5 -0
  53. package/dist/components/forms/src/data.cjs +0 -5
  54. package/dist/components/forms/src/data.d.ts +0 -4
  55. package/dist/components/forms/src/data.js +1 -6
  56. package/dist/components/forms/src/setup.cjs +3 -2
  57. package/dist/components/forms/src/setup.js +2 -1
  58. package/dist/components/forms-div/index.css +5 -0
  59. package/dist/components/forms-div/src/index2.cjs +2 -2
  60. package/dist/components/forms-div/src/index2.js +1 -1
  61. package/dist/components/forms-drag/src/index2.cjs +12 -12
  62. package/dist/components/forms-drag/src/index2.js +1 -1
  63. package/dist/components/forms-item/index.css +5 -0
  64. package/dist/components/forms-item/src/index2.cjs +2 -2
  65. package/dist/components/forms-item/src/index2.js +1 -1
  66. package/dist/components/forms-item/src/label.cjs +7 -7
  67. package/dist/components/forms-item/src/label.js +1 -1
  68. package/dist/components/forms-items/src/index2.cjs +9 -9
  69. package/dist/components/forms-items/src/index2.js +1 -1
  70. package/dist/components/full-screen/index.css +5 -0
  71. package/dist/components/global-config/index.css +5 -0
  72. package/dist/components/global-config/index.d.ts +1 -1
  73. package/dist/components/global-config/src/index.d.ts +1 -1
  74. package/dist/components/history/index.css +5 -0
  75. package/dist/components/icon/index.css +5 -0
  76. package/dist/components/icon-picker/index.css +5 -0
  77. package/dist/components/iframe/index.css +5 -0
  78. package/dist/components/images/index.css +5 -0
  79. package/dist/components/index.cjs +411 -407
  80. package/dist/components/index.d.ts +2 -0
  81. package/dist/components/index.js +4 -0
  82. package/dist/components/index.scss +1 -0
  83. package/dist/components/index2.scss +1 -0
  84. package/dist/components/input-array/index.css +5 -0
  85. package/dist/components/input-history/index.css +5 -0
  86. package/dist/components/input-num/index.css +5 -0
  87. package/dist/components/input-select/index.css +5 -0
  88. package/dist/components/inputs/index.css +5 -0
  89. package/dist/components/labels/index.css +5 -0
  90. package/dist/components/list/index.css +5 -0
  91. package/dist/components/lists/index.css +5 -0
  92. package/dist/components/lists/src/index2.cjs +9 -9
  93. package/dist/components/lists/src/index2.js +9 -9
  94. package/dist/components/listsp/index.css +5 -0
  95. package/dist/components/listspd/index.css +5 -0
  96. package/dist/components/loading/src/data.cjs +13 -0
  97. package/dist/components/loading/src/data.d.ts +17 -0
  98. package/dist/components/loading/src/data.js +13 -0
  99. package/dist/components/loading/src/index.cjs +1 -0
  100. package/dist/components/loading/src/index.d.ts +0 -4
  101. package/dist/components/loading/src/index.js +1 -0
  102. package/dist/components/menus/index.css +5 -0
  103. package/dist/components/message/src/data.cjs +13 -0
  104. package/dist/components/message/src/data.d.ts +17 -0
  105. package/dist/components/message/src/data.js +13 -0
  106. package/dist/components/message/src/index.cjs +1 -0
  107. package/dist/components/message/src/index.d.ts +0 -4
  108. package/dist/components/message/src/index.js +1 -0
  109. package/dist/components/message-box/src/data.cjs +13 -0
  110. package/dist/components/message-box/src/data.d.ts +17 -0
  111. package/dist/components/message-box/src/data.js +13 -0
  112. package/dist/components/message-box/src/index.cjs +1 -0
  113. package/dist/components/message-box/src/index.d.ts +0 -4
  114. package/dist/components/message-box/src/index.js +1 -0
  115. package/dist/components/no-data/index.css +5 -0
  116. package/dist/components/page/index.css +5 -0
  117. package/dist/components/page/src/set-column2.cjs +2 -2
  118. package/dist/components/page/src/set-column2.js +1 -1
  119. package/dist/components/paging/index.css +5 -0
  120. package/dist/components/popup/index.css +29 -0
  121. package/dist/components/retract/index.css +5 -0
  122. package/dist/components/right-key/index.css +5 -0
  123. package/dist/components/scss/common.scss +5 -0
  124. package/dist/components/seamless-scroll/index.css +5 -0
  125. package/dist/components/select-scroll/index.css +5 -0
  126. package/dist/components/selector/index.css +5 -0
  127. package/dist/components/selects/index.css +5 -0
  128. package/dist/components/sliders/index.css +5 -0
  129. package/dist/components/switchs/index.css +5 -0
  130. package/dist/components/tables/common/pagin.cjs +49 -20
  131. package/dist/components/tables/common/pagin.d.ts +32 -8
  132. package/dist/components/tables/common/pagin.js +49 -20
  133. package/dist/components/tables/index.css +5 -0
  134. package/dist/components/tables/src/column.cjs +1 -2
  135. package/dist/components/tables/src/column.js +1 -2
  136. package/dist/components/tables/src/data.d.ts +1 -1
  137. package/dist/components/tables/src/index2.cjs +12 -1
  138. package/dist/components/tables/src/index2.js +12 -1
  139. package/dist/components/tablesp/index.css +5 -0
  140. package/dist/components/tablesp/src/index2.cjs +9 -5
  141. package/dist/components/tablesp/src/index2.js +9 -5
  142. package/dist/components/tablespd/index.css +5 -0
  143. package/dist/components/tabless/index.css +5 -0
  144. package/dist/components/tablesv/index.css +5 -0
  145. package/dist/components/tablesvp/index.css +5 -0
  146. package/dist/components/uploads/index.css +5 -0
  147. package/dist/components/videos/index.css +5 -0
  148. package/dist/components/window/index.css +29 -0
  149. package/dist/css/array.css +5 -0
  150. package/dist/css/audios.css +5 -0
  151. package/dist/css/box-adjust.css +29 -1
  152. package/dist/css/box-local.css +29 -0
  153. package/dist/css/box-mask.css +5 -0
  154. package/dist/css/box-title.css +29 -0
  155. package/dist/css/box.css +29 -0
  156. package/dist/css/buttons.css +5 -0
  157. package/dist/css/cascaders.css +5 -0
  158. package/dist/css/checks.css +5 -0
  159. package/dist/css/dates-divide.css +5 -0
  160. package/dist/css/dates-picker.css +5 -0
  161. package/dist/css/dates.css +5 -0
  162. package/dist/css/dates2.css +5 -0
  163. package/dist/css/dialogs.css +5 -0
  164. package/dist/css/edit-float.css +5 -0
  165. package/dist/css/edit.css +5 -0
  166. package/dist/css/forms-div.css +5 -0
  167. package/dist/css/forms-item.css +5 -0
  168. package/dist/css/forms.css +5 -0
  169. package/dist/css/full-screen.css +5 -0
  170. package/dist/css/global-config.css +5 -0
  171. package/dist/css/history.css +5 -0
  172. package/dist/css/icon-picker.css +5 -0
  173. package/dist/css/icon.css +5 -0
  174. package/dist/css/iframe.css +5 -0
  175. package/dist/css/images.css +5 -0
  176. package/dist/css/index.css +29 -25
  177. package/dist/css/input-array.css +5 -0
  178. package/dist/css/input-history.css +5 -0
  179. package/dist/css/input-num.css +5 -0
  180. package/dist/css/input-select.css +5 -0
  181. package/dist/css/inputs.css +5 -0
  182. package/dist/css/labels.css +5 -0
  183. package/dist/css/list.css +5 -0
  184. package/dist/css/lists.css +5 -0
  185. package/dist/css/listsp.css +5 -0
  186. package/dist/css/listspd.css +5 -0
  187. package/dist/css/menus.css +5 -0
  188. package/dist/css/no-data.css +5 -0
  189. package/dist/css/page.css +5 -0
  190. package/dist/css/paging.css +5 -0
  191. package/dist/css/popup.css +29 -0
  192. package/dist/css/retract.css +5 -0
  193. package/dist/css/right-key.css +5 -0
  194. package/dist/css/seamless-scroll.css +5 -0
  195. package/dist/css/select-scroll.css +5 -0
  196. package/dist/css/selector.css +5 -0
  197. package/dist/css/selects.css +5 -0
  198. package/dist/css/sliders.css +5 -0
  199. package/dist/css/switchs.css +5 -0
  200. package/dist/css/tables.css +5 -0
  201. package/dist/css/tablesp.css +5 -0
  202. package/dist/css/tablespd.css +5 -0
  203. package/dist/css/tabless.css +5 -0
  204. package/dist/css/tablesv.css +5 -0
  205. package/dist/css/tablesvp.css +5 -0
  206. package/dist/css/uploads.css +5 -0
  207. package/dist/css/videos.css +5 -0
  208. package/dist/css/window.css +29 -0
  209. package/dist/expand/{chunk-RBGCE6BS.js → chunk-CV4O5V2F.js} +3 -0
  210. package/dist/expand/{chunk-2L4PC7LZ.cjs → chunk-MC76Q3TQ.cjs} +3 -0
  211. package/dist/expand/components.cjs +5 -5
  212. package/dist/expand/components.js +1 -1
  213. package/dist/expand/config.cjs +2 -2
  214. package/dist/expand/config.js +1 -1
  215. package/dist/hooks/props-default/index.cjs +0 -12
  216. package/dist/hooks/props-default/index.d.ts +1 -1
  217. package/dist/hooks/props-default/index.js +0 -12
  218. package/dist/icons/index.json +1 -1
  219. package/dist/index.cjs +435 -431
  220. package/dist/index.css +29 -25
  221. package/dist/index.js +4 -0
  222. package/dist/type.d.ts +10 -5
  223. package/dist/utils/vues/getBoxDom.cjs +22 -0
  224. package/dist/utils/vues/getBoxDom.d.ts +1 -0
  225. package/dist/utils/vues/getBoxDom.js +22 -0
  226. package/dist/utils/vues/index.cjs +2 -0
  227. package/dist/utils/vues/index.d.ts +1 -0
  228. package/dist/utils/vues/index.js +2 -0
  229. package/package.json +11 -12
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .retract {
16
21
  position: relative;
17
22
  }
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .right-key-box {
16
21
  width: 140px;
17
22
  position: absolute;
@@ -17,3 +17,8 @@
17
17
  );
18
18
  --#{$cssname}g-main-bg: var(--#{$cssname}bg-color-page);
19
19
  }
20
+
21
+ .com-footer {
22
+ border-top: 1px solid var(--#{$cssname}border);
23
+ padding: 20px 20px;
24
+ }
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .seamless-scroll {
16
21
  position: relative;
17
22
  overflow: hidden;
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .select-scroll {
16
21
  flex: 1;
17
22
  float: left;
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .select-scroll {
16
21
  flex: 1;
17
22
  float: left;
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .selects-select {
16
21
  height: 100%;
17
22
  min-width: 60px;
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .sliders {
16
21
  width: 100%;
17
22
  position: relative;
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .switchs-switch {
16
21
  height: 100%;
17
22
  }
@@ -9,26 +9,40 @@ const util = require("../../../utils/util.cjs");
9
9
  const objValue = require("@fangzhongya/utils/basic/object/objValue");
10
10
  const dataProps = {
11
11
  ...urls.props,
12
+ /**
13
+ * @props { Boolean } isValue 用value数据
14
+ */
12
15
  isValue: {
13
16
  type: Boolean
14
17
  },
15
- // 总表格的配置
18
+ /**
19
+ * @props { Object } configs 总表格的配置
20
+ * config 和 list 的结合
21
+ */
16
22
  configs: {
17
23
  type: Object
18
24
  },
19
- // 表格的配置
25
+ /**
26
+ * @props { Object } config={} 表格的配置
27
+ */
20
28
  config: {
21
29
  type: Object,
22
30
  default() {
23
31
  return {};
24
32
  }
25
33
  },
34
+ /**
35
+ * @props { Array<ListObj> } list=[] 展示列的数组
36
+ */
26
37
  list: {
27
38
  type: Array,
28
39
  default() {
29
40
  return [];
30
41
  }
31
42
  },
43
+ /**
44
+ * @props { Boolean } load=true 默认加载
45
+ */
32
46
  load: {
33
47
  type: Boolean,
34
48
  default: true
@@ -171,13 +185,13 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
171
185
  tableList.value = list;
172
186
  };
173
187
  const setConfig = () => {
174
- var _a2;
188
+ var _a2, _b2;
175
189
  const configs = props2.configs;
176
190
  const config = (configs == null ? void 0 : configs.config) ?? props2.config;
177
- if ((_a2 = config.config) == null ? void 0 : _a2.defaultSort) {
178
- const v = config.config.defaultSort;
179
- paginat.order = orderMap[v.order] ?? "";
180
- paginat.prop = v.prop;
191
+ if ((_a2 = config.sort) == null ? void 0 : _a2.default) {
192
+ const v = ((_b2 = config.sort) == null ? void 0 : _b2.default) || {};
193
+ paginat.order = orderMap[v.order || ""] ?? "";
194
+ paginat.prop = v.prop ?? "";
181
195
  }
182
196
  const pagin = config.paginat ?? {};
183
197
  paginat.is = pagin.is || false;
@@ -403,23 +417,37 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
403
417
  emit("selection", [obj.row]);
404
418
  }
405
419
  }
420
+ function getFrontSort(ao, bo, prop) {
421
+ var _a2, _b2;
422
+ if ((_a2 = tableConfig.value.sort) == null ? void 0 : _a2.frontSort) {
423
+ return (_b2 = tableConfig.value.sort) == null ? void 0 : _b2.frontSort(ao, bo, prop);
424
+ } else {
425
+ const a = ao[prop];
426
+ const b = bo[prop];
427
+ const c = Number(a) - Number(b);
428
+ if (isNaN(c)) {
429
+ return (a + "").length - (b + "").length;
430
+ } else {
431
+ return c;
432
+ }
433
+ }
434
+ }
435
+ function clearSort() {
436
+ var _a2, _b2;
437
+ paginat.prop = "";
438
+ paginat.order = "";
439
+ (_b2 = (_a2 = refTable.value).clearSort) == null ? void 0 : _b2.call(_a2);
440
+ }
406
441
  function defaultSort(arr) {
407
- var _a2, _b2, _c, _d, _e;
408
- if (!((_a2 = tableConfig.value.config) == null ? void 0 : _a2.sort)) {
442
+ var _a2, _b2;
443
+ if (!((_b2 = (_a2 = tableConfig.value) == null ? void 0 : _a2.sort) == null ? void 0 : _b2.front)) {
409
444
  return arr;
410
445
  } else {
411
- const prop = (_c = (_b2 = tableConfig.value.config) == null ? void 0 : _b2.defaultSort) == null ? void 0 : _c.prop;
412
- const order = orderMap[(_e = (_d = tableConfig.value.config) == null ? void 0 : _d.defaultSort) == null ? void 0 : _e.order] || "";
446
+ const prop = paginat.prop;
447
+ const order = paginat.order;
413
448
  if (prop && order) {
414
449
  const vs = arr.sort((ao, bo) => {
415
- const a = ao[prop];
416
- const b = bo[prop];
417
- const c = Number(a) - Number(b);
418
- if (isNaN(c)) {
419
- return (a + "").length - (b + "").length;
420
- } else {
421
- return c;
422
- }
450
+ return getFrontSort(ao, bo, prop);
423
451
  });
424
452
  if (order == "asc") {
425
453
  return vs;
@@ -433,7 +461,7 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
433
461
  }
434
462
  function onSortChange(obj) {
435
463
  var _a2;
436
- if (!((_a2 = tableConfig.value.config) == null ? void 0 : _a2.sort)) {
464
+ if ((_a2 = tableConfig.value.sort) == null ? void 0 : _a2.is) {
437
465
  paginat.order = orderMap[obj.order] || "";
438
466
  paginat.prop = obj.field || obj.prop;
439
467
  paginat.current = 1;
@@ -649,6 +677,7 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
649
677
  newIndex
650
678
  }) {
651
679
  if (oldIndex === newIndex) return;
680
+ clearSort();
652
681
  const movedItem = data.list.splice(oldIndex, 1)[0];
653
682
  data.list.splice(newIndex, 0, movedItem);
654
683
  if (paginat.is && paginat.front) {
@@ -1,16 +1,29 @@
1
1
  import { Ref, Component, ExtractPropTypes, ComputedRef } from 'vue';
2
2
  import { Translator } from '../../types/locale';
3
3
  export declare const dataProps: {
4
+ /**
5
+ * @props { Boolean } isValue 用value数据
6
+ */
4
7
  isValue: {
5
8
  type: BooleanConstructor;
6
9
  };
10
+ /**
11
+ * @props { Object } configs 总表格的配置
12
+ * config 和 list 的结合
13
+ */
7
14
  configs: {
8
15
  type: () => Config;
9
16
  };
17
+ /**
18
+ * @props { Object } config={} 表格的配置
19
+ */
10
20
  config: {
11
21
  type: () => TableConfig;
12
22
  default(): {};
13
23
  };
24
+ /**
25
+ * @props { Array<ListObj> } list=[] 展示列的数组
26
+ */
14
27
  list: {
15
28
  type: {
16
29
  (arrayLength: number): ListObj[];
@@ -30,6 +43,9 @@ export declare const dataProps: {
30
43
  };
31
44
  default(): never[];
32
45
  };
46
+ /**
47
+ * @props { Boolean } load=true 默认加载
48
+ */
33
49
  load: {
34
50
  type: BooleanConstructor;
35
51
  default: boolean;
@@ -86,7 +102,6 @@ export declare const useInit: (props: ExtractPropTypes<typeof dataProps>, emit:
86
102
  border?: boolean | undefined;
87
103
  align?: string | undefined;
88
104
  resizable?: boolean | undefined;
89
- sort?: boolean | undefined;
90
105
  fit?: boolean | undefined;
91
106
  showHeader?: boolean | undefined;
92
107
  highlightCurrentRow?: boolean | undefined;
@@ -98,9 +113,14 @@ export declare const useInit: (props: ExtractPropTypes<typeof dataProps>, emit:
98
113
  events?: {
99
114
  [key: string]: string | Function;
100
115
  } | undefined;
101
- defaultSort?: {
102
- prop?: string | undefined;
103
- order?: "asc" | "ascending" | "desc" | "descending" | "" | undefined;
116
+ sort?: {
117
+ is?: boolean | undefined;
118
+ front?: boolean | undefined;
119
+ frontSort?: Function | undefined;
120
+ default?: {
121
+ prop?: string | undefined;
122
+ order?: "asc" | "ascending" | "desc" | "descending" | "" | undefined;
123
+ } | undefined;
104
124
  } | undefined;
105
125
  paginat?: {
106
126
  is?: boolean | undefined;
@@ -142,7 +162,6 @@ export declare const useInit: (props: ExtractPropTypes<typeof dataProps>, emit:
142
162
  border?: boolean | undefined;
143
163
  align?: string | undefined;
144
164
  resizable?: boolean | undefined;
145
- sort?: boolean | undefined;
146
165
  fit?: boolean | undefined;
147
166
  showHeader?: boolean | undefined;
148
167
  highlightCurrentRow?: boolean | undefined;
@@ -154,9 +173,14 @@ export declare const useInit: (props: ExtractPropTypes<typeof dataProps>, emit:
154
173
  events?: {
155
174
  [key: string]: string | Function;
156
175
  } | undefined;
157
- defaultSort?: {
158
- prop?: string | undefined;
159
- order?: "asc" | "ascending" | "desc" | "descending" | "" | undefined;
176
+ sort?: {
177
+ is?: boolean | undefined;
178
+ front?: boolean | undefined;
179
+ frontSort?: Function | undefined;
180
+ default?: {
181
+ prop?: string | undefined;
182
+ order?: "asc" | "ascending" | "desc" | "descending" | "" | undefined;
183
+ } | undefined;
160
184
  } | undefined;
161
185
  paginat?: {
162
186
  is?: boolean | undefined;
@@ -7,26 +7,40 @@ import { executionMethod } from "../../../utils/util.js";
7
7
  import { setObjValue, getObjValue } from "@fangzhongya/utils/basic/object/objValue";
8
8
  const dataProps = {
9
9
  ...props,
10
+ /**
11
+ * @props { Boolean } isValue 用value数据
12
+ */
10
13
  isValue: {
11
14
  type: Boolean
12
15
  },
13
- // 总表格的配置
16
+ /**
17
+ * @props { Object } configs 总表格的配置
18
+ * config 和 list 的结合
19
+ */
14
20
  configs: {
15
21
  type: Object
16
22
  },
17
- // 表格的配置
23
+ /**
24
+ * @props { Object } config={} 表格的配置
25
+ */
18
26
  config: {
19
27
  type: Object,
20
28
  default() {
21
29
  return {};
22
30
  }
23
31
  },
32
+ /**
33
+ * @props { Array<ListObj> } list=[] 展示列的数组
34
+ */
24
35
  list: {
25
36
  type: Array,
26
37
  default() {
27
38
  return [];
28
39
  }
29
40
  },
41
+ /**
42
+ * @props { Boolean } load=true 默认加载
43
+ */
30
44
  load: {
31
45
  type: Boolean,
32
46
  default: true
@@ -169,13 +183,13 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
169
183
  tableList.value = list;
170
184
  };
171
185
  const setConfig = () => {
172
- var _a2;
186
+ var _a2, _b2;
173
187
  const configs = props2.configs;
174
188
  const config = (configs == null ? void 0 : configs.config) ?? props2.config;
175
- if ((_a2 = config.config) == null ? void 0 : _a2.defaultSort) {
176
- const v = config.config.defaultSort;
177
- paginat.order = orderMap[v.order] ?? "";
178
- paginat.prop = v.prop;
189
+ if ((_a2 = config.sort) == null ? void 0 : _a2.default) {
190
+ const v = ((_b2 = config.sort) == null ? void 0 : _b2.default) || {};
191
+ paginat.order = orderMap[v.order || ""] ?? "";
192
+ paginat.prop = v.prop ?? "";
179
193
  }
180
194
  const pagin = config.paginat ?? {};
181
195
  paginat.is = pagin.is || false;
@@ -401,23 +415,37 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
401
415
  emit("selection", [obj.row]);
402
416
  }
403
417
  }
418
+ function getFrontSort(ao, bo, prop) {
419
+ var _a2, _b2;
420
+ if ((_a2 = tableConfig.value.sort) == null ? void 0 : _a2.frontSort) {
421
+ return (_b2 = tableConfig.value.sort) == null ? void 0 : _b2.frontSort(ao, bo, prop);
422
+ } else {
423
+ const a = ao[prop];
424
+ const b = bo[prop];
425
+ const c = Number(a) - Number(b);
426
+ if (isNaN(c)) {
427
+ return (a + "").length - (b + "").length;
428
+ } else {
429
+ return c;
430
+ }
431
+ }
432
+ }
433
+ function clearSort() {
434
+ var _a2, _b2;
435
+ paginat.prop = "";
436
+ paginat.order = "";
437
+ (_b2 = (_a2 = refTable.value).clearSort) == null ? void 0 : _b2.call(_a2);
438
+ }
404
439
  function defaultSort(arr) {
405
- var _a2, _b2, _c, _d, _e;
406
- if (!((_a2 = tableConfig.value.config) == null ? void 0 : _a2.sort)) {
440
+ var _a2, _b2;
441
+ if (!((_b2 = (_a2 = tableConfig.value) == null ? void 0 : _a2.sort) == null ? void 0 : _b2.front)) {
407
442
  return arr;
408
443
  } else {
409
- const prop = (_c = (_b2 = tableConfig.value.config) == null ? void 0 : _b2.defaultSort) == null ? void 0 : _c.prop;
410
- const order = orderMap[(_e = (_d = tableConfig.value.config) == null ? void 0 : _d.defaultSort) == null ? void 0 : _e.order] || "";
444
+ const prop = paginat.prop;
445
+ const order = paginat.order;
411
446
  if (prop && order) {
412
447
  const vs = arr.sort((ao, bo) => {
413
- const a = ao[prop];
414
- const b = bo[prop];
415
- const c = Number(a) - Number(b);
416
- if (isNaN(c)) {
417
- return (a + "").length - (b + "").length;
418
- } else {
419
- return c;
420
- }
448
+ return getFrontSort(ao, bo, prop);
421
449
  });
422
450
  if (order == "asc") {
423
451
  return vs;
@@ -431,7 +459,7 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
431
459
  }
432
460
  function onSortChange(obj) {
433
461
  var _a2;
434
- if (!((_a2 = tableConfig.value.config) == null ? void 0 : _a2.sort)) {
462
+ if ((_a2 = tableConfig.value.sort) == null ? void 0 : _a2.is) {
435
463
  paginat.order = orderMap[obj.order] || "";
436
464
  paginat.prop = obj.field || obj.prop;
437
465
  paginat.current = 1;
@@ -647,6 +675,7 @@ const useInit = (props2, emit, refTable, getLocale, isEl) => {
647
675
  newIndex
648
676
  }) {
649
677
  if (oldIndex === newIndex) return;
678
+ clearSort();
650
679
  const movedItem = data.list.splice(oldIndex, 1)[0];
651
680
  data.list.splice(newIndex, 0, movedItem);
652
681
  if (paginat.is && paginat.front) {
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .tables {
16
21
  width: 100%;
17
22
  min-height: var(--tables-min-height, 70px);
@@ -11,7 +11,6 @@ const noProps = ["children", "class", "minWidth", "label"];
11
11
  function setProps(obj, props) {
12
12
  const table = props.table;
13
13
  const robj = {};
14
- const issort = table["sort"];
15
14
  robj["showOverflowTooltip"] = Boolean(getAttrValue.getAttrValue(obj, "showOverflow")) || getAttrValue.getAttrValue(table, "showOverflowTooltip") || Boolean(getAttrValue.getAttrValue(table, "showOverflow"));
16
15
  robj["header-align"] = table["align"];
17
16
  robj["align"] = getAttrValue.getAttrValue(obj, "headerAlign") || table["align"];
@@ -20,7 +19,7 @@ function setProps(obj, props) {
20
19
  if (obj[key] !== "") {
21
20
  robj[key] = obj[key];
22
21
  if (key == "sortable") {
23
- if (issort && obj[key]) {
22
+ if (obj[key]) {
24
23
  robj[key] = "custom";
25
24
  }
26
25
  }
@@ -9,7 +9,6 @@ const noProps = ["children", "class", "minWidth", "label"];
9
9
  function setProps(obj, props) {
10
10
  const table = props.table;
11
11
  const robj = {};
12
- const issort = table["sort"];
13
12
  robj["showOverflowTooltip"] = Boolean(getAttrValue(obj, "showOverflow")) || getAttrValue(table, "showOverflowTooltip") || Boolean(getAttrValue(table, "showOverflow"));
14
13
  robj["header-align"] = table["align"];
15
14
  robj["align"] = getAttrValue(obj, "headerAlign") || table["align"];
@@ -18,7 +17,7 @@ function setProps(obj, props) {
18
17
  if (obj[key] !== "") {
19
18
  robj[key] = obj[key];
20
19
  if (key == "sortable") {
21
- if (issort && obj[key]) {
20
+ if (obj[key]) {
22
21
  robj[key] = "custom";
23
22
  }
24
23
  }
@@ -1,7 +1,7 @@
1
1
  import { ExtractPropTypes, Component } from 'vue';
2
2
  export type DefaultSort = {
3
3
  prop: string;
4
- order: 'ascending' | 'descending';
4
+ order: string;
5
5
  };
6
6
  /**
7
7
  * @title FTable 表格
@@ -49,11 +49,17 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
49
49
  }
50
50
  }
51
51
  let isSort = false;
52
+ const orderMap = {
53
+ asc: "ascending",
54
+ ascending: "ascending",
55
+ desc: "descending",
56
+ descending: "descending"
57
+ };
52
58
  const tableDefaultSort = vue.computed(() => {
53
59
  var _a, _b;
54
60
  return {
55
61
  prop: (_a = props.defaultSort) == null ? void 0 : _a.prop,
56
- order: (_b = props.defaultSort) == null ? void 0 : _b.order
62
+ order: orderMap[(_b = props.defaultSort) == null ? void 0 : _b.order]
57
63
  };
58
64
  });
59
65
  const rowStyle = vue.computed(() => {
@@ -106,6 +112,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
106
112
  rowObj.value = row;
107
113
  emit("row-click", row, column, ...arr);
108
114
  }
115
+ function clearSort() {
116
+ var _a;
117
+ (_a = tableRef.value) == null ? void 0 : _a.clearSort();
118
+ }
109
119
  function toggleRowSelection(...arr) {
110
120
  tableRef.value.toggleRowSelection(...arr);
111
121
  }
@@ -126,6 +136,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
126
136
  __expose({
127
137
  ...data.dataExpose,
128
138
  clearSelection,
139
+ clearSort,
129
140
  getSelections,
130
141
  toggleRowSelection
131
142
  });
@@ -47,11 +47,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
47
  }
48
48
  }
49
49
  let isSort = false;
50
+ const orderMap = {
51
+ asc: "ascending",
52
+ ascending: "ascending",
53
+ desc: "descending",
54
+ descending: "descending"
55
+ };
50
56
  const tableDefaultSort = computed(() => {
51
57
  var _a, _b;
52
58
  return {
53
59
  prop: (_a = props.defaultSort) == null ? void 0 : _a.prop,
54
- order: (_b = props.defaultSort) == null ? void 0 : _b.order
60
+ order: orderMap[(_b = props.defaultSort) == null ? void 0 : _b.order]
55
61
  };
56
62
  });
57
63
  const rowStyle = computed(() => {
@@ -104,6 +110,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
104
110
  rowObj.value = row;
105
111
  emit("row-click", row, column, ...arr);
106
112
  }
113
+ function clearSort() {
114
+ var _a;
115
+ (_a = tableRef.value) == null ? void 0 : _a.clearSort();
116
+ }
107
117
  function toggleRowSelection(...arr) {
108
118
  tableRef.value.toggleRowSelection(...arr);
109
119
  }
@@ -124,6 +134,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
124
134
  __expose({
125
135
  ...dataExpose,
126
136
  clearSelection,
137
+ clearSort,
127
138
  getSelections,
128
139
  toggleRowSelection
129
140
  });
@@ -12,6 +12,11 @@
12
12
  --g-main-bg: var(--bg-color-page);
13
13
  }
14
14
 
15
+ .com-footer {
16
+ border-top: 1px solid var(--border);
17
+ padding: 20px 20px;
18
+ }
19
+
15
20
  .tables {
16
21
  width: 100%;
17
22
  min-height: var(--tables-min-height, 70px);
@@ -52,7 +52,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
52
52
  empty
53
53
  });
54
54
  return (_ctx, _cache) => {
55
- var _a, _b, _c, _d;
55
+ var _a, _b, _c, _d, _e;
56
56
  return vue.openBlock(), vue.createElementBlock("div", {
57
57
  class: vue.normalizeClass(vue.unref(cs).z()),
58
58
  style: vue.normalizeStyle({
@@ -72,8 +72,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
72
72
  value: vue.unref(data$1).list,
73
73
  list: vue.unref(tableList),
74
74
  size: (_b = vue.unref(tableConfig).config) == null ? void 0 : _b.size,
75
+ defaultSort: ((_c = vue.unref(tableConfig).sort) == null ? void 0 : _c.is) ? {
76
+ order: vue.unref(paginat).order,
77
+ prop: vue.unref(paginat).prop
78
+ } : void 0,
75
79
  paginat: vue.unref(paginat),
76
- loading: ((_c = vue.unref(tableConfig).config) == null ? void 0 : _c.noloading) || vue.unref(paginat).scroll && vue.unref(paginat).current > 1 ? false : vue.unref(loading),
80
+ loading: ((_d = vue.unref(tableConfig).config) == null ? void 0 : _d.noloading) || vue.unref(paginat).scroll && vue.unref(paginat).current > 1 ? false : vue.unref(loading),
77
81
  options: vue.unref(props).options,
78
82
  compons: vue.unref(props).compons,
79
83
  onSortChange: vue.unref(onSortChange),
@@ -86,14 +90,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
86
90
  return {
87
91
  name: k,
88
92
  fn: vue.withCtx((scope) => [
89
- vue.renderSlot(_ctx.$slots, k, vue.normalizeProps(vue.guardReactiveProps(scope)))
93
+ vue.renderSlot(_ctx.$slots, k, vue.normalizeProps(vue.guardReactiveProps(scope || {})))
90
94
  ])
91
95
  };
92
96
  })
93
- ]), 1040, ["height", "class", "scroll-selector", "value", "list", "size", "paginat", "loading", "options", "compons", "onSortChange", "onListEvents", "onSelect", "onRowClick", "onSelectionChange"])), [
97
+ ]), 1040, ["height", "class", "scroll-selector", "value", "list", "size", "defaultSort", "paginat", "loading", "options", "compons", "onSortChange", "onListEvents", "onSelect", "onRowClick", "onSelectionChange"])), [
94
98
  [vue.unref(index$4.default), vue.unref(scroll)]
95
99
  ]),
96
- ((_d = vue.unref(paginat)) == null ? void 0 : _d.is) && !vue.unref(paginat).scroll ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.Paging), vue.mergeProps({ key: 0 }, vue.unref(pagconfig), {
100
+ ((_e = vue.unref(paginat)) == null ? void 0 : _e.is) && !vue.unref(paginat).scroll ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.Paging), vue.mergeProps({ key: 0 }, vue.unref(pagconfig), {
97
101
  class: vue.unref(cs).z("paginat"),
98
102
  paginat: vue.unref(paginat),
99
103
  total: vue.unref(data$1).total,