pro-design-vue 1.3.23 → 1.3.26
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.
- package/dist/index.css +1 -1
- package/dist/index.full.js +144 -56
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -7
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +144 -57
- package/es/components/table/src/components/Body/Body.vue.d.ts +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +1 -1
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +1 -1
- package/es/components/table/src/components/interface.d.ts +8 -0
- package/es/components/table/src/hooks/useEdit.d.ts +1 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/use-fetch-data/index.d.ts +3 -0
- package/es/index.d.ts +11 -0
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +122 -55
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
- package/es/packages/hooks/index.mjs +1 -0
- package/es/packages/hooks/index.mjs.map +1 -1
- package/es/packages/hooks/use-fetch-data/index.mjs +25 -0
- package/es/packages/hooks/use-fetch-data/index.mjs.map +1 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue.d.ts +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +1 -1
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -1
- package/lib/components/table/src/components/interface.d.ts +8 -0
- package/lib/components/table/src/hooks/useEdit.d.ts +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/use-fetch-data/index.d.ts +3 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +120 -53
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
- package/lib/packages/hooks/index.js +2 -0
- package/lib/packages/hooks/index.js.map +1 -1
- package/lib/packages/hooks/use-fetch-data/index.js +27 -0
- package/lib/packages/hooks/use-fetch-data/index.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +2 -0
|
@@ -63,7 +63,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
63
|
isRowEdit: import("vue").ComputedRef<boolean>;
|
|
64
64
|
editRow: import("vue").ComputedRef<Record<string, any> | undefined>;
|
|
65
65
|
mergedEditableKeys: import("vue").Ref<Key[] | undefined, Key[] | undefined>;
|
|
66
|
-
openEditor: (key: string | string[]) => void;
|
|
66
|
+
openEditor: (key: string | string[], values?: Record<string, any>) => void;
|
|
67
67
|
closeEditor: (key: string) => void;
|
|
68
68
|
hoverRowKey: import("vue").Ref<Key, Key>;
|
|
69
69
|
hoverColumnKey: import("vue").Ref<Key, Key>;
|
|
@@ -95,7 +95,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
95
95
|
isRowEdit: import("vue").ComputedRef<boolean>;
|
|
96
96
|
editRow: import("vue").ComputedRef<Record<string, any> | undefined>;
|
|
97
97
|
mergedEditableKeys: import("vue").Ref<import("pro-design-vue").ProTableKey[] | undefined, import("pro-design-vue").ProTableKey[] | undefined>;
|
|
98
|
-
openEditor: (key: string | string[]) => void;
|
|
98
|
+
openEditor: (key: string | string[], values?: Record<string, any>) => void;
|
|
99
99
|
closeEditor: (key: string) => void;
|
|
100
100
|
hoverRowKey: import("vue").Ref<import("pro-design-vue").ProTableKey, import("pro-design-vue").ProTableKey>;
|
|
101
101
|
hoverColumnKey: import("vue").Ref<import("pro-design-vue").ProTableKey, import("pro-design-vue").ProTableKey>;
|
|
@@ -16567,7 +16567,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
16567
16567
|
isRowEdit: import("vue").ComputedRef<boolean>;
|
|
16568
16568
|
editRow: import("vue").ComputedRef<Record<string, any> | undefined>;
|
|
16569
16569
|
mergedEditableKeys: import("vue").Ref<Key[] | undefined, Key[] | undefined>;
|
|
16570
|
-
openEditor: (key: string | string[]) => void;
|
|
16570
|
+
openEditor: (key: string | string[], values?: Record<string, any>) => void;
|
|
16571
16571
|
closeEditor: (key: string) => void;
|
|
16572
16572
|
hoverRowKey: import("vue").Ref<Key, Key>;
|
|
16573
16573
|
hoverColumnKey: import("vue").Ref<Key, Key>;
|
|
@@ -182,6 +182,7 @@ export interface EditableValueParams<RecordType = DefaultRecordType, TValue = an
|
|
|
182
182
|
record: RecordType;
|
|
183
183
|
recordIndexs: number[];
|
|
184
184
|
column: ColumnType<RecordType>;
|
|
185
|
+
updateEditedCellValue?: (key: DataIndex, value: any) => void;
|
|
185
186
|
}
|
|
186
187
|
export interface ValueParserFunc<T = any, TValue = any> {
|
|
187
188
|
(params: EditableValueParams<T, TValue>): TValue | null | undefined;
|
|
@@ -1790,6 +1791,13 @@ export interface EditableCellConfig<T = DefaultRecordType> {
|
|
|
1790
1791
|
* 校验规则
|
|
1791
1792
|
*/
|
|
1792
1793
|
rules?: EditableCellRules<T>;
|
|
1794
|
+
/**
|
|
1795
|
+
* 是否显示编辑图标
|
|
1796
|
+
* @default true
|
|
1797
|
+
*/
|
|
1798
|
+
request?: (params: Record<string, any>) => Promise<Record<string, any>[]>;
|
|
1799
|
+
/** @name 依赖字段的name,暂时只在拥有 request 的项目中生效,会自动注入到 params 中 */
|
|
1800
|
+
dependencies?: DataIndex[];
|
|
1793
1801
|
}
|
|
1794
1802
|
export interface ColumnType<RecordType = DefaultRecordType> extends ColumnSharedType, Omit<ProFormItemType, 'key' | 'originKey' | 'tooltip' | 'hidden' | 'grid' | 'title' | 'spaceProps' | 'children' | 'width' | 'ignoreWidth' | 'name' | 'originName' | 'rowProps' | 'colProps' | 'valueEnum'> {
|
|
1795
1803
|
search?: ProFormItemType;
|
|
@@ -2,7 +2,7 @@ import type { Ref, ShallowRef, ComputedRef } from 'vue';
|
|
|
2
2
|
import type { AddLineOptions, DefaultRecordType, GetRowKey, Key, ProTableProps, RowEditableType, TableEditingCell, TablePromiseErrorData } from '../components/interface';
|
|
3
3
|
type EditProps = {
|
|
4
4
|
editCellKeys: Ref<string[]>;
|
|
5
|
-
openEditor: (key: string | string[]) => void;
|
|
5
|
+
openEditor: (key: string | string[], values?: Record<string, any>) => void;
|
|
6
6
|
closeEditor: (key: string) => void;
|
|
7
7
|
editableType: ComputedRef<RowEditableType | undefined>;
|
|
8
8
|
mergedEditableKeys: Ref<Key[] | undefined>;
|
package/lib/hooks/index.d.ts
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -5243,6 +5243,13 @@ declare interface EditableCellConfig<T = DefaultRecordType> {
|
|
|
5243
5243
|
* 校验规则
|
|
5244
5244
|
*/
|
|
5245
5245
|
rules?: EditableCellRules<T>;
|
|
5246
|
+
/**
|
|
5247
|
+
* 是否显示编辑图标
|
|
5248
|
+
* @default true
|
|
5249
|
+
*/
|
|
5250
|
+
request?: (params: Record<string, any>) => Promise<Record<string, any>[]>;
|
|
5251
|
+
/** @name 依赖字段的name,暂时只在拥有 request 的项目中生效,会自动注入到 params 中 */
|
|
5252
|
+
dependencies?: DataIndex[];
|
|
5246
5253
|
}
|
|
5247
5254
|
declare type EditableCellProps<T> = PlainObject | ((params: EditableValueParams<T>) => PlainObject);
|
|
5248
5255
|
declare type EditableCellRules<T> = EditRule[] | ((params: EditableValueParams<T>) => EditRule[]);
|
|
@@ -5253,6 +5260,7 @@ declare interface EditableValueParams<RecordType = DefaultRecordType, TValue = a
|
|
|
5253
5260
|
record: RecordType;
|
|
5254
5261
|
recordIndexs: number[];
|
|
5255
5262
|
column: ColumnType<RecordType>;
|
|
5263
|
+
updateEditedCellValue?: (key: DataIndex, value: any) => void;
|
|
5256
5264
|
}
|
|
5257
5265
|
declare interface EditRule {
|
|
5258
5266
|
/**
|
|
@@ -11123,6 +11131,9 @@ declare type TriggerEventHandler<RecordType> = (record: RecordType, key: ProTabl
|
|
|
11123
11131
|
export declare const trTRIntl: IntlType;
|
|
11124
11132
|
export declare const ukUAIntl: IntlType;
|
|
11125
11133
|
declare const UP = "up";
|
|
11134
|
+
export declare function useFetchData(props: {
|
|
11135
|
+
request?: any;
|
|
11136
|
+
}): (params?: Record<string, any>, index?: number) => Promise<any>;
|
|
11126
11137
|
declare type UseFetchDataAction<T = any> = {
|
|
11127
11138
|
dataSource: Ref<T[]>;
|
|
11128
11139
|
keyword: Ref<string>;
|
package/lib/index.js
CHANGED
|
@@ -44,6 +44,7 @@ var index$f = require('./packages/hooks/use-prefix-cls/index.js');
|
|
|
44
44
|
var index$g = require('./packages/hooks/use-is-mobile/index.js');
|
|
45
45
|
var index$h = require('./packages/hooks/use-merged-state/index.js');
|
|
46
46
|
var index$i = require('./packages/hooks/use-state/index.js');
|
|
47
|
+
var index$j = require('./packages/hooks/use-fetch-data/index.js');
|
|
47
48
|
|
|
48
49
|
const install = defaults.default.install;
|
|
49
50
|
const version = defaults.default.version;
|
|
@@ -141,6 +142,7 @@ exports.usePrefixCls = index$f.usePrefixCls;
|
|
|
141
142
|
exports.useIsMobile = index$g.useIsMobile;
|
|
142
143
|
exports.useMergedState = index$h.useMergedState;
|
|
143
144
|
exports.useState = index$i.useState;
|
|
145
|
+
exports.useFetchData = index$j.useFetchData;
|
|
144
146
|
exports.install = install;
|
|
145
147
|
exports.version = version;
|
|
146
148
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/pro-design-vue/index.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-08-26 21:22:00\n * @LastEditors: shen\n * @LastEditTime: 2025-08-31 17:47:05\n * @Description:\n */\nimport installer from './defaults'\n\nexport * from '@pro-design-vue/components'\nexport * from '@pro-design-vue/constants'\nexport * from '@pro-design-vue/directives'\nexport * from '@pro-design-vue/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n\nexport { default as dayjs } from 'dayjs'\n"],"names":["installer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../packages/pro-design-vue/index.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-08-26 21:22:00\n * @LastEditors: shen\n * @LastEditTime: 2025-08-31 17:47:05\n * @Description:\n */\nimport installer from './defaults'\n\nexport * from '@pro-design-vue/components'\nexport * from '@pro-design-vue/constants'\nexport * from '@pro-design-vue/directives'\nexport * from '@pro-design-vue/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n\nexport { default as dayjs } from 'dayjs'\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,UAAUA,gBAAA,CAAU;AAC1B,MAAM,UAAUA,gBAAA,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyCell.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyCell.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-12-
|
|
1
|
+
{"version":3,"file":"BodyCell.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyCell.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-12-04 10:03:58\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { EditableTrigger, FinallyColumnType, Key, RowType } from '../interface'\nimport { defineComponent, computed, watch, onMounted } from 'vue'\nimport { get } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { getCellKey } from '../../utils/util'\nimport BodyTextCell from './BodyTextCell'\nimport BodyEditCell from './BodyEditCell'\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] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n editRow: { type: Object as PropType<any> },\n calMaxHeight: Function,\n editCellKeys: Array as PropType<string[]>,\n editableKeys: Array as PropType<Key[]>,\n isRowEdit: Boolean as PropType<boolean>,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onCellLeave: Function,\n onMouseenter: Function,\n },\n emits: ['mouseenter', 'cellLeave'],\n components: { BodyTextCell, BodyEditCell },\n setup(props) {\n const tableContext = useInjectTable()\n const isKeepEditMode = computed(() => props.column.edit?.keepEditMode)\n const cellValue = computed(() =>\n props.column!.dataIndex ? get(props.item, props.column!.dataIndex) : undefined,\n )\n\n const key = computed(() => getCellKey(props.rowKey!, props.column.columnKey))\n\n const cellParams = computed(() => ({\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: tableContext.getIndexsByKey(props.rowKey!),\n value: cellValue.value,\n }))\n\n const editable = computed(() => {\n if (!props.column.edit?.component) {\n return false\n }\n if (props.isRowEdit && !props.editableKeys?.includes(props.rowKey!)) {\n return false\n }\n if (!props.column.edit?.editable) {\n return true\n }\n const cellEditable = props.column.edit?.editable(cellParams.value)\n return cellEditable\n })\n\n const isEditing = computed(() => {\n if (props.isRowEdit) {\n return editable.value && props.editableKeys?.includes(props.rowKey!)\n }\n if (!editable.value) {\n return false\n }\n if (isKeepEditMode.value) {\n return true\n }\n if (props.editCellKeys?.includes(key.value)) {\n return true\n }\n return false\n })\n\n const editableTrigger = computed(() => {\n let { editableTrigger = ['click'] } = props.column!.edit ?? {}\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n return editableTrigger\n })\n\n const onCellEvent = (e: MouseEvent, trigger: EditableTrigger) => {\n if (editable.value && editableTrigger.value?.includes(trigger) && !props.isRowEdit) {\n openEditor()\n closeEditor()\n e.stopPropagation()\n e.preventDefault()\n }\n }\n\n const openEditor = () => {\n const oldValue = props.column.edit?.valueGetter?.(cellParams.value) ?? cellValue.value\n props.onOpenEditor?.(key.value, { [key.value]: oldValue })\n }\n\n const closeEditor = () => {\n props.onCloseEditor?.(key.value)\n }\n\n watch(key, () => {\n if (props.column.edit?.defaultEditable && !props.isRowEdit) {\n openEditor()\n }\n })\n\n onMounted(() => {\n if (props.column.edit?.defaultEditable && !props.isRowEdit) {\n openEditor()\n }\n })\n\n return {\n props,\n key,\n isEditing,\n editable,\n onCellEvent,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isEditing\">\n <BodyEditCell\n :key=\"key\"\n :prefixCls=\"prefixCls\"\n :rowIndex=\"rowIndex\"\n :flattenRowIndex=\"flattenRowIndex\"\n :rowKey=\"rowKey\"\n :column=\"column\"\n :item=\"item\"\n :edit-row=\"editRow\"\n :editable-keys=\"editableKeys\"\n :is-row-edit=\"isRowEdit\"\n />\n </template>\n <template v-else>\n <BodyTextCell\n v-bind=\"props\"\n :style=\"{ cursor: editable ? 'poiner' : '' }\"\n @click=\"onCellEvent($event, 'click')\"\n @dblClick=\"onCellEvent($event, 'dblClick')\"\n @contextmenu=\"onCellEvent($event, 'contextmenu')\"\n >\n <template #appendNode>\n <slot name=\"appendNode\" />\n </template>\n </BodyTextCell>\n </template>\n</template>\n"],"names":["_openBlock","_createBlock","_mergeProps","_withCtx","_renderSlot"],"mappings":";;;;;;;;;;;AA0IkB,EAAA,OAAA,IAAA,CAAA,SAAA,IAAAA,aAAA,EAAA,EACdC,gBAWE,uBAAA,EAAA;AAAA,IAVC,KAAK,IAAA,CAAA,GAAA;AAAA,IACL,WAAW,IAAA,CAAA,SAAA;AAAA,IACX,UAAU,IAAA,CAAA,QAAA;AAAA,IACV,iBAAiB,IAAA,CAAA,eAAA;AAAA,IACjB,QAAQ,IAAA,CAAA,MAAA;AAAA,IACR,QAAQ,IAAA,CAAA,MAAA;AAAA,IACR,MAAM,IAAA,CAAA,IAAA;AAAA,IACN,YAAU,IAAA,CAAA,OAAA;AAAA,IACV,iBAAe,IAAA,CAAA,YAAA;AAAA,IACf,eAAa,IAAA,CAAA;AAAA,GAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,YAAA,iBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,aAAA,CAAA,CAAA,KAAAD,aAAA,EAAA,EAIhBC,eAAA,CAUe,uBAAA,EAVfC,cAAA,CAUe,EAAA,GAAA,EAAA,CAAA,EAAA,EATL,IAAA,CAAA,KAAA,EAAK;AAAA,IACZ,OAAK,UAAY,IAAA,CAAA,QAAA,GAAQ,WAAA,EAAA,EAAA;AAAA,IACzB,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,IAAA,CAAA,WAAA,CAAY,MAAA,EAAM,OAAA,CAAA,CAAA;AAAA,IACzB,UAAA,EAAQ,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,IAAA,CAAA,WAAA,CAAY,MAAA,EAAM,UAAA,CAAA,CAAA;AAAA,IAC5B,aAAA,EAAW,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAE,IAAA,CAAA,WAAA,CAAY,MAAA,EAAM,aAAA,CAAA;AAAA,GAAA,CAAA,EAAA;AAAA,IAErB,UAAA,EAAUC,YACnB,MAA0B;AAAA,MAA1BC,cAAA,CAA0B,IAAA,CAAA,MAAA,EAAA,YAAA;AAAA,KAAA,CAAA;AAAA;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyCell.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyCell.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 17:16:19\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { EditableTrigger, FinallyColumnType, Key, RowType } from '../interface'\nimport { defineComponent, computed, watch, onMounted } from 'vue'\nimport { get } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { getCellKey } from '../../utils/util'\nimport BodyTextCell from './BodyTextCell'\nimport BodyEditCell from './BodyEditCell'\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] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n editRow: { type: Object as PropType<any> },\n calMaxHeight: Function,\n editCellKeys: Array as PropType<string[]>,\n editableKeys: Array as PropType<Key[]>,\n isRowEdit: Boolean as PropType<boolean>,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onCellLeave: Function,\n onMouseenter: Function,\n },\n emits: ['mouseenter', 'cellLeave'],\n components: { BodyTextCell, BodyEditCell },\n setup(props) {\n const tableContext = useInjectTable()\n const isKeepEditMode = computed(() => props.column.edit?.keepEditMode)\n const cellValue = computed(() =>\n props.column!.dataIndex ? get(props.item, props.column!.dataIndex) : undefined,\n )\n\n const key = computed(() => getCellKey(props.rowKey!, props.column.columnKey))\n\n const cellParams = computed(() => ({\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: tableContext.getIndexsByKey(props.rowKey!),\n value: cellValue.value,\n }))\n\n const editable = computed(() => {\n if (!props.column.edit?.component) {\n return false\n }\n if (props.isRowEdit && !props.editableKeys?.includes(props.rowKey!)) {\n return false\n }\n if (!props.column.edit?.editable) {\n return true\n }\n const cellEditable = props.column.edit?.editable(cellParams.value)\n return cellEditable\n })\n\n const isEditing = computed(() => {\n if (props.isRowEdit) {\n return editable.value && props.editableKeys?.includes(props.rowKey!)\n }\n if (!editable.value) {\n return false\n }\n if (isKeepEditMode.value) {\n return true\n }\n if (props.editCellKeys?.includes(key.value)) {\n return true\n }\n return false\n })\n\n const editableTrigger = computed(() => {\n let { editableTrigger = ['click'] } = props.column!.edit ?? {}\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n return editableTrigger\n })\n\n const onCellEvent = (e: MouseEvent, trigger: EditableTrigger) => {\n if (editable.value && editableTrigger.value?.includes(trigger) && !props.isRowEdit) {\n openEditor()\n closeEditor()\n e.stopPropagation()\n e.preventDefault()\n }\n }\n\n const openEditor = () => {\n const oldValue = props.column.edit?.valueGetter?.(cellParams.value) ?? cellValue.value\n props.onOpenEditor?.(key.value, { [key.value]: oldValue })\n }\n\n const closeEditor = () => {\n props.onCloseEditor?.(key.value)\n }\n\n watch(key, () => {\n if (props.column.edit?.defaultEditable && !props.isRowEdit) {\n openEditor()\n }\n })\n\n onMounted(() => {\n if (props.column.edit?.defaultEditable && !props.isRowEdit) {\n openEditor()\n }\n })\n\n return {\n props,\n key,\n isEditing,\n editable,\n onCellEvent,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isEditing\">\n <BodyEditCell\n :key=\"key\"\n :prefixCls=\"prefixCls\"\n :rowIndex=\"rowIndex\"\n :flattenRowIndex=\"flattenRowIndex\"\n :rowKey=\"rowKey\"\n :column=\"column\"\n :item=\"item\"\n :edit-row=\"editRow\"\n :editable-keys=\"editableKeys\"\n :is-row-edit=\"isRowEdit\"\n />\n </template>\n <template v-else>\n <BodyTextCell\n v-bind=\"props\"\n :style=\"{ cursor: editable ? 'poiner' : '' }\"\n @click=\"onCellEvent($event, 'click')\"\n @dblClick=\"onCellEvent($event, 'dblClick')\"\n @contextmenu=\"onCellEvent($event, 'contextmenu')\"\n >\n <template #appendNode>\n <slot name=\"appendNode\" />\n </template>\n </BodyTextCell>\n </template>\n</template>\n"],"names":["defineComponent","BodyTextCell","BodyEditCell","useInjectTable","computed","get","getCellKey","editableTrigger","watch","onMounted"],"mappings":";;;;;;;;;;;AAgBA,gBAAeA,mBAAA,CAAgB;AAAA,EAC7B,YAAA,EAAc,KAAA;AAAA,EACd,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,QAAA,EAAU,EAAE,IAAA,EAAM,MAAA,EAA4B,UAAU,IAAA,EAAK;AAAA,IAC7D,eAAA,EAAiB,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,IAChD,QAAQ,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA,EAAE;AAAA,IACjC,QAAQ,EAAE,IAAA,EAAM,QAAuC,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,IAC3E,MAAM,EAAE,IAAA,EAAM,QAAyB,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,IAC3D,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAA8B,SAAS,KAAA,EAAM;AAAA,IAC/D,IAAA,EAAM,EAAE,IAAA,EAAM,MAAA,EAA4B;AAAA,IAC1C,MAAA,EAAQ,MAAA;AAAA,IACR,aAAA,EAAe,OAAA;AAAA,IACf,cAAA,EAAgB,EAAE,IAAA,EAAM,MAAA,EAAmC;AAAA,IAC3D,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAAwB;AAAA,IACzC,YAAA,EAAc,QAAA;AAAA,IACd,YAAA,EAAc,KAAA;AAAA,IACd,YAAA,EAAc,KAAA;AAAA,IACd,SAAA,EAAW,OAAA;AAAA,IACX,WAAA,EAAa,OAAA;AAAA,IACb,iBAAA,EAAmB,QAAA;AAAA,IACnB,YAAA,EAAc,QAAA;AAAA,IACd,aAAA,EAAe,QAAA;AAAA,IACf,WAAA,EAAa,QAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,KAAA,EAAO,CAAC,YAAA,EAAc,WAAW,CAAA;AAAA,EACjC,UAAA,EAAY,gBAAEC,oBAAA,gBAAcC,oBAAA,EAAa;AAAA,EACzC,MAAM,KAAA,EAAO;AACX,IAAA,MAAM,eAAeC,2BAAA,EAAe;AACpC,IAAA,MAAM,cAAA,GAAiBC,aAAS,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,SAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,YAAA;AAAA,IAAA,CAAY,CAAA;AACrE,IAAA,MAAM,SAAA,GAAYA,YAAA;AAAA,MAAS,MACzB,KAAA,CAAM,MAAA,CAAQ,SAAA,GAAYC,iBAAA,CAAI,MAAM,IAAA,EAAM,KAAA,CAAM,MAAA,CAAQ,SAAS,CAAA,GAAI;AAAA,KACvE;AAEA,IAAA,MAAM,GAAA,GAAMD,aAAS,MAAME,eAAA,CAAW,MAAM,MAAA,EAAS,KAAA,CAAM,MAAA,CAAO,SAAS,CAAC,CAAA;AAE5E,IAAA,MAAM,UAAA,GAAaF,aAAS,OAAO;AAAA,MACjC,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,MAAA,EAAQ,KAAA,CAAM,SAAA,GAAY,KAAA,CAAM,UAAU,KAAA,CAAM,IAAA;AAAA,MAChD,YAAA,EAAc,YAAA,CAAa,cAAA,CAAe,KAAA,CAAM,MAAO,CAAA;AAAA,MACvD,OAAO,SAAA,CAAU;AAAA,KACnB,CAAE,CAAA;AAEF,IAAA,MAAM,QAAA,GAAWA,aAAS,MAAM;;AAC9B,MAAA,IAAI,EAAA,CAAC,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,SAAA,CAAA,EAAW;AACjC,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,KAAA,CAAM,aAAa,EAAA,CAAC,EAAA,GAAA,KAAA,CAAM,iBAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,QAAA,CAAS,MAAM,MAAA,CAAA,CAAA,EAAU;AACnE,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,EAAA,CAAC,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,QAAA,CAAA,EAAU;AAChC,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,MAAM,gBAAe,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,SAAS,UAAA,CAAW,KAAA,CAAA;AAC5D,MAAA,OAAO,YAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAYA,aAAS,MAAM;;AAC/B,MAAA,IAAI,MAAM,SAAA,EAAW;AACnB,QAAA,OAAO,SAAS,KAAA,KAAA,CAAS,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,SAAS,KAAA,CAAM,MAAA,CAAA,CAAA;AAAA,MAC9D;AACA,MAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AACnB,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,eAAe,KAAA,EAAO;AACxB,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,IAAA,CAAI,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,QAAA,CAAS,IAAI,KAAA,CAAA,EAAQ;AAC3C,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,eAAA,GAAkBA,aAAS,MAAM;;AACrC,MAAA,IAAI,EAAE,eAAA,EAAAG,gBAAAA,GAAkB,CAAC,OAAO,CAAA,EAAE,GAAA,CAAI,EAAA,GAAA,KAAA,CAAM,MAAA,CAAQ,IAAA,KAAd,IAAA,GAAA,EAAA,GAAsB,EAAC;AAC7D,MAAAA,mBAAkB,KAAA,CAAM,OAAA,CAAQA,gBAAe,CAAA,GAAIA,gBAAAA,GAAkB,CAACA,gBAAe,CAAA;AACrF,MAAA,OAAOA,gBAAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,EAAe,OAAA,KAA6B;;AAC/D,MAAA,IAAI,QAAA,CAAS,WAAS,EAAA,GAAA,eAAA,CAAgB,KAAA,KAAhB,mBAAuB,QAAA,CAAS,OAAA,CAAA,CAAA,IAAY,CAAC,KAAA,CAAM,SAAA,EAAW;AAClF,QAAA,UAAA,EAAW;AACX,QAAA,WAAA,EAAY;AACZ,QAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,QAAA,CAAA,CAAE,cAAA,EAAe;AAAA,MACnB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;;AACvB,MAAA,MAAM,QAAA,GAAA,CAAW,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,gBAAnB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAiC,UAAA,CAAW,KAAA,CAAA,KAA5C,IAAA,GAAA,EAAA,GAAsD,SAAA,CAAU,KAAA;AACjF,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,+BAAqB,GAAA,CAAI,KAAA,EAAO,EAAE,CAAC,GAAA,CAAI,KAAK,GAAG,QAAA,EAAS,CAAA;AAAA,IAC1D,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;;AACxB,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,aAAA,KAAN,+BAAsB,GAAA,CAAI,KAAA,CAAA;AAAA,IAC5B,CAAA;AAEA,IAAAC,SAAA,CAAM,KAAK,MAAM;;AACf,MAAA,IAAA,CAAA,CAAI,WAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,eAAA,KAAmB,CAAC,MAAM,SAAA,EAAW;AAC1D,QAAA,UAAA,EAAW;AAAA,MACb;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,aAAA,CAAU,MAAM;;AACd,MAAA,IAAA,CAAA,CAAI,WAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,eAAA,KAAmB,CAAC,MAAM,SAAA,EAAW;AAC1D,QAAA,UAAA,EAAW;AAAA,MACb;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO;AAAA,MACL,KAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"BodyCell.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyCell.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-12-04 10:03:58\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { EditableTrigger, FinallyColumnType, Key, RowType } from '../interface'\nimport { defineComponent, computed, watch, onMounted } from 'vue'\nimport { get } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { getCellKey } from '../../utils/util'\nimport BodyTextCell from './BodyTextCell'\nimport BodyEditCell from './BodyEditCell'\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] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n editRow: { type: Object as PropType<any> },\n calMaxHeight: Function,\n editCellKeys: Array as PropType<string[]>,\n editableKeys: Array as PropType<Key[]>,\n isRowEdit: Boolean as PropType<boolean>,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onCellLeave: Function,\n onMouseenter: Function,\n },\n emits: ['mouseenter', 'cellLeave'],\n components: { BodyTextCell, BodyEditCell },\n setup(props) {\n const tableContext = useInjectTable()\n const isKeepEditMode = computed(() => props.column.edit?.keepEditMode)\n const cellValue = computed(() =>\n props.column!.dataIndex ? get(props.item, props.column!.dataIndex) : undefined,\n )\n\n const key = computed(() => getCellKey(props.rowKey!, props.column.columnKey))\n\n const cellParams = computed(() => ({\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: tableContext.getIndexsByKey(props.rowKey!),\n value: cellValue.value,\n }))\n\n const editable = computed(() => {\n if (!props.column.edit?.component) {\n return false\n }\n if (props.isRowEdit && !props.editableKeys?.includes(props.rowKey!)) {\n return false\n }\n if (!props.column.edit?.editable) {\n return true\n }\n const cellEditable = props.column.edit?.editable(cellParams.value)\n return cellEditable\n })\n\n const isEditing = computed(() => {\n if (props.isRowEdit) {\n return editable.value && props.editableKeys?.includes(props.rowKey!)\n }\n if (!editable.value) {\n return false\n }\n if (isKeepEditMode.value) {\n return true\n }\n if (props.editCellKeys?.includes(key.value)) {\n return true\n }\n return false\n })\n\n const editableTrigger = computed(() => {\n let { editableTrigger = ['click'] } = props.column!.edit ?? {}\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n return editableTrigger\n })\n\n const onCellEvent = (e: MouseEvent, trigger: EditableTrigger) => {\n if (editable.value && editableTrigger.value?.includes(trigger) && !props.isRowEdit) {\n openEditor()\n closeEditor()\n e.stopPropagation()\n e.preventDefault()\n }\n }\n\n const openEditor = () => {\n const oldValue = props.column.edit?.valueGetter?.(cellParams.value) ?? cellValue.value\n props.onOpenEditor?.(key.value, { [key.value]: oldValue })\n }\n\n const closeEditor = () => {\n props.onCloseEditor?.(key.value)\n }\n\n watch(key, () => {\n if (props.column.edit?.defaultEditable && !props.isRowEdit) {\n openEditor()\n }\n })\n\n onMounted(() => {\n if (props.column.edit?.defaultEditable && !props.isRowEdit) {\n openEditor()\n }\n })\n\n return {\n props,\n key,\n isEditing,\n editable,\n onCellEvent,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isEditing\">\n <BodyEditCell\n :key=\"key\"\n :prefixCls=\"prefixCls\"\n :rowIndex=\"rowIndex\"\n :flattenRowIndex=\"flattenRowIndex\"\n :rowKey=\"rowKey\"\n :column=\"column\"\n :item=\"item\"\n :edit-row=\"editRow\"\n :editable-keys=\"editableKeys\"\n :is-row-edit=\"isRowEdit\"\n />\n </template>\n <template v-else>\n <BodyTextCell\n v-bind=\"props\"\n :style=\"{ cursor: editable ? 'poiner' : '' }\"\n @click=\"onCellEvent($event, 'click')\"\n @dblClick=\"onCellEvent($event, 'dblClick')\"\n @contextmenu=\"onCellEvent($event, 'contextmenu')\"\n >\n <template #appendNode>\n <slot name=\"appendNode\" />\n </template>\n </BodyTextCell>\n </template>\n</template>\n"],"names":["defineComponent","BodyTextCell","BodyEditCell","useInjectTable","computed","get","getCellKey","editableTrigger","watch","onMounted"],"mappings":";;;;;;;;;;;AAgBA,gBAAeA,mBAAA,CAAgB;AAAA,EAC7B,YAAA,EAAc,KAAA;AAAA,EACd,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,QAAA,EAAU,EAAE,IAAA,EAAM,MAAA,EAA4B,UAAU,IAAA,EAAK;AAAA,IAC7D,eAAA,EAAiB,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,IAChD,QAAQ,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA,EAAE;AAAA,IACjC,QAAQ,EAAE,IAAA,EAAM,QAAuC,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,IAC3E,MAAM,EAAE,IAAA,EAAM,QAAyB,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,IAC3D,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAA8B,SAAS,KAAA,EAAM;AAAA,IAC/D,IAAA,EAAM,EAAE,IAAA,EAAM,MAAA,EAA4B;AAAA,IAC1C,MAAA,EAAQ,MAAA;AAAA,IACR,aAAA,EAAe,OAAA;AAAA,IACf,cAAA,EAAgB,EAAE,IAAA,EAAM,MAAA,EAAmC;AAAA,IAC3D,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAAwB;AAAA,IACzC,YAAA,EAAc,QAAA;AAAA,IACd,YAAA,EAAc,KAAA;AAAA,IACd,YAAA,EAAc,KAAA;AAAA,IACd,SAAA,EAAW,OAAA;AAAA,IACX,WAAA,EAAa,OAAA;AAAA,IACb,iBAAA,EAAmB,QAAA;AAAA,IACnB,YAAA,EAAc,QAAA;AAAA,IACd,aAAA,EAAe,QAAA;AAAA,IACf,WAAA,EAAa,QAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,KAAA,EAAO,CAAC,YAAA,EAAc,WAAW,CAAA;AAAA,EACjC,UAAA,EAAY,gBAAEC,oBAAA,gBAAcC,oBAAA,EAAa;AAAA,EACzC,MAAM,KAAA,EAAO;AACX,IAAA,MAAM,eAAeC,2BAAA,EAAe;AACpC,IAAA,MAAM,cAAA,GAAiBC,aAAS,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,SAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,YAAA;AAAA,IAAA,CAAY,CAAA;AACrE,IAAA,MAAM,SAAA,GAAYA,YAAA;AAAA,MAAS,MACzB,KAAA,CAAM,MAAA,CAAQ,SAAA,GAAYC,iBAAA,CAAI,MAAM,IAAA,EAAM,KAAA,CAAM,MAAA,CAAQ,SAAS,CAAA,GAAI;AAAA,KACvE;AAEA,IAAA,MAAM,GAAA,GAAMD,aAAS,MAAME,eAAA,CAAW,MAAM,MAAA,EAAS,KAAA,CAAM,MAAA,CAAO,SAAS,CAAC,CAAA;AAE5E,IAAA,MAAM,UAAA,GAAaF,aAAS,OAAO;AAAA,MACjC,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,MAAA,EAAQ,KAAA,CAAM,SAAA,GAAY,KAAA,CAAM,UAAU,KAAA,CAAM,IAAA;AAAA,MAChD,YAAA,EAAc,YAAA,CAAa,cAAA,CAAe,KAAA,CAAM,MAAO,CAAA;AAAA,MACvD,OAAO,SAAA,CAAU;AAAA,KACnB,CAAE,CAAA;AAEF,IAAA,MAAM,QAAA,GAAWA,aAAS,MAAM;;AAC9B,MAAA,IAAI,EAAA,CAAC,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,SAAA,CAAA,EAAW;AACjC,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,KAAA,CAAM,aAAa,EAAA,CAAC,EAAA,GAAA,KAAA,CAAM,iBAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,QAAA,CAAS,MAAM,MAAA,CAAA,CAAA,EAAU;AACnE,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,EAAA,CAAC,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,QAAA,CAAA,EAAU;AAChC,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,MAAM,gBAAe,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,SAAS,UAAA,CAAW,KAAA,CAAA;AAC5D,MAAA,OAAO,YAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAYA,aAAS,MAAM;;AAC/B,MAAA,IAAI,MAAM,SAAA,EAAW;AACnB,QAAA,OAAO,SAAS,KAAA,KAAA,CAAS,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,SAAS,KAAA,CAAM,MAAA,CAAA,CAAA;AAAA,MAC9D;AACA,MAAA,IAAI,CAAC,SAAS,KAAA,EAAO;AACnB,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,eAAe,KAAA,EAAO;AACxB,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,IAAA,CAAI,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,QAAA,CAAS,IAAI,KAAA,CAAA,EAAQ;AAC3C,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,eAAA,GAAkBA,aAAS,MAAM;;AACrC,MAAA,IAAI,EAAE,eAAA,EAAAG,gBAAAA,GAAkB,CAAC,OAAO,CAAA,EAAE,GAAA,CAAI,EAAA,GAAA,KAAA,CAAM,MAAA,CAAQ,IAAA,KAAd,IAAA,GAAA,EAAA,GAAsB,EAAC;AAC7D,MAAAA,mBAAkB,KAAA,CAAM,OAAA,CAAQA,gBAAe,CAAA,GAAIA,gBAAAA,GAAkB,CAACA,gBAAe,CAAA;AACrF,MAAA,OAAOA,gBAAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,EAAe,OAAA,KAA6B;;AAC/D,MAAA,IAAI,QAAA,CAAS,WAAS,EAAA,GAAA,eAAA,CAAgB,KAAA,KAAhB,mBAAuB,QAAA,CAAS,OAAA,CAAA,CAAA,IAAY,CAAC,KAAA,CAAM,SAAA,EAAW;AAClF,QAAA,UAAA,EAAW;AACX,QAAA,WAAA,EAAY;AACZ,QAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,QAAA,CAAA,CAAE,cAAA,EAAe;AAAA,MACnB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;;AACvB,MAAA,MAAM,QAAA,GAAA,CAAW,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,CAAO,IAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,gBAAnB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAiC,UAAA,CAAW,KAAA,CAAA,KAA5C,IAAA,GAAA,EAAA,GAAsD,SAAA,CAAU,KAAA;AACjF,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,+BAAqB,GAAA,CAAI,KAAA,EAAO,EAAE,CAAC,GAAA,CAAI,KAAK,GAAG,QAAA,EAAS,CAAA;AAAA,IAC1D,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;;AACxB,MAAA,CAAA,EAAA,GAAA,KAAA,CAAM,aAAA,KAAN,+BAAsB,GAAA,CAAI,KAAA,CAAA;AAAA,IAC5B,CAAA;AAEA,IAAAC,SAAA,CAAM,KAAK,MAAM;;AACf,MAAA,IAAA,CAAA,CAAI,WAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,eAAA,KAAmB,CAAC,MAAM,SAAA,EAAW;AAC1D,QAAA,UAAA,EAAW;AAAA,MACb;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,aAAA,CAAU,MAAM;;AACd,MAAA,IAAA,CAAA,CAAI,WAAM,MAAA,CAAO,IAAA,KAAb,mBAAmB,eAAA,KAAmB,CAAC,MAAM,SAAA,EAAW;AAC1D,QAAA,UAAA,EAAW;AAAA,MACb;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO;AAAA,MACL,KAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -9,6 +9,7 @@ var useLevel = require('../../hooks/useLevel.js');
|
|
|
9
9
|
var Icon = require('@ant-design/icons-vue');
|
|
10
10
|
var useEdit = require('../../hooks/useEdit.js');
|
|
11
11
|
var formModel = require('../../utils/form-model.js');
|
|
12
|
+
var index = require('../../../../../hooks/use-fetch-data/index.js');
|
|
12
13
|
var runFunction = require('../../../../../utils/run-function.js');
|
|
13
14
|
var lodashUnified = require('lodash-unified');
|
|
14
15
|
var validate = require('../../../../../utils/validate.js');
|
|
@@ -71,24 +72,27 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
71
72
|
},
|
|
72
73
|
emits: ["closeEditor", "keydown"],
|
|
73
74
|
setup(props) {
|
|
75
|
+
var _a;
|
|
76
|
+
const loading = vue.ref(false);
|
|
74
77
|
const tableContext = TableContext.useInjectTable();
|
|
75
78
|
const level = useLevel.useInjectLevel();
|
|
79
|
+
const fetchOptions = vue.ref();
|
|
76
80
|
const columnKey = vue.computed(() => props.column.columnKey);
|
|
77
81
|
const recordIndexs = vue.computed(() => tableContext.getIndexsByKey(props.rowKey));
|
|
78
|
-
const childrenColumnName = vue.computed(() => tableContext.props.childrenColumnName || "children");
|
|
79
82
|
const valueEnum = vue.computed(() => {
|
|
80
|
-
var
|
|
81
|
-
return parsingValueEnumToArray(runFunction.runFunction((
|
|
83
|
+
var _a2;
|
|
84
|
+
return parsingValueEnumToArray(runFunction.runFunction((_a2 = props.column) == null ? void 0 : _a2.valueEnum, props.item));
|
|
82
85
|
});
|
|
86
|
+
const originValue = lodashUnified.get(props.item, props.column.dataIndex);
|
|
83
87
|
const errorList = vue.ref();
|
|
84
88
|
const {
|
|
85
89
|
editRowsMap,
|
|
86
90
|
setEditingCell
|
|
87
91
|
} = useEdit.useEditInject();
|
|
88
|
-
const cellValue = vue.computed(() => props.column.dataIndex ? lodashUnified.get(
|
|
92
|
+
const cellValue = vue.computed(() => props.column.dataIndex ? lodashUnified.get(props.editRow, props.column.dataIndex) : void 0);
|
|
89
93
|
const cellRender = vue.computed(() => {
|
|
90
|
-
var
|
|
91
|
-
return ((_b = (
|
|
94
|
+
var _a2, _b;
|
|
95
|
+
return ((_b = (_a2 = tableContext.allCellProps.value) == null ? void 0 : _a2[props.rowKey]) == null ? void 0 : _b[props.column.columnKey]) || {};
|
|
92
96
|
});
|
|
93
97
|
const cellProps = vue.computed(() => cellRender.value.props || {});
|
|
94
98
|
const cellRowSpan = vue.computed(() => cellProps.value.rowSpan);
|
|
@@ -96,8 +100,8 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
96
100
|
key
|
|
97
101
|
}) => key === columnKey.value));
|
|
98
102
|
const sorterOrder = vue.computed(() => {
|
|
99
|
-
var
|
|
100
|
-
return sorterState.value ? (
|
|
103
|
+
var _a2;
|
|
104
|
+
return sorterState.value ? (_a2 = sorterState.value) == null ? void 0 : _a2.sortOrder : null;
|
|
101
105
|
});
|
|
102
106
|
const cellClass = vue.computed(() => ({
|
|
103
107
|
[`${props.prefixCls}-cell`]: true,
|
|
@@ -107,26 +111,41 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
107
111
|
[`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,
|
|
108
112
|
[`${props.prefixCls}-column-sort`]: sorterOrder.value
|
|
109
113
|
}));
|
|
114
|
+
const hasFetchOptions = vue.computed(() => {
|
|
115
|
+
var _a2, _b, _c;
|
|
116
|
+
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);
|
|
117
|
+
});
|
|
110
118
|
const rules = vue.computed(() => {
|
|
111
|
-
var
|
|
112
|
-
return (_b = runFunction.runFunction((
|
|
119
|
+
var _a2, _b;
|
|
120
|
+
return (_b = runFunction.runFunction((_a2 = props.column.edit) == null ? void 0 : _a2.rules, {
|
|
113
121
|
column: props.column,
|
|
114
|
-
record: props.
|
|
122
|
+
record: props.editRow,
|
|
115
123
|
recordIndexs: recordIndexs.value,
|
|
116
124
|
newValue: cellValue.value
|
|
117
125
|
})) != null ? _b : [];
|
|
118
126
|
});
|
|
119
127
|
const validateEnabled = vue.computed(() => rules.value.length > 0);
|
|
120
128
|
const editValue = vue.ref();
|
|
129
|
+
const updateEditedCellValue = (key, value) => {
|
|
130
|
+
setTimeout(() => {
|
|
131
|
+
const editRow = {
|
|
132
|
+
...props.editRow
|
|
133
|
+
};
|
|
134
|
+
lodashUnified.set(editRow, key, value);
|
|
135
|
+
editRowsMap.value[props.rowKey] = editRow;
|
|
136
|
+
vue.triggerRef(editRowsMap);
|
|
137
|
+
}, 10);
|
|
138
|
+
};
|
|
121
139
|
const cellParams = vue.computed(() => ({
|
|
122
140
|
column: props.column,
|
|
123
|
-
record:
|
|
141
|
+
record: props.editRow,
|
|
124
142
|
recordIndexs: recordIndexs.value,
|
|
125
|
-
value: editValue.value
|
|
143
|
+
value: editValue.value,
|
|
144
|
+
updateEditedCellValue
|
|
126
145
|
}));
|
|
127
146
|
const editOnListeners = vue.computed(() => {
|
|
128
|
-
var
|
|
129
|
-
return ((_b = (
|
|
147
|
+
var _a2, _b;
|
|
148
|
+
return ((_b = (_a2 = props.column.edit) == null ? void 0 : _a2.on) == null ? void 0 : _b.call(_a2, {
|
|
130
149
|
...cellParams.value
|
|
131
150
|
})) || {};
|
|
132
151
|
});
|
|
@@ -139,8 +158,8 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
139
158
|
};
|
|
140
159
|
});
|
|
141
160
|
const options = vue.computed(() => {
|
|
142
|
-
var
|
|
143
|
-
return (_b = (
|
|
161
|
+
var _a2, _b, _c;
|
|
162
|
+
return (_c = (_b = fetchOptions.value) != null ? _b : (_a2 = editProps.value) == null ? void 0 : _a2.options) != null ? _c : valueEnum.value;
|
|
144
163
|
});
|
|
145
164
|
const componentProps = vue.computed(() => {
|
|
146
165
|
const {
|
|
@@ -161,6 +180,10 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
161
180
|
resolve(true);
|
|
162
181
|
return true;
|
|
163
182
|
}
|
|
183
|
+
if (lodashUnified.isEqual(originValue, editValue.value) && !(originValue === void 0 || originValue === null || originValue === "")) {
|
|
184
|
+
resolve(true);
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
164
187
|
formModel.validate(editValue.value, rules.value).then((result) => {
|
|
165
188
|
const list = result == null ? void 0 : result.filter((t) => !t.result);
|
|
166
189
|
if (!list || !list.length) {
|
|
@@ -173,48 +196,92 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
173
196
|
});
|
|
174
197
|
});
|
|
175
198
|
};
|
|
176
|
-
const
|
|
177
|
-
|
|
199
|
+
const updateEditRow = () => {
|
|
200
|
+
const editRow = {
|
|
201
|
+
...props.editRow
|
|
202
|
+
};
|
|
203
|
+
lodashUnified.set(editRow, props.column.dataIndex, editValue.value);
|
|
204
|
+
editRowsMap.value[props.rowKey] = {
|
|
205
|
+
...editRow
|
|
206
|
+
};
|
|
207
|
+
vue.triggerRef(editRowsMap);
|
|
208
|
+
};
|
|
209
|
+
const fetchData = index.useFetchData({
|
|
210
|
+
request: (_a = props.column.edit) == null ? void 0 : _a.request
|
|
211
|
+
});
|
|
212
|
+
const requestOptions = lodashUnified.debounce(async (newRow) => {
|
|
213
|
+
var _a2, _b;
|
|
214
|
+
const row = {
|
|
215
|
+
...props.item,
|
|
216
|
+
...newRow
|
|
217
|
+
};
|
|
178
218
|
const params = {
|
|
179
|
-
|
|
180
|
-
record: props.isRowEdit ? props.editRow : props.item,
|
|
181
|
-
recordIndexs: recordIndexs.value,
|
|
182
|
-
newValue: cellValue.value
|
|
219
|
+
rowKey: props.rowKey
|
|
183
220
|
};
|
|
184
|
-
|
|
185
|
-
|
|
221
|
+
(_b = (_a2 = props.column.edit) == null ? void 0 : _a2.dependencies) == null ? void 0 : _b.forEach((dataIndex) => {
|
|
222
|
+
const newValue = lodashUnified.get(row, dataIndex);
|
|
223
|
+
lodashUnified.set(params, dataIndex, newValue);
|
|
224
|
+
});
|
|
225
|
+
loading.value = true;
|
|
226
|
+
const result = await fetchData(params);
|
|
227
|
+
fetchOptions.value = result;
|
|
228
|
+
loading.value = false;
|
|
229
|
+
}, 200);
|
|
230
|
+
const onEditChange = (val, ...args) => {
|
|
231
|
+
var _a2, _b, _c, _d, _e;
|
|
232
|
+
const valueSetter = (_a2 = props.column.edit) == null ? void 0 : _a2.valueSetter;
|
|
186
233
|
if (valueSetter) {
|
|
187
|
-
valueSetter(
|
|
234
|
+
valueSetter(cellParams.value);
|
|
188
235
|
} else {
|
|
189
|
-
(
|
|
190
|
-
(
|
|
191
|
-
|
|
192
|
-
const record = {
|
|
193
|
-
...props.editRow
|
|
194
|
-
};
|
|
195
|
-
lodashUnified.set(record, props.column.dataIndex, value);
|
|
196
|
-
editRowsMap.value[props.rowKey] = record;
|
|
197
|
-
vue.triggerRef(editRowsMap);
|
|
198
|
-
} else {
|
|
199
|
-
let record = {};
|
|
200
|
-
let dataSource = tableContext.rawData.value || [];
|
|
201
|
-
recordIndexs.value.forEach((index) => {
|
|
202
|
-
record = dataSource[index];
|
|
203
|
-
dataSource = record[childrenColumnName.value] || [];
|
|
204
|
-
});
|
|
205
|
-
lodashUnified.set(record, props.column.dataIndex, value);
|
|
206
|
-
vue.triggerRef(tableContext.rawData);
|
|
207
|
-
}
|
|
236
|
+
(_c = (_b = editProps.value) == null ? void 0 : _b.onChange) == null ? void 0 : _c.call(_b, val, ...args, cellParams.value);
|
|
237
|
+
(_e = (_d = editOnListeners.value) == null ? void 0 : _d.onChange) == null ? void 0 : _e.call(_d, cellParams.value);
|
|
238
|
+
updateEditRow();
|
|
208
239
|
}
|
|
209
240
|
validateEdit();
|
|
210
241
|
};
|
|
242
|
+
const updateRecordValue = lodashUnified.debounce(async (newValue) => {
|
|
243
|
+
let record = {};
|
|
244
|
+
let dataSource = tableContext.rawData.value || [];
|
|
245
|
+
recordIndexs.value.forEach((index) => {
|
|
246
|
+
record = dataSource[index];
|
|
247
|
+
dataSource = record[tableContext.childrenColumnName.value] || [];
|
|
248
|
+
});
|
|
249
|
+
lodashUnified.set(record, props.column.dataIndex, newValue);
|
|
250
|
+
vue.triggerRef(tableContext.rawData);
|
|
251
|
+
}, 200);
|
|
211
252
|
vue.watch(cellValue, (value) => {
|
|
212
|
-
var
|
|
213
|
-
editValue.value = (_c = (_b = (
|
|
253
|
+
var _a2, _b, _c;
|
|
254
|
+
editValue.value = (_c = (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.valueGetter) == null ? void 0 : _b.call(_a2, cellParams.value)) != null ? _c : value;
|
|
255
|
+
if (!props.isRowEdit) {
|
|
256
|
+
updateRecordValue(value);
|
|
257
|
+
}
|
|
214
258
|
}, {
|
|
215
259
|
immediate: true
|
|
216
260
|
});
|
|
261
|
+
vue.watch(() => props.editRow, (newRow, oldRow) => {
|
|
262
|
+
var _a2, _b;
|
|
263
|
+
if (hasFetchOptions.value) {
|
|
264
|
+
const isSame = (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.dependencies) == null ? void 0 : _b.every((dataIndex) => {
|
|
265
|
+
const newValue = lodashUnified.get(newRow, dataIndex);
|
|
266
|
+
const oldIndex = lodashUnified.get(oldRow, dataIndex);
|
|
267
|
+
return lodashUnified.isEqual(newValue, oldIndex);
|
|
268
|
+
});
|
|
269
|
+
if (!isSame) {
|
|
270
|
+
requestOptions(newRow);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
217
274
|
vue.onMounted(() => {
|
|
275
|
+
var _a2;
|
|
276
|
+
if (!props.isRowEdit && !editRowsMap.value[props.rowKey]) {
|
|
277
|
+
editRowsMap.value[props.rowKey] = {
|
|
278
|
+
...props.item
|
|
279
|
+
};
|
|
280
|
+
vue.triggerRef(editRowsMap);
|
|
281
|
+
}
|
|
282
|
+
if ((_a2 = props.column.edit) == null ? void 0 : _a2.request) {
|
|
283
|
+
requestOptions();
|
|
284
|
+
}
|
|
218
285
|
setEditingCell({
|
|
219
286
|
recordIndexs: recordIndexs.value,
|
|
220
287
|
column: props.column,
|
|
@@ -226,7 +293,7 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
226
293
|
}, true);
|
|
227
294
|
});
|
|
228
295
|
vue.onUnmounted(() => {
|
|
229
|
-
var
|
|
296
|
+
var _a2, _b, _c;
|
|
230
297
|
setEditingCell({
|
|
231
298
|
recordIndexs: recordIndexs.value,
|
|
232
299
|
column: props.column,
|
|
@@ -236,11 +303,11 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
236
303
|
columnKey: props.column.columnKey,
|
|
237
304
|
validateEdit
|
|
238
305
|
}, false);
|
|
239
|
-
(_c = (_b = (
|
|
306
|
+
(_c = (_b = (_a2 = props.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
|
|
240
307
|
});
|
|
241
308
|
return () => {
|
|
242
|
-
var
|
|
243
|
-
const Component = (
|
|
309
|
+
var _a2, _b, _c, _d;
|
|
310
|
+
const Component = (_a2 = props.column.edit) == null ? void 0 : _a2.component;
|
|
244
311
|
const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
|
|
245
312
|
const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
|
|
246
313
|
const tmpEditOnListeners = {
|
|
@@ -278,10 +345,10 @@ var BodyEditCell = /* @__PURE__ */ vue.defineComponent({
|
|
|
278
345
|
"class": `${props.prefixCls}-cell-content-error`
|
|
279
346
|
}, [vue.createVNode(Icon.CloseCircleFilled, null, null)])],
|
|
280
347
|
content: () => {
|
|
281
|
-
var
|
|
348
|
+
var _a3;
|
|
282
349
|
return vue.createVNode("div", {
|
|
283
350
|
"class": `${props.prefixCls}-cell-content-error-message`
|
|
284
|
-
}, [(
|
|
351
|
+
}, [(_a3 = errorList.value) == null ? void 0 : _a3.map((error) => vue.createVNode("div", {
|
|
285
352
|
"key": error.message
|
|
286
353
|
}, [error.message]))]);
|
|
287
354
|
}
|