pro-design-vue 1.3.21 → 1.3.23
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 +1217 -1585
- package/dist/index.full.min.js +7 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1218 -1586
- package/es/components/config-provider/src/typing.d.ts +1 -0
- package/es/components/table/src/components/Body/Body.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/es/components/table/src/components/Body/BodyEditCell.d.ts +61 -0
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/es/components/table/src/components/InteralTable.vue.d.ts +314 -19
- package/es/components/table/src/components/Table.d.ts +51 -0
- package/es/components/table/src/components/context/TableContext.d.ts +4 -0
- package/es/components/table/src/components/interface.d.ts +290 -23
- package/es/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/es/components/table/src/hooks/useEdit.d.ts +24 -7
- package/es/components/table/src/utils/form-model.d.ts +25 -0
- package/es/components/table/src/utils/util.d.ts +1 -0
- package/es/index.d.ts +271 -5
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs +35 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs +129 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +292 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +63 -8
- 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 +24 -18
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/{BodyCell.mjs → BodyTextCell.mjs} +25 -155
- package/es/packages/components/table/src/components/Body/BodyTextCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/InteralTable.vue.mjs +24 -25
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +36 -97
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +24 -20
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/context/TableContext.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +24 -0
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useCellProps.mjs +8 -0
- package/es/packages/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs +293 -18
- package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
- package/es/packages/components/table/src/utils/form-model.mjs +98 -0
- package/es/packages/components/table/src/utils/form-model.mjs.map +1 -0
- package/es/packages/components/table/src/utils/util.mjs +4 -1
- package/es/packages/components/table/src/utils/util.mjs.map +1 -1
- package/es/packages/utils/dom.mjs +15 -1
- package/es/packages/utils/dom.mjs.map +1 -1
- package/es/packages/utils/index.mjs +1 -1
- package/es/utils/dom.d.ts +2 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/config-provider/src/typing.d.ts +1 -0
- package/lib/components/table/src/components/Body/Body.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/lib/components/table/src/components/Body/BodyEditCell.d.ts +61 -0
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/lib/components/table/src/components/InteralTable.vue.d.ts +314 -19
- package/lib/components/table/src/components/Table.d.ts +51 -0
- package/lib/components/table/src/components/context/TableContext.d.ts +4 -0
- package/lib/components/table/src/components/interface.d.ts +290 -23
- package/lib/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/lib/components/table/src/hooks/useEdit.d.ts +24 -7
- package/lib/components/table/src/utils/form-model.d.ts +25 -0
- package/lib/components/table/src/utils/util.d.ts +1 -0
- package/lib/index.d.ts +271 -5
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js +39 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js +133 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +297 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +63 -8
- 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 +22 -16
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/{BodyCell.js → BodyTextCell.js} +24 -154
- package/lib/packages/components/table/src/components/Body/BodyTextCell.js.map +1 -0
- package/lib/packages/components/table/src/components/InteralTable.vue.js +24 -25
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +36 -97
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +24 -20
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/context/TableContext.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +24 -0
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useCellProps.js +8 -0
- package/lib/packages/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js +292 -17
- package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
- package/lib/packages/components/table/src/utils/form-model.js +102 -0
- package/lib/packages/components/table/src/utils/form-model.js.map +1 -0
- package/lib/packages/components/table/src/utils/util.js +4 -0
- package/lib/packages/components/table/src/utils/util.js.map +1 -1
- package/lib/packages/utils/dom.js +16 -0
- package/lib/packages/utils/dom.js.map +1 -1
- package/lib/packages/utils/index.js +2 -0
- package/lib/packages/utils/index.js.map +1 -1
- package/lib/utils/dom.d.ts +2 -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 +40 -2
- package/es/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs +0 -48
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs +0 -151
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs.map +0 -1
- package/lib/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/lib/packages/components/table/src/components/Body/BodyCell.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js +0 -52
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js +0 -155
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js.map +0 -1
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var EditInput_vue_vue_type_script_lang = require('./EditInput.vue2.js');
|
|
6
|
-
var vue = require('vue');
|
|
7
|
-
var _pluginVue_exportHelper = require('../../../../../../_virtual/_plugin-vue_export-helper.js');
|
|
8
|
-
|
|
9
|
-
const _hoisted_1 = ["data-cell-auto"];
|
|
10
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
11
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
12
|
-
class: vue.normalizeClass(`${_ctx.prefixCls}-cell-edit-inner`),
|
|
13
|
-
"data-cell-auto": _ctx.autoHeight
|
|
14
|
-
}, [
|
|
15
|
-
_ctx.customEditable ? (vue.openBlock(), vue.createElementBlock(
|
|
16
|
-
vue.Fragment,
|
|
17
|
-
{ key: 0 },
|
|
18
|
-
[
|
|
19
|
-
_ctx.tableSlots.cellEditor ? (vue.openBlock(), vue.createBlock(
|
|
20
|
-
vue.resolveDynamicComponent(_ctx.tableSlots.cellEditor),
|
|
21
|
-
vue.normalizeProps(vue.mergeProps({ key: 0 }, _ctx.getCustomEditorProps())),
|
|
22
|
-
null,
|
|
23
|
-
16
|
|
24
|
-
/* FULL_PROPS */
|
|
25
|
-
)) : vue.createCommentVNode("v-if", true)
|
|
26
|
-
],
|
|
27
|
-
64
|
|
28
|
-
/* STABLE_FRAGMENT */
|
|
29
|
-
)) : vue.withDirectives((vue.openBlock(), vue.createElementBlock(
|
|
30
|
-
"input",
|
|
31
|
-
{
|
|
32
|
-
key: 1,
|
|
33
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.modelValue = $event),
|
|
34
|
-
ref: "inputRef",
|
|
35
|
-
class: vue.normalizeClass(`${_ctx.prefixCls}-cell-edit-input`),
|
|
36
|
-
type: "text",
|
|
37
|
-
onInput: _cache[1] || (_cache[1] = (...args) => _ctx.handleInput && _ctx.handleInput(...args)),
|
|
38
|
-
onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeyDown && _ctx.handleKeyDown(...args)),
|
|
39
|
-
onBlur: _cache[3] || (_cache[3] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args))
|
|
40
|
-
},
|
|
41
|
-
null,
|
|
42
|
-
34
|
|
43
|
-
/* CLASS, NEED_HYDRATION */
|
|
44
|
-
)), [
|
|
45
|
-
[vue.vModelText, _ctx.modelValue]
|
|
46
|
-
])
|
|
47
|
-
], 10, _hoisted_1);
|
|
48
|
-
}
|
|
49
|
-
var EditInput = /* @__PURE__ */ _pluginVue_exportHelper.default(EditInput_vue_vue_type_script_lang.default, [["render", _sfc_render]]);
|
|
50
|
-
|
|
51
|
-
exports.default = EditInput;
|
|
52
|
-
//# sourceMappingURL=EditInput.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditInput.vue.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/EditInput.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 15:15:42\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, ref, shallowRef, onMounted, nextTick, computed } from 'vue'\nimport { set, isPromise } from '@pro-design-vue/utils'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectPopup } from '../context/PopupContext'\nimport devWarning from '../../utils/devWarning'\nimport KeyCode from '../../utils/KeyCode'\n\nimport type { PropType } from 'vue'\nimport type { CellEditorArgs, FinallyColumnType } from '../interface'\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: { type: String },\n recordIndexs: { type: Array as PropType<number[]> },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n record: { type: Object as PropType<any>, default: () => ({}) },\n value: { validator: () => true },\n customEditable: { type: Boolean, default: false },\n multiple: { type: Boolean, default: false },\n autoHeight: { type: Boolean, default: false },\n cellKey: { type: String },\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCloseEditor: Function,\n onKeydown: Function as PropType<(e: KeyboardEvent) => void>,\n },\n emits: ['closeEditor', 'keydown'],\n setup(props, { expose, emit }) {\n const tableSlots = useInjectSlots()\n const popup = useInjectPopup()\n const oldValue =\n props.column?.valueGetter?.({\n value: props.value,\n record: props.record,\n column: props.column,\n recordIndexs: props.recordIndexs!,\n }) ?? props.value\n\n const modelValue = ref(oldValue)\n const inputRef = shallowRef<any>(null)\n\n const tableContext = useInjectTable()\n\n onMounted(() => {\n nextTick(() => {\n if (inputRef.value && !props.multiple) {\n inputRef.value?.focus?.()\n inputRef.value?.select?.()\n }\n })\n })\n\n expose({ value: modelValue, inputRef })\n\n const onInput = (e: Event, val: any) => {\n props.column.valueChange?.(e, {\n column: props.column,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n newValue: val,\n oldValue: oldValue,\n })\n }\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n\n const save = () => {\n const recordIndexs = props.recordIndexs!\n let dataSource = tableContext.props.dataSource || []\n let record: any = {}\n recordIndexs.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n const value =\n props.column.valueParser?.({\n column: props.column,\n record,\n recordIndexs,\n newValue: modelValue.value,\n oldValue,\n }) ?? modelValue.value\n const valueSetter = props.column.valueSetter\n if (valueSetter) {\n const result = valueSetter({\n column: props.column,\n record: record,\n recordIndexs: recordIndexs,\n newValue: modelValue.value,\n oldValue: oldValue,\n })\n if (isPromise(result)) {\n result\n .then((res) => {\n res && emit('closeEditor', [props.cellKey])\n })\n .catch(() => {})\n return\n }\n result && emit('closeEditor', [props.cellKey])\n } else {\n devWarning(\n undefined !== props.column.dataIndex || null !== props.column.dataIndex,\n 'Editable',\n 'If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified.',\n )\n set(record, props.column.dataIndex!, value)\n emit('closeEditor', [props.cellKey])\n }\n }\n\n let isKeyDown = false\n const closeEditor = (key?: any) => {\n emit('closeEditor', key ?? [props.cellKey])\n }\n\n return {\n modelValue,\n inputRef,\n handleInput: (e: Event) => {\n onInput(e, (e.target as HTMLInputElement)?.value)\n },\n handleKeyDown: (e: KeyboardEvent) => {\n const { which } = e\n if (which === KeyCode.ENTER) {\n save()\n } else {\n if (which === KeyCode.ESC) {\n isKeyDown = true\n emit('closeEditor', null)\n }\n emit('keydown', e)\n }\n },\n handleBlur: () => {\n isKeyDown || props.multiple || save()\n },\n tableSlots,\n popup,\n save,\n closeEditor,\n getCustomEditorProps: (): CellEditorArgs => ({\n modelValue,\n save,\n onInput,\n closeEditor,\n column: props.column.originColumn!,\n editorRef: inputRef,\n getPopupContainer: props.getPopupContainer as any,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n }),\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-cell-edit-inner`\" :data-cell-auto=\"autoHeight\">\n <template v-if=\"customEditable\">\n <component\n v-if=\"tableSlots.cellEditor\"\n v-bind=\"getCustomEditorProps()\"\n :is=\"tableSlots.cellEditor\"\n />\n </template>\n <input\n v-else\n v-model=\"modelValue\"\n ref=\"inputRef\"\n :class=\"`${prefixCls}-cell-edit-input`\"\n type=\"text\"\n @input=\"handleInput\"\n @keydown=\"handleKeyDown\"\n @blur=\"handleBlur\"\n />\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","_openBlock","_Fragment","_createBlock","_resolveDynamicComponent","_normalizeProps","_mergeProps","_createCommentVNode","_withDirectives"],"mappings":";;;;;;;;;;0BAuKEA,sBAAA,CAkBM,KAAA,EAAA;AAAA,IAlBA,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA,CAAA;AAAA,IAAqB,kBAAgB,IAAA,CAAA;AAAA,GAAA,EAAA;AAAA,IAC5C,IAAA,CAAA,cAAA,IAAAC,aAAA,EAAA,EAAhBF,sBAAA;AAAA,MAMWG,YAAA;AAAA,MAAA,EAAA,KAAA,CAAA,EAAA;AAAA,MAAA;AAAA,QAJD,IAAA,YAAW,UAAA,IAAAD,aAAA,EAAA,EADnBE,eAAA;AAAA,UAIEC,2BAAA,CADK,IAAA,YAAW,UAAU,CAAA;AAAA,UAAAC,kBAAA,CAAAC,eAAA,EAAA,GAAA,EAAA,GAAA,EADlB,IAAA,CAAA,oBAAA,EAAoB,CAAA,CAAA;AAAA,UAAA,IAAA;AAAA,UAAA;AAAA;AAAA,SAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;KAIhC,IAAAC,kBAAA,EAAAP,aAAA,EAAA,EAAAF,sBAAA;AAAA,MASE,OAAA;AAAA,MAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,qEAPS,IAAA,CAAA,UAAA,GAAU,MAAA,CAAA;AAAA,QACnB,GAAA,EAAI,UAAA;AAAA,QACH,KAAA,EAAKC,kBAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA,CAAA;AAAA,QACpB,IAAA,EAAK,MAAA;AAAA,QACJ,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,WAAA,IAAA,IAAA,CAAA,WAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,QACP,SAAA,EAAO,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,QACT,MAAA,EAAI,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,UAAA,IAAA,IAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA;AAAA,OAAA;AAAA;;;;uBANE,IAAA,CAAA,UAAU;AAAA,KAAA;AAAA;;;;;;"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var vue = require('vue');
|
|
6
|
-
var TableSlotsContext = require('../context/TableSlotsContext.js');
|
|
7
|
-
var TableContext = require('../context/TableContext.js');
|
|
8
|
-
var PopupContext = require('../context/PopupContext.js');
|
|
9
|
-
var devWarning = require('../../utils/devWarning.js');
|
|
10
|
-
var KeyCode = require('../../utils/KeyCode.js');
|
|
11
|
-
var validate = require('../../../../../utils/validate.js');
|
|
12
|
-
var lodashUnified = require('lodash-unified');
|
|
13
|
-
|
|
14
|
-
var _sfc_main = vue.defineComponent({
|
|
15
|
-
inheritAttrs: false,
|
|
16
|
-
props: {
|
|
17
|
-
prefixCls: { type: String },
|
|
18
|
-
recordIndexs: { type: Array },
|
|
19
|
-
rowKey: { type: [Number, String] },
|
|
20
|
-
column: { type: Object, default: () => ({}) },
|
|
21
|
-
record: { type: Object, default: () => ({}) },
|
|
22
|
-
value: { validator: () => true },
|
|
23
|
-
customEditable: { type: Boolean, default: false },
|
|
24
|
-
multiple: { type: Boolean, default: false },
|
|
25
|
-
autoHeight: { type: Boolean, default: false },
|
|
26
|
-
cellKey: { type: String },
|
|
27
|
-
getPopupContainer: Function,
|
|
28
|
-
onCloseEditor: Function,
|
|
29
|
-
onKeydown: Function
|
|
30
|
-
},
|
|
31
|
-
emits: ["closeEditor", "keydown"],
|
|
32
|
-
setup(props, { expose, emit }) {
|
|
33
|
-
var _a, _b, _c;
|
|
34
|
-
const tableSlots = TableSlotsContext.useInjectSlots();
|
|
35
|
-
const popup = PopupContext.useInjectPopup();
|
|
36
|
-
const oldValue = (_c = (_b = (_a = props.column) == null ? void 0 : _a.valueGetter) == null ? void 0 : _b.call(_a, {
|
|
37
|
-
value: props.value,
|
|
38
|
-
record: props.record,
|
|
39
|
-
column: props.column,
|
|
40
|
-
recordIndexs: props.recordIndexs
|
|
41
|
-
})) != null ? _c : props.value;
|
|
42
|
-
const modelValue = vue.ref(oldValue);
|
|
43
|
-
const inputRef = vue.shallowRef(null);
|
|
44
|
-
const tableContext = TableContext.useInjectTable();
|
|
45
|
-
vue.onMounted(() => {
|
|
46
|
-
vue.nextTick(() => {
|
|
47
|
-
var _a2, _b2, _c2, _d;
|
|
48
|
-
if (inputRef.value && !props.multiple) {
|
|
49
|
-
(_b2 = (_a2 = inputRef.value) == null ? void 0 : _a2.focus) == null ? void 0 : _b2.call(_a2);
|
|
50
|
-
(_d = (_c2 = inputRef.value) == null ? void 0 : _c2.select) == null ? void 0 : _d.call(_c2);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
expose({ value: modelValue, inputRef });
|
|
55
|
-
const onInput = (e, val) => {
|
|
56
|
-
var _a2, _b2;
|
|
57
|
-
(_b2 = (_a2 = props.column).valueChange) == null ? void 0 : _b2.call(_a2, e, {
|
|
58
|
-
column: props.column,
|
|
59
|
-
record: props.record,
|
|
60
|
-
recordIndexs: props.recordIndexs,
|
|
61
|
-
newValue: val,
|
|
62
|
-
oldValue
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
const childrenColumnName = vue.computed(() => tableContext.props.childrenColumnName || "children");
|
|
66
|
-
const save = () => {
|
|
67
|
-
var _a2, _b2, _c2;
|
|
68
|
-
const recordIndexs = props.recordIndexs;
|
|
69
|
-
let dataSource = tableContext.props.dataSource || [];
|
|
70
|
-
let record = {};
|
|
71
|
-
recordIndexs.forEach((index) => {
|
|
72
|
-
record = dataSource[index];
|
|
73
|
-
dataSource = record[childrenColumnName.value] || [];
|
|
74
|
-
});
|
|
75
|
-
const value = (_c2 = (_b2 = (_a2 = props.column).valueParser) == null ? void 0 : _b2.call(_a2, {
|
|
76
|
-
column: props.column,
|
|
77
|
-
record,
|
|
78
|
-
recordIndexs,
|
|
79
|
-
newValue: modelValue.value,
|
|
80
|
-
oldValue
|
|
81
|
-
})) != null ? _c2 : modelValue.value;
|
|
82
|
-
const valueSetter = props.column.valueSetter;
|
|
83
|
-
if (valueSetter) {
|
|
84
|
-
const result = valueSetter({
|
|
85
|
-
column: props.column,
|
|
86
|
-
record,
|
|
87
|
-
recordIndexs,
|
|
88
|
-
newValue: modelValue.value,
|
|
89
|
-
oldValue
|
|
90
|
-
});
|
|
91
|
-
if (validate.isPromise(result)) {
|
|
92
|
-
result.then((res) => {
|
|
93
|
-
res && emit("closeEditor", [props.cellKey]);
|
|
94
|
-
}).catch(() => {
|
|
95
|
-
});
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
result && emit("closeEditor", [props.cellKey]);
|
|
99
|
-
} else {
|
|
100
|
-
devWarning.default(
|
|
101
|
-
void 0 !== props.column.dataIndex || null !== props.column.dataIndex,
|
|
102
|
-
"Editable",
|
|
103
|
-
"If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified."
|
|
104
|
-
);
|
|
105
|
-
lodashUnified.set(record, props.column.dataIndex, value);
|
|
106
|
-
emit("closeEditor", [props.cellKey]);
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
let isKeyDown = false;
|
|
110
|
-
const closeEditor = (key) => {
|
|
111
|
-
emit("closeEditor", key != null ? key : [props.cellKey]);
|
|
112
|
-
};
|
|
113
|
-
return {
|
|
114
|
-
modelValue,
|
|
115
|
-
inputRef,
|
|
116
|
-
handleInput: (e) => {
|
|
117
|
-
var _a2;
|
|
118
|
-
onInput(e, (_a2 = e.target) == null ? void 0 : _a2.value);
|
|
119
|
-
},
|
|
120
|
-
handleKeyDown: (e) => {
|
|
121
|
-
const { which } = e;
|
|
122
|
-
if (which === KeyCode.default.ENTER) {
|
|
123
|
-
save();
|
|
124
|
-
} else {
|
|
125
|
-
if (which === KeyCode.default.ESC) {
|
|
126
|
-
isKeyDown = true;
|
|
127
|
-
emit("closeEditor", null);
|
|
128
|
-
}
|
|
129
|
-
emit("keydown", e);
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
handleBlur: () => {
|
|
133
|
-
isKeyDown || props.multiple || save();
|
|
134
|
-
},
|
|
135
|
-
tableSlots,
|
|
136
|
-
popup,
|
|
137
|
-
save,
|
|
138
|
-
closeEditor,
|
|
139
|
-
getCustomEditorProps: () => ({
|
|
140
|
-
modelValue,
|
|
141
|
-
save,
|
|
142
|
-
onInput,
|
|
143
|
-
closeEditor,
|
|
144
|
-
column: props.column.originColumn,
|
|
145
|
-
editorRef: inputRef,
|
|
146
|
-
getPopupContainer: props.getPopupContainer,
|
|
147
|
-
record: props.record,
|
|
148
|
-
recordIndexs: props.recordIndexs
|
|
149
|
-
})
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
exports.default = _sfc_main;
|
|
155
|
-
//# sourceMappingURL=EditInput.vue2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditInput.vue2.js","sources":["../../../../../../../../../packages/components/table/src/components/Body/EditInput.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 15:15:42\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, ref, shallowRef, onMounted, nextTick, computed } from 'vue'\nimport { set, isPromise } from '@pro-design-vue/utils'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectPopup } from '../context/PopupContext'\nimport devWarning from '../../utils/devWarning'\nimport KeyCode from '../../utils/KeyCode'\n\nimport type { PropType } from 'vue'\nimport type { CellEditorArgs, FinallyColumnType } from '../interface'\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: { type: String },\n recordIndexs: { type: Array as PropType<number[]> },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n record: { type: Object as PropType<any>, default: () => ({}) },\n value: { validator: () => true },\n customEditable: { type: Boolean, default: false },\n multiple: { type: Boolean, default: false },\n autoHeight: { type: Boolean, default: false },\n cellKey: { type: String },\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCloseEditor: Function,\n onKeydown: Function as PropType<(e: KeyboardEvent) => void>,\n },\n emits: ['closeEditor', 'keydown'],\n setup(props, { expose, emit }) {\n const tableSlots = useInjectSlots()\n const popup = useInjectPopup()\n const oldValue =\n props.column?.valueGetter?.({\n value: props.value,\n record: props.record,\n column: props.column,\n recordIndexs: props.recordIndexs!,\n }) ?? props.value\n\n const modelValue = ref(oldValue)\n const inputRef = shallowRef<any>(null)\n\n const tableContext = useInjectTable()\n\n onMounted(() => {\n nextTick(() => {\n if (inputRef.value && !props.multiple) {\n inputRef.value?.focus?.()\n inputRef.value?.select?.()\n }\n })\n })\n\n expose({ value: modelValue, inputRef })\n\n const onInput = (e: Event, val: any) => {\n props.column.valueChange?.(e, {\n column: props.column,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n newValue: val,\n oldValue: oldValue,\n })\n }\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n\n const save = () => {\n const recordIndexs = props.recordIndexs!\n let dataSource = tableContext.props.dataSource || []\n let record: any = {}\n recordIndexs.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n const value =\n props.column.valueParser?.({\n column: props.column,\n record,\n recordIndexs,\n newValue: modelValue.value,\n oldValue,\n }) ?? modelValue.value\n const valueSetter = props.column.valueSetter\n if (valueSetter) {\n const result = valueSetter({\n column: props.column,\n record: record,\n recordIndexs: recordIndexs,\n newValue: modelValue.value,\n oldValue: oldValue,\n })\n if (isPromise(result)) {\n result\n .then((res) => {\n res && emit('closeEditor', [props.cellKey])\n })\n .catch(() => {})\n return\n }\n result && emit('closeEditor', [props.cellKey])\n } else {\n devWarning(\n undefined !== props.column.dataIndex || null !== props.column.dataIndex,\n 'Editable',\n 'If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified.',\n )\n set(record, props.column.dataIndex!, value)\n emit('closeEditor', [props.cellKey])\n }\n }\n\n let isKeyDown = false\n const closeEditor = (key?: any) => {\n emit('closeEditor', key ?? [props.cellKey])\n }\n\n return {\n modelValue,\n inputRef,\n handleInput: (e: Event) => {\n onInput(e, (e.target as HTMLInputElement)?.value)\n },\n handleKeyDown: (e: KeyboardEvent) => {\n const { which } = e\n if (which === KeyCode.ENTER) {\n save()\n } else {\n if (which === KeyCode.ESC) {\n isKeyDown = true\n emit('closeEditor', null)\n }\n emit('keydown', e)\n }\n },\n handleBlur: () => {\n isKeyDown || props.multiple || save()\n },\n tableSlots,\n popup,\n save,\n closeEditor,\n getCustomEditorProps: (): CellEditorArgs => ({\n modelValue,\n save,\n onInput,\n closeEditor,\n column: props.column.originColumn!,\n editorRef: inputRef,\n getPopupContainer: props.getPopupContainer as any,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n }),\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-cell-edit-inner`\" :data-cell-auto=\"autoHeight\">\n <template v-if=\"customEditable\">\n <component\n v-if=\"tableSlots.cellEditor\"\n v-bind=\"getCustomEditorProps()\"\n :is=\"tableSlots.cellEditor\"\n />\n </template>\n <input\n v-else\n v-model=\"modelValue\"\n ref=\"inputRef\"\n :class=\"`${prefixCls}-cell-edit-input`\"\n type=\"text\"\n @input=\"handleInput\"\n @keydown=\"handleKeyDown\"\n @blur=\"handleBlur\"\n />\n </div>\n</template>\n"],"names":["defineComponent","useInjectSlots","useInjectPopup","ref","shallowRef","useInjectTable","onMounted","nextTick","_b","_a","_c","computed","isPromise","devWarning","set","KeyCode"],"mappings":";;;;;;;;;;;;;AAmBA,gBAAeA,mBAAA,CAAgB;AAAA,EAC7B,YAAA,EAAc,KAAA;AAAA,EACd,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,IAC1B,YAAA,EAAc,EAAE,IAAA,EAAM,KAAA,EAA4B;AAAA,IAClD,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,QAAQ,EAAE,IAAA,EAAM,QAAyB,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,IAC7D,KAAA,EAAO,EAAE,SAAA,EAAW,MAAM,IAAA,EAAK;AAAA,IAC/B,cAAA,EAAgB,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA,EAAM;AAAA,IAChD,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA,EAAM;AAAA,IAC1C,UAAA,EAAY,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,KAAA,EAAM;AAAA,IAC5C,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAAO;AAAA,IACxB,iBAAA,EAAmB,QAAA;AAAA,IACnB,aAAA,EAAe,QAAA;AAAA,IACf,SAAA,EAAW;AAAA,GACb;AAAA,EACA,KAAA,EAAO,CAAC,aAAA,EAAe,SAAS,CAAA;AAAA,EAChC,KAAA,CAAM,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAK,EAAG;;AAC7B,IAAA,MAAM,aAAaC,gCAAA,EAAe;AAClC,IAAA,MAAM,QAAQC,2BAAA,EAAe;AAC7B,IAAA,MAAM,QAAA,GAAA,CACJ,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,MAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,gBAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAA4B;AAAA,MAC1B,OAAO,KAAA,CAAM,KAAA;AAAA,MACb,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,cAAc,KAAA,CAAM;AAAA,KACtB,CAAA,KALA,YAKM,KAAA,CAAM,KAAA;AAEd,IAAA,MAAM,UAAA,GAAaC,QAAI,QAAQ,CAAA;AAC/B,IAAA,MAAM,QAAA,GAAWC,eAAgB,IAAI,CAAA;AAErC,IAAA,MAAM,eAAeC,2BAAA,EAAe;AAEpC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAAC,YAAA,CAAS,MAAM;;AACb,QAAA,IAAI,QAAA,CAAS,KAAA,IAAS,CAAC,KAAA,CAAM,QAAA,EAAU;AACrC,UAAA,CAAAC,GAAAA,GAAAA,CAAAC,MAAA,QAAA,CAAS,KAAA,KAAT,gBAAAA,GAAAA,CAAgB,KAAA,KAAhB,IAAA,GAAA,MAAA,GAAAD,GAAAA,CAAA,IAAA,CAAAC,GAAAA,CAAAA;AACA,UAAA,CAAA,EAAA,GAAA,CAAAC,MAAA,QAAA,CAAS,KAAA,KAAT,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAgB,WAAhB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAAA,GAAAA,CAAAA;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAED,IAAA,MAAA,CAAO,EAAE,KAAA,EAAO,UAAA,EAAY,QAAA,EAAU,CAAA;AAEtC,IAAA,MAAM,OAAA,GAAU,CAAC,CAAA,EAAU,GAAA,KAAa;;AACtC,MAAA,CAAAF,GAAAA,GAAAA,CAAAC,MAAA,KAAA,CAAM,MAAA,EAAO,gBAAb,IAAA,GAAA,MAAA,GAAAD,GAAAA,CAAA,IAAA,CAAAC,GAAAA,EAA2B,CAAA,EAAG;AAAA,QAC5B,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,QAAA,EAAU,GAAA;AAAA,QACV;AAAA,OACF,CAAA;AAAA,IACF,CAAA;AACA,IAAA,MAAM,qBAAqBE,YAAA,CAAS,MAAM,YAAA,CAAa,KAAA,CAAM,sBAAsB,UAAU,CAAA;AAE7F,IAAA,MAAM,OAAO,MAAM;;AACjB,MAAA,MAAM,eAAe,KAAA,CAAM,YAAA;AAC3B,MAAA,IAAI,UAAA,GAAa,YAAA,CAAa,KAAA,CAAM,UAAA,IAAc,EAAC;AACnD,MAAA,IAAI,SAAc,EAAC;AACnB,MAAA,YAAA,CAAa,OAAA,CAAQ,CAAC,KAAA,KAAU;AAC9B,QAAA,MAAA,GAAS,WAAW,KAAK,CAAA;AACzB,QAAA,UAAA,GAAa,MAAA,CAAO,kBAAA,CAAmB,KAAK,CAAA,IAAK,EAAC;AAAA,MACpD,CAAC,CAAA;AACD,MAAA,MAAM,KAAA,GAAA,CACJD,GAAAA,GAAAA,CAAAF,GAAAA,GAAAA,CAAAC,GAAAA,GAAA,KAAA,CAAM,QAAO,WAAA,KAAb,IAAA,GAAA,MAAA,GAAAD,GAAAA,CAAA,IAAA,CAAAC,GAAAA,EAA2B;AAAA,QACzB,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAA;AAAA,QACA,YAAA;AAAA,QACA,UAAU,UAAA,CAAW,KAAA;AAAA,QACrB;AAAA,OACF,CAAA,KANA,IAAA,GAAAC,GAAAA,GAMM,UAAA,CAAW,KAAA;AACnB,MAAA,MAAM,WAAA,GAAc,MAAM,MAAA,CAAO,WAAA;AACjC,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,MAAM,SAAS,WAAA,CAAY;AAAA,UACzB,QAAQ,KAAA,CAAM,MAAA;AAAA,UACd,MAAA;AAAA,UACA,YAAA;AAAA,UACA,UAAU,UAAA,CAAW,KAAA;AAAA,UACrB;AAAA,SACD,CAAA;AACD,QAAA,IAAIE,kBAAA,CAAU,MAAM,CAAA,EAAG;AACrB,UAAA,MAAA,CACG,IAAA,CAAK,CAAC,GAAA,KAAQ;AACb,YAAA,GAAA,IAAO,IAAA,CAAK,aAAA,EAAe,CAAC,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,UAC5C,CAAC,CAAA,CACA,KAAA,CAAM,MAAM;AAAA,UAAC,CAAC,CAAA;AACjB,UAAA;AAAA,QACF;AACA,QAAA,MAAA,IAAU,IAAA,CAAK,aAAA,EAAe,CAAC,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,MAC/C,CAAA,MAAO;AACL,QAAAC,kBAAA;AAAA,UACE,WAAc,KAAA,CAAM,MAAA,CAAO,SAAA,IAAa,IAAA,KAAS,MAAM,MAAA,CAAO,SAAA;AAAA,UAC9D,UAAA;AAAA,UACA;AAAA,SACF;AACA,QAAAC,iBAAA,CAAI,MAAA,EAAQ,KAAA,CAAM,MAAA,CAAO,SAAA,EAAY,KAAK,CAAA;AAC1C,QAAA,IAAA,CAAK,aAAA,EAAe,CAAC,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,MACrC;AAAA,IACF,CAAA;AAEA,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,MAAM,WAAA,GAAc,CAAC,GAAA,KAAc;AACjC,MAAA,IAAA,CAAK,aAAA,EAAe,GAAA,IAAA,IAAA,GAAA,GAAA,GAAO,CAAC,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,IAC5C,CAAA;AAEA,IAAA,OAAO;AAAA,MACL,UAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA,EAAa,CAAC,CAAA,KAAa;;AACzB,QAAA,OAAA,CAAQ,IAAIL,GAAAA,GAAA,CAAA,CAAE,MAAA,KAAF,IAAA,GAAA,MAAA,GAAAA,IAA+B,KAAK,CAAA;AAAA,MAClD,CAAA;AAAA,MACA,aAAA,EAAe,CAAC,CAAA,KAAqB;AACnC,QAAA,MAAM,EAAE,OAAM,GAAI,CAAA;AAClB,QAAA,IAAI,KAAA,KAAUM,gBAAQ,KAAA,EAAO;AAC3B,UAAA,IAAA,EAAK;AAAA,QACP,CAAA,MAAO;AACL,UAAA,IAAI,KAAA,KAAUA,gBAAQ,GAAA,EAAK;AACzB,YAAA,SAAA,GAAY,IAAA;AACZ,YAAA,IAAA,CAAK,eAAe,IAAI,CAAA;AAAA,UAC1B;AACA,UAAA,IAAA,CAAK,WAAW,CAAC,CAAA;AAAA,QACnB;AAAA,MACF,CAAA;AAAA,MACA,YAAY,MAAM;AAChB,QAAA,SAAA,IAAa,KAAA,CAAM,YAAY,IAAA,EAAK;AAAA,MACtC,CAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,WAAA;AAAA,MACA,sBAAsB,OAAuB;AAAA,QAC3C,UAAA;AAAA,QACA,IAAA;AAAA,QACA,OAAA;AAAA,QACA,WAAA;AAAA,QACA,MAAA,EAAQ,MAAM,MAAA,CAAO,YAAA;AAAA,QACrB,SAAA,EAAW,QAAA;AAAA,QACX,mBAAmB,KAAA,CAAM,iBAAA;AAAA,QACzB,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,cAAc,KAAA,CAAM;AAAA,OACtB;AAAA,KACF;AAAA,EACF;AACF,CAAC,CAAA;;;;"}
|