pro-design-vue 1.3.22 → 1.3.25

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 (32) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +53 -17
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +53 -17
  8. package/es/components/table/src/components/Body/BodyEditCell.d.ts +2 -1
  9. package/es/components/table/src/components/interface.d.ts +6 -11
  10. package/es/index.d.ts +6 -11
  11. package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +52 -16
  12. package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -1
  13. package/es/packages/components/table/src/components/interface.mjs.map +1 -1
  14. package/es/packages/components/table/src/hooks/useEdit.mjs +1 -1
  15. package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
  16. package/es/version.d.ts +1 -1
  17. package/es/version.mjs +1 -1
  18. package/es/version.mjs.map +1 -1
  19. package/lib/components/table/src/components/Body/BodyEditCell.d.ts +2 -1
  20. package/lib/components/table/src/components/interface.d.ts +6 -11
  21. package/lib/index.d.ts +6 -11
  22. package/lib/packages/components/table/src/components/Body/BodyEditCell.js +52 -15
  23. package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -1
  24. package/lib/packages/components/table/src/components/interface.js.map +1 -1
  25. package/lib/packages/components/table/src/hooks/useEdit.js +1 -1
  26. package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
  27. package/lib/version.d.ts +1 -1
  28. package/lib/version.js +1 -1
  29. package/lib/version.js.map +1 -1
  30. package/package.json +1 -1
  31. package/theme-chalk/index.css +1 -1
  32. package/theme-chalk/src/table/table.less +13 -0
@@ -1,4 +1,4 @@
1
- /*! Pro Design Vue v1.3.22 */
1
+ /*! Pro Design Vue v1.3.25 */
2
2
 
3
3
  import { Modal, theme as theme$1, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$1, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
4
4
  import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, watch, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, mergeProps, withCtx, normalizeProps, guardReactiveProps, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, createTextVNode, useAttrs, useTemplateRef, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, triggerRef, onBeforeUnmount, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent } from 'vue';
@@ -30,7 +30,7 @@ const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
30
30
  const DEFAULT_NAMESPACE = "pro";
31
31
  const DEFAULT_LOCALE = "zh-CN";
32
32
 
33
- const version$1 = "1.3.22";
33
+ const version$1 = "1.3.25";
34
34
 
35
35
  const makeInstaller = (components = []) => {
36
36
  const install = (app) => {
@@ -25155,7 +25155,7 @@ const useEditProvider = (props, {
25155
25155
  const closeKeys = editCellKeys.value.filter((cellKey) => cellKey !== key);
25156
25156
  const closeCells = closeKeys.map((key2) => editingCells.value[key2]).filter((cell) => {
25157
25157
  var _a2, _b;
25158
- return !((_b = (_a2 = cell.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.keepEditMode);
25158
+ return cell && !((_b = (_a2 = cell.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.keepEditMode);
25159
25159
  });
25160
25160
  const list = closeCells.map(
25161
25161
  (cell) => new Promise((resolve) => {
@@ -32606,6 +32606,34 @@ async function validate(value, rules) {
32606
32606
  return r;
32607
32607
  }
32608
32608
 
32609
+ const parsingValueEnumToArray = (valueEnum) => {
32610
+ const enumArray = [];
32611
+ const valueKeys = Object.keys(valueEnum != null ? valueEnum : {});
32612
+ if (!(valueKeys == null ? void 0 : valueKeys.length)) {
32613
+ return;
32614
+ }
32615
+ valueKeys.forEach((key) => {
32616
+ const value = valueEnum[key];
32617
+ if (!value) {
32618
+ return;
32619
+ }
32620
+ if (typeof value === "object" && (value == null ? void 0 : value.text)) {
32621
+ enumArray.push({
32622
+ text: value == null ? void 0 : value.text,
32623
+ value: key,
32624
+ label: value == null ? void 0 : value.text,
32625
+ disabled: value.disabled
32626
+ });
32627
+ return;
32628
+ }
32629
+ enumArray.push({
32630
+ text: value,
32631
+ value: key,
32632
+ label: value
32633
+ });
32634
+ });
32635
+ return enumArray;
32636
+ };
32609
32637
  var BodyEditCell = /* @__PURE__ */ defineComponent({
32610
32638
  inheritAttrs: false,
32611
32639
  props: {
@@ -32641,6 +32669,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
32641
32669
  const columnKey = computed(() => props.column.columnKey);
32642
32670
  const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey));
32643
32671
  const childrenColumnName = computed(() => tableContext.props.childrenColumnName || "children");
32672
+ const valueEnum = computed(() => {
32673
+ var _a;
32674
+ return parsingValueEnumToArray(runFunction((_a = props.column) == null ? void 0 : _a.valueEnum, props.item));
32675
+ });
32644
32676
  const errorList = ref();
32645
32677
  const {
32646
32678
  editRowsMap,
@@ -32699,8 +32731,11 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
32699
32731
  ...edit.props
32700
32732
  };
32701
32733
  });
32734
+ const options = computed(() => {
32735
+ var _a, _b;
32736
+ return (_b = (_a = editProps.value) == null ? void 0 : _a.options) != null ? _b : valueEnum.value;
32737
+ });
32702
32738
  const componentProps = computed(() => {
32703
- var _a;
32704
32739
  const {
32705
32740
  edit
32706
32741
  } = props.column;
@@ -32710,9 +32745,7 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
32710
32745
  };
32711
32746
  delete tmpProps.onChange;
32712
32747
  delete tmpProps.value;
32713
- (_a = edit.abortEditOnEvent) == null ? void 0 : _a.forEach((item) => {
32714
- delete tmpProps[item];
32715
- });
32748
+ delete tmpProps.options;
32716
32749
  return tmpProps;
32717
32750
  });
32718
32751
  const validateEdit = () => {
@@ -32796,17 +32829,17 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
32796
32829
  columnKey: props.column.columnKey,
32797
32830
  validateEdit
32798
32831
  }, false);
32799
- (_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, {
32800
- column: props.column,
32801
- record: props.isRowEdit ? props.editRow : props.item,
32802
- recordIndexs: recordIndexs.value,
32803
- value: cellValue.value
32804
- });
32832
+ (_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
32805
32833
  });
32806
32834
  return () => {
32807
- var _a, _b, _c;
32835
+ var _a, _b, _c, _d;
32808
32836
  const Component = (_a = props.column.edit) == null ? void 0 : _a.component;
32809
32837
  const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
32838
+ const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
32839
+ const tmpEditOnListeners = {
32840
+ ...editOnListeners.value
32841
+ };
32842
+ delete tmpEditOnListeners.onChange;
32810
32843
  return createVNode("div", mergeProps(cellProps.value, {
32811
32844
  "class": cellClass.value,
32812
32845
  "tabindex": "-1",
@@ -32826,9 +32859,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
32826
32859
  "value": editValue.value,
32827
32860
  "onUpdate:value": ($event) => editValue.value = $event,
32828
32861
  "getPopupContainer": () => document.body
32829
- }, componentProps.value, {
32862
+ }, componentProps.value, tmpEditOnListeners, {
32863
+ "options": options.value,
32830
32864
  "onChange": onEditChange
32831
- }), null), errorMessage && createVNode(Popover, {
32865
+ }), null), errorMessage && (!inlineError ? createVNode(Popover, {
32832
32866
  "arrowPointAtCenter": true,
32833
32867
  "placement": "topRight",
32834
32868
  "getPopupContainer": () => document.body
@@ -32844,7 +32878,9 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
32844
32878
  "key": error.message
32845
32879
  }, [error.message]))]);
32846
32880
  }
32847
- })])]);
32881
+ }) : createVNode("div", {
32882
+ "class": `${props.prefixCls}-cell-content-error-inline`
32883
+ }, [errorMessage]))])]);
32848
32884
  };
32849
32885
  }
32850
32886
  });
@@ -1,5 +1,6 @@
1
1
  import type { PropType } from 'vue';
2
- import type { FinallyColumnType, Key } from '../interface';
2
+ import type { FinallyColumnType, Key, ValueEnumType } from '../interface';
3
+ export declare const parsingValueEnumToArray: (valueEnum: Record<string, ValueEnumType>) => ValueEnumType[] | undefined;
3
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
5
  prefixCls: PropType<string>;
5
6
  rowIndex: {
@@ -1743,9 +1743,8 @@ export interface CellTooltip {
1743
1743
  }
1744
1744
  export interface EditableCellConfig<T = DefaultRecordType> {
1745
1745
  /**
1746
- * 除了点击非自身元素退出编辑态之外,还有哪些事件退出编辑态。示例:`abortEditOnEvent: ['onChange']`
1746
+ * 触发编辑的事件
1747
1747
  */
1748
- abortEditOnEvent?: string[];
1749
1748
  editableTrigger?: EditableTrigger | EditableTrigger[];
1750
1749
  /**
1751
1750
  * 组件定义,如:`Input` `Select`。对于完全自定义的组件(非组件库内的组件),组件需要支持 `value` 和 `onChange` ;如果还需要支持校验规则,则组件还需实现 `tips` 和 `status` 两个 API,实现规则可参考 `Input` 组件
@@ -1761,6 +1760,11 @@ export interface EditableCellConfig<T = DefaultRecordType> {
1761
1760
  * @default false
1762
1761
  */
1763
1762
  keepEditMode?: boolean;
1763
+ /**
1764
+ * 行内错误提示
1765
+ * @default false
1766
+ */
1767
+ inlineError?: boolean;
1764
1768
  /**
1765
1769
  * 是否可以编辑
1766
1770
  */
@@ -1786,15 +1790,6 @@ export interface EditableCellConfig<T = DefaultRecordType> {
1786
1790
  * 校验规则
1787
1791
  */
1788
1792
  rules?: EditableCellRules<T>;
1789
- /**
1790
- * 是否显示编辑图标
1791
- * @default true
1792
- */
1793
- /**
1794
- * 触发校验的时机,有 2 种:退出编辑时和数据变化时
1795
- * @default 'exit'
1796
- */
1797
- validateTrigger?: 'exit' | 'change';
1798
1793
  }
1799
1794
  export interface ColumnType<RecordType = DefaultRecordType> extends ColumnSharedType, Omit<ProFormItemType, 'key' | 'originKey' | 'tooltip' | 'hidden' | 'grid' | 'title' | 'spaceProps' | 'children' | 'width' | 'ignoreWidth' | 'name' | 'originName' | 'rowProps' | 'colProps' | 'valueEnum'> {
1800
1795
  search?: ProFormItemType;
package/es/index.d.ts CHANGED
@@ -5196,9 +5196,8 @@ declare const drawerOrModalFormProps: () => {
5196
5196
  };
5197
5197
  declare interface EditableCellConfig<T = DefaultRecordType> {
5198
5198
  /**
5199
- * 除了点击非自身元素退出编辑态之外,还有哪些事件退出编辑态。示例:`abortEditOnEvent: ['onChange']`
5199
+ * 触发编辑的事件
5200
5200
  */
5201
- abortEditOnEvent?: string[];
5202
5201
  editableTrigger?: EditableTrigger | EditableTrigger[];
5203
5202
  /**
5204
5203
  * 组件定义,如:`Input` `Select`。对于完全自定义的组件(非组件库内的组件),组件需要支持 `value` 和 `onChange` ;如果还需要支持校验规则,则组件还需实现 `tips` 和 `status` 两个 API,实现规则可参考 `Input` 组件
@@ -5214,6 +5213,11 @@ declare interface EditableCellConfig<T = DefaultRecordType> {
5214
5213
  * @default false
5215
5214
  */
5216
5215
  keepEditMode?: boolean;
5216
+ /**
5217
+ * 行内错误提示
5218
+ * @default false
5219
+ */
5220
+ inlineError?: boolean;
5217
5221
  /**
5218
5222
  * 是否可以编辑
5219
5223
  */
@@ -5239,15 +5243,6 @@ declare interface EditableCellConfig<T = DefaultRecordType> {
5239
5243
  * 校验规则
5240
5244
  */
5241
5245
  rules?: EditableCellRules<T>;
5242
- /**
5243
- * 是否显示编辑图标
5244
- * @default true
5245
- */
5246
- /**
5247
- * 触发校验的时机,有 2 种:退出编辑时和数据变化时
5248
- * @default 'exit'
5249
- */
5250
- validateTrigger?: "exit" | "change";
5251
5246
  }
5252
5247
  declare type EditableCellProps<T> = PlainObject | ((params: EditableValueParams<T>) => PlainObject);
5253
5248
  declare type EditableCellRules<T> = EditRule[] | ((params: EditableValueParams<T>) => EditRule[]);
@@ -5,10 +5,38 @@ import { useInjectLevel } from '../../hooks/useLevel.mjs';
5
5
  import { CloseCircleFilled } from '@ant-design/icons-vue';
6
6
  import { useEditInject } from '../../hooks/useEdit.mjs';
7
7
  import { validate } from '../../utils/form-model.mjs';
8
- import { get, set } from 'lodash-unified';
9
8
  import { runFunction } from '../../../../../utils/run-function.mjs';
9
+ import { get, set } from 'lodash-unified';
10
10
  import { isFunction } from '../../../../../utils/validate.mjs';
11
11
 
12
+ const parsingValueEnumToArray = (valueEnum) => {
13
+ const enumArray = [];
14
+ const valueKeys = Object.keys(valueEnum != null ? valueEnum : {});
15
+ if (!(valueKeys == null ? void 0 : valueKeys.length)) {
16
+ return;
17
+ }
18
+ valueKeys.forEach((key) => {
19
+ const value = valueEnum[key];
20
+ if (!value) {
21
+ return;
22
+ }
23
+ if (typeof value === "object" && (value == null ? void 0 : value.text)) {
24
+ enumArray.push({
25
+ text: value == null ? void 0 : value.text,
26
+ value: key,
27
+ label: value == null ? void 0 : value.text,
28
+ disabled: value.disabled
29
+ });
30
+ return;
31
+ }
32
+ enumArray.push({
33
+ text: value,
34
+ value: key,
35
+ label: value
36
+ });
37
+ });
38
+ return enumArray;
39
+ };
12
40
  var BodyEditCell = /* @__PURE__ */ defineComponent({
13
41
  inheritAttrs: false,
14
42
  props: {
@@ -44,6 +72,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
44
72
  const columnKey = computed(() => props.column.columnKey);
45
73
  const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey));
46
74
  const childrenColumnName = computed(() => tableContext.props.childrenColumnName || "children");
75
+ const valueEnum = computed(() => {
76
+ var _a;
77
+ return parsingValueEnumToArray(runFunction((_a = props.column) == null ? void 0 : _a.valueEnum, props.item));
78
+ });
47
79
  const errorList = ref();
48
80
  const {
49
81
  editRowsMap,
@@ -102,8 +134,11 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
102
134
  ...edit.props
103
135
  };
104
136
  });
137
+ const options = computed(() => {
138
+ var _a, _b;
139
+ return (_b = (_a = editProps.value) == null ? void 0 : _a.options) != null ? _b : valueEnum.value;
140
+ });
105
141
  const componentProps = computed(() => {
106
- var _a;
107
142
  const {
108
143
  edit
109
144
  } = props.column;
@@ -113,9 +148,7 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
113
148
  };
114
149
  delete tmpProps.onChange;
115
150
  delete tmpProps.value;
116
- (_a = edit.abortEditOnEvent) == null ? void 0 : _a.forEach((item) => {
117
- delete tmpProps[item];
118
- });
151
+ delete tmpProps.options;
119
152
  return tmpProps;
120
153
  });
121
154
  const validateEdit = () => {
@@ -199,17 +232,17 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
199
232
  columnKey: props.column.columnKey,
200
233
  validateEdit
201
234
  }, false);
202
- (_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, {
203
- column: props.column,
204
- record: props.isRowEdit ? props.editRow : props.item,
205
- recordIndexs: recordIndexs.value,
206
- value: cellValue.value
207
- });
235
+ (_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
208
236
  });
209
237
  return () => {
210
- var _a, _b, _c;
238
+ var _a, _b, _c, _d;
211
239
  const Component = (_a = props.column.edit) == null ? void 0 : _a.component;
212
240
  const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
241
+ const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
242
+ const tmpEditOnListeners = {
243
+ ...editOnListeners.value
244
+ };
245
+ delete tmpEditOnListeners.onChange;
213
246
  return createVNode("div", mergeProps(cellProps.value, {
214
247
  "class": cellClass.value,
215
248
  "tabindex": "-1",
@@ -229,9 +262,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
229
262
  "value": editValue.value,
230
263
  "onUpdate:value": ($event) => editValue.value = $event,
231
264
  "getPopupContainer": () => document.body
232
- }, componentProps.value, {
265
+ }, componentProps.value, tmpEditOnListeners, {
266
+ "options": options.value,
233
267
  "onChange": onEditChange
234
- }), null), errorMessage && createVNode(Popover, {
268
+ }), null), errorMessage && (!inlineError ? createVNode(Popover, {
235
269
  "arrowPointAtCenter": true,
236
270
  "placement": "topRight",
237
271
  "getPopupContainer": () => document.body
@@ -247,10 +281,12 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
247
281
  "key": error.message
248
282
  }, [error.message]))]);
249
283
  }
250
- })])]);
284
+ }) : createVNode("div", {
285
+ "class": `${props.prefixCls}-cell-content-error-inline`
286
+ }, [errorMessage]))])]);
251
287
  };
252
288
  }
253
289
  });
254
290
 
255
- export { BodyEditCell as default };
291
+ export { BodyEditCell as default, parsingValueEnumToArray };
256
292
  //# sourceMappingURL=BodyEditCell.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BodyEditCell.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyEditCell.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-11-27 10:42:18\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 16:12:31\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { AllValidateResult, FinallyColumnType, Key } from '../interface'\n\nimport { defineComponent, ref, computed, watch, triggerRef, onMounted, onUnmounted } from 'vue'\nimport { set, isFunction, get, runFunction } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { Popover } from 'ant-design-vue'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { CloseCircleFilled } from '@ant-design/icons-vue'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { validate } from '../../utils/form-model'\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] as PropType<Key> },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n isRowEdit: Boolean as PropType<boolean>,\n editRow: { type: Object as PropType<any> },\n },\n emits: ['closeEditor', 'keydown'],\n setup(props) {\n const tableContext = useInjectTable()\n const level = useInjectLevel()\n const columnKey = computed(() => props.column!.columnKey)\n const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey!))\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n const errorList = ref<AllValidateResult[]>()\n const { editRowsMap, setEditingCell } = useEditInject()\n const cellValue = computed(() =>\n props.column!.dataIndex\n ? get(!props.isRowEdit ? props.item : props.editRow, props.column!.dataIndex)\n : undefined,\n )\n const cellRender = computed(\n () => tableContext.allCellProps.value?.[props.rowKey!]?.[props.column!.columnKey] || {},\n )\n const cellProps: any = computed(() => cellRender.value.props || {})\n const cellRowSpan = computed(() => cellProps.value.rowSpan!)\n\n const sorterState = computed(() =>\n tableContext.sorterStates.value.find(({ key }) => key === columnKey.value),\n )\n const sorterOrder = computed(() => (sorterState.value ? sorterState.value?.sortOrder : null))\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-first-cell`]: props.column!.columnIndex === 0,\n [`${props.prefixCls}-body-cell`]: true,\n [`${props.prefixCls}-cell-multi`]: cellRowSpan.value > 1,\n [`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,\n [`${props.prefixCls}-column-sort`]: sorterOrder.value,\n }))\n\n const rules = computed(() => {\n return (\n runFunction(props.column.edit?.rules, {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }) ?? []\n )\n })\n\n const validateEnabled = computed(() => rules.value.length > 0)\n\n const editValue = ref()\n const cellParams = computed(() => ({\n column: props.column,\n record: !props.isRowEdit ? props.item : props.editRow,\n recordIndexs: recordIndexs.value!,\n value: editValue.value,\n }))\n\n const editOnListeners = computed(() => {\n return props.column.edit?.on?.({ ...cellParams.value }) || {}\n })\n\n const editProps = computed(() => {\n const { edit = {} } = props.column\n return isFunction(edit.props) ? edit.props(cellParams.value) : { ...edit.props }\n })\n\n const componentProps = computed(() => {\n const { edit } = props.column\n if (!edit) return {}\n const tmpProps = { ...editProps.value }\n delete tmpProps.onChange\n delete tmpProps.value\n edit.abortEditOnEvent?.forEach((item) => {\n delete tmpProps[item]\n })\n return tmpProps\n })\n\n const validateEdit = (): Promise<true | AllValidateResult[]> => {\n return new Promise((resolve) => {\n if (!validateEnabled.value) {\n resolve(true)\n return true\n }\n validate(editValue.value, rules.value).then((result) => {\n const list = result?.filter((t) => !t.result)\n if (!list || !list.length) {\n errorList.value = []\n resolve(true)\n } else {\n errorList.value = list\n resolve(list)\n }\n })\n })\n }\n\n const onEditChange = (val: any, ...args: any) => {\n const params: any = {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }\n const value = props.column.edit?.valueParser?.(params) ?? editValue.value\n const valueSetter = props.column.edit?.valueSetter\n if (valueSetter) {\n valueSetter(params)\n } else {\n editProps.value?.onChange?.(val, ...args)\n editOnListeners.value?.onChange?.(params)\n if (props.isRowEdit) {\n const record = { ...props.editRow }\n set(record, props.column.dataIndex!, value)\n editRowsMap.value[props.rowKey!] = record\n triggerRef(editRowsMap)\n } else {\n let record: any = {}\n let dataSource = tableContext.rawData.value || []\n recordIndexs.value.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n set(record, props.column.dataIndex!, value)\n triggerRef(tableContext.rawData)\n }\n }\n validateEdit()\n }\n\n watch(\n cellValue,\n (value) => {\n editValue.value = props.column.edit?.valueGetter?.(cellParams.value) ?? value\n },\n { immediate: true },\n )\n\n onMounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n true,\n )\n })\n\n onUnmounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n false,\n )\n props.column?.edit?.onEdited?.({\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n value: cellValue.value,\n })\n })\n\n return () => {\n const Component = props.column.edit?.component\n const errorMessage = errorList.value?.[0]?.message\n return (\n <div\n {...cellProps.value}\n class={cellClass.value}\n tabindex=\"-1\"\n role=\"cell\"\n data-column-key={columnKey.value}\n data-level={level}\n aria-selected=\"true\"\n onClick={(e: MouseEvent) => {\n e.stopPropagation()\n }}\n >\n <div class={`${props.prefixCls}-cell-content`} style=\"width: 100%; position:relative\">\n <Component\n style=\"width: 100%\"\n status={errorMessage ? 'error' : undefined}\n v-model:value={editValue.value}\n getPopupContainer={() => document.body}\n {...componentProps.value}\n onChange={onEditChange}\n />\n {errorMessage && (\n <Popover\n arrowPointAtCenter\n placement=\"topRight\"\n getPopupContainer={() => document.body}\n v-slots={{\n content: () => (\n <div class={`${props.prefixCls}-cell-content-error-message`}>\n {errorList.value?.map((error) => (\n <div key={error.message}>{error.message}</div>\n ))}\n </div>\n ),\n }}\n >\n <span class={`${props.prefixCls}-cell-content-error`}>\n <CloseCircleFilled />\n </span>\n </Popover>\n )}\n </div>\n </div>\n )\n }\n },\n})\n"],"names":["inheritAttrs","props","prefixCls","String","rowIndex","type","Number","required","flattenRowIndex","rowKey","column","Object","default","item","isRowEdit","Boolean","editRow","emits","setup","tableContext","useInjectTable","level","useInjectLevel","columnKey","computed","recordIndexs","getIndexsByKey","childrenColumnName","errorList","ref","editRowsMap","setEditingCell","useEditInject","cellValue","dataIndex","get","undefined","cellRender","allCellProps","value","cellProps","cellRowSpan","rowSpan","sorterState","sorterStates","find","key","sorterOrder","sortOrder","cellClass","columnIndex","rules","runFunction","edit","record","newValue","validateEnabled","length","editValue","cellParams","editOnListeners","on","editProps","isFunction","componentProps","tmpProps","onChange","abortEditOnEvent","forEach","validateEdit","Promise","resolve","validate","then","result","list","filter","t","onEditChange","val","args","params","valueParser","valueSetter","set","triggerRef","dataSource","rawData","index","watch","valueGetter","immediate","onMounted","originRecord","onUnmounted","onEdited","Component","component","errorMessage","message","_createVNode","_mergeProps","e","stopPropagation","$event","getPopupContainer","document","body","Popover","CloseCircleFilled","content","_a","map","error"],"mappings":"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"}
1
+ {"version":3,"file":"BodyEditCell.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyEditCell.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-11-27 10:42:18\n * @LastEditors: shen\n * @LastEditTime: 2025-12-03 09:23:19\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { AllValidateResult, FinallyColumnType, Key, ValueEnumType } from '../interface'\n\nimport { defineComponent, ref, computed, watch, triggerRef, onMounted, onUnmounted } from 'vue'\nimport { set, isFunction, get, runFunction } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { Popover } from 'ant-design-vue'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { CloseCircleFilled } from '@ant-design/icons-vue'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { validate } from '../../utils/form-model'\n\nexport const parsingValueEnumToArray = (\n valueEnum: Record<string, ValueEnumType>,\n): ValueEnumType[] | undefined => {\n const enumArray: ValueEnumType[] = []\n const valueKeys = Object.keys(valueEnum ?? {})\n if (!valueKeys?.length) {\n return\n }\n valueKeys.forEach((key) => {\n const value = valueEnum[key] as {\n text: string\n disabled?: boolean\n }\n\n if (!value) {\n return\n }\n\n if (typeof value === 'object' && value?.text) {\n enumArray.push({\n text: value?.text as unknown as string,\n value: key,\n label: value?.text as unknown as string,\n disabled: value.disabled,\n })\n return\n }\n enumArray.push({\n text: value as unknown as string,\n value: key,\n label: value as unknown as string,\n })\n })\n return enumArray\n}\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] as PropType<Key> },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n isRowEdit: Boolean as PropType<boolean>,\n editRow: { type: Object as PropType<any> },\n },\n emits: ['closeEditor', 'keydown'],\n setup(props) {\n const tableContext = useInjectTable()\n const level = useInjectLevel()\n const columnKey = computed(() => props.column!.columnKey)\n const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey!))\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n const valueEnum = computed(() =>\n parsingValueEnumToArray(runFunction(props.column?.valueEnum, props.item)),\n )\n const errorList = ref<AllValidateResult[]>()\n const { editRowsMap, setEditingCell } = useEditInject()\n const cellValue = computed(() =>\n props.column!.dataIndex\n ? get(!props.isRowEdit ? props.item : props.editRow, props.column!.dataIndex)\n : undefined,\n )\n const cellRender = computed(\n () => tableContext.allCellProps.value?.[props.rowKey!]?.[props.column!.columnKey] || {},\n )\n const cellProps: any = computed(() => cellRender.value.props || {})\n const cellRowSpan = computed(() => cellProps.value.rowSpan!)\n\n const sorterState = computed(() =>\n tableContext.sorterStates.value.find(({ key }) => key === columnKey.value),\n )\n const sorterOrder = computed(() => (sorterState.value ? sorterState.value?.sortOrder : null))\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-first-cell`]: props.column!.columnIndex === 0,\n [`${props.prefixCls}-body-cell`]: true,\n [`${props.prefixCls}-cell-multi`]: cellRowSpan.value > 1,\n [`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,\n [`${props.prefixCls}-column-sort`]: sorterOrder.value,\n }))\n\n const rules = computed(() => {\n return (\n runFunction(props.column.edit?.rules, {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }) ?? []\n )\n })\n\n const validateEnabled = computed(() => rules.value.length > 0)\n\n const editValue = ref()\n const cellParams = computed(() => ({\n column: props.column,\n record: !props.isRowEdit ? props.item : props.editRow,\n recordIndexs: recordIndexs.value!,\n value: editValue.value,\n }))\n\n const editOnListeners = computed(() => {\n return props.column.edit?.on?.({ ...cellParams.value }) || {}\n })\n\n const editProps = computed(() => {\n const { edit = {} } = props.column\n return isFunction(edit.props) ? edit.props(cellParams.value) : { ...edit.props }\n })\n\n const options = computed(() => editProps.value?.options ?? valueEnum.value)\n\n const componentProps = computed(() => {\n const { edit } = props.column\n if (!edit) return {}\n const tmpProps = { ...editProps.value }\n delete tmpProps.onChange\n delete tmpProps.value\n delete tmpProps.options\n return tmpProps\n })\n\n const validateEdit = (): Promise<true | AllValidateResult[]> => {\n return new Promise((resolve) => {\n if (!validateEnabled.value) {\n resolve(true)\n return true\n }\n validate(editValue.value, rules.value).then((result) => {\n const list = result?.filter((t) => !t.result)\n if (!list || !list.length) {\n errorList.value = []\n resolve(true)\n } else {\n errorList.value = list\n resolve(list)\n }\n })\n })\n }\n\n const onEditChange = (val: any, ...args: any) => {\n const params: any = {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }\n const value = props.column.edit?.valueParser?.(params) ?? editValue.value\n const valueSetter = props.column.edit?.valueSetter\n if (valueSetter) {\n valueSetter(params)\n } else {\n editProps.value?.onChange?.(val, ...args)\n editOnListeners.value?.onChange?.(params)\n if (props.isRowEdit) {\n const record = { ...props.editRow }\n set(record, props.column.dataIndex!, value)\n editRowsMap.value[props.rowKey!] = record\n triggerRef(editRowsMap)\n } else {\n let record: any = {}\n let dataSource = tableContext.rawData.value || []\n recordIndexs.value.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n set(record, props.column.dataIndex!, value)\n triggerRef(tableContext.rawData)\n }\n }\n validateEdit()\n }\n\n watch(\n cellValue,\n (value) => {\n editValue.value = props.column.edit?.valueGetter?.(cellParams.value) ?? value\n },\n { immediate: true },\n )\n\n onMounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n true,\n )\n })\n\n onUnmounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n false,\n )\n props.column?.edit?.onEdited?.(cellParams.value)\n })\n\n return () => {\n const Component = props.column.edit?.component\n const errorMessage = errorList.value?.[0]?.message\n const inlineError = props.column.edit?.inlineError\n const tmpEditOnListeners = { ...editOnListeners.value }\n delete tmpEditOnListeners.onChange\n return (\n <div\n {...cellProps.value}\n class={cellClass.value}\n tabindex=\"-1\"\n role=\"cell\"\n data-column-key={columnKey.value}\n data-level={level}\n aria-selected=\"true\"\n onClick={(e: MouseEvent) => {\n e.stopPropagation()\n }}\n >\n <div class={`${props.prefixCls}-cell-content`} style=\"width: 100%; position:relative\">\n <Component\n style=\"width: 100%\"\n status={errorMessage ? 'error' : undefined}\n v-model:value={editValue.value}\n getPopupContainer={() => document.body}\n {...componentProps.value}\n {...tmpEditOnListeners}\n options={options.value}\n onChange={onEditChange}\n />\n {errorMessage &&\n (!inlineError ? (\n <Popover\n arrowPointAtCenter\n placement=\"topRight\"\n getPopupContainer={() => document.body}\n v-slots={{\n content: () => (\n <div class={`${props.prefixCls}-cell-content-error-message`}>\n {errorList.value?.map((error) => (\n <div key={error.message}>{error.message}</div>\n ))}\n </div>\n ),\n }}\n >\n <span class={`${props.prefixCls}-cell-content-error`}>\n <CloseCircleFilled />\n </span>\n </Popover>\n ) : (\n <div class={`${props.prefixCls}-cell-content-error-inline`}>{errorMessage}</div>\n ))}\n </div>\n </div>\n )\n }\n },\n})\n"],"names":["parsingValueEnumToArray","valueEnum","enumArray","valueKeys","Object","keys","length","forEach","key","value","text","push","label","disabled","inheritAttrs","props","prefixCls","String","rowIndex","type","Number","required","flattenRowIndex","rowKey","column","default","item","isRowEdit","Boolean","editRow","emits","setup","tableContext","useInjectTable","level","useInjectLevel","columnKey","computed","recordIndexs","getIndexsByKey","childrenColumnName","runFunction","errorList","ref","editRowsMap","setEditingCell","useEditInject","cellValue","dataIndex","get","undefined","cellRender","allCellProps","cellProps","cellRowSpan","rowSpan","sorterState","sorterStates","find","sorterOrder","sortOrder","cellClass","columnIndex","rules","edit","record","newValue","validateEnabled","editValue","cellParams","editOnListeners","on","editProps","isFunction","options","componentProps","tmpProps","onChange","validateEdit","Promise","resolve","validate","then","result","list","filter","t","onEditChange","val","args","params","valueParser","valueSetter","set","triggerRef","dataSource","rawData","index","watch","valueGetter","immediate","onMounted","originRecord","onUnmounted","onEdited","Component","component","errorMessage","message","inlineError","tmpEditOnListeners","_createVNode","_mergeProps","e","stopPropagation","$event","getPopupContainer","document","body","Popover","CloseCircleFilled","content","_a","map","error"],"mappings":"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"}