ele-admin-plus 1.1.3 → 1.1.4-beta.1

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 (269) hide show
  1. package/es/ele-alert/index.d.ts +10 -10
  2. package/es/ele-alert/props.d.ts +6 -6
  3. package/es/ele-app/style/message.scss +1 -0
  4. package/es/ele-app/style/overwrite.scss +79 -3
  5. package/es/ele-app/types/index.d.ts +7 -6
  6. package/es/ele-avatar-group/index.d.ts +7 -8
  7. package/es/ele-avatar-group/props.d.ts +3 -4
  8. package/es/ele-basic-select/style/index.scss +4 -6
  9. package/es/ele-bottom-bar/index.d.ts +4 -4
  10. package/es/ele-bottom-bar/props.d.ts +2 -3
  11. package/es/ele-card/index.d.ts +6 -6
  12. package/es/ele-card/props.d.ts +3 -4
  13. package/es/ele-check-card/components/card-item.d.ts +2 -3
  14. package/es/ele-check-card/index.d.ts +4 -4
  15. package/es/ele-check-card/props.d.ts +3 -3
  16. package/es/ele-config-provider/receiver.d.ts +1 -1
  17. package/es/ele-config-provider/receiver.js +29 -29
  18. package/es/ele-copyable/index.d.ts +8 -8
  19. package/es/ele-copyable/index.js +5 -4
  20. package/es/ele-copyable/props.d.ts +5 -5
  21. package/es/ele-copyable/style/index.scss +4 -0
  22. package/es/ele-cropper/index.js +2 -2
  23. package/es/ele-dashboard/index.d.ts +1 -2
  24. package/es/ele-drawer/index.d.ts +16 -10
  25. package/es/ele-drawer/props.d.ts +7 -6
  26. package/es/ele-dropdown/index.d.ts +2 -2
  27. package/es/ele-dropdown/props.d.ts +1 -2
  28. package/es/ele-edit-tag/index.d.ts +4 -4
  29. package/es/ele-edit-tag/props.d.ts +2 -3
  30. package/es/ele-ellipsis/index.d.ts +4 -5
  31. package/es/ele-ellipsis/props.d.ts +1 -1
  32. package/es/ele-ellipsis/style/index.scss +4 -0
  33. package/es/ele-file-list/index.d.ts +2 -7
  34. package/es/ele-file-list/index.js +2 -2
  35. package/es/ele-file-list/types/index.d.ts +0 -4
  36. package/es/ele-icon-select/components/icon-grid.d.ts +5 -5
  37. package/es/ele-icon-select/components/icon-popper.d.ts +15 -15
  38. package/es/ele-icon-select/index.d.ts +15 -16
  39. package/es/ele-icon-select/props.d.ts +8 -8
  40. package/es/ele-loading/index.d.ts +26 -1
  41. package/es/ele-loading/index.js +53 -11
  42. package/es/ele-loading/props.d.ts +11 -1
  43. package/es/ele-loading/props.js +16 -1
  44. package/es/ele-loading/style/css-var.scss +7 -0
  45. package/es/ele-loading/style/index.js +1 -0
  46. package/es/ele-loading/style/index.scss +90 -0
  47. package/es/ele-loading/types/index.d.ts +17 -0
  48. package/es/ele-map-picker/components/map-view.d.ts +2 -2
  49. package/es/ele-map-picker/index.d.ts +2 -2
  50. package/es/ele-map-picker/props.d.ts +3 -3
  51. package/es/ele-menus/index.d.ts +2 -0
  52. package/es/ele-menus/index.js +11 -5
  53. package/es/ele-menus/props.d.ts +10 -0
  54. package/es/ele-menus/props.js +7 -1
  55. package/es/ele-menus/style/index.scss +18 -18
  56. package/es/ele-menus/types/index.d.ts +4 -0
  57. package/es/ele-menus/util.d.ts +4 -3
  58. package/es/ele-menus/util.js +23 -12
  59. package/es/ele-modal/index.d.ts +19 -13
  60. package/es/ele-modal/props.d.ts +8 -7
  61. package/es/ele-modal/util.js +2 -2
  62. package/es/ele-pagination/index.d.ts +1 -1
  63. package/es/ele-popconfirm/index.d.ts +10 -10
  64. package/es/ele-popconfirm/index.js +8 -2
  65. package/es/ele-popconfirm/props.d.ts +6 -6
  66. package/es/ele-popover/index.d.ts +6 -6
  67. package/es/ele-popover/props.d.ts +3 -4
  68. package/es/ele-printer/index.d.ts +6 -6
  69. package/es/ele-printer/props.d.ts +3 -4
  70. package/es/ele-pro-layout/components/pro-header.d.ts +7 -2
  71. package/es/ele-pro-layout/components/pro-header.js +15 -5
  72. package/es/ele-pro-layout/components/pro-iframe.js +10 -7
  73. package/es/ele-pro-layout/components/pro-sidebar.d.ts +7 -2
  74. package/es/ele-pro-layout/components/pro-sidebar.js +14 -5
  75. package/es/ele-pro-layout/components/pro-sidebox.d.ts +11 -4
  76. package/es/ele-pro-layout/components/pro-sidebox.js +16 -5
  77. package/es/ele-pro-layout/components/tab-dropdown.js +1 -4
  78. package/es/ele-pro-layout/index.d.ts +17 -3
  79. package/es/ele-pro-layout/index.js +208 -105
  80. package/es/ele-pro-layout/props.d.ts +6 -1
  81. package/es/ele-pro-layout/props.js +10 -0
  82. package/es/ele-pro-layout/style/collapse.scss +9 -10
  83. package/es/ele-pro-layout/style/index.js +0 -1
  84. package/es/ele-pro-layout/types/index.d.ts +9 -0
  85. package/es/ele-pro-layout/util.d.ts +4 -2
  86. package/es/ele-pro-layout/util.js +20 -17
  87. package/es/ele-pro-table/components/table-view.d.ts +9 -3
  88. package/es/ele-pro-table/components/table-view.js +27 -24
  89. package/es/ele-pro-table/components/tool-column.d.ts +2 -1
  90. package/es/ele-pro-table/components/tool-column.js +26 -18
  91. package/es/ele-pro-table/index.d.ts +46 -25
  92. package/es/ele-pro-table/index.js +182 -196
  93. package/es/ele-pro-table/props.d.ts +27 -15
  94. package/es/ele-pro-table/props.js +15 -3
  95. package/es/ele-pro-table/style/index.js +1 -1
  96. package/es/ele-pro-table/style/index.scss +64 -8
  97. package/es/ele-pro-table/types/index.d.ts +39 -5
  98. package/es/ele-pro-table/util.d.ts +84 -49
  99. package/es/ele-pro-table/util.js +193 -78
  100. package/es/ele-qr-code/index.d.ts +3 -3
  101. package/es/ele-qr-code/props.d.ts +1 -2
  102. package/es/ele-qr-code-svg/index.d.ts +3 -3
  103. package/es/ele-split-panel/index.d.ts +6 -6
  104. package/es/ele-split-panel/props.d.ts +3 -4
  105. package/es/ele-table/style/index.scss +1 -0
  106. package/es/ele-tabs/index.js +3 -3
  107. package/es/ele-tabs/types/index.d.ts +3 -0
  108. package/es/ele-text/index.d.ts +3 -3
  109. package/es/ele-text/props.d.ts +2 -2
  110. package/es/ele-toolbar/index.d.ts +6 -6
  111. package/es/ele-toolbar/props.d.ts +3 -4
  112. package/es/ele-tooltip/index.d.ts +3 -3
  113. package/es/ele-tooltip/props.d.ts +1 -2
  114. package/es/ele-tour/index.d.ts +2 -3
  115. package/es/ele-tour/style/index.scss +1 -1
  116. package/es/ele-tour/util.js +3 -3
  117. package/es/ele-upload-list/index.d.ts +8 -7
  118. package/es/ele-upload-list/index.js +18 -11
  119. package/es/ele-upload-list/props.d.ts +4 -4
  120. package/es/ele-upload-list/props.js +1 -1
  121. package/es/ele-watermark/index.d.ts +16 -8
  122. package/es/ele-watermark/index.js +18 -12
  123. package/es/ele-watermark/props.d.ts +3 -1
  124. package/es/ele-watermark/props.js +5 -1
  125. package/es/ele-watermark/util.js +1 -1
  126. package/es/style/index.scss +1 -0
  127. package/es/style/nprogress.scss +2 -2
  128. package/es/style/themes/default.scss +36 -12
  129. package/es/style/themes/rounded.scss +4 -2
  130. package/es/style/themes/theme-util.scss +2 -0
  131. package/es/utils/core.d.ts +1 -1
  132. package/es/utils/core.js +17 -15
  133. package/es/utils/resolvers.js +2 -2
  134. package/lib/ele-alert/index.d.ts +10 -10
  135. package/lib/ele-alert/props.d.ts +6 -6
  136. package/lib/ele-app/style/message.scss +1 -0
  137. package/lib/ele-app/style/overwrite.scss +79 -3
  138. package/lib/ele-app/types/index.d.ts +7 -6
  139. package/lib/ele-avatar-group/index.d.ts +7 -8
  140. package/lib/ele-avatar-group/props.d.ts +3 -4
  141. package/lib/ele-basic-select/style/index.scss +4 -6
  142. package/lib/ele-bottom-bar/index.d.ts +4 -4
  143. package/lib/ele-bottom-bar/props.d.ts +2 -3
  144. package/lib/ele-card/index.d.ts +6 -6
  145. package/lib/ele-card/props.d.ts +3 -4
  146. package/lib/ele-check-card/components/card-item.d.ts +2 -3
  147. package/lib/ele-check-card/index.d.ts +4 -4
  148. package/lib/ele-check-card/props.d.ts +3 -3
  149. package/lib/ele-config-provider/receiver.d.ts +1 -1
  150. package/lib/ele-config-provider/receiver.js +2 -2
  151. package/lib/ele-copyable/index.d.ts +8 -8
  152. package/lib/ele-copyable/index.js +4 -3
  153. package/lib/ele-copyable/props.d.ts +5 -5
  154. package/lib/ele-copyable/style/index.scss +4 -0
  155. package/lib/ele-cropper/index.js +2 -2
  156. package/lib/ele-dashboard/index.d.ts +1 -2
  157. package/lib/ele-drawer/index.d.ts +16 -10
  158. package/lib/ele-drawer/props.d.ts +7 -6
  159. package/lib/ele-dropdown/index.d.ts +2 -2
  160. package/lib/ele-dropdown/props.d.ts +1 -2
  161. package/lib/ele-edit-tag/index.d.ts +4 -4
  162. package/lib/ele-edit-tag/props.d.ts +2 -3
  163. package/lib/ele-ellipsis/index.d.ts +4 -5
  164. package/lib/ele-ellipsis/props.d.ts +1 -1
  165. package/lib/ele-ellipsis/style/index.scss +4 -0
  166. package/lib/ele-file-list/index.d.ts +2 -7
  167. package/lib/ele-file-list/index.js +2 -2
  168. package/lib/ele-file-list/types/index.d.ts +0 -4
  169. package/lib/ele-icon-select/components/icon-grid.d.ts +5 -5
  170. package/lib/ele-icon-select/components/icon-popper.d.ts +15 -15
  171. package/lib/ele-icon-select/index.d.ts +15 -16
  172. package/lib/ele-icon-select/props.d.ts +8 -8
  173. package/lib/ele-loading/index.d.ts +26 -1
  174. package/lib/ele-loading/index.js +52 -10
  175. package/lib/ele-loading/props.d.ts +11 -1
  176. package/lib/ele-loading/props.js +16 -1
  177. package/lib/ele-loading/style/css-var.scss +7 -0
  178. package/lib/ele-loading/style/index.js +1 -0
  179. package/lib/ele-loading/style/index.scss +90 -0
  180. package/lib/ele-loading/types/index.d.ts +17 -0
  181. package/lib/ele-map-picker/components/map-view.d.ts +2 -2
  182. package/lib/ele-map-picker/index.d.ts +2 -2
  183. package/lib/ele-map-picker/props.d.ts +3 -3
  184. package/lib/ele-menus/index.d.ts +2 -0
  185. package/lib/ele-menus/index.js +9 -3
  186. package/lib/ele-menus/props.d.ts +10 -0
  187. package/lib/ele-menus/props.js +6 -0
  188. package/lib/ele-menus/style/index.scss +18 -18
  189. package/lib/ele-menus/types/index.d.ts +4 -0
  190. package/lib/ele-menus/util.d.ts +4 -3
  191. package/lib/ele-menus/util.js +23 -12
  192. package/lib/ele-modal/index.d.ts +19 -13
  193. package/lib/ele-modal/props.d.ts +8 -7
  194. package/lib/ele-modal/util.js +2 -2
  195. package/lib/ele-pagination/index.d.ts +1 -1
  196. package/lib/ele-popconfirm/index.d.ts +10 -10
  197. package/lib/ele-popconfirm/index.js +8 -2
  198. package/lib/ele-popconfirm/props.d.ts +6 -6
  199. package/lib/ele-popover/index.d.ts +6 -6
  200. package/lib/ele-popover/props.d.ts +3 -4
  201. package/lib/ele-printer/index.d.ts +6 -6
  202. package/lib/ele-printer/props.d.ts +3 -4
  203. package/lib/ele-pro-layout/components/pro-header.d.ts +7 -2
  204. package/lib/ele-pro-layout/components/pro-header.js +15 -5
  205. package/lib/ele-pro-layout/components/pro-iframe.js +10 -7
  206. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +7 -2
  207. package/lib/ele-pro-layout/components/pro-sidebar.js +14 -5
  208. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +11 -4
  209. package/lib/ele-pro-layout/components/pro-sidebox.js +16 -5
  210. package/lib/ele-pro-layout/components/tab-dropdown.js +1 -4
  211. package/lib/ele-pro-layout/index.d.ts +17 -3
  212. package/lib/ele-pro-layout/index.js +205 -102
  213. package/lib/ele-pro-layout/props.d.ts +6 -1
  214. package/lib/ele-pro-layout/props.js +10 -0
  215. package/lib/ele-pro-layout/style/collapse.scss +9 -10
  216. package/lib/ele-pro-layout/style/index.js +0 -1
  217. package/lib/ele-pro-layout/types/index.d.ts +9 -0
  218. package/lib/ele-pro-layout/util.d.ts +4 -2
  219. package/lib/ele-pro-layout/util.js +19 -16
  220. package/lib/ele-pro-table/components/table-view.d.ts +9 -3
  221. package/lib/ele-pro-table/components/table-view.js +25 -22
  222. package/lib/ele-pro-table/components/tool-column.d.ts +2 -1
  223. package/lib/ele-pro-table/components/tool-column.js +25 -17
  224. package/lib/ele-pro-table/index.d.ts +46 -25
  225. package/lib/ele-pro-table/index.js +180 -194
  226. package/lib/ele-pro-table/props.d.ts +27 -15
  227. package/lib/ele-pro-table/props.js +15 -3
  228. package/lib/ele-pro-table/style/index.js +1 -1
  229. package/lib/ele-pro-table/style/index.scss +64 -8
  230. package/lib/ele-pro-table/types/index.d.ts +39 -5
  231. package/lib/ele-pro-table/util.d.ts +84 -49
  232. package/lib/ele-pro-table/util.js +192 -77
  233. package/lib/ele-qr-code/index.d.ts +3 -3
  234. package/lib/ele-qr-code/props.d.ts +1 -2
  235. package/lib/ele-qr-code-svg/index.d.ts +3 -3
  236. package/lib/ele-split-panel/index.d.ts +6 -6
  237. package/lib/ele-split-panel/props.d.ts +3 -4
  238. package/lib/ele-table/style/index.scss +1 -0
  239. package/lib/ele-tabs/index.js +3 -3
  240. package/lib/ele-tabs/types/index.d.ts +3 -0
  241. package/lib/ele-text/index.d.ts +3 -3
  242. package/lib/ele-text/props.d.ts +2 -2
  243. package/lib/ele-toolbar/index.d.ts +6 -6
  244. package/lib/ele-toolbar/props.d.ts +3 -4
  245. package/lib/ele-tooltip/index.d.ts +3 -3
  246. package/lib/ele-tooltip/props.d.ts +1 -2
  247. package/lib/ele-tour/index.d.ts +2 -3
  248. package/lib/ele-tour/style/index.scss +1 -1
  249. package/lib/ele-tour/util.js +3 -3
  250. package/lib/ele-upload-list/index.d.ts +8 -7
  251. package/lib/ele-upload-list/index.js +17 -10
  252. package/lib/ele-upload-list/props.d.ts +4 -4
  253. package/lib/ele-upload-list/props.js +1 -1
  254. package/lib/ele-watermark/index.d.ts +16 -8
  255. package/lib/ele-watermark/index.js +17 -11
  256. package/lib/ele-watermark/props.d.ts +3 -1
  257. package/lib/ele-watermark/props.js +5 -1
  258. package/lib/ele-watermark/util.js +1 -1
  259. package/lib/style/index.scss +1 -0
  260. package/lib/style/nprogress.scss +2 -2
  261. package/lib/style/themes/default.scss +36 -12
  262. package/lib/style/themes/rounded.scss +4 -2
  263. package/lib/style/themes/theme-util.scss +2 -0
  264. package/lib/utils/core.d.ts +1 -1
  265. package/lib/utils/core.js +17 -15
  266. package/lib/utils/resolvers.js +2 -2
  267. package/package.json +26 -24
  268. package/es/ele-alert/types/index.d.ts +0 -0
  269. package/lib/ele-alert/types/index.d.ts +0 -0
@@ -2,7 +2,7 @@ import type { PropType, ExtractPropTypes } from 'vue';
2
2
  import type { EllipsisProps } from '../ele-menus/types';
3
3
  import type { ContextMenus } from '../ele-tabs/types';
4
4
  import type { EleDropdownProps } from '../ele-file-list/types';
5
- import type { MenuItem, TabItem, Layout, SidebarLayout, HeaderStyle, SidebarStyle, TabStyle, MenuI18n, TabItemEventOption, BodySizeChangeOption } from './types';
5
+ import type { MenuItem, TabItem, Layout, SidebarLayout, HeaderStyle, SidebarStyle, TabStyle, MenuI18n, TabItemEventOption, BodySizeChangeOption, MenuItemTrigger, BeforeClick } from './types';
6
6
  /**
7
7
  * 属性
8
8
  */
@@ -40,6 +40,7 @@ export declare const proLayoutProps: {
40
40
  type: NumberConstructor;
41
41
  default: number;
42
42
  };
43
+ backTopTarget: StringConstructor;
43
44
  ellipsis: {
44
45
  type: BooleanConstructor;
45
46
  default: boolean;
@@ -131,6 +132,10 @@ export declare const proLayoutProps: {
131
132
  default: string;
132
133
  };
133
134
  tooltipEffect: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "light" | "dark", unknown> | undefined>;
135
+ navTrigger: PropType<MenuItemTrigger>;
136
+ boxTrigger: PropType<MenuItemTrigger>;
137
+ itemTrigger: PropType<MenuItemTrigger>;
138
+ beforeClick: PropType<BeforeClick>;
134
139
  keepAlive: BooleanConstructor;
135
140
  transitionName: StringConstructor;
136
141
  transitionDelay: {
@@ -44,6 +44,8 @@ const proLayoutProps = {
44
44
  type: Number,
45
45
  default: 60
46
46
  },
47
+ // 返回顶部的目标选择器
48
+ backTopTarget: String,
47
49
  // 顶栏菜单是否省略多余的子项
48
50
  ellipsis: {
49
51
  type: Boolean,
@@ -169,6 +171,14 @@ const proLayoutProps = {
169
171
  },
170
172
  // 菜单 tooltip 主题
171
173
  tooltipEffect: String,
174
+ // 顶栏菜单触发模式
175
+ navTrigger: String,
176
+ // 双侧栏一级菜单触发模式
177
+ boxTrigger: String,
178
+ // 侧栏菜单触发模式
179
+ itemTrigger: String,
180
+ // 菜单点击事件前钩子
181
+ beforeClick: Function,
172
182
  // 是否支持内链缓存
173
183
  keepAlive: Boolean,
174
184
  // 内链切换动画
@@ -19,21 +19,20 @@
19
19
  }
20
20
  }
21
21
 
22
- &.ele-admin-mix-sidebar {
23
- .ele-admin-sidebox {
24
- box-shadow: eleVar('sidebar', 'shadow');
25
- }
26
-
27
- .ele-admin-sidebar {
28
- width: 0;
22
+ &.ele-admin-mix-sidebar .ele-admin-sidebar {
23
+ width: 0;
29
24
 
30
- & + .ele-admin-body {
31
- width: calc(100% - #{eleVar('sidebox', 'width')});
32
- }
25
+ & + .ele-admin-body {
26
+ width: calc(100% - #{eleVar('sidebox', 'width')});
33
27
  }
34
28
  }
35
29
  }
36
30
 
31
+ .ele-admin-collapse.ele-admin-mix-sidebar .ele-admin-sidebox,
32
+ .ele-admin-none-sidebar.ele-admin-mix-sidebar .ele-admin-sidebox {
33
+ box-shadow: eleVar('sidebar', 'shadow');
34
+ }
35
+
37
36
  /* 折叠一级侧栏 */
38
37
  .ele-admin-compact.ele-admin-mix-sidebar {
39
38
  $collapseW: eleVar('sidebar', 'collapse-width');
@@ -1,7 +1,6 @@
1
1
  import 'element-plus/es/components/backtop/style/index';
2
2
  import 'element-plus/es/components/icon/style/index';
3
3
  import 'element-plus/es/components/scrollbar/style/index';
4
- import '../../ele-alert/style/index';
5
4
  import '../../ele-page/style/index';
6
5
  import '../../ele-breadcrumb/style/index';
7
6
  import '../../ele-menus/style/index';
@@ -204,6 +204,14 @@ export type MenuTrigger = ElMenuProps['menuTrigger'];
204
204
  * 面包屑导航分隔符
205
205
  */
206
206
  export type BreadcrumbSeparator = ElBreadcrumbProps['separatorIcon'];
207
+ /**
208
+ * 混合模式菜单切换模式
209
+ */
210
+ export type MenuItemTrigger = 'route' | 'click';
211
+ /**
212
+ * 菜单点击前钩子
213
+ */
214
+ export type BeforeClick = (item: MenuItemProps) => boolean;
207
215
  /**
208
216
  * 内链数据
209
217
  */
@@ -221,3 +229,4 @@ export type TabTitleInstance = InstanceType<typeof TabTitle> | null;
221
229
  * 标签页组件实例
222
230
  */
223
231
  export type EleTabsInstance = InstanceType<typeof EleTabs> | null;
232
+ export type { MenuItemProps };
@@ -72,8 +72,9 @@ export declare function getMixActive(matched?: MenuItem[]): MixActiveResult;
72
72
  * 获取选中菜单的子级
73
73
  * @param menus 菜单数据
74
74
  * @param active 选中地址
75
+ * @param childrenName 子级字段名称
75
76
  */
76
- export declare function getActiveChilds(menus: MenuItem[], active?: string): MenuItem[];
77
+ export declare function getActiveChilds(menus: MenuItem[], active?: string, childrenName?: string): MenuItem[];
77
78
  /**
78
79
  * 绑定窗口事件监听
79
80
  */
@@ -93,5 +94,6 @@ export declare function useDisableTransition(): {
93
94
  /**
94
95
  * 菜单数据转换
95
96
  * @param menus 菜单数据
97
+ * @param link 是否使用超链接
96
98
  */
97
- export declare function getMenuItems(menus: MenuItem[]): MenuItemProps[];
99
+ export declare function getMenuItems(menus: MenuItem[], link: boolean): MenuItemProps[];
@@ -1,5 +1,5 @@
1
1
  import { onBeforeUnmount, onMounted, watch, nextTick } from "vue";
2
- import { eachTree, debounce, mapTree } from "../utils/core";
2
+ import { eachTree, debounce, mapTree, omit } from "../utils/core";
3
3
  function isHomeRoute(route, homePath) {
4
4
  return route.path === homePath || route.fullPath === homePath;
5
5
  }
@@ -65,15 +65,17 @@ function getMatchedMenus(path, menus, parents) {
65
65
  function getMatchedLevels(matched, activeOther, route, menus, tabs) {
66
66
  var _a;
67
67
  const levels = [];
68
- matched == null ? void 0 : matched.forEach((m) => {
69
- var _a2;
70
- if (m.meta && m.meta.title && m.meta.breadcrumb !== false) {
71
- levels.push({
72
- path: m.path,
73
- title: ((_a2 = findTabByPath(m.path, tabs)) == null ? void 0 : _a2.title) || m.meta.title
74
- });
75
- }
76
- });
68
+ if (matched) {
69
+ matched.forEach((m) => {
70
+ var _a2;
71
+ if (m.meta && m.meta.title && m.meta.breadcrumb !== false) {
72
+ levels.push({
73
+ path: m.path,
74
+ title: ((_a2 = findTabByPath(m.path, tabs)) == null ? void 0 : _a2.title) || m.meta.title
75
+ });
76
+ }
77
+ });
78
+ }
77
79
  if (activeOther) {
78
80
  const { path, fullPath, meta } = route;
79
81
  if ((!levels.length || fullPath !== levels[levels.length - 1].path) && meta.title) {
@@ -132,18 +134,19 @@ function getMixActive(matched) {
132
134
  active2: match2.path
133
135
  };
134
136
  }
135
- function getActiveChilds(menus, active) {
137
+ function getActiveChilds(menus, active, childrenName) {
138
+ const key = childrenName || "children";
136
139
  if (!menus.length) {
137
140
  return [];
138
141
  }
139
142
  if (!active) {
140
- return menus[0].children || [];
143
+ return menus[0][key] || [];
141
144
  }
142
145
  const temp = menus.find((m) => m.path === active);
143
146
  if (temp == null) {
144
- return menus[0].children || [];
147
+ return menus[0][key] || [];
145
148
  }
146
- return temp.children || [];
149
+ return temp[key] || [];
147
150
  }
148
151
  function useWindowListener(option, props) {
149
152
  const state = { timer: null };
@@ -242,7 +245,7 @@ function useDisableTransition() {
242
245
  });
243
246
  return { disableTransition };
244
247
  }
245
- function getMenuItems(menus) {
248
+ function getMenuItems(menus, link) {
246
249
  return mapTree(menus, (m) => {
247
250
  const { path, meta } = m;
248
251
  const { hide, icon, title, props } = meta ?? {};
@@ -252,9 +255,9 @@ function getMenuItems(menus) {
252
255
  const item = {
253
256
  title,
254
257
  icon,
255
- path,
258
+ path: link ? path : void 0,
256
259
  index: path,
257
- ...props,
260
+ ...omit(props, ["title", "icon", "path", "index"]),
258
261
  meta
259
262
  };
260
263
  return item;
@@ -5,12 +5,15 @@ declare const _default: import("vue").DefineComponent<{
5
5
  type: import("vue").PropType<Columns>;
6
6
  required: boolean;
7
7
  };
8
- loading: BooleanConstructor;
9
8
  pageIndex: NumberConstructor;
10
9
  headerEllipsis: {
11
10
  type: BooleanConstructor;
12
11
  default: boolean;
13
12
  };
13
+ slotNormalize: {
14
+ type: BooleanConstructor;
15
+ default: boolean;
16
+ };
14
17
  size: {
15
18
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
16
19
  readonly required: false;
@@ -136,12 +139,15 @@ declare const _default: import("vue").DefineComponent<{
136
139
  type: import("vue").PropType<Columns>;
137
140
  required: boolean;
138
141
  };
139
- loading: BooleanConstructor;
140
142
  pageIndex: NumberConstructor;
141
143
  headerEllipsis: {
142
144
  type: BooleanConstructor;
143
145
  default: boolean;
144
146
  };
147
+ slotNormalize: {
148
+ type: BooleanConstructor;
149
+ default: boolean;
150
+ };
145
151
  size: {
146
152
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
147
153
  readonly required: false;
@@ -248,7 +254,6 @@ declare const _default: import("vue").DefineComponent<{
248
254
  onHeaderDragend?: ((_width: number, _old: number, _column: import("../types").Column, _e: MouseEvent) => any) | undefined;
249
255
  onExpandChange?: ((_row: import("../types").DataItem, _expanded: boolean) => any) | undefined;
250
256
  }, {
251
- loading: boolean;
252
257
  fit: boolean;
253
258
  className: string;
254
259
  lazy: boolean;
@@ -269,5 +274,6 @@ declare const _default: import("vue").DefineComponent<{
269
274
  scrollbarAlwaysOn: boolean;
270
275
  flexible: boolean;
271
276
  headerEllipsis: boolean;
277
+ slotNormalize: boolean;
272
278
  }, {}>;
273
279
  export default _default;
@@ -1,5 +1,5 @@
1
- import { defineComponent, ref, withDirectives, h } from "vue";
2
- import { ElTable, vLoading, ElTableColumn } from "element-plus";
1
+ import { defineComponent, ref, h } from "vue";
2
+ import { ElTable, ElTableColumn } from "element-plus";
3
3
  import { pick, omit } from "../../utils/core";
4
4
  import { useTableMethods, useTableEvents } from "../util";
5
5
  import { tableViewProps, tableEmits, tablePropKeys } from "../props";
@@ -62,14 +62,13 @@ const tableView = defineComponent({
62
62
  const nodes = [];
63
63
  if (cols) {
64
64
  cols.forEach((col) => {
65
- const ts = col.slot && getSlot ? getSlot(col.slot) : void 0;
66
65
  nodes.push(
67
66
  h(
68
67
  ElTableColumn,
69
68
  {
70
69
  ...omit(col, [
71
70
  "showOverflowTooltip",
72
- "id",
71
+ "uid",
73
72
  "slot",
74
73
  "headerSlot",
75
74
  "hideInTable",
@@ -80,11 +79,18 @@ const tableView = defineComponent({
80
79
  col.showOverflowTooltip,
81
80
  props.showOverflowTooltip
82
81
  ),
83
- key: col.id,
82
+ key: col.uid,
84
83
  index: col.index ?? index
85
84
  },
86
85
  {
87
- default: ts ? ts : () => getCols(col.children, index, getSlot),
86
+ default: (slotProps) => {
87
+ const tSlot = getSlot ? getSlot(col.slot) : void 0;
88
+ const $index = slotProps == null ? void 0 : slotProps.$index;
89
+ if (!tSlot || $index == -1 && props.slotNormalize) {
90
+ return getCols(col.children, index, getSlot);
91
+ }
92
+ return tSlot(slotProps);
93
+ },
88
94
  header: (slotProps) => {
89
95
  var _a;
90
96
  const title = (_a = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _a.label;
@@ -108,24 +114,21 @@ const tableView = defineComponent({
108
114
  const exposeValue = { ...tableIns, tableRef };
109
115
  expose(exposeValue);
110
116
  return () => {
111
- const getSlot = (name) => slots[name];
112
- return withDirectives(
113
- h(
114
- ElTable,
115
- {
116
- ...pick(props, tablePropKeys),
117
- ...tableEvents,
118
- ref: tableRef,
119
- rowClassName: tableRowClassName,
120
- headerRowClassName: tableHeaderRowClassName
121
- },
122
- {
123
- default: () => getCols(props.columns, props.pageIndex, getSlot),
124
- append: slots.append,
125
- empty: slots.empty
126
- }
127
- ),
128
- [[vLoading, props.loading]]
117
+ const getSlot = (name) => name ? slots[name] : void 0;
118
+ return h(
119
+ ElTable,
120
+ {
121
+ ...pick(props, tablePropKeys),
122
+ ...tableEvents,
123
+ ref: tableRef,
124
+ rowClassName: tableRowClassName,
125
+ headerRowClassName: tableHeaderRowClassName
126
+ },
127
+ {
128
+ default: () => getCols(props.columns, props.pageIndex, getSlot),
129
+ append: slots.append,
130
+ empty: slots.empty
131
+ }
129
132
  );
130
133
  };
131
134
  }
@@ -14,7 +14,7 @@ declare const _default: import("vue").DefineComponent<{
14
14
  cacheKey: StringConstructor;
15
15
  }, {
16
16
  data: import("vue").Ref<{
17
- id: string;
17
+ uid: string;
18
18
  prop?: string | undefined;
19
19
  columnKey?: string | undefined;
20
20
  label?: string | undefined;
@@ -27,6 +27,7 @@ declare const _default: import("vue").DefineComponent<{
27
27
  tooltipContent: import("vue").Ref<string>;
28
28
  virtualRef: import("vue").Ref<any>;
29
29
  popperClass: import("vue").ComputedRef<string>;
30
+ updateSortCols: (cols: ColItem[]) => void;
30
31
  onCheckedChange: () => void;
31
32
  onCheckAllChange: () => void;
32
33
  onReset: () => void;
@@ -6,7 +6,7 @@ import EleTooltip from "../../ele-tooltip/index";
6
6
  import ElePopover from "../../ele-popover/index";
7
7
  import { HolderOutlined, VerticalRightOutlined, VerticalLeftOutlined } from "../../icons";
8
8
  import EleTool from "../../ele-tool/index";
9
- import { getSettingCols, getCheckedColumns, getColsCacheKey } from "../util";
9
+ import { getSettingCols, sortCols, getCheckedColumns, getColsCacheKey } from "../util";
10
10
  const _sfc_main = defineComponent({
11
11
  name: "ToolColumn",
12
12
  components: {
@@ -64,9 +64,13 @@ const _sfc_main = defineComponent({
64
64
  }
65
65
  return classes.join(" ");
66
66
  });
67
+ const updateSortCols = (cols) => {
68
+ data.value = sortCols(cols);
69
+ onSortChange();
70
+ };
67
71
  const onCheckedChange = () => {
68
72
  data.value.forEach((d) => {
69
- d.checked = checkedIds.value.includes(d.id);
73
+ d.checked = checkedIds.value.includes(d.uid);
70
74
  });
71
75
  isChecked.value = data.value.length > 0 && data.value.length === checkedIds.value.length;
72
76
  isIndeterminate.value = checkedIds.value.length !== 0 && data.value.length !== checkedIds.value.length;
@@ -81,13 +85,13 @@ const _sfc_main = defineComponent({
81
85
  };
82
86
  const onCheckAllChange = () => {
83
87
  if (isChecked.value) {
84
- checkedIds.value = data.value.map((d) => d.id);
88
+ checkedIds.value = data.value.map((d) => d.uid);
85
89
  } else {
86
90
  checkedIds.value = [];
87
91
  }
88
92
  isIndeterminate.value = false;
89
93
  data.value.forEach((d) => {
90
- d.checked = checkedIds.value.includes(d.id);
94
+ d.checked = checkedIds.value.includes(d.uid);
91
95
  });
92
96
  const columns = getCheckedColumns(
93
97
  props.columns,
@@ -124,11 +128,18 @@ const _sfc_main = defineComponent({
124
128
  emit("update:columns", columns);
125
129
  };
126
130
  const onItemFixedLeft = (col) => {
127
- col.fixed = col.fixed === true || col.fixed === "left" ? false : "left";
131
+ const cols = [...data.value];
132
+ const index = cols.findIndex((c) => c.uid === col.uid);
133
+ const isFixedLeft = col.fixed === true || col.fixed === "left";
134
+ cols[index].fixed = isFixedLeft ? false : "left";
135
+ data.value = sortCols(cols);
128
136
  onSortChange();
129
137
  };
130
138
  const onItemFixedRight = (col) => {
131
- col.fixed = col.fixed === "right" ? false : "right";
139
+ const cols = [...data.value];
140
+ const index = cols.findIndex((c) => c.uid === col.uid);
141
+ cols[index].fixed = col.fixed === "right" ? false : "right";
142
+ data.value = sortCols(cols);
132
143
  onSortChange();
133
144
  };
134
145
  const cacheSettingCols = () => {
@@ -177,6 +188,7 @@ const _sfc_main = defineComponent({
177
188
  tooltipContent,
178
189
  virtualRef,
179
190
  popperClass,
191
+ updateSortCols,
180
192
  onCheckedChange,
181
193
  onCheckAllChange,
182
194
  onReset,
@@ -230,10 +242,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
230
242
  transition: "el-zoom-in-top",
231
243
  popperClass: _ctx.popperClass,
232
244
  popperOptions: {
233
- modifiers: [
234
- { name: "arrow", options: { padding: 20 } },
235
- { name: "offset", options: { offset: [20, 10] } }
236
- ]
245
+ modifiers: [{ name: "offset", options: { offset: [20, 10] } }]
237
246
  }
238
247
  }, {
239
248
  reference: withCtx(() => [
@@ -276,19 +285,18 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
276
285
  ]),
277
286
  createVNode(_component_ElCheckboxGroup, {
278
287
  modelValue: _ctx.checkedIds,
279
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => _ctx.checkedIds = $event),
288
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.checkedIds = $event),
280
289
  onChange: _ctx.onCheckedChange
281
290
  }, {
282
291
  default: withCtx(() => [
283
292
  createVNode(_component_VueDraggable, {
284
- itemKey: "id",
285
- modelValue: _ctx.data,
286
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.data = $event),
293
+ itemKey: "uid",
287
294
  animation: 300,
295
+ modelValue: _ctx.data,
288
296
  setData: () => void 0,
289
- componentData: { class: "ele-tool-column-body" },
290
297
  handle: ".ele-tool-column-handle",
291
- onChange: _ctx.onSortChange
298
+ componentData: { class: "ele-tool-column-body" },
299
+ "onUpdate:modelValue": _ctx.updateSortCols
292
300
  }, {
293
301
  item: withCtx(({ element: d }) => [
294
302
  createElementVNode("div", {
@@ -306,7 +314,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
306
314
  ])) : createCommentVNode("", true),
307
315
  createElementVNode("div", _hoisted_3, [
308
316
  createVNode(_component_ElCheckbox, {
309
- label: d.id
317
+ label: d.uid
310
318
  }, {
311
319
  default: withCtx(() => [
312
320
  createTextVNode(toDisplayString(d.label), 1)
@@ -349,7 +357,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
349
357
  ])
350
358
  ]),
351
359
  _: 1
352
- }, 8, ["modelValue", "onChange"])
360
+ }, 8, ["modelValue", "onUpdate:modelValue"])
353
361
  ]),
354
362
  _: 1
355
363
  }, 8, ["modelValue", "onChange"])
@@ -1,5 +1,6 @@
1
1
  import type { Ref } from 'vue';
2
- import type { StyleValue, ElEmptyProps } from '../ele-app/types';
2
+ import type { ElEmptyProps, ComponentProps } from '../ele-app/types';
3
+ import type { LoadingProps } from '../ele-loading/props';
3
4
  import type { PaginationProps } from '../ele-pagination/props';
4
5
  import type { DataItem, Column, Columns, Sorter, Filter, ReloadFunction, DoneParams, TableTool, TableSize, FetchCallback } from './types';
5
6
  import type { TableViewProps } from './props';
@@ -14,6 +15,7 @@ declare const _default: import("vue").DefineComponent<{
14
15
  type: BooleanConstructor;
15
16
  default: null;
16
17
  };
18
+ loading: BooleanConstructor;
17
19
  datasource: {
18
20
  type: import("vue").PropType<import("./types").Datasource>;
19
21
  required: boolean;
@@ -51,8 +53,8 @@ declare const _default: import("vue").DefineComponent<{
51
53
  maximizedIndex: NumberConstructor;
52
54
  maximizedHeight: (StringConstructor | NumberConstructor)[];
53
55
  rowClickChecked: import("vue").PropType<import("./types").RowClickChecked>;
54
- tableStyle: import("vue").PropType<StyleValue>;
55
- footerStyle: import("vue").PropType<StyleValue>;
56
+ tableStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
57
+ footerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
56
58
  pagination: {
57
59
  type: import("vue").PropType<boolean | import("./types").TablePagination>;
58
60
  default: () => null;
@@ -62,18 +64,13 @@ declare const _default: import("vue").DefineComponent<{
62
64
  default: () => null;
63
65
  };
64
66
  sticky: BooleanConstructor;
65
- cacheKey: StringConstructor;
66
- locale: import("vue").PropType<Partial<import("./types").TableLocale>>;
67
- columns: {
68
- type: import("vue").PropType<Columns>;
69
- required: boolean;
70
- };
71
- loading: BooleanConstructor;
72
- pageIndex: NumberConstructor;
73
- headerEllipsis: {
67
+ loadingProps: import("vue").PropType<Partial<LoadingProps>>;
68
+ bottomLine: {
74
69
  type: BooleanConstructor;
75
70
  default: boolean;
76
71
  };
72
+ cacheKey: StringConstructor;
73
+ locale: import("vue").PropType<Partial<import("./types").TableLocale>>;
77
74
  size: {
78
75
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
79
76
  readonly required: false;
@@ -158,6 +155,18 @@ declare const _default: import("vue").DefineComponent<{
158
155
  default: boolean;
159
156
  };
160
157
  flexible: BooleanConstructor;
158
+ columns: {
159
+ type: import("vue").PropType<Columns>;
160
+ required: boolean;
161
+ };
162
+ headerEllipsis: {
163
+ type: BooleanConstructor;
164
+ default: boolean;
165
+ };
166
+ slotNormalize: {
167
+ type: BooleanConstructor;
168
+ default: boolean;
169
+ };
161
170
  }, {
162
171
  tableEvents: {
163
172
  onSelect: (selection: DataItem[], row: DataItem) => void;
@@ -190,9 +199,10 @@ declare const _default: import("vue").DefineComponent<{
190
199
  tableIndex: import("vue").ComputedRef<number>;
191
200
  paginationProps: import("vue").ComputedRef<Partial<PaginationProps> | null>;
192
201
  tableProps: import("vue").ComputedRef<Partial<TableViewProps>>;
193
- proTableStyle: import("vue").ComputedRef<StyleValue>;
202
+ tableZIndex: import("vue").ComputedRef<number | undefined>;
194
203
  tableTools: import("vue").ComputedRef<TableTool[]>;
195
204
  tableEmptyProps: import("vue").ComputedRef<boolean | ElEmptyProps>;
205
+ rootProps: import("vue").ComputedRef<ComponentProps<LoadingProps>>;
196
206
  tableLoad: (row: DataItem, treeNode: import("element-plus/es/components/table/src/table/defaults").TreeNode, resolve: (data: DataItem[]) => void) => void;
197
207
  onRefresh: () => void;
198
208
  onSizeChange: (size: TableSize) => void;
@@ -207,6 +217,7 @@ declare const _default: import("vue").DefineComponent<{
207
217
  onCurrentChange: (currentRow?: DataItem, oldCurrentRow?: DataItem) => void;
208
218
  reload: ReloadFunction;
209
219
  reloadTable: () => void;
220
+ getTableRef: () => import("../ele-app/types").ElTableInstance | undefined;
210
221
  getData: () => DataItem[];
211
222
  setData: (data: DataItem[]) => void;
212
223
  setSelectedRows: (rows?: DataItem[]) => void;
@@ -262,6 +273,7 @@ declare const _default: import("vue").DefineComponent<{
262
273
  type: BooleanConstructor;
263
274
  default: null;
264
275
  };
276
+ loading: BooleanConstructor;
265
277
  datasource: {
266
278
  type: import("vue").PropType<import("./types").Datasource>;
267
279
  required: boolean;
@@ -299,8 +311,8 @@ declare const _default: import("vue").DefineComponent<{
299
311
  maximizedIndex: NumberConstructor;
300
312
  maximizedHeight: (StringConstructor | NumberConstructor)[];
301
313
  rowClickChecked: import("vue").PropType<import("./types").RowClickChecked>;
302
- tableStyle: import("vue").PropType<StyleValue>;
303
- footerStyle: import("vue").PropType<StyleValue>;
314
+ tableStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
315
+ footerStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
304
316
  pagination: {
305
317
  type: import("vue").PropType<boolean | import("./types").TablePagination>;
306
318
  default: () => null;
@@ -310,18 +322,13 @@ declare const _default: import("vue").DefineComponent<{
310
322
  default: () => null;
311
323
  };
312
324
  sticky: BooleanConstructor;
313
- cacheKey: StringConstructor;
314
- locale: import("vue").PropType<Partial<import("./types").TableLocale>>;
315
- columns: {
316
- type: import("vue").PropType<Columns>;
317
- required: boolean;
318
- };
319
- loading: BooleanConstructor;
320
- pageIndex: NumberConstructor;
321
- headerEllipsis: {
325
+ loadingProps: import("vue").PropType<Partial<LoadingProps>>;
326
+ bottomLine: {
322
327
  type: BooleanConstructor;
323
328
  default: boolean;
324
329
  };
330
+ cacheKey: StringConstructor;
331
+ locale: import("vue").PropType<Partial<import("./types").TableLocale>>;
325
332
  size: {
326
333
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
327
334
  readonly required: false;
@@ -406,6 +413,18 @@ declare const _default: import("vue").DefineComponent<{
406
413
  default: boolean;
407
414
  };
408
415
  flexible: BooleanConstructor;
416
+ columns: {
417
+ type: import("vue").PropType<Columns>;
418
+ required: boolean;
419
+ };
420
+ headerEllipsis: {
421
+ type: BooleanConstructor;
422
+ default: boolean;
423
+ };
424
+ slotNormalize: {
425
+ type: BooleanConstructor;
426
+ default: boolean;
427
+ };
409
428
  }>> & {
410
429
  onSelect?: ((_selection: DataItem[], _row: DataItem) => any) | undefined;
411
430
  onSortChange?: ((_sorter: Sorter) => any) | undefined;
@@ -453,6 +472,8 @@ declare const _default: import("vue").DefineComponent<{
453
472
  tableLayout: "auto" | "fixed";
454
473
  scrollbarAlwaysOn: boolean;
455
474
  flexible: boolean;
475
+ headerEllipsis: boolean;
476
+ slotNormalize: boolean;
456
477
  loadOnCreated: boolean;
457
478
  loadOnChanged: boolean;
458
479
  toolbar: boolean | import("./types").TableToolbar;
@@ -462,6 +483,6 @@ declare const _default: import("vue").DefineComponent<{
462
483
  pagination: boolean | import("./types").TablePagination;
463
484
  emptyProps: boolean | ElEmptyProps;
464
485
  sticky: boolean;
465
- headerEllipsis: boolean;
486
+ bottomLine: boolean;
466
487
  }, {}>;
467
488
  export default _default;