vxe-pc-ui 4.14.40 → 4.15.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 (51) hide show
  1. package/dist/all.esm.js +115 -28
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/cascader/src/cascader.js +76 -10
  5. package/es/form/render/index.js +25 -14
  6. package/es/form/style.css +4 -2
  7. package/es/form/style.min.css +1 -1
  8. package/es/style.css +1 -1
  9. package/es/style.min.css +1 -1
  10. package/es/tree-select/src/tree-select.js +12 -2
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-form/style.css +4 -2
  14. package/es/vxe-form/style.min.css +1 -1
  15. package/lib/cascader/src/cascader.js +89 -10
  16. package/lib/cascader/src/cascader.min.js +1 -1
  17. package/lib/form/render/index.js +32 -14
  18. package/lib/form/render/index.min.js +1 -1
  19. package/lib/form/style/style.css +4 -2
  20. package/lib/form/style/style.min.css +1 -1
  21. package/lib/index.umd.js +142 -28
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/style.min.css +1 -1
  25. package/lib/tree-select/src/tree-select.js +16 -2
  26. package/lib/tree-select/src/tree-select.min.js +1 -1
  27. package/lib/ui/index.js +1 -1
  28. package/lib/ui/index.min.js +1 -1
  29. package/lib/ui/src/log.js +1 -1
  30. package/lib/ui/src/log.min.js +1 -1
  31. package/lib/vxe-form/style/style.css +4 -2
  32. package/lib/vxe-form/style/style.min.css +1 -1
  33. package/package.json +1 -1
  34. package/packages/cascader/src/cascader.ts +78 -10
  35. package/packages/form/render/index.ts +28 -14
  36. package/packages/tree-select/src/tree-select.ts +12 -2
  37. package/styles/components/form.scss +4 -2
  38. package/types/components/cascader.d.ts +6 -2
  39. package/types/components/tree-select.d.ts +19 -1
  40. /package/es/icon/{iconfont.1781658330183.ttf → iconfont.1781675429363.ttf} +0 -0
  41. /package/es/icon/{iconfont.1781658330183.woff → iconfont.1781675429363.woff} +0 -0
  42. /package/es/icon/{iconfont.1781658330183.woff2 → iconfont.1781675429363.woff2} +0 -0
  43. /package/es/{iconfont.1781658330183.ttf → iconfont.1781675429363.ttf} +0 -0
  44. /package/es/{iconfont.1781658330183.woff → iconfont.1781675429363.woff} +0 -0
  45. /package/es/{iconfont.1781658330183.woff2 → iconfont.1781675429363.woff2} +0 -0
  46. /package/lib/icon/style/{iconfont.1781658330183.ttf → iconfont.1781675429363.ttf} +0 -0
  47. /package/lib/icon/style/{iconfont.1781658330183.woff → iconfont.1781675429363.woff} +0 -0
  48. /package/lib/icon/style/{iconfont.1781658330183.woff2 → iconfont.1781675429363.woff2} +0 -0
  49. /package/lib/{iconfont.1781658330183.ttf → iconfont.1781675429363.ttf} +0 -0
  50. /package/lib/{iconfont.1781658330183.woff → iconfont.1781675429363.woff} +0 -0
  51. /package/lib/{iconfont.1781658330183.woff2 → iconfont.1781675429363.woff2} +0 -0
package/dist/all.esm.js CHANGED
@@ -80,11 +80,11 @@ function checkDynamic() {
80
80
  }
81
81
  }
82
82
 
83
- const version$1 = `ui v${"4.14.40"}`;
83
+ const version$1 = `ui v${"4.15.1"}`;
84
84
  const warnLog = log.create('warn', version$1);
85
85
  const errLog = log.create('error', version$1);
86
86
 
87
- const version = "4.14.40";
87
+ const version = "4.15.1";
88
88
  VxeUI.uiVersion = version;
89
89
  VxeUI.dynamicApp = dynamicApp;
90
90
  function config(options) {
@@ -9806,6 +9806,10 @@ function createReactData$8() {
9806
9806
  function createInternalData$b() {
9807
9807
  return {
9808
9808
  // hpTimeout: undefined,
9809
+ listVirtualYOpts: {
9810
+ enabled: true,
9811
+ gt: 20
9812
+ },
9809
9813
  afterTreeList: [],
9810
9814
  treeFullData: [],
9811
9815
  afterVisibleList: [],
@@ -9857,7 +9861,15 @@ var VxeCascaderComponent = defineVxeComponent({
9857
9861
  default: () => getConfig$3().cascader.size || getConfig$3().size
9858
9862
  },
9859
9863
  treeConfig: Object,
9864
+ showRadio: {
9865
+ type: Boolean,
9866
+ default: () => getConfig$3().cascader.showRadio
9867
+ },
9860
9868
  radioConfig: Object,
9869
+ showCheckbox: {
9870
+ type: Boolean,
9871
+ default: () => getConfig$3().cascader.showCheckbox
9872
+ },
9861
9873
  checkboxConfig: Object,
9862
9874
  remote: Boolean,
9863
9875
  remoteConfig: Function,
@@ -10112,6 +10124,51 @@ var VxeCascaderComponent = defineVxeComponent({
10112
10124
  return item;
10113
10125
  }));
10114
10126
  };
10127
+ const handleSetCheckboxByNodeId = (nodeKeys, checked) => {
10128
+ const { nodeMaps } = internalData;
10129
+ if (nodeKeys) {
10130
+ if (!XEUtils.isArray(nodeKeys)) {
10131
+ nodeKeys = [nodeKeys];
10132
+ }
10133
+ const nodeList = [];
10134
+ nodeKeys.forEach((nodeKey) => {
10135
+ const nodeid = enNodeValue$1(nodeKey);
10136
+ const nodeItem = nodeMaps[nodeid];
10137
+ if (nodeItem) {
10138
+ nodeList.push(nodeItem.item);
10139
+ }
10140
+ });
10141
+ handleCheckedCheckboxNode(nodeList);
10142
+ }
10143
+ return nextTick();
10144
+ };
10145
+ const updateCheckboxChecked = (nodeKeys) => {
10146
+ internalData.selectCheckboxMaps = {};
10147
+ handleSetCheckboxByNodeId(nodeKeys);
10148
+ };
10149
+ const updateModelChecked = () => {
10150
+ const { modelValue } = props;
10151
+ const { nodeMaps } = internalData;
10152
+ const expandedMaps = {};
10153
+ if (props.multiple) {
10154
+ if (modelValue && modelValue.length) {
10155
+ updateCheckboxChecked(modelValue);
10156
+ }
10157
+ }
10158
+ else {
10159
+ if (modelValue) {
10160
+ const nodeid = enNodeValue$1(XEUtils.isArray(modelValue) ? modelValue[0] : modelValue);
10161
+ const itemRest = nodeMaps[nodeid];
10162
+ if (itemRest) {
10163
+ itemRest.nodes.forEach(item => {
10164
+ expandedMaps[getNodeId(item)] = true;
10165
+ });
10166
+ reactData.selectRadioKey = nodeid;
10167
+ }
10168
+ }
10169
+ }
10170
+ internalData.treeExpandedMaps = expandedMaps;
10171
+ };
10115
10172
  const cacheNodeMap = () => {
10116
10173
  const { separator } = props;
10117
10174
  const { treeFullData } = internalData;
@@ -10325,6 +10382,7 @@ var VxeCascaderComponent = defineVxeComponent({
10325
10382
  internalData.treeFullData = fullData;
10326
10383
  cacheNodeMap();
10327
10384
  handleData(true);
10385
+ updateModelChecked();
10328
10386
  handleCurrentItems();
10329
10387
  updateCurrentChunk();
10330
10388
  return nextTick();
@@ -10354,11 +10412,14 @@ var VxeCascaderComponent = defineVxeComponent({
10354
10412
  const { treeFullData } = internalData;
10355
10413
  const selectVals = computeSelectVals.value;
10356
10414
  const childrenField = computeChildrenField.value;
10415
+ const mapChildrenField = computeMapChildrenField.value;
10416
+ const treeOpts = computeTreeOpts.value;
10417
+ const { transform } = treeOpts;
10357
10418
  const stItems = [];
10358
10419
  const expandedMaps = {};
10359
10420
  if (selectVals.length) {
10360
- const lastVal = XEUtils.last(selectVals);
10361
- const stRest = XEUtils.findTree(treeFullData, (item) => lastVal === getNodeId(item), { children: childrenField });
10421
+ const lastVal = enNodeValue$1(XEUtils.last(selectVals));
10422
+ const stRest = XEUtils.findTree(treeFullData, (item) => lastVal === getNodeId(item), { children: transform ? mapChildrenField : childrenField });
10362
10423
  if (stRest) {
10363
10424
  const { nodes } = stRest;
10364
10425
  nodes.forEach(item => {
@@ -10884,7 +10945,7 @@ var VxeCascaderComponent = defineVxeComponent({
10884
10945
  changeEvent(evnt, value, node);
10885
10946
  };
10886
10947
  const handleNodeClickEvent = (evnt, node, chunks, chunkIndex) => {
10887
- const { multiple } = props;
10948
+ const { multiple, showCheckbox, showRadio } = props;
10888
10949
  const treeOpts = computeTreeOpts.value;
10889
10950
  const radioOpts = computeRadioOpts.value;
10890
10951
  const checkboxOpts = computeCheckboxOpts.value;
@@ -10903,13 +10964,13 @@ var VxeCascaderComponent = defineVxeComponent({
10903
10964
  toggleExpandEvent(evnt, node, chunks, chunkIndex);
10904
10965
  }
10905
10966
  if (multiple) {
10906
- if (checkboxOpts.trigger === 'node' || (!checkboxOpts.showIcon && (!childList || !childList.length))) {
10967
+ if (checkboxOpts.trigger === 'node' || (!showCheckbox && (!childList || !childList.length))) {
10907
10968
  triggerCheckbox = true;
10908
10969
  changeCheckboxEvent(evnt, node);
10909
10970
  }
10910
10971
  }
10911
10972
  else {
10912
- if (radioOpts.trigger === 'node' || (!radioOpts.showIcon && (!childList || !childList.length))) {
10973
+ if (radioOpts.trigger === 'node' || (!showRadio && (!childList || !childList.length))) {
10913
10974
  triggerRadio = true;
10914
10975
  changeRadioEvent(evnt, node);
10915
10976
  }
@@ -11037,10 +11098,11 @@ var VxeCascaderComponent = defineVxeComponent({
11037
11098
  return true;
11038
11099
  };
11039
11100
  const renderRadio = (node, isExistChild, nLevel, isChecked) => {
11101
+ const { showRadio } = props;
11040
11102
  const radioOpts = computeRadioOpts.value;
11041
- const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
11103
+ const { checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
11042
11104
  const isVisible = visibleMethod ? visibleMethod({ $cascader: $xeCascader, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
11043
- if (showIcon && isVisible) {
11105
+ if (showRadio && isVisible) {
11044
11106
  const isDisabled = checkMethod ? !checkMethod({ $cascader: $xeCascader, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
11045
11107
  return h('div', {
11046
11108
  class: ['vxe-tree--radio-option', {
@@ -11061,10 +11123,11 @@ var VxeCascaderComponent = defineVxeComponent({
11061
11123
  return renderEmptyElement($xeCascader);
11062
11124
  };
11063
11125
  const renderCheckbox = (node, isExistChild, nLevel, isChecked, isIndeterminate) => {
11126
+ const { showCheckbox } = props;
11064
11127
  const checkboxOpts = computeCheckboxOpts.value;
11065
- const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
11128
+ const { checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
11066
11129
  const isVisible = visibleMethod ? visibleMethod({ $cascader: $xeCascader, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
11067
- if (showIcon && isVisible) {
11130
+ if (showCheckbox && isVisible) {
11068
11131
  const isDisabled = checkMethod ? !checkMethod({ $cascader: $xeCascader, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
11069
11132
  return h('div', {
11070
11133
  class: ['vxe-cascader--checkbox-option', {
@@ -11176,6 +11239,7 @@ var VxeCascaderComponent = defineVxeComponent({
11176
11239
  const renderVN = () => {
11177
11240
  const { className, modelValue, multiple, loading, filterable, showTotalButton, showCheckedButton, showClearButton, showCloseButton } = props;
11178
11241
  const { initialized, isActivated, isAniVisible, visiblePanel, searchValue, currentCunkList } = reactData;
11242
+ const { listVirtualYOpts } = internalData;
11179
11243
  const vSize = computeSize.value;
11180
11244
  const isDisabled = computeIsDisabled.value;
11181
11245
  const selectLabel = computeSelectLabel.value;
@@ -11311,7 +11375,8 @@ var VxeCascaderComponent = defineVxeComponent({
11311
11375
  class: 'vxe-cascader-chunk--item-wrapper'
11312
11376
  }, [
11313
11377
  h(VxeListComponent, {
11314
- data: chunks
11378
+ data: chunks,
11379
+ virtualYConfig: listVirtualYOpts
11315
11380
  }, {
11316
11381
  default(slotParams) {
11317
11382
  const { items } = slotParams;
@@ -11361,6 +11426,7 @@ var VxeCascaderComponent = defineVxeComponent({
11361
11426
  };
11362
11427
  watch(() => props.modelValue, () => {
11363
11428
  if (!reactData.visiblePanel) {
11429
+ updateModelChecked();
11364
11430
  handleCurrentItems();
11365
11431
  updateCurrentChunk();
11366
11432
  }
@@ -21631,15 +21697,15 @@ function oldFormItemRadioAndCheckboxRender(renderOpts, params) {
21631
21697
  */
21632
21698
  renderer.mixin({
21633
21699
  input: {
21634
- formItemAutoFocus: 'input',
21700
+ formItemAutoFocus: true,
21635
21701
  renderFormItemContent: nativeItemRender
21636
21702
  },
21637
21703
  textarea: {
21638
- formItemAutoFocus: 'textarea',
21704
+ formItemAutoFocus: true,
21639
21705
  renderFormItemContent: nativeItemRender
21640
21706
  },
21641
21707
  select: {
21642
- formItemAutoFocus: 'input',
21708
+ formItemAutoFocus: true,
21643
21709
  renderFormItemContent(renderOpts, params) {
21644
21710
  return [
21645
21711
  h('select', Object.assign(Object.assign({ class: 'vxe-default-select' }, getNativeAttrs(renderOpts)), getNativeItemOns(renderOpts, params)), renderOpts.optionGroups ? renderNativeOptgroup(renderOpts, params, renderNativeFormOptions) : renderNativeFormOptions(renderOpts.options, renderOpts, params))
@@ -21647,27 +21713,27 @@ renderer.mixin({
21647
21713
  }
21648
21714
  },
21649
21715
  VxeInput: {
21650
- formItemAutoFocus: 'input',
21716
+ formItemAutoFocus: true,
21651
21717
  renderFormItemContent: defaultItemRender
21652
21718
  },
21653
21719
  VxeNumberInput: {
21654
- formItemAutoFocus: 'input',
21720
+ formItemAutoFocus: true,
21655
21721
  renderFormItemContent: defaultItemRender
21656
21722
  },
21657
21723
  VxePasswordInput: {
21658
- formItemAutoFocus: 'input',
21724
+ formItemAutoFocus: true,
21659
21725
  renderFormItemContent: defaultItemRender
21660
21726
  },
21661
21727
  VxeTextarea: {
21662
- formItemAutoFocus: 'textarea',
21728
+ formItemAutoFocus: true,
21663
21729
  renderFormItemContent: defaultItemRender
21664
21730
  },
21665
21731
  VxeDatePicker: {
21666
- formItemAutoFocus: 'input',
21732
+ formItemAutoFocus: true,
21667
21733
  renderFormItemContent: defaultItemRender
21668
21734
  },
21669
21735
  VxeDateRangePicker: {
21670
- formItemAutoFocus: 'input',
21736
+ formItemAutoFocus: true,
21671
21737
  renderFormItemContent(renderOpts, params) {
21672
21738
  const { startField, endField } = renderOpts;
21673
21739
  const { $form, data, field } = params;
@@ -21719,7 +21785,7 @@ renderer.mixin({
21719
21785
  }
21720
21786
  },
21721
21787
  VxeSelect: {
21722
- formItemAutoFocus: 'input',
21788
+ formItemAutoFocus: true,
21723
21789
  renderFormItemContent(renderOpts, params) {
21724
21790
  const { data, field } = params;
21725
21791
  const { options, optionProps, optionGroups, optionGroupProps } = renderOpts;
@@ -21730,7 +21796,18 @@ renderer.mixin({
21730
21796
  }
21731
21797
  },
21732
21798
  VxeTreeSelect: {
21733
- formItemAutoFocus: 'input',
21799
+ formItemAutoFocus: true,
21800
+ renderFormItemContent(renderOpts, params) {
21801
+ const { data, field } = params;
21802
+ const { options, optionProps } = renderOpts;
21803
+ const itemValue = XEUtils.get(data, field);
21804
+ return [
21805
+ h(getDefaultComponent(renderOpts), Object.assign(Object.assign({}, getComponentFormItemProps(renderOpts, params, itemValue, { options, optionProps })), getItemOns(renderOpts, params)))
21806
+ ];
21807
+ }
21808
+ },
21809
+ VxeCascader: {
21810
+ formItemAutoFocus: true,
21734
21811
  renderFormItemContent(renderOpts, params) {
21735
21812
  const { data, field } = params;
21736
21813
  const { options, optionProps } = renderOpts;
@@ -21741,7 +21818,7 @@ renderer.mixin({
21741
21818
  }
21742
21819
  },
21743
21820
  VxeTableSelect: {
21744
- formItemAutoFocus: 'input',
21821
+ formItemAutoFocus: true,
21745
21822
  renderFormItemContent(renderOpts, params) {
21746
21823
  const { data, field } = params;
21747
21824
  const { options, optionProps } = renderOpts;
@@ -21752,7 +21829,7 @@ renderer.mixin({
21752
21829
  }
21753
21830
  },
21754
21831
  VxeColorPicker: {
21755
- formItemAutoFocus: 'input',
21832
+ formItemAutoFocus: true,
21756
21833
  renderFormItemContent(renderOpts, params) {
21757
21834
  const { data, field } = params;
21758
21835
  const { options } = renderOpts;
@@ -21763,7 +21840,7 @@ renderer.mixin({
21763
21840
  }
21764
21841
  },
21765
21842
  VxeIconPicker: {
21766
- formItemAutoFocus: 'input',
21843
+ formItemAutoFocus: true,
21767
21844
  renderFormItemContent(renderOpts, params) {
21768
21845
  const { data, field } = params;
21769
21846
  const { options } = renderOpts;
@@ -39836,6 +39913,14 @@ var VxeTreeSelectComponent = defineVxeComponent({
39836
39913
  },
39837
39914
  remote: Boolean,
39838
39915
  remoteConfig: Function,
39916
+ showRadio: {
39917
+ type: Boolean,
39918
+ default: () => getConfig$3().treeSelect.showRadio
39919
+ },
39920
+ showCheckbox: {
39921
+ type: Boolean,
39922
+ default: () => getConfig$3().treeSelect.showCheckbox
39923
+ },
39839
39924
  popupConfig: Object,
39840
39925
  treeConfig: Object,
39841
39926
  menuConfig: Object,
@@ -39968,17 +40053,19 @@ var VxeTreeSelectComponent = defineVxeComponent({
39968
40053
  return Object.assign({ isHover: true }, treeOpts.nodeConfig);
39969
40054
  });
39970
40055
  const computeTreeCheckboxOpts = computed(() => {
40056
+ const { showCheckbox } = props;
39971
40057
  const treeOpts = computeTreeOpts.value;
39972
40058
  return Object.assign({
39973
- showIcon: !!treeOpts.showCheckbox
40059
+ showIcon: XEUtils.isBoolean(showCheckbox) ? showCheckbox : !!treeOpts.showCheckbox
39974
40060
  }, treeOpts.checkboxConfig, {
39975
40061
  trigger: 'node'
39976
40062
  });
39977
40063
  });
39978
40064
  const computeTreeRadioOpts = computed(() => {
40065
+ const { showRadio } = props;
39979
40066
  const treeOpts = computeTreeOpts.value;
39980
40067
  return Object.assign({
39981
- showIcon: !!treeOpts.showRadio
40068
+ showIcon: XEUtils.isBoolean(showRadio) ? showRadio : !!treeOpts.showRadio
39982
40069
  }, treeOpts.radioConfig, {
39983
40070
  trigger: 'node'
39984
40071
  });