pro-design-vue 1.3.25 → 1.3.27

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 (65) hide show
  1. package/dist/index.full.js +141 -57
  2. package/dist/index.full.min.js +7 -7
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +7 -7
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +141 -58
  7. package/es/components/table/src/components/Body/Body.vue.d.ts +1 -1
  8. package/es/components/table/src/components/Body/BodyRow.vue.d.ts +1 -1
  9. package/es/components/table/src/components/Body/BodyRows.vue.d.ts +1 -1
  10. package/es/components/table/src/components/InteralTable.vue.d.ts +1 -1
  11. package/es/components/table/src/components/interface.d.ts +9 -0
  12. package/es/components/table/src/hooks/useEdit.d.ts +1 -1
  13. package/es/hooks/index.d.ts +1 -0
  14. package/es/hooks/use-fetch-data/index.d.ts +3 -0
  15. package/es/index.d.ts +12 -0
  16. package/es/index.mjs +1 -0
  17. package/es/index.mjs.map +1 -1
  18. package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -1
  19. package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -1
  20. package/es/packages/components/table/src/components/Body/BodyCellTooltip.mjs +1 -1
  21. package/es/packages/components/table/src/components/Body/BodyCellTooltip.mjs.map +1 -1
  22. package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +118 -55
  23. package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -1
  24. package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +1 -1
  25. package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  26. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  27. package/es/packages/components/table/src/components/interface.mjs.map +1 -1
  28. package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
  29. package/es/packages/hooks/index.mjs +1 -0
  30. package/es/packages/hooks/index.mjs.map +1 -1
  31. package/es/packages/hooks/use-fetch-data/index.mjs +25 -0
  32. package/es/packages/hooks/use-fetch-data/index.mjs.map +1 -0
  33. package/es/version.d.ts +1 -1
  34. package/es/version.mjs +1 -1
  35. package/es/version.mjs.map +1 -1
  36. package/lib/components/table/src/components/Body/Body.vue.d.ts +1 -1
  37. package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +1 -1
  38. package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +1 -1
  39. package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -1
  40. package/lib/components/table/src/components/interface.d.ts +9 -0
  41. package/lib/components/table/src/hooks/useEdit.d.ts +1 -1
  42. package/lib/hooks/index.d.ts +1 -0
  43. package/lib/hooks/use-fetch-data/index.d.ts +3 -0
  44. package/lib/index.d.ts +12 -0
  45. package/lib/index.js +2 -0
  46. package/lib/index.js.map +1 -1
  47. package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -1
  48. package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -1
  49. package/lib/packages/components/table/src/components/Body/BodyCellTooltip.js +1 -1
  50. package/lib/packages/components/table/src/components/Body/BodyCellTooltip.js.map +1 -1
  51. package/lib/packages/components/table/src/components/Body/BodyEditCell.js +116 -53
  52. package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -1
  53. package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +1 -1
  54. package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  55. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  56. package/lib/packages/components/table/src/components/interface.js.map +1 -1
  57. package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
  58. package/lib/packages/hooks/index.js +2 -0
  59. package/lib/packages/hooks/index.js.map +1 -1
  60. package/lib/packages/hooks/use-fetch-data/index.js +27 -0
  61. package/lib/packages/hooks/use-fetch-data/index.js.map +1 -0
  62. package/lib/version.d.ts +1 -1
  63. package/lib/version.js +1 -1
  64. package/lib/version.js.map +1 -1
  65. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /*! Pro Design Vue v1.3.25 */
1
+ /*! Pro Design Vue v1.3.27 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('ant-design-vue'), require('vue'), require('ant-design-vue/es/locale/zh_CN.js')) :
@@ -32,7 +32,7 @@
32
32
  const DEFAULT_NAMESPACE = "pro";
33
33
  const DEFAULT_LOCALE = "zh-CN";
34
34
 
35
- const version$1 = "1.3.25";
35
+ const version$1 = "1.3.27";
36
36
 
37
37
  const makeInstaller = (components = []) => {
38
38
  const install = (app) => {
@@ -10121,6 +10121,27 @@
10121
10121
  return [innerValue, triggerChange];
10122
10122
  }
10123
10123
 
10124
+ function useFetchData$2(props) {
10125
+ const abortRef = vue.ref(null);
10126
+ const fetchData = async (params, index) => {
10127
+ var _a, _b;
10128
+ (_a = abortRef.value) == null ? void 0 : _a.abort();
10129
+ const abort = new AbortController();
10130
+ abortRef.value = abort;
10131
+ const loadData = await Promise.race([
10132
+ (_b = props.request) == null ? void 0 : _b.call(props, params, index),
10133
+ new Promise((_, reject) => {
10134
+ var _a2, _b2;
10135
+ (_b2 = (_a2 = abortRef.value) == null ? void 0 : _a2.signal) == null ? void 0 : _b2.addEventListener("abort", () => {
10136
+ reject(new Error("aborted"));
10137
+ });
10138
+ })
10139
+ ]);
10140
+ return loadData;
10141
+ };
10142
+ return fetchData;
10143
+ }
10144
+
10124
10145
  const _hoisted_1$g = ["src"];
10125
10146
  var _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
10126
10147
  __name: "icon",
@@ -32236,7 +32257,7 @@
32236
32257
  var _a;
32237
32258
  if (shouldOpen.value) {
32238
32259
  return vue.createVNode(antDesignVue.Tooltip, vue.mergeProps({
32239
- "get-popup-container": props.getPopupContainer,
32260
+ "get-popup-container": () => document.body,
32240
32261
  "align": align.value
32241
32262
  }, props.tooltipProps, {
32242
32263
  "open": props.open,
@@ -32666,24 +32687,27 @@
32666
32687
  },
32667
32688
  emits: ["closeEditor", "keydown"],
32668
32689
  setup(props) {
32690
+ var _a;
32691
+ const loading = vue.ref(false);
32669
32692
  const tableContext = useInjectTable();
32670
32693
  const level = useInjectLevel();
32694
+ const fetchOptions = vue.ref();
32671
32695
  const columnKey = vue.computed(() => props.column.columnKey);
32672
32696
  const recordIndexs = vue.computed(() => tableContext.getIndexsByKey(props.rowKey));
32673
- const childrenColumnName = vue.computed(() => tableContext.props.childrenColumnName || "children");
32674
32697
  const valueEnum = vue.computed(() => {
32675
- var _a;
32676
- return parsingValueEnumToArray(runFunction((_a = props.column) == null ? void 0 : _a.valueEnum, props.item));
32698
+ var _a2;
32699
+ return parsingValueEnumToArray(runFunction((_a2 = props.column) == null ? void 0 : _a2.valueEnum, props.item));
32677
32700
  });
32701
+ const originValue = get(props.item, props.column.dataIndex);
32678
32702
  const errorList = vue.ref();
32679
32703
  const {
32680
32704
  editRowsMap,
32681
32705
  setEditingCell
32682
32706
  } = useEditInject();
32683
- const cellValue = vue.computed(() => props.column.dataIndex ? get(!props.isRowEdit ? props.item : props.editRow, props.column.dataIndex) : void 0);
32707
+ const cellValue = vue.computed(() => props.column.dataIndex ? get(props.editRow, props.column.dataIndex) : void 0);
32684
32708
  const cellRender = vue.computed(() => {
32685
- var _a, _b;
32686
- return ((_b = (_a = tableContext.allCellProps.value) == null ? void 0 : _a[props.rowKey]) == null ? void 0 : _b[props.column.columnKey]) || {};
32709
+ var _a2, _b;
32710
+ return ((_b = (_a2 = tableContext.allCellProps.value) == null ? void 0 : _a2[props.rowKey]) == null ? void 0 : _b[props.column.columnKey]) || {};
32687
32711
  });
32688
32712
  const cellProps = vue.computed(() => cellRender.value.props || {});
32689
32713
  const cellRowSpan = vue.computed(() => cellProps.value.rowSpan);
@@ -32691,8 +32715,8 @@
32691
32715
  key
32692
32716
  }) => key === columnKey.value));
32693
32717
  const sorterOrder = vue.computed(() => {
32694
- var _a;
32695
- return sorterState.value ? (_a = sorterState.value) == null ? void 0 : _a.sortOrder : null;
32718
+ var _a2;
32719
+ return sorterState.value ? (_a2 = sorterState.value) == null ? void 0 : _a2.sortOrder : null;
32696
32720
  });
32697
32721
  const cellClass = vue.computed(() => ({
32698
32722
  [`${props.prefixCls}-cell`]: true,
@@ -32702,26 +32726,41 @@
32702
32726
  [`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,
32703
32727
  [`${props.prefixCls}-column-sort`]: sorterOrder.value
32704
32728
  }));
32729
+ const hasFetchOptions = vue.computed(() => {
32730
+ var _a2, _b, _c;
32731
+ return ((_a2 = props.column.edit) == null ? void 0 : _a2.request) && ((_c = (_b = props.column.edit) == null ? void 0 : _b.dependencies) == null ? void 0 : _c.length);
32732
+ });
32705
32733
  const rules = vue.computed(() => {
32706
- var _a, _b;
32707
- return (_b = runFunction((_a = props.column.edit) == null ? void 0 : _a.rules, {
32734
+ var _a2, _b;
32735
+ return (_b = runFunction((_a2 = props.column.edit) == null ? void 0 : _a2.rules, {
32708
32736
  column: props.column,
32709
- record: props.isRowEdit ? props.editRow : props.item,
32737
+ record: props.editRow,
32710
32738
  recordIndexs: recordIndexs.value,
32711
32739
  newValue: cellValue.value
32712
32740
  })) != null ? _b : [];
32713
32741
  });
32714
32742
  const validateEnabled = vue.computed(() => rules.value.length > 0);
32715
32743
  const editValue = vue.ref();
32744
+ const updateEditedCellValue = (key, value) => {
32745
+ setTimeout(() => {
32746
+ const editRow = {
32747
+ ...props.editRow
32748
+ };
32749
+ set(editRow, key, value);
32750
+ editRowsMap.value[props.rowKey] = editRow;
32751
+ vue.triggerRef(editRowsMap);
32752
+ }, 10);
32753
+ };
32716
32754
  const cellParams = vue.computed(() => ({
32717
32755
  column: props.column,
32718
- record: !props.isRowEdit ? props.item : props.editRow,
32756
+ record: props.editRow,
32719
32757
  recordIndexs: recordIndexs.value,
32720
- value: editValue.value
32758
+ value: editValue.value,
32759
+ updateEditedCellValue
32721
32760
  }));
32722
32761
  const editOnListeners = vue.computed(() => {
32723
- var _a, _b;
32724
- return ((_b = (_a = props.column.edit) == null ? void 0 : _a.on) == null ? void 0 : _b.call(_a, {
32762
+ var _a2, _b;
32763
+ return ((_b = (_a2 = props.column.edit) == null ? void 0 : _a2.on) == null ? void 0 : _b.call(_a2, {
32725
32764
  ...cellParams.value
32726
32765
  })) || {};
32727
32766
  });
@@ -32734,8 +32773,8 @@
32734
32773
  };
32735
32774
  });
32736
32775
  const options = vue.computed(() => {
32737
- var _a, _b;
32738
- return (_b = (_a = editProps.value) == null ? void 0 : _a.options) != null ? _b : valueEnum.value;
32776
+ var _a2, _b, _c;
32777
+ return (_c = (_b = fetchOptions.value) != null ? _b : (_a2 = editProps.value) == null ? void 0 : _a2.options) != null ? _c : valueEnum.value;
32739
32778
  });
32740
32779
  const componentProps = vue.computed(() => {
32741
32780
  const {
@@ -32756,6 +32795,10 @@
32756
32795
  resolve(true);
32757
32796
  return true;
32758
32797
  }
32798
+ if (isEqual(originValue, editValue.value) && !(originValue === void 0 || originValue === null || originValue === "")) {
32799
+ resolve(true);
32800
+ return true;
32801
+ }
32759
32802
  validate(editValue.value, rules.value).then((result) => {
32760
32803
  const list = result == null ? void 0 : result.filter((t) => !t.result);
32761
32804
  if (!list || !list.length) {
@@ -32768,48 +32811,88 @@
32768
32811
  });
32769
32812
  });
32770
32813
  };
32771
- const onEditChange = (val, ...args) => {
32772
- var _a, _b, _c, _d, _e, _f, _g, _h;
32814
+ const updateEditRow = () => {
32815
+ const editRow = {
32816
+ ...props.editRow
32817
+ };
32818
+ set(editRow, props.column.dataIndex, editValue.value);
32819
+ editRowsMap.value[props.rowKey] = {
32820
+ ...editRow
32821
+ };
32822
+ vue.triggerRef(editRowsMap);
32823
+ };
32824
+ const fetchData = useFetchData$2({
32825
+ request: (_a = props.column.edit) == null ? void 0 : _a.request
32826
+ });
32827
+ const requestOptions = debounce(async (newRow) => {
32828
+ var _a2, _b;
32829
+ const row = {
32830
+ ...props.item,
32831
+ ...newRow
32832
+ };
32773
32833
  const params = {
32774
- column: props.column,
32775
- record: props.isRowEdit ? props.editRow : props.item,
32776
- recordIndexs: recordIndexs.value,
32777
- newValue: cellValue.value
32834
+ rowKey: props.rowKey
32778
32835
  };
32779
- const value = (_c = (_b = (_a = props.column.edit) == null ? void 0 : _a.valueParser) == null ? void 0 : _b.call(_a, params)) != null ? _c : editValue.value;
32780
- const valueSetter = (_d = props.column.edit) == null ? void 0 : _d.valueSetter;
32836
+ (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.dependencies) == null ? void 0 : _b.forEach((dataIndex) => {
32837
+ const newValue = get(row, dataIndex);
32838
+ set(params, dataIndex, newValue);
32839
+ });
32840
+ loading.value = true;
32841
+ const result = await fetchData(params);
32842
+ fetchOptions.value = result;
32843
+ loading.value = false;
32844
+ }, 200);
32845
+ const onEditChange = (val, ...args) => {
32846
+ var _a2, _b, _c, _d, _e;
32847
+ const valueSetter = (_a2 = props.column.edit) == null ? void 0 : _a2.valueSetter;
32781
32848
  if (valueSetter) {
32782
- valueSetter(params);
32849
+ valueSetter(cellParams.value);
32783
32850
  } else {
32784
- (_f = (_e = editProps.value) == null ? void 0 : _e.onChange) == null ? void 0 : _f.call(_e, val, ...args);
32785
- (_h = (_g = editOnListeners.value) == null ? void 0 : _g.onChange) == null ? void 0 : _h.call(_g, params);
32786
- if (props.isRowEdit) {
32787
- const record = {
32788
- ...props.editRow
32789
- };
32790
- set(record, props.column.dataIndex, value);
32791
- editRowsMap.value[props.rowKey] = record;
32792
- vue.triggerRef(editRowsMap);
32793
- } else {
32794
- let record = {};
32795
- let dataSource = tableContext.rawData.value || [];
32796
- recordIndexs.value.forEach((index) => {
32797
- record = dataSource[index];
32798
- dataSource = record[childrenColumnName.value] || [];
32799
- });
32800
- set(record, props.column.dataIndex, value);
32801
- vue.triggerRef(tableContext.rawData);
32802
- }
32851
+ (_c = (_b = editProps.value) == null ? void 0 : _b.onChange) == null ? void 0 : _c.call(_b, val, ...args, cellParams.value);
32852
+ (_e = (_d = editOnListeners.value) == null ? void 0 : _d.onChange) == null ? void 0 : _e.call(_d, cellParams.value);
32853
+ updateEditRow();
32803
32854
  }
32804
32855
  validateEdit();
32805
32856
  };
32857
+ const updateRecordValue = debounce(async (newValue) => {
32858
+ let record = {};
32859
+ let dataSource = tableContext.rawData.value || [];
32860
+ recordIndexs.value.forEach((index) => {
32861
+ record = dataSource[index];
32862
+ dataSource = record[tableContext.childrenColumnName.value] || [];
32863
+ });
32864
+ set(record, props.column.dataIndex, newValue);
32865
+ vue.triggerRef(tableContext.rawData);
32866
+ }, 200);
32806
32867
  vue.watch(cellValue, (value) => {
32807
- var _a, _b, _c;
32808
- editValue.value = (_c = (_b = (_a = props.column.edit) == null ? void 0 : _a.valueGetter) == null ? void 0 : _b.call(_a, cellParams.value)) != null ? _c : value;
32868
+ var _a2, _b, _c;
32869
+ editValue.value = (_c = (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.valueGetter) == null ? void 0 : _b.call(_a2, cellParams.value)) != null ? _c : value;
32870
+ if (!props.isRowEdit) {
32871
+ updateRecordValue(value);
32872
+ }
32809
32873
  }, {
32810
32874
  immediate: true
32811
32875
  });
32876
+ vue.watch(() => props.editRow, (newRow, oldRow) => {
32877
+ var _a2, _b;
32878
+ if (hasFetchOptions.value) {
32879
+ const isSame = (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.dependencies) == null ? void 0 : _b.every((dataIndex) => {
32880
+ const newValue = get(newRow, dataIndex);
32881
+ const oldIndex = get(oldRow, dataIndex);
32882
+ return isEqual(newValue, oldIndex);
32883
+ });
32884
+ if (!isSame) {
32885
+ requestOptions(newRow);
32886
+ }
32887
+ }
32888
+ });
32812
32889
  vue.onMounted(() => {
32890
+ if (!props.isRowEdit && !editRowsMap.value[props.rowKey]) {
32891
+ editRowsMap.value[props.rowKey] = {
32892
+ ...props.item
32893
+ };
32894
+ vue.triggerRef(editRowsMap);
32895
+ }
32813
32896
  setEditingCell({
32814
32897
  recordIndexs: recordIndexs.value,
32815
32898
  column: props.column,
@@ -32821,7 +32904,7 @@
32821
32904
  }, true);
32822
32905
  });
32823
32906
  vue.onUnmounted(() => {
32824
- var _a, _b, _c;
32907
+ var _a2, _b, _c;
32825
32908
  setEditingCell({
32826
32909
  recordIndexs: recordIndexs.value,
32827
32910
  column: props.column,
@@ -32831,11 +32914,11 @@
32831
32914
  columnKey: props.column.columnKey,
32832
32915
  validateEdit
32833
32916
  }, false);
32834
- (_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
32917
+ (_c = (_b = (_a2 = props.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
32835
32918
  });
32836
32919
  return () => {
32837
- var _a, _b, _c, _d;
32838
- const Component = (_a = props.column.edit) == null ? void 0 : _a.component;
32920
+ var _a2, _b, _c, _d;
32921
+ const Component = (_a2 = props.column.edit) == null ? void 0 : _a2.component;
32839
32922
  const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
32840
32923
  const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
32841
32924
  const tmpEditOnListeners = {
@@ -32873,10 +32956,10 @@
32873
32956
  "class": `${props.prefixCls}-cell-content-error`
32874
32957
  }, [vue.createVNode(CloseCircleFilled, null, null)])],
32875
32958
  content: () => {
32876
- var _a2;
32959
+ var _a3;
32877
32960
  return vue.createVNode("div", {
32878
32961
  "class": `${props.prefixCls}-cell-content-error-message`
32879
- }, [(_a2 = errorList.value) == null ? void 0 : _a2.map((error) => vue.createVNode("div", {
32962
+ }, [(_a3 = errorList.value) == null ? void 0 : _a3.map((error) => vue.createVNode("div", {
32880
32963
  "key": error.message
32881
32964
  }, [error.message]))]);
32882
32965
  }
@@ -33833,7 +33916,7 @@
33833
33916
  record: _ctx.record,
33834
33917
  onMouseenter: ($event) => _ctx.handleCellHover(_ctx.rowKey, column.columnKey, _ctx.tableContext.draggingRowKey.value),
33835
33918
  onMouseleave: _ctx.handleCellBlur
33836
- }, null, 8, ["prefix-cls", "row-key", "row-index", "type", "column", "expanded", "expandIconType", "support-expand", "record", "onMouseenter", "onMouseleave"])) : column && ((_b = column.edit) == null ? void 0 : _b.component) && _ctx.isCurrentEditRow ? (vue.openBlock(), vue.createBlock(_component_BodyCell, {
33919
+ }, null, 8, ["prefix-cls", "row-key", "row-index", "type", "column", "expanded", "expandIconType", "support-expand", "record", "onMouseenter", "onMouseleave"])) : column && ((_b = column.edit) == null ? void 0 : _b.component) ? (vue.openBlock(), vue.createBlock(_component_BodyCell, {
33837
33920
  key: 1,
33838
33921
  "prefix-cls": _ctx.prefixCls,
33839
33922
  item: _ctx.record,
@@ -39023,6 +39106,7 @@
39023
39106
  exports.thTHIntl = thTHIntl;
39024
39107
  exports.trTRIntl = trTRIntl;
39025
39108
  exports.ukUAIntl = ukUAIntl;
39109
+ exports.useFetchData = useFetchData$2;
39026
39110
  exports.useIntl = useIntl;
39027
39111
  exports.useIsMobile = useIsMobile;
39028
39112
  exports.useMergedState = useMergedState$1;