vxe-pc-ui 3.16.10 → 3.16.11

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 (102) hide show
  1. package/es/icon/{iconfont.1783944544969.ttf → iconfont.1784122289327.ttf} +0 -0
  2. package/es/icon/iconfont.1784122289327.woff +0 -0
  3. package/es/icon/iconfont.1784122289327.woff2 +0 -0
  4. package/es/icon/style.css +33 -2
  5. package/es/icon/style.min.css +1 -1
  6. package/{lib/icon/style/iconfont.1783944544969.ttf → es/iconfont.1784122289327.ttf} +0 -0
  7. package/es/iconfont.1784122289327.woff +0 -0
  8. package/es/iconfont.1784122289327.woff2 +0 -0
  9. package/es/language/en-US.js +3 -3
  10. package/es/language/hy-AM.js +3 -3
  11. package/es/language/zh-CN.js +3 -3
  12. package/es/layout-aside/src/layout-aside.js +11 -19
  13. package/es/layout-aside/style.css +1 -3
  14. package/es/layout-aside/style.min.css +1 -1
  15. package/es/menu/src/menu.js +308 -101
  16. package/es/menu/style.css +52 -4
  17. package/es/menu/style.min.css +1 -1
  18. package/es/modal/src/modal.js +2 -2
  19. package/es/style.css +1 -1
  20. package/es/style.min.css +1 -1
  21. package/es/tree-select/src/tree-select.js +1 -1
  22. package/es/ui/index.js +1 -1
  23. package/es/ui/src/log.js +1 -1
  24. package/es/vxe-icon/style.css +33 -2
  25. package/es/vxe-icon/style.min.css +1 -1
  26. package/es/vxe-layout-aside/style.css +1 -3
  27. package/es/vxe-layout-aside/style.min.css +1 -1
  28. package/es/vxe-menu/style.css +52 -4
  29. package/es/vxe-menu/style.min.css +1 -1
  30. package/lib/{iconfont.1783944544969.ttf → icon/style/iconfont.1784122289327.ttf} +0 -0
  31. package/lib/icon/style/iconfont.1784122289327.woff +0 -0
  32. package/lib/icon/style/iconfont.1784122289327.woff2 +0 -0
  33. package/lib/icon/style/style.css +33 -2
  34. package/lib/icon/style/style.min.css +33 -2
  35. package/{es/iconfont.1783944544969.ttf → lib/iconfont.1784122289327.ttf} +0 -0
  36. package/lib/iconfont.1784122289327.woff +0 -0
  37. package/lib/iconfont.1784122289327.woff2 +0 -0
  38. package/lib/index.umd.js +314 -121
  39. package/lib/index.umd.min.js +1 -1
  40. package/lib/language/en-US.js +3 -3
  41. package/lib/language/en-US.min.js +1 -1
  42. package/lib/language/en-US.umd.js +3 -3
  43. package/lib/language/hy-AM.js +3 -3
  44. package/lib/language/hy-AM.min.js +1 -1
  45. package/lib/language/hy-AM.umd.js +3 -3
  46. package/lib/language/zh-CN.js +3 -3
  47. package/lib/language/zh-CN.min.js +1 -1
  48. package/lib/language/zh-CN.umd.js +3 -3
  49. package/lib/layout-aside/src/layout-aside.js +12 -18
  50. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  51. package/lib/layout-aside/style/style.css +1 -3
  52. package/lib/layout-aside/style/style.min.css +1 -1
  53. package/lib/menu/src/menu.js +292 -93
  54. package/lib/menu/src/menu.min.js +1 -1
  55. package/lib/menu/style/style.css +52 -4
  56. package/lib/menu/style/style.min.css +1 -1
  57. package/lib/modal/src/modal.js +2 -2
  58. package/lib/modal/src/modal.min.js +1 -1
  59. package/lib/style.css +1 -1
  60. package/lib/style.min.css +1 -1
  61. package/lib/tree-select/src/tree-select.js +1 -1
  62. package/lib/tree-select/src/tree-select.min.js +1 -1
  63. package/lib/ui/index.js +1 -1
  64. package/lib/ui/index.min.js +1 -1
  65. package/lib/ui/src/log.js +1 -1
  66. package/lib/ui/src/log.min.js +1 -1
  67. package/lib/vxe-icon/style/style.css +33 -2
  68. package/lib/vxe-icon/style/style.min.css +1 -1
  69. package/lib/vxe-layout-aside/style/style.css +1 -3
  70. package/lib/vxe-layout-aside/style/style.min.css +1 -1
  71. package/lib/vxe-menu/style/style.css +52 -4
  72. package/lib/vxe-menu/style/style.min.css +1 -1
  73. package/package.json +2 -2
  74. package/packages/language/en-US.ts +3 -3
  75. package/packages/language/hy-AM.ts +3 -3
  76. package/packages/language/zh-CN.ts +3 -3
  77. package/packages/layout-aside/src/layout-aside.ts +13 -20
  78. package/packages/menu/src/menu.ts +323 -111
  79. package/packages/modal/src/modal.ts +2 -2
  80. package/packages/tree-select/src/tree-select.ts +1 -1
  81. package/styles/components/icon.scss +33 -4
  82. package/styles/components/layout-aside.scss +1 -3
  83. package/styles/components/menu.scss +64 -1
  84. package/styles/icon/iconfont.ttf +0 -0
  85. package/styles/icon/iconfont.woff +0 -0
  86. package/styles/icon/iconfont.woff2 +0 -0
  87. package/styles/theme/dark.scss +1 -0
  88. package/styles/theme/light.scss +1 -0
  89. package/styles/variable.scss +2 -1
  90. package/types/components/icon.d.ts +1 -1
  91. package/types/components/layout-aside.d.ts +3 -1
  92. package/types/components/menu.d.ts +64 -17
  93. package/types/components/table.d.ts +11 -11
  94. package/types/components/toolbar.d.ts +1 -1
  95. package/es/icon/iconfont.1783944544969.woff +0 -0
  96. package/es/icon/iconfont.1783944544969.woff2 +0 -0
  97. package/es/iconfont.1783944544969.woff +0 -0
  98. package/es/iconfont.1783944544969.woff2 +0 -0
  99. package/lib/icon/style/iconfont.1783944544969.woff +0 -0
  100. package/lib/icon/style/iconfont.1783944544969.woff2 +0 -0
  101. package/lib/iconfont.1783944544969.woff +0 -0
  102. package/lib/iconfont.1783944544969.woff2 +0 -0
package/lib/index.umd.js CHANGED
@@ -11680,7 +11680,7 @@ var es_regexp_exec = __webpack_require__(7495);
11680
11680
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js
11681
11681
  var es_string_match = __webpack_require__(1761);
11682
11682
  ;// ./node_modules/@vxe-ui/core/es/src/core.js
11683
- var coreVersion = "3.4.17";
11683
+ var coreVersion = "3.4.18";
11684
11684
  var VxeCore = {
11685
11685
  coreVersion: coreVersion,
11686
11686
  uiVersion: '',
@@ -12440,7 +12440,7 @@ function createLog(type, name) {
12440
12440
  return msg;
12441
12441
  };
12442
12442
  }
12443
- var version = "3.4.17";
12443
+ var version = "3.4.18";
12444
12444
  var log = {
12445
12445
  create: createLog,
12446
12446
  warn: createLog('warn', "v".concat(version)),
@@ -13256,7 +13256,7 @@ var es_array_join = __webpack_require__(8598);
13256
13256
 
13257
13257
 
13258
13258
  var log_log = VxeUI.log;
13259
- var uiVersion = "ui v".concat("3.16.10");
13259
+ var uiVersion = "ui v".concat("3.16.11");
13260
13260
  function createComponentLog(name) {
13261
13261
  var tableVersion = VxeUI.tableVersion ? "table v".concat(VxeUI.tableVersion) : '';
13262
13262
  var ganttVersion = VxeUI.ganttVersion ? "gantt v".concat(VxeUI.ganttVersion) : '';
@@ -13274,7 +13274,7 @@ var errLog = log_log.create('error', uiVersion);
13274
13274
 
13275
13275
 
13276
13276
 
13277
- var ui_version = "3.16.10";
13277
+ var ui_version = "3.16.11";
13278
13278
  VxeUI.uiVersion = ui_version;
13279
13279
  VxeUI.dynamicApp = dynamicApp;
13280
13280
  function config(options) {
@@ -14047,7 +14047,7 @@ setIcon({
14047
14047
  expError: '导出失败',
14048
14048
  expFilename: '导出_{0}',
14049
14049
  expOriginFilename: '导出_源_{0}',
14050
- customTitle: '列设置',
14050
+ customTitle: '个性化设置',
14051
14051
  customAll: '全部',
14052
14052
  customConfirm: '确认',
14053
14053
  customClose: '关闭',
@@ -14131,7 +14131,7 @@ setIcon({
14131
14131
  search: '搜索'
14132
14132
  },
14133
14133
  custom: {
14134
- cstmTitle: '列设置',
14134
+ cstmTitle: '个性化设置',
14135
14135
  cstmRestore: '恢复默认',
14136
14136
  cstmCancel: '取消',
14137
14137
  cstmConfirm: '确定',
@@ -14257,7 +14257,7 @@ setIcon({
14257
14257
  refresh: '刷新',
14258
14258
  zoomIn: '全屏',
14259
14259
  zoomOut: '还原',
14260
- custom: '列设置',
14260
+ custom: '个性化设置',
14261
14261
  customAll: '全部',
14262
14262
  customConfirm: '确认',
14263
14263
  customRestore: '重置',
@@ -46626,22 +46626,19 @@ var ImagePreview = VxeImagePreview;
46626
46626
  var props = $xeLayoutAside;
46627
46627
  return Object.assign({}, getConfig().layoutAside.collapseConfig, props.collapseConfig);
46628
46628
  },
46629
- computeWrapperWidth: function computeWrapperWidth() {
46629
+ computeVarStyle: function computeVarStyle() {
46630
46630
  var $xeLayoutAside = this;
46631
46631
  var props = $xeLayoutAside;
46632
46632
  var width = props.width,
46633
- collapsed = props.collapsed,
46634
46633
  collapseWidth = props.collapseWidth;
46635
- if (collapsed) {
46636
- if (collapseWidth) {
46637
- return toCssUnit(collapseWidth);
46638
- }
46639
- } else {
46640
- if (width) {
46641
- return toCssUnit(width);
46642
- }
46634
+ var stys = {};
46635
+ if (collapseWidth) {
46636
+ stys['--vxe-ui-layout-aside-collapse-width'] = toCssUnit(collapseWidth);
46643
46637
  }
46644
- return '';
46638
+ if (width) {
46639
+ stys['--vxe-ui-layout-aside-default-width'] = toCssUnit(width);
46640
+ }
46641
+ return stys;
46645
46642
  }
46646
46643
  }),
46647
46644
  methods: {
@@ -46661,19 +46658,16 @@ var ImagePreview = VxeImagePreview;
46661
46658
  var $xeLayoutAside = this;
46662
46659
  var props = $xeLayoutAside;
46663
46660
  var slots = $xeLayoutAside.$scopedSlots;
46664
- var width = props.width,
46665
- collapsed = props.collapsed,
46661
+ var collapsed = props.collapsed,
46666
46662
  loading = props.loading,
46667
46663
  padding = props.padding;
46668
- var wrapperWidth = $xeLayoutAside.computeWrapperWidth;
46664
+ var varStyle = $xeLayoutAside.computeVarStyle;
46669
46665
  var vSize = $xeLayoutAside.computeSize;
46670
46666
  var collapseOpts = $xeLayoutAside.computeCollapseOpts;
46671
46667
  var defaultSlot = slots.default;
46672
46668
  return h('aside', {
46673
- class: ['vxe-layout-aside', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--animat', collapseOpts.animation !== false), 'is--padding', padding), 'is--default-width', !width), 'is--collapse', collapsed), 'is--loading', loading)],
46674
- style: wrapperWidth ? {
46675
- width: wrapperWidth
46676
- } : {}
46669
+ class: ['vxe-layout-aside', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--animat', collapseOpts.animation !== false), 'is--padding', padding), 'is--collapse', collapsed), 'is--loading', loading)],
46670
+ style: varStyle
46677
46671
  }, [h('div', {
46678
46672
  class: 'vxe-layout-aside--inner'
46679
46673
  }, defaultSlot ? defaultSlot({}) : []),
@@ -47232,6 +47226,10 @@ var menu_menus = VxeUI.menus,
47232
47226
  menu_getIcon = VxeUI.getIcon;
47233
47227
  function menu_createInternalData() {
47234
47228
  return {
47229
+ lastActiveTime: 0,
47230
+ menuInitMaps: {},
47231
+ menuCacheMaps: {},
47232
+ menuKeyMaps: {},
47235
47233
  menuEffectMaps: {}
47236
47234
  };
47237
47235
  }
@@ -47253,12 +47251,25 @@ var nemuUniqueKey = 100000000;
47253
47251
  props: {
47254
47252
  value: [String, Number],
47255
47253
  expandAll: Boolean,
47254
+ expandKeys: Array,
47256
47255
  accordion: {
47257
47256
  type: Boolean,
47258
47257
  default: function _default() {
47259
47258
  return menu_getConfig().menu.accordion;
47260
47259
  }
47261
47260
  },
47261
+ border: {
47262
+ type: [Boolean, String],
47263
+ default: function _default() {
47264
+ return menu_getConfig().menu.border;
47265
+ }
47266
+ },
47267
+ optionProps: {
47268
+ type: Object,
47269
+ default: function _default() {
47270
+ return menu_getConfig().menu.optionProps;
47271
+ }
47272
+ },
47262
47273
  collapsed: {
47263
47274
  type: Boolean,
47264
47275
  default: null
@@ -47292,6 +47303,45 @@ var nemuUniqueKey = 100000000;
47292
47303
  });
47293
47304
  },
47294
47305
  computed: _objectSpread2(_objectSpread2({}, {}), {}, {
47306
+ computePropsOpts: function computePropsOpts() {
47307
+ var $xeMenu = this;
47308
+ var props = $xeMenu;
47309
+ return Object.assign({}, menu_getConfig().menu.optionProps, props.optionProps);
47310
+ },
47311
+ computeTitleField: function computeTitleField() {
47312
+ var $xeMenu = this;
47313
+ var propsOpts = $xeMenu.computePropsOpts;
47314
+ return propsOpts.title || 'title';
47315
+ },
47316
+ computeKeyField: function computeKeyField() {
47317
+ var $xeMenu = this;
47318
+ var propsOpts = $xeMenu.computePropsOpts;
47319
+ return propsOpts.name || 'name';
47320
+ },
47321
+ computeChildrenField: function computeChildrenField() {
47322
+ var $xeMenu = this;
47323
+ var propsOpts = $xeMenu.computePropsOpts;
47324
+ return propsOpts.children || 'children';
47325
+ },
47326
+ computeLinkUrlField: function computeLinkUrlField() {
47327
+ var $xeMenu = this;
47328
+ var propsOpts = $xeMenu.computePropsOpts;
47329
+ return propsOpts.linkUrl || 'href';
47330
+ },
47331
+ computeRouterLinkField: function computeRouterLinkField() {
47332
+ var $xeMenu = this;
47333
+ var propsOpts = $xeMenu.computePropsOpts;
47334
+ return propsOpts.routerLink || 'routerLink';
47335
+ },
47336
+ computeCurrBorder: function computeCurrBorder() {
47337
+ var $xeMenu = this;
47338
+ var props = $xeMenu;
47339
+ var border = props.border;
47340
+ if (border) {
47341
+ return border === true ? 'first-group' : border;
47342
+ }
47343
+ return '';
47344
+ },
47295
47345
  computeMenuOpts: function computeMenuOpts() {
47296
47346
  var $xeMenu = this;
47297
47347
  var props = $xeMenu;
@@ -47309,14 +47359,14 @@ var nemuUniqueKey = 100000000;
47309
47359
  }
47310
47360
  return false;
47311
47361
  },
47312
- computeCollapseWidth: function computeCollapseWidth() {
47362
+ computeVarStyle: function computeVarStyle() {
47313
47363
  var $xeMenu = this;
47314
47364
  var $xeLayoutAside = $xeMenu.$xeLayoutAside;
47315
- var collapseWidth = '';
47316
47365
  if ($xeLayoutAside) {
47317
- collapseWidth = $xeLayoutAside.collapseWidth || '';
47366
+ var asideVarStyle = $xeLayoutAside.computeVarStyle;
47367
+ return asideVarStyle;
47318
47368
  }
47319
- return collapseWidth;
47369
+ return {};
47320
47370
  },
47321
47371
  computeCollapseEnterWidth: function computeCollapseEnterWidth() {
47322
47372
  var $xeMenu = this;
@@ -47363,6 +47413,80 @@ var nemuUniqueKey = 100000000;
47363
47413
  }
47364
47414
  return [];
47365
47415
  },
47416
+ setExpandByMenuKey: function setExpandByMenuKey(menuKeys, expanded) {
47417
+ var $xeMenu = this;
47418
+ var internalData = $xeMenu.internalData;
47419
+ var menuKeyMaps = internalData.menuKeyMaps,
47420
+ menuInitMaps = internalData.menuInitMaps;
47421
+ if (menuKeys) {
47422
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(menuKeys)) {
47423
+ menuKeys = [menuKeys];
47424
+ }
47425
+ menuKeys.forEach(function (mKey) {
47426
+ var menuItem = menuKeyMaps[mKey];
47427
+ if (menuItem) {
47428
+ if (expanded) {
47429
+ menuInitMaps[menuItem.itemId] = true;
47430
+ }
47431
+ menuItem.isExpand = !!expanded;
47432
+ }
47433
+ });
47434
+ }
47435
+ return $xeMenu.$nextTick();
47436
+ },
47437
+ clearAllExpandMenu: function clearAllExpandMenu() {
47438
+ var $xeMenu = this;
47439
+ var reactData = $xeMenu.reactData;
47440
+ var internalData = $xeMenu.internalData;
47441
+ var menuList = reactData.menuList;
47442
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(menuList, function (item) {
47443
+ item.isExpand = false;
47444
+ }, {
47445
+ children: 'childList'
47446
+ });
47447
+ internalData.menuInitMaps = {};
47448
+ return $xeMenu.$nextTick();
47449
+ },
47450
+ handleScrollToView: function handleScrollToView(itemId) {
47451
+ var $xeMenu = this;
47452
+ var el = $xeMenu.$refs.refElem;
47453
+ var nemuEl = el ? el.querySelector(".vxe-menu--item-wrapper[data-menu-id=\"".concat(itemId, "\"]")) : null;
47454
+ if (nemuEl) {
47455
+ scrollToView(nemuEl);
47456
+ return true;
47457
+ }
47458
+ return false;
47459
+ },
47460
+ scrollToMenuKey: function scrollToMenuKey(menuKey) {
47461
+ var $xeMenu = this;
47462
+ var internalData = $xeMenu.internalData;
47463
+ var menuKeyMaps = internalData.menuKeyMaps;
47464
+ var menuItem = menuKeyMaps[menuKey];
47465
+ if (!menuItem) {
47466
+ return $xeMenu.$nextTick();
47467
+ }
47468
+ var itemId = menuItem.itemId;
47469
+ if ($xeMenu.handleScrollToView(itemId)) {
47470
+ return $xeMenu.$nextTick();
47471
+ }
47472
+ return $xeMenu.$nextTick().then(function () {
47473
+ $xeMenu.handleScrollToView(itemId);
47474
+ });
47475
+ },
47476
+ scrollToActiveMenu: function scrollToActiveMenu() {
47477
+ var $xeMenu = this;
47478
+ var reactData = $xeMenu.reactData;
47479
+ var activeName = reactData.activeName;
47480
+ if (activeName) {
47481
+ return $xeMenu.scrollToMenuKey(activeName);
47482
+ }
47483
+ return $xeMenu.$nextTick().then(function () {
47484
+ var activeName = reactData.activeName;
47485
+ if (activeName) {
47486
+ return $xeMenu.scrollToMenuKey(activeName);
47487
+ }
47488
+ });
47489
+ },
47366
47490
  getMenuTitle: function getMenuTitle(item) {
47367
47491
  return "".concat(item.title || item.name);
47368
47492
  },
@@ -47376,13 +47500,16 @@ var nemuUniqueKey = 100000000;
47376
47500
  updateActiveMenu: function updateActiveMenu(isDefExpand) {
47377
47501
  var $xeMenu = this;
47378
47502
  var reactData = $xeMenu.reactData;
47503
+ var internalData = $xeMenu.internalData;
47379
47504
  var activeName = reactData.activeName;
47505
+ var menuInitMaps = internalData.menuInitMaps;
47380
47506
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(reactData.menuList, function (item, index, items, path, parent, nodes) {
47381
47507
  if (item.itemKey === activeName) {
47382
47508
  nodes.forEach(function (obj) {
47383
47509
  obj.isActive = true;
47384
47510
  if (isDefExpand) {
47385
47511
  obj.isExpand = true;
47512
+ menuInitMaps[obj.itemId] = true;
47386
47513
  }
47387
47514
  });
47388
47515
  item.isExactActive = true;
@@ -47398,24 +47525,67 @@ var nemuUniqueKey = 100000000;
47398
47525
  var $xeMenu = this;
47399
47526
  var props = $xeMenu;
47400
47527
  var reactData = $xeMenu.reactData;
47528
+ var internalData = $xeMenu.internalData;
47401
47529
  var options = props.options,
47402
- expandAll = props.expandAll;
47403
- reactData.menuList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(options, function (item, index, items, path, parent) {
47404
- var objItem = _objectSpread2(_objectSpread2({}, item), {}, {
47405
- parentKey: parent ? parent.name || path.slice(0, path.length - 1).join(',') : '',
47530
+ expandAll = props.expandAll,
47531
+ expandKeys = props.expandKeys;
47532
+ var muInitMaps = {};
47533
+ var titleField = $xeMenu.computeTitleField;
47534
+ var keyField = $xeMenu.computeKeyField;
47535
+ var childrenField = $xeMenu.computeChildrenField;
47536
+ var linkUrlField = $xeMenu.computeLinkUrlField;
47537
+ var routerLinkField = $xeMenu.computeRouterLinkField;
47538
+ var defaultExpandMaps = {};
47539
+ if (expandKeys) {
47540
+ expandKeys.forEach(function (key) {
47541
+ defaultExpandMaps[key] = true;
47542
+ });
47543
+ }
47544
+ var muCacheMaps = {};
47545
+ var muKeyMaps = {};
47546
+ reactData.menuList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(options, function (item, index, items, path, parentItem) {
47547
+ var itemId = ++nemuUniqueKey;
47548
+ var itemKey = item[keyField] || path.join(',');
47549
+ var childList = item[childrenField];
47550
+ var hasChild = childList && childList.length > 0;
47551
+ var isExpand = hasChild ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(item.expanded) ? item.expanded : defaultExpandMaps[itemKey] || !!expandAll : false;
47552
+ if (isExpand) {
47553
+ muInitMaps[itemId] = true;
47554
+ }
47555
+ var objItem = {
47556
+ itemConf: item,
47557
+ title: item[titleField],
47558
+ name: item[keyField],
47559
+ icon: item.icon,
47560
+ linkUrl: item[linkUrlField],
47561
+ linkTarget: item.linkTarget,
47562
+ routerLink: item[routerLinkField],
47563
+ permissionCode: item.permissionCode,
47564
+ children: childList,
47565
+ slots: item.slots,
47566
+ parentKey: parentItem ? parentItem.name || path.slice(0, path.length - 1).join(',') : '',
47406
47567
  level: path.length,
47407
- itemId: ++nemuUniqueKey,
47408
- itemKey: item.name || path.join(','),
47568
+ itemId: itemId,
47569
+ itemKey: itemKey,
47409
47570
  isExactActive: false,
47410
47571
  isActive: false,
47411
- isExpand: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(item.expanded) ? item.expanded : !!expandAll,
47412
- hasChild: item.children && item.children.length > 0
47413
- });
47572
+ isExpand: isExpand,
47573
+ hasChild: hasChild,
47574
+ childList: []
47575
+ };
47576
+ if (muKeyMaps[itemKey]) {
47577
+ menu_errLog('vxe.error.repeatKey', [keyField, item[keyField]]);
47578
+ }
47579
+ muCacheMaps[itemId] = objItem;
47580
+ muKeyMaps[itemKey] = objItem;
47414
47581
  return objItem;
47415
47582
  }, {
47416
47583
  children: 'children',
47417
47584
  mapChildren: 'childList'
47418
47585
  });
47586
+ internalData.menuInitMaps = muInitMaps;
47587
+ internalData.menuCacheMaps = muCacheMaps;
47588
+ internalData.menuKeyMaps = muKeyMaps;
47419
47589
  },
47420
47590
  updateCollapseStyle: function updateCollapseStyle() {
47421
47591
  var $xeMenu = this;
@@ -47424,10 +47594,7 @@ var nemuUniqueKey = 100000000;
47424
47594
  var collapseFixed = props.collapseFixed;
47425
47595
  if (collapseFixed) {
47426
47596
  $xeMenu.$nextTick(function () {
47427
- var isEnterCollapse = reactData.isEnterCollapse;
47428
47597
  var isCollapsed = $xeMenu.computeIsCollapsed;
47429
- var collapseEnterWidth = $xeMenu.computeCollapseEnterWidth;
47430
- var collapseWidth = $xeMenu.computeCollapseWidth;
47431
47598
  var el = $xeMenu.$refs.refElem;
47432
47599
  if (el) {
47433
47600
  var clientRect = el.getBoundingClientRect();
@@ -47436,7 +47603,6 @@ var nemuUniqueKey = 100000000;
47436
47603
  top: toCssUnit(clientRect.top),
47437
47604
  left: toCssUnit(clientRect.left),
47438
47605
  height: toCssUnit(parentNode.clientHeight),
47439
- width: isEnterCollapse ? collapseEnterWidth ? toCssUnit(collapseEnterWidth) : '' : collapseWidth ? toCssUnit(collapseWidth) : '',
47440
47606
  zIndex: reactData.collapseZindex
47441
47607
  } : {};
47442
47608
  }
@@ -47472,7 +47638,8 @@ var nemuUniqueKey = 100000000;
47472
47638
  var props = $xeMenu;
47473
47639
  var internalData = $xeMenu.internalData;
47474
47640
  var accordion = props.accordion;
47475
- var menuEffectMaps = internalData.menuEffectMaps;
47641
+ var menuEffectMaps = internalData.menuEffectMaps,
47642
+ menuInitMaps = internalData.menuInitMaps;
47476
47643
  var itemId = item.itemId,
47477
47644
  hasChild = item.hasChild,
47478
47645
  isExpand = item.isExpand;
@@ -47492,6 +47659,7 @@ var nemuUniqueKey = 100000000;
47492
47659
  });
47493
47660
  }
47494
47661
  item.isExpand = expanded;
47662
+ menuInitMaps[itemId] = true;
47495
47663
  var wrapperEl = isCollapsed ? $xeMenu.$refs.refCollapseElem : $xeMenu.$refs.refElem;
47496
47664
  if (wrapperEl) {
47497
47665
  var nemuEl = wrapperEl.querySelector(".vxe-menu--item-wrapper[data-menu-id=\"".concat(itemId, "\"]"));
@@ -47530,7 +47698,8 @@ var nemuUniqueKey = 100000000;
47530
47698
  if (!visibleMethod || visibleMethod({
47531
47699
  $menu: $xeMenu,
47532
47700
  options: options,
47533
- currentMenu: item
47701
+ currentMenu: item,
47702
+ currentOption: item.itemConf
47534
47703
  })) {
47535
47704
  if (VxeUI.contextMenu) {
47536
47705
  VxeUI.contextMenu.openByEvent(evnt, {
@@ -47543,6 +47712,7 @@ var nemuUniqueKey = 100000000;
47543
47712
  var params = {
47544
47713
  menu: option,
47545
47714
  currentMenu: item,
47715
+ currentOption: item.itemConf,
47546
47716
  $event: evnt,
47547
47717
  $menu: $xeMenu
47548
47718
  };
@@ -47562,20 +47732,29 @@ var nemuUniqueKey = 100000000;
47562
47732
  },
47563
47733
  handleClickMenu: function handleClickMenu(evnt, item, itemList) {
47564
47734
  var $xeMenu = this;
47735
+ var reactData = $xeMenu.reactData;
47736
+ var internalData = $xeMenu.internalData;
47565
47737
  var itemKey = item.itemKey,
47738
+ linkUrl = item.linkUrl,
47566
47739
  routerLink = item.routerLink,
47567
47740
  hasChild = item.hasChild;
47568
- if (routerLink) {
47741
+ if (linkUrl || routerLink) {
47569
47742
  $xeMenu.emitModel(itemKey);
47743
+ reactData.isEnterCollapse = false;
47744
+ internalData.lastActiveTime = Date.now();
47570
47745
  } else {
47571
47746
  if (hasChild) {
47572
47747
  $xeMenu.handleClickIconCollapse(evnt, item, itemList);
47573
47748
  } else {
47574
47749
  $xeMenu.emitModel(itemKey);
47750
+ reactData.isEnterCollapse = false;
47751
+ internalData.lastActiveTime = Date.now();
47575
47752
  }
47576
47753
  }
47577
47754
  var params = {
47578
47755
  currentMenu: item,
47756
+ currentOption: item.itemConf,
47757
+ option: item.itemConf,
47579
47758
  // 已废弃
47580
47759
  menu: item
47581
47760
  };
@@ -47584,29 +47763,15 @@ var nemuUniqueKey = 100000000;
47584
47763
  handleMenuMouseenter: function handleMenuMouseenter() {
47585
47764
  var $xeMenu = this;
47586
47765
  var reactData = $xeMenu.reactData;
47587
- var collapseStyle = reactData.collapseStyle;
47588
- var collapseEnterWidth = $xeMenu.computeCollapseEnterWidth;
47589
- reactData.collapseStyle = Object.assign({}, collapseStyle, {
47590
- width: collapseEnterWidth ? toCssUnit(collapseEnterWidth) : ''
47591
- });
47592
- reactData.isEnterCollapse = true;
47593
- },
47594
- handleMenuMouseover: function handleMenuMouseover() {
47595
- var $xeMenu = this;
47596
- var reactData = $xeMenu.reactData;
47597
- var isEnterCollapse = reactData.isEnterCollapse;
47598
- if (!isEnterCollapse) {
47599
- $xeMenu.handleMenuMouseenter();
47766
+ var internalData = $xeMenu.internalData;
47767
+ var lastActiveTime = internalData.lastActiveTime;
47768
+ if (lastActiveTime < Date.now() - 500) {
47769
+ reactData.isEnterCollapse = true;
47600
47770
  }
47601
47771
  },
47602
47772
  handleMenuMouseleave: function handleMenuMouseleave() {
47603
47773
  var $xeMenu = this;
47604
47774
  var reactData = $xeMenu.reactData;
47605
- var collapseStyle = reactData.collapseStyle;
47606
- var el = $xeMenu.$refs.refElem;
47607
- reactData.collapseStyle = Object.assign({}, collapseStyle, {
47608
- width: el ? toCssUnit(el.offsetWidth) : ''
47609
- });
47610
47775
  reactData.isEnterCollapse = false;
47611
47776
  },
47612
47777
  //
@@ -47627,9 +47792,9 @@ var nemuUniqueKey = 100000000;
47627
47792
  var isCollapsed = $xeMenu.computeIsCollapsed;
47628
47793
  var params = {
47629
47794
  currentMenu: item,
47630
- collapsed: isCollapsed,
47631
- // 已废弃
47632
- option: item
47795
+ currentOption: item.itemConf,
47796
+ option: item.itemConf,
47797
+ collapsed: isCollapsed
47633
47798
  };
47634
47799
  return [optionSlot ? renderEmptyElement($xeMenu) : h('div', {
47635
47800
  class: 'vxe-menu--item-link-icon'
@@ -47656,6 +47821,7 @@ var nemuUniqueKey = 100000000;
47656
47821
  renderDefaultChildren: function renderDefaultChildren(h, item, itemList) {
47657
47822
  var $xeMenu = this;
47658
47823
  var reactData = $xeMenu.reactData;
47824
+ var internalData = $xeMenu.internalData;
47659
47825
  var itemId = item.itemId,
47660
47826
  itemKey = item.itemKey,
47661
47827
  level = item.level,
@@ -47663,54 +47829,61 @@ var nemuUniqueKey = 100000000;
47663
47829
  isActive = item.isActive,
47664
47830
  isExactActive = item.isExactActive,
47665
47831
  isExpand = item.isExpand,
47832
+ linkUrl = item.linkUrl,
47666
47833
  routerLink = item.routerLink,
47834
+ linkTarget = item.linkTarget,
47667
47835
  childList = item.childList;
47668
47836
  var isEnterCollapse = reactData.isEnterCollapse;
47837
+ var menuInitMaps = internalData.menuInitMaps;
47669
47838
  var isCollapsed = $xeMenu.computeIsCollapsed;
47670
47839
  if (item.permissionCode) {
47671
47840
  if (!permission.checkVisible(item.permissionCode)) {
47672
47841
  return renderEmptyElement($xeMenu);
47673
47842
  }
47674
47843
  }
47844
+ var isExpandChild = (!isCollapsed || isEnterCollapse) && isExpand;
47845
+ var linkOns = {
47846
+ contextmenu: function contextmenu(evnt) {
47847
+ $xeMenu.handleContextmenuEvent(evnt, item);
47848
+ },
47849
+ click: function click(evnt) {
47850
+ $xeMenu.handleClickMenu(evnt, item, itemList);
47851
+ }
47852
+ };
47675
47853
  return h('div', {
47676
47854
  key: itemKey,
47677
47855
  class: ['vxe-menu--item-wrapper', "vxe-menu--item-level".concat(level), {
47856
+ 'has--child': hasChild,
47678
47857
  'is--exact-active': isExactActive,
47679
47858
  'is--active': isActive,
47680
- 'is--expand': (!isCollapsed || isEnterCollapse) && isExpand
47859
+ 'is--expand': isExpandChild
47681
47860
  }],
47682
47861
  attrs: {
47683
47862
  'data-menu-id': itemId
47684
47863
  }
47685
- }, [routerLink ? h('router-link', {
47686
- class: 'vxe-menu--item-link',
47864
+ }, [linkUrl ? h('a', {
47865
+ class: 'vxe-menu--item-link is--link',
47866
+ attrs: {
47867
+ href: linkUrl,
47868
+ target: linkTarget
47869
+ },
47870
+ on: linkOns
47871
+ }, $xeMenu.renderMenuTitle(h, item, itemList)) : routerLink ? h('router-link', {
47872
+ class: 'vxe-menu--item-link is--router',
47687
47873
  props: {
47688
47874
  custom: true,
47689
- to: routerLink
47875
+ to: routerLink,
47876
+ target: linkTarget
47690
47877
  },
47691
- on: {
47692
- contextmenu: function contextmenu(evnt) {
47693
- $xeMenu.handleContextmenuEvent(evnt, item);
47694
- },
47695
- click: function click(evnt) {
47696
- $xeMenu.handleClickMenu(evnt, item, itemList);
47697
- }
47698
- }
47878
+ on: linkOns
47699
47879
  }, $xeMenu.renderMenuTitle(h, item, itemList)) : h('div', {
47700
- class: 'vxe-menu--item-link',
47701
- on: {
47702
- contextmenu: function contextmenu(evnt) {
47703
- $xeMenu.handleContextmenuEvent(evnt, item);
47704
- },
47705
- click: function click(evnt) {
47706
- $xeMenu.handleClickMenu(evnt, item, itemList);
47707
- }
47708
- }
47880
+ class: 'vxe-menu--item-link is--default',
47881
+ on: linkOns
47709
47882
  }, $xeMenu.renderMenuTitle(h, item, itemList)), hasChild ? h('div', {
47710
47883
  class: 'vxe-menu--item-group'
47711
- }, childList.map(function (child) {
47884
+ }, isExpandChild || menuInitMaps[itemId] ? childList.map(function (child) {
47712
47885
  return $xeMenu.renderDefaultChildren(h, child, childList);
47713
- })) : renderEmptyElement($xeMenu)]);
47886
+ }) : []) : renderEmptyElement($xeMenu)]);
47714
47887
  },
47715
47888
  renderCollapseChildren: function renderCollapseChildren(h, item, itemList) {
47716
47889
  var $xeMenu = this;
@@ -47721,45 +47894,50 @@ var nemuUniqueKey = 100000000;
47721
47894
  isActive = item.isActive,
47722
47895
  isExactActive = item.isExactActive,
47723
47896
  routerLink = item.routerLink,
47897
+ linkUrl = item.linkUrl,
47898
+ linkTarget = item.linkTarget,
47724
47899
  childList = item.childList;
47725
47900
  if (item.permissionCode) {
47726
47901
  if (!permission.checkVisible(item.permissionCode)) {
47727
47902
  return renderEmptyElement($xeMenu);
47728
47903
  }
47729
47904
  }
47905
+ var linkOns = {
47906
+ contextmenu: function contextmenu(evnt) {
47907
+ $xeMenu.handleContextmenuEvent(evnt, item);
47908
+ },
47909
+ click: function click(evnt) {
47910
+ $xeMenu.handleClickMenu(evnt, item, itemList);
47911
+ }
47912
+ };
47730
47913
  return h('div', {
47731
47914
  key: itemKey,
47732
47915
  class: ['vxe-menu--item-wrapper', "vxe-menu--item-level".concat(level), {
47916
+ 'has--child': hasChild,
47733
47917
  'is--exact-active': isExactActive,
47734
47918
  'is--active': isActive
47735
47919
  }],
47736
47920
  attrs: {
47737
47921
  'data-menu-id': itemId
47738
47922
  }
47739
- }, [routerLink ? h('router-link', {
47740
- class: 'vxe-menu--item-link',
47923
+ }, [linkUrl ? h('a', {
47924
+ class: 'vxe-menu--item-link is--link',
47925
+ attrs: {
47926
+ href: linkUrl,
47927
+ target: linkTarget
47928
+ },
47929
+ on: linkOns
47930
+ }, $xeMenu.renderMenuTitle(h, item, itemList)) : routerLink ? h('router-link', {
47931
+ class: 'vxe-menu--item-link is--router',
47741
47932
  props: {
47742
47933
  custom: true,
47743
- to: routerLink
47934
+ to: routerLink,
47935
+ target: linkTarget
47744
47936
  },
47745
- on: {
47746
- contextmenu: function contextmenu(evnt) {
47747
- $xeMenu.handleContextmenuEvent(evnt, item);
47748
- },
47749
- click: function click(evnt) {
47750
- $xeMenu.handleClickMenu(evnt, item, itemList);
47751
- }
47752
- }
47937
+ on: linkOns
47753
47938
  }, $xeMenu.renderMenuTitle(h, item, itemList)) : h('div', {
47754
- class: 'vxe-menu--item-link',
47755
- on: {
47756
- contextmenu: function contextmenu(evnt) {
47757
- $xeMenu.handleContextmenuEvent(evnt, item);
47758
- },
47759
- click: function click(evnt) {
47760
- $xeMenu.handleClickMenu(evnt, item, itemList);
47761
- }
47762
- }
47939
+ class: 'vxe-menu--item-link is--default',
47940
+ on: linkOns
47763
47941
  }, $xeMenu.renderMenuTitle(h, item, itemList)), hasChild ? h('div', {
47764
47942
  class: 'vxe-menu--item-group'
47765
47943
  }, childList.map(function (child) {
@@ -47769,6 +47947,7 @@ var nemuUniqueKey = 100000000;
47769
47947
  renderVN: function renderVN(h) {
47770
47948
  var $xeMenu = this;
47771
47949
  var props = $xeMenu;
47950
+ var slots = $xeMenu.$scopedSlots;
47772
47951
  var reactData = $xeMenu.reactData;
47773
47952
  var loading = props.loading,
47774
47953
  collapseFixed = props.collapseFixed;
@@ -47778,31 +47957,45 @@ var nemuUniqueKey = 100000000;
47778
47957
  isEnterCollapse = reactData.isEnterCollapse;
47779
47958
  var vSize = $xeMenu.computeSize;
47780
47959
  var isCollapsed = $xeMenu.computeIsCollapsed;
47960
+ var currBorder = $xeMenu.computeCurrBorder;
47961
+ var varStyle = $xeMenu.computeVarStyle;
47962
+ var headerSlot = slots.header;
47963
+ var footerSlot = slots.footer;
47781
47964
  var ons = {};
47782
47965
  if (collapseFixed) {
47783
47966
  ons = {
47784
47967
  mouseenter: $xeMenu.handleMenuMouseenter,
47785
- mouseover: $xeMenu.handleMenuMouseover,
47786
47968
  mouseleave: $xeMenu.handleMenuMouseleave
47787
47969
  };
47788
47970
  }
47971
+ var stParams = {
47972
+ collapsed: isCollapsed
47973
+ };
47789
47974
  return h('div', {
47790
47975
  ref: 'refElem',
47791
- class: ['vxe-menu', _defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--collapsed', isCollapsed), 'is--loading', loading)]
47792
- }, [h('div', {
47793
- class: 'vxe-menu--item-list'
47976
+ class: ['vxe-menu', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "border--".concat(currBorder), currBorder), "size--".concat(vSize), vSize), 'is--collapsed', isCollapsed), 'is--loading', loading)]
47977
+ }, [headerSlot ? h('div', {
47978
+ class: 'vxe-menu--header'
47979
+ }, headerSlot(stParams)) : renderEmptyElement($xeMenu), h('div', {
47980
+ class: 'vxe-menu--body'
47794
47981
  }, menuList.map(function (child) {
47795
47982
  return isCollapsed ? $xeMenu.renderCollapseChildren(h, child, menuList) : $xeMenu.renderDefaultChildren(h, child, menuList);
47796
- })), initialized ? h('div', {
47983
+ })), footerSlot ? h('div', {
47984
+ class: 'vxe-menu--footer'
47985
+ }, footerSlot(stParams)) : renderEmptyElement($xeMenu), initialized ? h('div', {
47797
47986
  ref: 'refCollapseElem',
47798
47987
  class: ['vxe-menu--collapse-wrapper', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--collapsed', isCollapsed), 'is--enter', isEnterCollapse), 'is--loading', loading)],
47799
- style: collapseStyle,
47988
+ style: Object.assign({}, varStyle, collapseStyle),
47800
47989
  on: ons
47801
- }, [isCollapsed ? h('div', {
47802
- class: 'vxe-menu--item-list'
47990
+ }, isCollapsed ? [headerSlot ? h('div', {
47991
+ class: 'vxe-menu--header'
47992
+ }, headerSlot(stParams)) : renderEmptyElement($xeMenu), h('div', {
47993
+ class: 'vxe-menu--body'
47803
47994
  }, menuList.map(function (child) {
47804
47995
  return $xeMenu.renderDefaultChildren(h, child, menuList);
47805
- })) : renderEmptyElement($xeMenu)]) : renderEmptyElement($xeMenu),
47996
+ })), footerSlot ? h('div', {
47997
+ class: 'vxe-menu--footer'
47998
+ }, footerSlot(stParams)) : renderEmptyElement($xeMenu)] : []) : renderEmptyElement($xeMenu),
47806
47999
  /**
47807
48000
  * 加载中
47808
48001
  */
@@ -48454,12 +48647,12 @@ var lockScrollCssWidthKey = '--vxe-ui-modal-lock-scroll-view-width';
48454
48647
  var posTop = '';
48455
48648
  var posLeft = '';
48456
48649
  if (left && !leftCenter) {
48457
- posLeft = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(left) ? "".concat(left, "px") : left;
48650
+ posLeft = toCssUnit(left);
48458
48651
  } else {
48459
48652
  posLeft = "".concat(Math.max(marginSize, clientVisibleWidth / 2 - boxElem.offsetWidth / 2), "px");
48460
48653
  }
48461
48654
  if (top && !topCenter) {
48462
- posTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(top) ? "".concat(top, "px") : top;
48655
+ posTop = toCssUnit(top);
48463
48656
  } else {
48464
48657
  posTop = "".concat(Math.max(marginSize, clientVisibleHeight / 2 - boxElem.offsetHeight / 2), "px");
48465
48658
  }
@@ -66411,7 +66604,7 @@ function tree_select_createInternalData() {
66411
66604
  computePropsOpts: function computePropsOpts() {
66412
66605
  var $xeTreeSelect = this;
66413
66606
  var props = $xeTreeSelect;
66414
- return Object.assign({}, props.optionProps);
66607
+ return Object.assign({}, getConfig().treeSelect.optionProps, props.optionProps);
66415
66608
  },
66416
66609
  computeNodeKeyField: function computeNodeKeyField() {
66417
66610
  var $xeTreeSelect = this;