ele-admin-plus 1.2.1-beta.1 → 1.2.1-beta.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 (277) hide show
  1. package/es/ele-admin-layout/index.d.ts +19 -10
  2. package/es/ele-admin-layout/props.d.ts +4 -1
  3. package/es/ele-admin-layout/props.js +4 -1
  4. package/es/ele-admin-layout/style/index.scss +7 -2
  5. package/es/ele-admin-layout/style/sidebar.scss +2 -0
  6. package/es/ele-alert/index.d.ts +1 -1
  7. package/es/ele-alert/index.js +3 -3
  8. package/es/ele-app/components/message-body.d.ts +1 -1
  9. package/es/ele-app/components/message-body.js +2 -2
  10. package/es/ele-app/plus.d.ts +3 -0
  11. package/es/ele-avatar-group/index.d.ts +4 -4
  12. package/es/ele-avatar-group/index.js +15 -15
  13. package/es/ele-basic-select/index.d.ts +5 -5
  14. package/es/ele-basic-select/index.js +16 -16
  15. package/es/ele-check-card/index.d.ts +1 -1
  16. package/es/ele-check-card/index.js +4 -4
  17. package/es/ele-copyable/index.d.ts +2 -2
  18. package/es/ele-copyable/index.js +6 -6
  19. package/es/ele-cropper/components/cropper-tools.d.ts +3 -3
  20. package/es/ele-cropper/components/cropper-tools.js +10 -10
  21. package/es/ele-cropper/index.d.ts +13 -13
  22. package/es/ele-cropper/index.js +39 -39
  23. package/es/ele-cropper-modal/index.d.ts +1 -1
  24. package/es/ele-cropper-modal/index.js +3 -3
  25. package/es/ele-data-table/util.js +1 -1
  26. package/es/ele-drawer/index.d.ts +8 -8
  27. package/es/ele-drawer/index.js +18 -18
  28. package/es/ele-dropdown/index.d.ts +3 -3
  29. package/es/ele-dropdown/index.js +9 -9
  30. package/es/ele-ellipsis/index.d.ts +1 -1
  31. package/es/ele-ellipsis/index.js +3 -3
  32. package/es/ele-file-list/components/file-grid-item.d.ts +5 -5
  33. package/es/ele-file-list/components/file-grid-item.js +15 -15
  34. package/es/ele-file-list/components/file-grid.d.ts +6 -6
  35. package/es/ele-file-list/components/file-grid.js +15 -15
  36. package/es/ele-file-list/components/file-table-item.d.ts +5 -5
  37. package/es/ele-file-list/components/file-table-item.js +15 -15
  38. package/es/ele-file-list/components/file-table.d.ts +7 -7
  39. package/es/ele-file-list/components/file-table.js +19 -19
  40. package/es/ele-file-list/index.d.ts +6 -6
  41. package/es/ele-file-list/index.js +22 -22
  42. package/es/ele-file-list-tool/index.d.ts +1 -1
  43. package/es/ele-file-list-tool/index.js +2 -2
  44. package/es/ele-icon-select/components/icon-grid.d.ts +2 -2
  45. package/es/ele-icon-select/components/icon-grid.js +6 -6
  46. package/es/ele-icon-select/index.d.ts +7 -7
  47. package/es/ele-icon-select/index.js +23 -23
  48. package/es/ele-menus/index.js +15 -15
  49. package/es/ele-menus/style/index.scss +1 -0
  50. package/es/ele-menus/util.d.ts +7 -0
  51. package/es/ele-menus/util.js +49 -26
  52. package/es/ele-modal/index.d.ts +6 -6
  53. package/es/ele-modal/index.js +18 -18
  54. package/es/ele-pagination/index.d.ts +2 -2
  55. package/es/ele-pagination/index.js +6 -6
  56. package/es/ele-popconfirm/index.d.ts +7 -17
  57. package/es/ele-popconfirm/index.js +15 -15
  58. package/es/ele-popconfirm/props.d.ts +2 -7
  59. package/es/ele-popover/index.d.ts +7 -17
  60. package/es/ele-popover/index.js +15 -15
  61. package/es/ele-popover/props.d.ts +1 -6
  62. package/es/ele-popover/props.js +1 -0
  63. package/es/ele-printer/index.d.ts +1 -1
  64. package/es/ele-printer/index.js +19 -22
  65. package/es/ele-printer/style/index.scss +2 -2
  66. package/es/ele-printer/types.d.ts +0 -2
  67. package/es/ele-printer/util.d.ts +9 -30
  68. package/es/ele-printer/util.js +118 -109
  69. package/es/ele-pro-layout/index.d.ts +19 -19
  70. package/es/ele-pro-layout/index.js +2 -2
  71. package/es/ele-pro-layout/props.d.ts +1 -1
  72. package/es/ele-pro-layout/props.js +1 -1
  73. package/es/ele-pro-table/components/table-tools.d.ts +3 -3
  74. package/es/ele-pro-table/components/table-tools.js +6 -13
  75. package/es/ele-pro-table/components/tool-column-list.d.ts +9 -9
  76. package/es/ele-pro-table/components/tool-column-list.js +33 -33
  77. package/es/ele-pro-table/components/tool-column.d.ts +24 -38
  78. package/es/ele-pro-table/components/tool-column.js +80 -102
  79. package/es/ele-pro-table/components/tool-export.d.ts +4 -4
  80. package/es/ele-pro-table/components/tool-export.js +28 -40
  81. package/es/ele-pro-table/components/tool-print.d.ts +10 -7
  82. package/es/ele-pro-table/components/tool-print.js +36 -46
  83. package/es/ele-pro-table/index.d.ts +16 -13
  84. package/es/ele-pro-table/index.js +41 -64
  85. package/es/ele-pro-table/props.d.ts +2 -2
  86. package/es/ele-pro-table/props.js +1 -1
  87. package/es/ele-pro-table/style/index.scss +1 -0
  88. package/es/ele-pro-table/util.d.ts +38 -30
  89. package/es/ele-pro-table/util.js +111 -80
  90. package/es/ele-segmented/index.d.ts +1 -1
  91. package/es/ele-segmented/index.js +3 -3
  92. package/es/ele-split-panel/index.d.ts +1 -1
  93. package/es/ele-split-panel/index.js +3 -3
  94. package/es/ele-tab-wrap/components/tab-dropdown.d.ts +1 -1
  95. package/es/ele-tab-wrap/components/tab-dropdown.js +3 -3
  96. package/es/ele-table-select/index.d.ts +19 -19
  97. package/es/ele-table-select/index.js +42 -37
  98. package/es/ele-tool/index.d.ts +6 -3
  99. package/es/ele-tool/index.js +35 -32
  100. package/es/ele-tool/style/index.js +0 -1
  101. package/es/ele-tool/style/index.scss +0 -13
  102. package/es/ele-toolbar/index.d.ts +3247 -1
  103. package/es/ele-toolbar/index.js +44 -5
  104. package/es/ele-toolbar/props.d.ts +6 -2
  105. package/es/ele-toolbar/props.js +2 -0
  106. package/es/ele-toolbar/style/index.js +1 -0
  107. package/es/ele-toolbar/types.d.ts +15 -0
  108. package/es/ele-tooltip/index.d.ts +9 -9
  109. package/es/ele-tooltip/index.js +25 -25
  110. package/es/ele-tour/index.d.ts +3 -3
  111. package/es/ele-tour/index.js +10 -10
  112. package/es/ele-tree-select/index.d.ts +9 -9
  113. package/es/ele-tree-select/index.js +28 -28
  114. package/es/ele-upload-list/components/list-item.d.ts +3 -3
  115. package/es/ele-upload-list/components/list-item.js +7 -7
  116. package/es/ele-upload-list/index.d.ts +4 -4
  117. package/es/ele-upload-list/index.js +13 -13
  118. package/es/ele-virtual-table/components/body-cell.d.ts +8 -8
  119. package/es/ele-virtual-table/components/body-cell.js +24 -24
  120. package/es/ele-virtual-table/components/body-row.d.ts +7 -7
  121. package/es/ele-virtual-table/components/body-row.js +21 -21
  122. package/es/ele-virtual-table/components/cell-checkbox.d.ts +1 -1
  123. package/es/ele-virtual-table/components/cell-checkbox.js +3 -3
  124. package/es/ele-virtual-table/components/cell-filter.d.ts +5 -5
  125. package/es/ele-virtual-table/components/cell-filter.js +18 -18
  126. package/es/ele-virtual-table/components/footer-row.d.ts +1 -1
  127. package/es/ele-virtual-table/components/footer-row.js +3 -3
  128. package/es/ele-virtual-table/components/header-cell.d.ts +5 -5
  129. package/es/ele-virtual-table/components/header-cell.js +15 -15
  130. package/es/ele-virtual-table/components/header-row.d.ts +5 -5
  131. package/es/ele-virtual-table/components/header-row.js +15 -15
  132. package/es/ele-virtual-table/index.d.ts +23 -21
  133. package/es/ele-virtual-table/index.js +50 -48
  134. package/es/ele-virtual-table/util.js +3 -3
  135. package/es/ele-watermark/index.js +1 -0
  136. package/es/style/themes/default.scss +8 -8
  137. package/es/style/themes/rounded.scss +1 -7
  138. package/es/utils/core.d.ts +7 -1
  139. package/lib/ele-admin-layout/index.d.ts +19 -10
  140. package/lib/ele-admin-layout/props.cjs +4 -1
  141. package/lib/ele-admin-layout/props.d.ts +4 -1
  142. package/lib/ele-admin-layout/style/index.scss +7 -2
  143. package/lib/ele-admin-layout/style/sidebar.scss +2 -0
  144. package/lib/ele-alert/index.cjs +3 -3
  145. package/lib/ele-alert/index.d.ts +1 -1
  146. package/lib/ele-app/components/message-body.cjs +2 -2
  147. package/lib/ele-app/components/message-body.d.ts +1 -1
  148. package/lib/ele-app/plus.d.ts +3 -0
  149. package/lib/ele-avatar-group/index.cjs +15 -15
  150. package/lib/ele-avatar-group/index.d.ts +4 -4
  151. package/lib/ele-basic-select/index.cjs +16 -16
  152. package/lib/ele-basic-select/index.d.ts +5 -5
  153. package/lib/ele-check-card/index.cjs +4 -4
  154. package/lib/ele-check-card/index.d.ts +1 -1
  155. package/lib/ele-copyable/index.cjs +6 -6
  156. package/lib/ele-copyable/index.d.ts +2 -2
  157. package/lib/ele-cropper/components/cropper-tools.cjs +10 -10
  158. package/lib/ele-cropper/components/cropper-tools.d.ts +3 -3
  159. package/lib/ele-cropper/index.cjs +39 -39
  160. package/lib/ele-cropper/index.d.ts +13 -13
  161. package/lib/ele-cropper-modal/index.cjs +3 -3
  162. package/lib/ele-cropper-modal/index.d.ts +1 -1
  163. package/lib/ele-data-table/util.cjs +1 -1
  164. package/lib/ele-drawer/index.cjs +18 -18
  165. package/lib/ele-drawer/index.d.ts +8 -8
  166. package/lib/ele-dropdown/index.cjs +9 -9
  167. package/lib/ele-dropdown/index.d.ts +3 -3
  168. package/lib/ele-ellipsis/index.cjs +3 -3
  169. package/lib/ele-ellipsis/index.d.ts +1 -1
  170. package/lib/ele-file-list/components/file-grid-item.cjs +15 -15
  171. package/lib/ele-file-list/components/file-grid-item.d.ts +5 -5
  172. package/lib/ele-file-list/components/file-grid.cjs +15 -15
  173. package/lib/ele-file-list/components/file-grid.d.ts +6 -6
  174. package/lib/ele-file-list/components/file-table-item.cjs +15 -15
  175. package/lib/ele-file-list/components/file-table-item.d.ts +5 -5
  176. package/lib/ele-file-list/components/file-table.cjs +19 -19
  177. package/lib/ele-file-list/components/file-table.d.ts +7 -7
  178. package/lib/ele-file-list/index.cjs +22 -22
  179. package/lib/ele-file-list/index.d.ts +6 -6
  180. package/lib/ele-file-list-tool/index.cjs +2 -2
  181. package/lib/ele-file-list-tool/index.d.ts +1 -1
  182. package/lib/ele-icon-select/components/icon-grid.cjs +6 -6
  183. package/lib/ele-icon-select/components/icon-grid.d.ts +2 -2
  184. package/lib/ele-icon-select/index.cjs +23 -23
  185. package/lib/ele-icon-select/index.d.ts +7 -7
  186. package/lib/ele-menus/index.cjs +15 -15
  187. package/lib/ele-menus/style/index.scss +1 -0
  188. package/lib/ele-menus/util.cjs +49 -26
  189. package/lib/ele-menus/util.d.ts +7 -0
  190. package/lib/ele-modal/index.cjs +18 -18
  191. package/lib/ele-modal/index.d.ts +6 -6
  192. package/lib/ele-pagination/index.cjs +6 -6
  193. package/lib/ele-pagination/index.d.ts +2 -2
  194. package/lib/ele-popconfirm/index.cjs +15 -15
  195. package/lib/ele-popconfirm/index.d.ts +7 -17
  196. package/lib/ele-popconfirm/props.d.ts +2 -7
  197. package/lib/ele-popover/index.cjs +15 -15
  198. package/lib/ele-popover/index.d.ts +7 -17
  199. package/lib/ele-popover/props.cjs +1 -0
  200. package/lib/ele-popover/props.d.ts +1 -6
  201. package/lib/ele-printer/index.cjs +17 -20
  202. package/lib/ele-printer/index.d.ts +1 -1
  203. package/lib/ele-printer/style/index.scss +2 -2
  204. package/lib/ele-printer/types.d.ts +0 -2
  205. package/lib/ele-printer/util.cjs +118 -109
  206. package/lib/ele-printer/util.d.ts +9 -30
  207. package/lib/ele-pro-layout/index.cjs +2 -2
  208. package/lib/ele-pro-layout/index.d.ts +19 -19
  209. package/lib/ele-pro-layout/props.cjs +1 -1
  210. package/lib/ele-pro-layout/props.d.ts +1 -1
  211. package/lib/ele-pro-table/components/table-tools.cjs +6 -13
  212. package/lib/ele-pro-table/components/table-tools.d.ts +3 -3
  213. package/lib/ele-pro-table/components/tool-column-list.cjs +33 -33
  214. package/lib/ele-pro-table/components/tool-column-list.d.ts +9 -9
  215. package/lib/ele-pro-table/components/tool-column.cjs +79 -101
  216. package/lib/ele-pro-table/components/tool-column.d.ts +24 -38
  217. package/lib/ele-pro-table/components/tool-export.cjs +28 -40
  218. package/lib/ele-pro-table/components/tool-export.d.ts +4 -4
  219. package/lib/ele-pro-table/components/tool-print.cjs +36 -46
  220. package/lib/ele-pro-table/components/tool-print.d.ts +10 -7
  221. package/lib/ele-pro-table/index.cjs +41 -64
  222. package/lib/ele-pro-table/index.d.ts +16 -13
  223. package/lib/ele-pro-table/props.cjs +1 -1
  224. package/lib/ele-pro-table/props.d.ts +2 -2
  225. package/lib/ele-pro-table/style/index.scss +1 -0
  226. package/lib/ele-pro-table/util.cjs +111 -80
  227. package/lib/ele-pro-table/util.d.ts +38 -30
  228. package/lib/ele-segmented/index.cjs +3 -3
  229. package/lib/ele-segmented/index.d.ts +1 -1
  230. package/lib/ele-split-panel/index.cjs +3 -3
  231. package/lib/ele-split-panel/index.d.ts +1 -1
  232. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +3 -3
  233. package/lib/ele-tab-wrap/components/tab-dropdown.d.ts +1 -1
  234. package/lib/ele-table-select/index.cjs +42 -37
  235. package/lib/ele-table-select/index.d.ts +19 -19
  236. package/lib/ele-tool/index.cjs +34 -31
  237. package/lib/ele-tool/index.d.ts +6 -3
  238. package/lib/ele-tool/style/index.cjs +0 -1
  239. package/lib/ele-tool/style/index.scss +0 -13
  240. package/lib/ele-toolbar/index.cjs +42 -3
  241. package/lib/ele-toolbar/index.d.ts +3247 -1
  242. package/lib/ele-toolbar/props.cjs +2 -0
  243. package/lib/ele-toolbar/props.d.ts +6 -2
  244. package/lib/ele-toolbar/style/index.cjs +1 -0
  245. package/lib/ele-toolbar/types.d.ts +15 -0
  246. package/lib/ele-tooltip/index.cjs +25 -25
  247. package/lib/ele-tooltip/index.d.ts +9 -9
  248. package/lib/ele-tour/index.cjs +10 -10
  249. package/lib/ele-tour/index.d.ts +3 -3
  250. package/lib/ele-tree-select/index.cjs +28 -28
  251. package/lib/ele-tree-select/index.d.ts +9 -9
  252. package/lib/ele-upload-list/components/list-item.cjs +7 -7
  253. package/lib/ele-upload-list/components/list-item.d.ts +3 -3
  254. package/lib/ele-upload-list/index.cjs +13 -13
  255. package/lib/ele-upload-list/index.d.ts +4 -4
  256. package/lib/ele-virtual-table/components/body-cell.cjs +24 -24
  257. package/lib/ele-virtual-table/components/body-cell.d.ts +8 -8
  258. package/lib/ele-virtual-table/components/body-row.cjs +21 -21
  259. package/lib/ele-virtual-table/components/body-row.d.ts +7 -7
  260. package/lib/ele-virtual-table/components/cell-checkbox.cjs +3 -3
  261. package/lib/ele-virtual-table/components/cell-checkbox.d.ts +1 -1
  262. package/lib/ele-virtual-table/components/cell-filter.cjs +18 -18
  263. package/lib/ele-virtual-table/components/cell-filter.d.ts +5 -5
  264. package/lib/ele-virtual-table/components/footer-row.cjs +3 -3
  265. package/lib/ele-virtual-table/components/footer-row.d.ts +1 -1
  266. package/lib/ele-virtual-table/components/header-cell.cjs +15 -15
  267. package/lib/ele-virtual-table/components/header-cell.d.ts +5 -5
  268. package/lib/ele-virtual-table/components/header-row.cjs +15 -15
  269. package/lib/ele-virtual-table/components/header-row.d.ts +5 -5
  270. package/lib/ele-virtual-table/index.cjs +50 -48
  271. package/lib/ele-virtual-table/index.d.ts +23 -21
  272. package/lib/ele-virtual-table/util.cjs +3 -3
  273. package/lib/ele-watermark/index.cjs +1 -0
  274. package/lib/style/themes/default.scss +8 -8
  275. package/lib/style/themes/rounded.scss +1 -7
  276. package/lib/utils/core.d.ts +7 -1
  277. package/package.json +1 -1
@@ -12,26 +12,19 @@ const _sfc_main = vue.defineComponent({
12
12
  components: {
13
13
  ElCheckbox: elementPlus.ElCheckbox,
14
14
  ElIcon: elementPlus.ElIcon,
15
- EleTooltip,
16
15
  SettingOutlined: icons.SettingOutlined,
16
+ EleTooltip,
17
17
  EleTool,
18
18
  ToolColumnList
19
19
  },
20
20
  props: {
21
- /** 提示文字 */
22
- title: String,
23
21
  /** 提示位置 */
24
22
  placement: String,
25
- /** 全选文字 */
26
- checkAllText: String,
27
- /** 重置文字 */
28
- resetText: String,
29
- /** 无标题列文字 */
30
- untitledText: String,
31
- /** 固定在左侧文字 */
32
- fixedLeftText: String,
33
- /** 固定在右侧文字 */
34
- fixedRightText: String,
23
+ /** 表格国际化 */
24
+ locale: {
25
+ type: Object,
26
+ required: true
27
+ },
35
28
  /** 列数据 */
36
29
  columns: Array,
37
30
  /** 是否开启列拖拽排序 */
@@ -42,50 +35,46 @@ const _sfc_main = vue.defineComponent({
42
35
  cacheKey: String
43
36
  },
44
37
  emits: {
45
- "update:columns": (_columns) => true
38
+ "update:columns": (_columns, _tableColumns) => true
46
39
  },
47
40
  setup(props, { emit }) {
48
- const data = vue.ref([]);
41
+ const toolRef = vue.ref(null);
42
+ const colItems = vue.ref([]);
49
43
  const isCheckAll = vue.ref(false);
50
44
  const isIndeterminate = vue.ref(false);
51
- const tooltipContent = vue.ref("");
52
- const virtualRef = vue.ref();
53
- const initData = () => {
54
- const cols = util.getSettingCols(
45
+ const initColItems = () => {
46
+ const { cols, checkAll, indeterminate } = util.getColItems(
55
47
  props.columns,
56
- props.untitledText,
57
- props.cacheKey
48
+ props.locale,
49
+ util.columnsSettingFilter,
50
+ util.getCacheCols(props.cacheKey)
58
51
  );
59
- data.value = cols;
60
- let checkAll = true;
61
- let indeterminate = false;
62
- core.eachTree(data.value, (d) => {
63
- if (!d.checked && checkAll) {
64
- checkAll = false;
65
- }
66
- if (d.checked && !indeterminate) {
67
- indeterminate = true;
68
- }
69
- if (!checkAll && indeterminate) {
70
- return false;
71
- }
72
- });
73
- isCheckAll.value = data.value.length > 0 && checkAll;
74
- isIndeterminate.value = !checkAll && indeterminate;
52
+ colItems.value = cols;
53
+ isCheckAll.value = checkAll;
54
+ isIndeterminate.value = indeterminate;
75
55
  };
76
56
  const updateColumns = () => {
77
57
  const columns = util.getCheckedColumns(
78
58
  props.columns,
79
- data.value,
80
- props.sortable
59
+ colItems.value,
60
+ props.sortable,
61
+ (item) => item.hideInSetting
81
62
  );
82
- emit("update:columns", columns);
63
+ const tableColumns = util.getCheckedColumns(
64
+ props.columns,
65
+ colItems.value,
66
+ props.sortable,
67
+ (item) => item.hideInSetting,
68
+ void 0,
69
+ true
70
+ );
71
+ emit("update:columns", columns, tableColumns);
83
72
  };
84
73
  const cacheSettingCols = () => {
85
74
  if (props.cacheKey) {
86
75
  localStorage.setItem(
87
76
  util.getColsCacheKey(props.cacheKey),
88
- JSON.stringify(data.value)
77
+ JSON.stringify(colItems.value)
89
78
  );
90
79
  }
91
80
  };
@@ -94,10 +83,10 @@ const _sfc_main = vue.defineComponent({
94
83
  localStorage.removeItem(util.getColsCacheKey(props.cacheKey));
95
84
  }
96
85
  };
97
- const onCheckedChange = (item, checked) => {
86
+ const handleCheckedChange = (item, checked) => {
98
87
  let checkAll = true;
99
88
  let indeterminate = false;
100
- core.eachTree(data.value, (d) => {
89
+ core.eachTree(colItems.value, (d) => {
101
90
  if (d.uid === item.uid) {
102
91
  d.checked = checked;
103
92
  }
@@ -111,15 +100,15 @@ const _sfc_main = vue.defineComponent({
111
100
  return false;
112
101
  }
113
102
  });
114
- isCheckAll.value = data.value.length > 0 && checkAll;
103
+ isCheckAll.value = colItems.value.length > 0 && checkAll;
115
104
  isIndeterminate.value = !checkAll && indeterminate;
116
105
  cacheSettingCols();
117
106
  updateColumns();
118
107
  };
119
- const onCheckAllChange = (checked) => {
108
+ const handleCheckAllChange = (checked) => {
120
109
  isCheckAll.value = checked;
121
110
  isIndeterminate.value = false;
122
- core.eachTree(data.value, (d) => {
111
+ core.eachTree(colItems.value, (d) => {
123
112
  if (d.checked !== checked) {
124
113
  d.checked = checked;
125
114
  }
@@ -127,18 +116,13 @@ const _sfc_main = vue.defineComponent({
127
116
  cacheSettingCols();
128
117
  updateColumns();
129
118
  };
130
- const onReset = () => {
131
- cleanSettingCols();
132
- initData();
133
- updateColumns();
134
- };
135
- const onSortChange = (colItems, parent) => {
119
+ const handleSortChange = (items, parent) => {
136
120
  if (!parent) {
137
- data.value = colItems;
121
+ colItems.value = items;
138
122
  } else {
139
- core.eachTree(data.value, (d) => {
123
+ core.eachTree(colItems.value, (d) => {
140
124
  if (d.uid === parent.uid) {
141
- d.children = colItems;
125
+ d.children = items;
142
126
  return false;
143
127
  }
144
128
  });
@@ -146,8 +130,8 @@ const _sfc_main = vue.defineComponent({
146
130
  cacheSettingCols();
147
131
  updateColumns();
148
132
  };
149
- const onFixedLeft = (colItem) => {
150
- core.eachTree(data.value, (d) => {
133
+ const handleFixedLeft = (colItem) => {
134
+ core.eachTree(colItems.value, (d) => {
151
135
  if (d.uid === colItem.uid) {
152
136
  d.fixed = d.fixed === true || d.fixed === "left" ? false : "left";
153
137
  return false;
@@ -156,8 +140,8 @@ const _sfc_main = vue.defineComponent({
156
140
  cacheSettingCols();
157
141
  updateColumns();
158
142
  };
159
- const onFixedRight = (colItem) => {
160
- core.eachTree(data.value, (d) => {
143
+ const handleFixedRight = (colItem) => {
144
+ core.eachTree(colItems.value, (d) => {
161
145
  if (d.uid === colItem.uid) {
162
146
  d.fixed = d.fixed === "right" ? false : "right";
163
147
  return false;
@@ -166,35 +150,37 @@ const _sfc_main = vue.defineComponent({
166
150
  cacheSettingCols();
167
151
  updateColumns();
168
152
  };
169
- const onFixedLeftTooltip = (el) => {
170
- virtualRef.value = el;
171
- tooltipContent.value = props.fixedLeftText ?? "";
153
+ const handleFixedLeftTooltip = (el) => {
154
+ toolRef.value && toolRef.value.showTooltip(props.locale.columnFixedLeft ?? "", el);
155
+ };
156
+ const handleFixedRightTooltip = (el) => {
157
+ toolRef.value && toolRef.value.showTooltip(props.locale.columnFixedRight ?? "", el);
172
158
  };
173
- const onFixedRightTooltip = (el) => {
174
- virtualRef.value = el;
175
- tooltipContent.value = props.fixedRightText ?? "";
159
+ const handleReset = () => {
160
+ cleanSettingCols();
161
+ initColItems();
162
+ updateColumns();
176
163
  };
177
164
  vue.watch(
178
- [() => props.columns, () => props.untitledText],
165
+ [() => props.columns, () => props.locale],
179
166
  () => {
180
- initData();
167
+ initColItems();
181
168
  },
182
169
  { immediate: true, deep: true }
183
170
  );
184
171
  return {
185
- data,
172
+ toolRef,
173
+ colItems,
186
174
  isCheckAll,
187
175
  isIndeterminate,
188
- tooltipContent,
189
- virtualRef,
190
- onCheckedChange,
191
- onCheckAllChange,
192
- onReset,
193
- onSortChange,
194
- onFixedLeft,
195
- onFixedRight,
196
- onFixedLeftTooltip,
197
- onFixedRightTooltip
176
+ handleCheckedChange,
177
+ handleCheckAllChange,
178
+ handleReset,
179
+ handleSortChange,
180
+ handleFixedLeft,
181
+ handleFixedRight,
182
+ handleFixedLeftTooltip,
183
+ handleFixedRightTooltip
198
184
  };
199
185
  }
200
186
  });
@@ -215,7 +201,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
215
201
  const _component_EleTooltip = vue.resolveComponent("EleTooltip");
216
202
  const _component_EleTool = vue.resolveComponent("EleTool");
217
203
  return vue.openBlock(), vue.createBlock(_component_EleTool, {
218
- title: _ctx.title,
204
+ ref: "toolRef",
205
+ title: _ctx.locale.columns,
219
206
  placement: _ctx.placement
220
207
  }, {
221
208
  default: vue.withCtx(() => [
@@ -243,39 +230,30 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
243
230
  vue.createElementVNode("div", _hoisted_1, [
244
231
  vue.createElementVNode("div", _hoisted_2, [
245
232
  vue.createVNode(_component_ElCheckbox, {
246
- label: _ctx.checkAllText,
233
+ label: _ctx.locale.columnTitle,
247
234
  modelValue: _ctx.isCheckAll,
248
235
  indeterminate: _ctx.isIndeterminate,
249
- "onUpdate:modelValue": _ctx.onCheckAllChange
236
+ "onUpdate:modelValue": _ctx.handleCheckAllChange
250
237
  }, null, 8, ["label", "modelValue", "indeterminate", "onUpdate:modelValue"])
251
238
  ]),
252
239
  vue.createElementVNode("div", {
253
240
  class: "ele-tool-column-link",
254
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onReset && _ctx.onReset(...args))
255
- }, vue.toDisplayString(_ctx.resetText), 1)
241
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleReset && _ctx.handleReset(...args))
242
+ }, vue.toDisplayString(_ctx.locale.columnReset), 1)
256
243
  ]),
257
- _ctx.data.length ? (vue.openBlock(), vue.createBlock(_component_ToolColumnList, {
244
+ _ctx.colItems.length ? (vue.openBlock(), vue.createBlock(_component_ToolColumnList, {
258
245
  key: 0,
259
- data: _ctx.data,
246
+ data: _ctx.colItems,
260
247
  sortable: _ctx.sortable,
261
248
  allowFixed: _ctx.allowFixed,
262
- onSortChange: _ctx.onSortChange,
263
- onCheckedChange: _ctx.onCheckedChange,
264
- onFixedLeft: _ctx.onFixedLeft,
265
- onFixedRight: _ctx.onFixedRight,
266
- onFixedLeftTooltip: _ctx.onFixedLeftTooltip,
267
- onFixedRightTooltip: _ctx.onFixedRightTooltip
249
+ onSortChange: _ctx.handleSortChange,
250
+ onCheckedChange: _ctx.handleCheckedChange,
251
+ onFixedLeft: _ctx.handleFixedLeft,
252
+ onFixedRight: _ctx.handleFixedRight,
253
+ onFixedLeftTooltip: _ctx.handleFixedLeftTooltip,
254
+ onFixedRightTooltip: _ctx.handleFixedRightTooltip
268
255
  }, null, 8, ["data", "sortable", "allowFixed", "onSortChange", "onCheckedChange", "onFixedLeft", "onFixedRight", "onFixedLeftTooltip", "onFixedRightTooltip"])) : vue.createCommentVNode("", true)
269
- ], 2),
270
- vue.createVNode(_component_EleTooltip, {
271
- trigger: "hover",
272
- placement: "top",
273
- teleported: false,
274
- persistent: false,
275
- virtualTriggering: true,
276
- virtualRef: _ctx.virtualRef,
277
- content: _ctx.tooltipContent
278
- }, null, 8, ["virtualRef", "content"])
256
+ ], 2)
279
257
  ]),
280
258
  default: vue.withCtx(() => [
281
259
  vue.createVNode(_component_ElIcon, null, {
@@ -1,22 +1,16 @@
1
1
  import { PropType } from 'vue';
2
+ import { EleToolInstance } from '../../ele-app/plus';
2
3
  import { Columns } from '../../ele-data-table/types';
3
- import { ColItem } from '../types';
4
+ import { ColItem, TableLocale } from '../types';
4
5
 
5
6
  declare const _default: import('vue').DefineComponent<{
6
- /** 提示文字 */
7
- title: StringConstructor;
8
7
  /** 提示位置 */
9
8
  placement: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, import('element-plus').Placement, unknown> | undefined>;
10
- /** 全选文字 */
11
- checkAllText: StringConstructor;
12
- /** 重置文字 */
13
- resetText: StringConstructor;
14
- /** 无标题列文字 */
15
- untitledText: StringConstructor;
16
- /** 固定在左侧文字 */
17
- fixedLeftText: StringConstructor;
18
- /** 固定在右侧文字 */
19
- fixedRightText: StringConstructor;
9
+ /** 表格国际化 */
10
+ locale: {
11
+ type: PropType<TableLocale>;
12
+ required: true;
13
+ };
20
14
  /** 列数据 */
21
15
  columns: PropType<Columns>;
22
16
  /** 是否开启列拖拽排序 */
@@ -26,7 +20,8 @@ declare const _default: import('vue').DefineComponent<{
26
20
  /** 列配置缓存本地的名称 */
27
21
  cacheKey: StringConstructor;
28
22
  }, {
29
- data: import('vue').Ref<{
23
+ toolRef: import('vue').Ref<EleToolInstance>;
24
+ colItems: import('vue').Ref<{
30
25
  uid: string;
31
26
  label?: string | undefined;
32
27
  checked?: boolean | undefined;
@@ -36,33 +31,24 @@ declare const _default: import('vue').DefineComponent<{
36
31
  }[]>;
37
32
  isCheckAll: import('vue').Ref<boolean>;
38
33
  isIndeterminate: import('vue').Ref<boolean>;
39
- tooltipContent: import('vue').Ref<string>;
40
- virtualRef: import('vue').Ref<any>;
41
- onCheckedChange: (item: ColItem, checked: boolean) => void;
42
- onCheckAllChange: (checked: boolean) => void;
43
- onReset: () => void;
44
- onSortChange: (colItems: ColItem[], parent?: ColItem) => void;
45
- onFixedLeft: (colItem: ColItem) => void;
46
- onFixedRight: (colItem: ColItem) => void;
47
- onFixedLeftTooltip: (el: HTMLElement) => void;
48
- onFixedRightTooltip: (el: HTMLElement) => void;
34
+ handleCheckedChange: (item: ColItem, checked: boolean) => void;
35
+ handleCheckAllChange: (checked: boolean) => void;
36
+ handleReset: () => void;
37
+ handleSortChange: (items: ColItem[], parent?: ColItem) => void;
38
+ handleFixedLeft: (colItem: ColItem) => void;
39
+ handleFixedRight: (colItem: ColItem) => void;
40
+ handleFixedLeftTooltip: (el: HTMLElement) => void;
41
+ handleFixedRightTooltip: (el: HTMLElement) => void;
49
42
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
50
- 'update:columns': (_columns: Columns) => true;
43
+ 'update:columns': (_columns: Columns, _tableColumns: Columns) => true;
51
44
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
52
- /** 提示文字 */
53
- title: StringConstructor;
54
45
  /** 提示位置 */
55
46
  placement: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, import('element-plus').Placement, unknown> | undefined>;
56
- /** 全选文字 */
57
- checkAllText: StringConstructor;
58
- /** 重置文字 */
59
- resetText: StringConstructor;
60
- /** 无标题列文字 */
61
- untitledText: StringConstructor;
62
- /** 固定在左侧文字 */
63
- fixedLeftText: StringConstructor;
64
- /** 固定在右侧文字 */
65
- fixedRightText: StringConstructor;
47
+ /** 表格国际化 */
48
+ locale: {
49
+ type: PropType<TableLocale>;
50
+ required: true;
51
+ };
66
52
  /** 列数据 */
67
53
  columns: PropType<Columns>;
68
54
  /** 是否开启列拖拽排序 */
@@ -72,7 +58,7 @@ declare const _default: import('vue').DefineComponent<{
72
58
  /** 列配置缓存本地的名称 */
73
59
  cacheKey: StringConstructor;
74
60
  }>> & {
75
- "onUpdate:columns"?: ((_columns: Columns) => any) | undefined;
61
+ "onUpdate:columns"?: ((_columns: Columns, _tableColumns: Columns) => any) | undefined;
76
62
  }, {
77
63
  sortable: boolean;
78
64
  allowFixed: boolean;
@@ -111,6 +111,7 @@ const _sfc_main = vue.defineComponent({
111
111
  props.columns,
112
112
  colItems.value,
113
113
  true,
114
+ (item) => item.hideInExport,
114
115
  util.columnsExportFilter
115
116
  );
116
117
  const { headerData, bodyData, footerData, bodyCols } = util.getExportData(
@@ -178,32 +179,19 @@ const _sfc_main = vue.defineComponent({
178
179
  });
179
180
  };
180
181
  const initColItems = () => {
181
- colItems.value = util.getColItems(
182
+ const { cols, checkAll, indeterminate } = util.getColItems(
182
183
  props.columns,
183
- props.locale.columnUntitled,
184
- props.locale.columnIndex,
185
- props.locale.columnExpand,
184
+ props.locale,
186
185
  util.columnsExportFilter,
186
+ void 0,
187
187
  true,
188
188
  true
189
189
  );
190
- let checkAll = true;
191
- let indeterminate = false;
192
- core.eachTree(colItems.value, (d) => {
193
- if (!d.checked && checkAll) {
194
- checkAll = false;
195
- }
196
- if (d.checked && !indeterminate) {
197
- indeterminate = true;
198
- }
199
- if (!checkAll && indeterminate) {
200
- return false;
201
- }
202
- });
203
- isCheckAll.value = colItems.value.length > 0 && checkAll;
204
- isIndeterminate.value = !checkAll && indeterminate;
190
+ colItems.value = cols;
191
+ isCheckAll.value = checkAll;
192
+ isIndeterminate.value = indeterminate;
205
193
  };
206
- const onCheckedChange = (item, checked, type) => {
194
+ const handleCheckedChange = (item, checked, type) => {
207
195
  let checkAll = true;
208
196
  let indeterminate = false;
209
197
  core.eachTree(colItems.value, (d) => {
@@ -224,7 +212,16 @@ const _sfc_main = vue.defineComponent({
224
212
  isCheckAll.value = colItems.value.length > 0 && checkAll;
225
213
  isIndeterminate.value = !checkAll && indeterminate;
226
214
  };
227
- const onSortChange = (items, parent) => {
215
+ const handleCheckAllChange = (checked) => {
216
+ isCheckAll.value = checked;
217
+ isIndeterminate.value = false;
218
+ core.eachTree(colItems.value, (d) => {
219
+ if (d.checked !== checked) {
220
+ d.checked = checked;
221
+ }
222
+ });
223
+ };
224
+ const handleSortChange = (items, parent) => {
228
225
  if (!parent) {
229
226
  colItems.value = items;
230
227
  } else {
@@ -236,21 +233,12 @@ const _sfc_main = vue.defineComponent({
236
233
  });
237
234
  }
238
235
  };
239
- const onCheckAllChange = (checked) => {
240
- isCheckAll.value = checked;
241
- isIndeterminate.value = false;
242
- core.eachTree(colItems.value, (d) => {
243
- if (d.checked !== checked) {
244
- d.checked = checked;
245
- }
246
- });
247
- };
248
- const onReset = () => {
236
+ const handleReset = () => {
249
237
  initColItems();
250
238
  };
251
239
  const handleTreeIndexChange = (checked) => {
252
240
  if (checked) {
253
- onCheckedChange(void 0, false, "index");
241
+ handleCheckedChange(void 0, false, "index");
254
242
  }
255
243
  };
256
244
  vue.watch(visible, (visible2) => {
@@ -299,10 +287,10 @@ const _sfc_main = vue.defineComponent({
299
287
  openModal,
300
288
  closeModal,
301
289
  handleExport,
302
- onCheckedChange,
303
- onSortChange,
304
- onCheckAllChange,
305
- onReset,
290
+ handleCheckedChange,
291
+ handleSortChange,
292
+ handleCheckAllChange,
293
+ handleReset,
306
294
  handleTreeIndexChange
307
295
  };
308
296
  }
@@ -438,19 +426,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
438
426
  label: _ctx.locale.columnTitle,
439
427
  modelValue: _ctx.isCheckAll,
440
428
  indeterminate: _ctx.isIndeterminate,
441
- "onUpdate:modelValue": _ctx.onCheckAllChange
429
+ "onUpdate:modelValue": _ctx.handleCheckAllChange
442
430
  }, null, 8, ["label", "modelValue", "indeterminate", "onUpdate:modelValue"])
443
431
  ]),
444
432
  vue.createElementVNode("div", {
445
433
  class: "ele-tool-column-link",
446
- onClick: _cache[2] || (_cache[2] = (...args) => _ctx.onReset && _ctx.onReset(...args))
434
+ onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleReset && _ctx.handleReset(...args))
447
435
  }, vue.toDisplayString(_ctx.locale.columnReset), 1)
448
436
  ]),
449
437
  vue.createVNode(_component_ToolColumnList, {
450
438
  data: _ctx.colItems,
451
439
  sortable: true,
452
- onSortChange: _ctx.onSortChange,
453
- onCheckedChange: _ctx.onCheckedChange
440
+ onSortChange: _ctx.handleSortChange,
441
+ onCheckedChange: _ctx.handleCheckedChange
454
442
  }, null, 8, ["data", "onSortChange", "onCheckedChange"])
455
443
  ])
456
444
  ]),
@@ -84,10 +84,10 @@ declare const _default: import('vue').DefineComponent<{
84
84
  openModal: () => void;
85
85
  closeModal: () => void;
86
86
  handleExport: () => void;
87
- onCheckedChange: (item?: ColItem, checked?: boolean, type?: string) => void;
88
- onSortChange: (items: ColItem[], parent?: ColItem) => void;
89
- onCheckAllChange: (checked: boolean) => void;
90
- onReset: () => void;
87
+ handleCheckedChange: (item?: ColItem, checked?: boolean, type?: string) => void;
88
+ handleSortChange: (items: ColItem[], parent?: ColItem) => void;
89
+ handleCheckAllChange: (checked: boolean) => void;
90
+ handleReset: () => void;
91
91
  handleTreeIndexChange: (checked?: boolean | string | number) => void;
92
92
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
93
93
  /** 提示位置 */