vxe-pc-ui 4.12.0 → 4.12.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 (169) hide show
  1. package/es/calendar/src/calendar.js +254 -97
  2. package/es/calendar/style.css +248 -69
  3. package/es/calendar/style.min.css +1 -1
  4. package/es/date-panel/src/date-panel.js +3 -1
  5. package/es/icon/style.css +1 -1
  6. package/es/language/ar-EG.js +4 -0
  7. package/es/language/de-DE.js +4 -0
  8. package/es/language/en-US.js +4 -0
  9. package/es/language/es-ES.js +4 -0
  10. package/es/language/fr-FR.js +4 -0
  11. package/es/language/hu-HU.js +4 -0
  12. package/es/language/hy-AM.js +4 -0
  13. package/es/language/id-ID.js +4 -0
  14. package/es/language/it-IT.js +4 -0
  15. package/es/language/ja-JP.js +4 -0
  16. package/es/language/ko-KR.js +4 -0
  17. package/es/language/ms-MY.js +4 -0
  18. package/es/language/nb-NO.js +4 -0
  19. package/es/language/pt-BR.js +4 -0
  20. package/es/language/ru-RU.js +4 -0
  21. package/es/language/th-TH.js +4 -0
  22. package/es/language/ug-CN.js +4 -0
  23. package/es/language/uk-UA.js +4 -0
  24. package/es/language/uz-UZ.js +4 -0
  25. package/es/language/vi-VN.js +4 -0
  26. package/es/language/zh-CHT.js +4 -0
  27. package/es/language/zh-CN.js +4 -0
  28. package/es/menu/src/menu.js +67 -8
  29. package/es/style.css +1 -1
  30. package/es/style.min.css +1 -1
  31. package/es/tree/src/tree.js +10 -2
  32. package/es/ui/index.js +1 -1
  33. package/es/ui/src/log.js +1 -1
  34. package/es/vxe-calendar/style.css +248 -69
  35. package/es/vxe-calendar/style.min.css +1 -1
  36. package/lib/calendar/src/calendar.js +283 -104
  37. package/lib/calendar/src/calendar.min.js +1 -1
  38. package/lib/calendar/style/style.css +248 -69
  39. package/lib/calendar/style/style.min.css +1 -1
  40. package/lib/date-panel/src/date-panel.js +3 -1
  41. package/lib/date-panel/src/date-panel.min.js +1 -1
  42. package/lib/icon/style/style.css +1 -1
  43. package/lib/icon/style/style.min.css +1 -1
  44. package/lib/index.umd.js +443 -161
  45. package/lib/index.umd.min.js +1 -1
  46. package/lib/language/ar-EG.js +4 -0
  47. package/lib/language/ar-EG.min.js +1 -1
  48. package/lib/language/ar-EG.umd.js +4 -0
  49. package/lib/language/de-DE.js +4 -0
  50. package/lib/language/de-DE.min.js +1 -1
  51. package/lib/language/de-DE.umd.js +4 -0
  52. package/lib/language/en-US.js +4 -0
  53. package/lib/language/en-US.min.js +1 -1
  54. package/lib/language/en-US.umd.js +4 -0
  55. package/lib/language/es-ES.js +4 -0
  56. package/lib/language/es-ES.min.js +1 -1
  57. package/lib/language/es-ES.umd.js +4 -0
  58. package/lib/language/fr-FR.js +4 -0
  59. package/lib/language/fr-FR.min.js +1 -1
  60. package/lib/language/fr-FR.umd.js +4 -0
  61. package/lib/language/hu-HU.js +4 -0
  62. package/lib/language/hu-HU.min.js +1 -1
  63. package/lib/language/hu-HU.umd.js +4 -0
  64. package/lib/language/hy-AM.js +4 -0
  65. package/lib/language/hy-AM.min.js +1 -1
  66. package/lib/language/hy-AM.umd.js +4 -0
  67. package/lib/language/id-ID.js +4 -0
  68. package/lib/language/id-ID.min.js +1 -1
  69. package/lib/language/id-ID.umd.js +4 -0
  70. package/lib/language/it-IT.js +4 -0
  71. package/lib/language/it-IT.min.js +1 -1
  72. package/lib/language/it-IT.umd.js +4 -0
  73. package/lib/language/ja-JP.js +4 -0
  74. package/lib/language/ja-JP.min.js +1 -1
  75. package/lib/language/ja-JP.umd.js +4 -0
  76. package/lib/language/ko-KR.js +4 -0
  77. package/lib/language/ko-KR.min.js +1 -1
  78. package/lib/language/ko-KR.umd.js +4 -0
  79. package/lib/language/ms-MY.js +4 -0
  80. package/lib/language/ms-MY.min.js +1 -1
  81. package/lib/language/ms-MY.umd.js +4 -0
  82. package/lib/language/nb-NO.js +4 -0
  83. package/lib/language/nb-NO.min.js +1 -1
  84. package/lib/language/nb-NO.umd.js +4 -0
  85. package/lib/language/pt-BR.js +4 -0
  86. package/lib/language/pt-BR.min.js +1 -1
  87. package/lib/language/pt-BR.umd.js +4 -0
  88. package/lib/language/ru-RU.js +4 -0
  89. package/lib/language/ru-RU.min.js +1 -1
  90. package/lib/language/ru-RU.umd.js +4 -0
  91. package/lib/language/th-TH.js +4 -0
  92. package/lib/language/th-TH.min.js +1 -1
  93. package/lib/language/th-TH.umd.js +4 -0
  94. package/lib/language/ug-CN.js +4 -0
  95. package/lib/language/ug-CN.min.js +1 -1
  96. package/lib/language/ug-CN.umd.js +4 -0
  97. package/lib/language/uk-UA.js +4 -0
  98. package/lib/language/uk-UA.min.js +1 -1
  99. package/lib/language/uk-UA.umd.js +4 -0
  100. package/lib/language/uz-UZ.js +4 -0
  101. package/lib/language/uz-UZ.min.js +1 -1
  102. package/lib/language/uz-UZ.umd.js +4 -0
  103. package/lib/language/vi-VN.js +4 -0
  104. package/lib/language/vi-VN.min.js +1 -1
  105. package/lib/language/vi-VN.umd.js +4 -0
  106. package/lib/language/zh-CHT.js +4 -0
  107. package/lib/language/zh-CHT.min.js +1 -1
  108. package/lib/language/zh-CHT.umd.js +4 -0
  109. package/lib/language/zh-CN.js +4 -0
  110. package/lib/language/zh-CN.min.js +1 -1
  111. package/lib/language/zh-CN.umd.js +4 -0
  112. package/lib/menu/src/menu.js +89 -10
  113. package/lib/menu/src/menu.min.js +1 -1
  114. package/lib/style.css +1 -1
  115. package/lib/style.min.css +1 -1
  116. package/lib/tree/src/tree.js +62 -44
  117. package/lib/tree/src/tree.min.js +1 -1
  118. package/lib/ui/index.js +1 -1
  119. package/lib/ui/index.min.js +1 -1
  120. package/lib/ui/src/log.js +1 -1
  121. package/lib/ui/src/log.min.js +1 -1
  122. package/lib/vxe-calendar/style/style.css +248 -69
  123. package/lib/vxe-calendar/style/style.min.css +1 -1
  124. package/package.json +1 -1
  125. package/packages/calendar/src/calendar.ts +259 -97
  126. package/packages/date-panel/src/date-panel.ts +3 -1
  127. package/packages/language/ar-EG.ts +4 -0
  128. package/packages/language/de-DE.ts +4 -0
  129. package/packages/language/en-US.ts +4 -0
  130. package/packages/language/es-ES.ts +4 -0
  131. package/packages/language/fr-FR.ts +4 -0
  132. package/packages/language/hu-HU.ts +4 -0
  133. package/packages/language/hy-AM.ts +4 -0
  134. package/packages/language/id-ID.ts +4 -0
  135. package/packages/language/it-IT.ts +4 -0
  136. package/packages/language/ja-JP.ts +4 -0
  137. package/packages/language/ko-KR.ts +4 -0
  138. package/packages/language/ms-MY.ts +4 -0
  139. package/packages/language/nb-NO.ts +4 -0
  140. package/packages/language/pt-BR.ts +4 -0
  141. package/packages/language/ru-RU.ts +4 -0
  142. package/packages/language/th-TH.ts +4 -0
  143. package/packages/language/ug-CN.ts +4 -0
  144. package/packages/language/uk-UA.ts +4 -0
  145. package/packages/language/uz-UZ.ts +4 -0
  146. package/packages/language/vi-VN.ts +4 -0
  147. package/packages/language/zh-CHT.ts +4 -0
  148. package/packages/language/zh-CN.ts +4 -0
  149. package/packages/menu/src/menu.ts +79 -15
  150. package/packages/tree/src/tree.ts +11 -2
  151. package/styles/components/calendar.scss +281 -78
  152. package/types/components/calendar.d.ts +47 -3
  153. package/types/components/form-design.d.ts +106 -21
  154. package/types/components/menu.d.ts +50 -2
  155. package/types/handles/form-design.d.ts +5 -1
  156. package/types/ui/menus.d.ts +54 -5
  157. package/types/ui/renderer.d.ts +2 -1
  158. /package/es/icon/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  159. /package/es/icon/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  160. /package/es/icon/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
  161. /package/es/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  162. /package/es/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  163. /package/es/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
  164. /package/lib/icon/style/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  165. /package/lib/icon/style/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  166. /package/lib/icon/style/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
  167. /package/lib/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  168. /package/lib/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  169. /package/lib/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0}',
338
+ monthLabel: '{0}'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '¥'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '$'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '¥'
338
342
  },
@@ -333,6 +333,10 @@ export default {
333
333
  }
334
334
  }
335
335
  },
336
+ calendar: {
337
+ yearLabel: '{0} 年',
338
+ monthLabel: '{0} 月'
339
+ },
336
340
  numberInput: {
337
341
  currencySymbol: '¥'
338
342
  },
@@ -1,11 +1,13 @@
1
1
  import { ref, h, reactive, inject, resolveComponent, watch, computed, nextTick, onBeforeUnmount, onMounted } from 'vue';
2
2
  import { defineVxeComponent } from '../../ui/src/comp';
3
3
  import XEUtils from 'xe-utils';
4
- import { getConfig, getIcon, createEvent, permission, useSize, globalEvents, renderEmptyElement } from '../../ui';
4
+ import { VxeUI, createEvent, permission, useSize, globalEvents, renderEmptyElement } from '../../ui';
5
5
  import { toCssUnit } from '../../ui/src/dom';
6
- import { getLastZIndex, nextZIndex } from '../../ui/src/utils';
6
+ import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils';
7
7
  import { getSlotVNs } from '../../ui/src/vn';
8
- import VxeLoadingComponent from '../../loading/src/loading';
8
+ import { errLog } from '../../ui/src/log';
9
+ import VxeLoadingComponent from '../../loading';
10
+ const { menus, getConfig, getIcon } = VxeUI;
9
11
  export default defineVxeComponent({
10
12
  name: 'VxeMenu',
11
13
  props: {
@@ -28,11 +30,14 @@ export default defineVxeComponent({
28
30
  size: {
29
31
  type: String,
30
32
  default: () => getConfig().menu.size || getConfig().size
31
- }
33
+ },
34
+ menuConfig: Object
32
35
  },
33
36
  emits: [
34
37
  'update:modelValue',
35
- 'click'
38
+ 'click',
39
+ 'option-menu',
40
+ 'menu-click'
36
41
  ],
37
42
  setup(props, context) {
38
43
  const { emit, slots } = context;
@@ -53,6 +58,9 @@ export default defineVxeComponent({
53
58
  const refMaps = {
54
59
  refElem
55
60
  };
61
+ const computeMenuOpts = computed(() => {
62
+ return Object.assign({}, getConfig().menu.menuConfig, props.menuConfig);
63
+ });
56
64
  const computeIsCollapsed = computed(() => {
57
65
  const { collapsed } = props;
58
66
  if (XEUtils.isBoolean(collapsed)) {
@@ -187,6 +195,33 @@ export default defineVxeComponent({
187
195
  reactData.activeName = value;
188
196
  emit('update:modelValue', value);
189
197
  };
198
+ const handleContextmenuEvent = (evnt, item) => {
199
+ const { menuConfig } = props;
200
+ const menuOpts = computeMenuOpts.value;
201
+ if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
202
+ const { options, visibleMethod } = menuOpts;
203
+ if (!visibleMethod || visibleMethod({ $menu: $xeMenu, options, currentMenu: item })) {
204
+ if (VxeUI.contextMenu) {
205
+ VxeUI.contextMenu.openByEvent(evnt, {
206
+ options,
207
+ events: {
208
+ optionClick(eventParams) {
209
+ const { option } = eventParams;
210
+ const gMenuOpts = menus.get(option.code);
211
+ const mmMethod = gMenuOpts ? gMenuOpts.menuMenuMethod : null;
212
+ const params = { menu: option, currentMenu: item, $event: evnt, $menu: $xeMenu };
213
+ if (mmMethod) {
214
+ mmMethod(params, evnt);
215
+ }
216
+ dispatchEvent('menu-click', params, eventParams.$event);
217
+ }
218
+ }
219
+ });
220
+ }
221
+ }
222
+ }
223
+ dispatchEvent('option-menu', { currentMenu: item }, evnt);
224
+ };
190
225
  const handleClickMenu = (evnt, item, itemList) => {
191
226
  const { itemKey, routerLink, hasChild } = item;
192
227
  if (routerLink) {
@@ -202,7 +237,12 @@ export default defineVxeComponent({
202
237
  handleMenuMouseleave();
203
238
  }
204
239
  }
205
- dispatchEvent('click', { menu: item }, evnt);
240
+ const params = {
241
+ currentMenu: item,
242
+ // 已废弃
243
+ menu: item
244
+ };
245
+ dispatchEvent('click', params, evnt);
206
246
  };
207
247
  const handleMenuMouseenter = () => {
208
248
  const { collapseStyle } = reactData;
@@ -254,8 +294,10 @@ export default defineVxeComponent({
254
294
  const title = getMenuTitle(item);
255
295
  const isCollapsed = computeIsCollapsed.value;
256
296
  const params = {
257
- option: item,
258
- collapsed: isCollapsed
297
+ currentMenu: item,
298
+ collapsed: isCollapsed,
299
+ // 已废弃
300
+ option: item
259
301
  };
260
302
  return [
261
303
  optionSlot
@@ -312,6 +354,9 @@ export default defineVxeComponent({
312
354
  ? h(resolveComponent('router-link'), {
313
355
  class: 'vxe-menu--item-link',
314
356
  to: routerLink,
357
+ onContextmenu(evnt) {
358
+ handleContextmenuEvent(evnt, item);
359
+ },
315
360
  onClick(evnt) {
316
361
  handleClickMenu(evnt, item, itemList);
317
362
  }
@@ -320,6 +365,9 @@ export default defineVxeComponent({
320
365
  })
321
366
  : h('div', {
322
367
  class: 'vxe-menu--item-link',
368
+ onContextmenu(evnt) {
369
+ handleContextmenuEvent(evnt, item);
370
+ },
323
371
  onClick(evnt) {
324
372
  handleClickMenu(evnt, item, itemList);
325
373
  }
@@ -349,6 +397,9 @@ export default defineVxeComponent({
349
397
  ? h(resolveComponent('router-link'), {
350
398
  class: 'vxe-menu--item-link',
351
399
  to: routerLink,
400
+ onContextmenu(evnt) {
401
+ handleContextmenuEvent(evnt, item);
402
+ },
352
403
  onClick(evnt) {
353
404
  handleClickMenu(evnt, item, itemList);
354
405
  }
@@ -357,6 +408,9 @@ export default defineVxeComponent({
357
408
  })
358
409
  : h('div', {
359
410
  class: 'vxe-menu--item-link',
411
+ onContextmenu(evnt) {
412
+ handleContextmenuEvent(evnt, item);
413
+ },
360
414
  onClick(evnt) {
361
415
  handleClickMenu(evnt, item, itemList);
362
416
  }
@@ -436,6 +490,11 @@ export default defineVxeComponent({
436
490
  handleCollapseMenu();
437
491
  });
438
492
  onMounted(() => {
493
+ const { menuConfig } = props;
494
+ const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
495
+ if (menuConfig && !VxeUIContextMenu) {
496
+ errLog('vxe.error.reqComp', ['vxe-context-menu']);
497
+ }
439
498
  globalEvents.on($xeMenu, 'resize', updateCollapseStyle);
440
499
  updateCollapseStyle();
441
500
  });