pro-design-vue 1.3.21 → 1.3.22

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 (127) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +1181 -1585
  3. package/dist/index.full.min.js +7 -9
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +7 -9
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +1182 -1586
  8. package/es/components/config-provider/src/typing.d.ts +1 -0
  9. package/es/components/table/src/components/Body/Body.vue.d.ts +261 -15
  10. package/es/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
  11. package/es/components/table/src/components/Body/BodyEditCell.d.ts +60 -0
  12. package/es/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
  13. package/es/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
  14. package/es/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
  15. package/es/components/table/src/components/InteralTable.vue.d.ts +314 -19
  16. package/es/components/table/src/components/Table.d.ts +51 -0
  17. package/es/components/table/src/components/context/TableContext.d.ts +4 -0
  18. package/es/components/table/src/components/interface.d.ts +295 -23
  19. package/es/components/table/src/hooks/useCellProps.d.ts +5 -1
  20. package/es/components/table/src/hooks/useEdit.d.ts +24 -7
  21. package/es/components/table/src/utils/form-model.d.ts +25 -0
  22. package/es/components/table/src/utils/util.d.ts +1 -0
  23. package/es/index.d.ts +276 -5
  24. package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs +35 -0
  25. package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -0
  26. package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs +129 -0
  27. package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -0
  28. package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +256 -0
  29. package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -0
  30. package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +63 -8
  31. package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
  32. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +24 -18
  33. package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
  34. package/es/packages/components/table/src/components/Body/{BodyCell.mjs → BodyTextCell.mjs} +25 -155
  35. package/es/packages/components/table/src/components/Body/BodyTextCell.mjs.map +1 -0
  36. package/es/packages/components/table/src/components/InteralTable.vue.mjs +24 -25
  37. package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
  38. package/es/packages/components/table/src/components/InteralTable.vue2.mjs +36 -97
  39. package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
  40. package/es/packages/components/table/src/components/Table.mjs +24 -20
  41. package/es/packages/components/table/src/components/Table.mjs.map +1 -1
  42. package/es/packages/components/table/src/components/context/TableContext.mjs.map +1 -1
  43. package/es/packages/components/table/src/components/interface.mjs +24 -0
  44. package/es/packages/components/table/src/components/interface.mjs.map +1 -1
  45. package/es/packages/components/table/src/hooks/useCellProps.mjs +8 -0
  46. package/es/packages/components/table/src/hooks/useCellProps.mjs.map +1 -1
  47. package/es/packages/components/table/src/hooks/useEdit.mjs +293 -18
  48. package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
  49. package/es/packages/components/table/src/utils/form-model.mjs +98 -0
  50. package/es/packages/components/table/src/utils/form-model.mjs.map +1 -0
  51. package/es/packages/components/table/src/utils/util.mjs +4 -1
  52. package/es/packages/components/table/src/utils/util.mjs.map +1 -1
  53. package/es/packages/utils/dom.mjs +15 -1
  54. package/es/packages/utils/dom.mjs.map +1 -1
  55. package/es/packages/utils/index.mjs +1 -1
  56. package/es/utils/dom.d.ts +2 -0
  57. package/es/version.d.ts +1 -1
  58. package/es/version.mjs +1 -1
  59. package/es/version.mjs.map +1 -1
  60. package/lib/components/config-provider/src/typing.d.ts +1 -0
  61. package/lib/components/table/src/components/Body/Body.vue.d.ts +261 -15
  62. package/lib/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
  63. package/lib/components/table/src/components/Body/BodyEditCell.d.ts +60 -0
  64. package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
  65. package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
  66. package/lib/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
  67. package/lib/components/table/src/components/InteralTable.vue.d.ts +314 -19
  68. package/lib/components/table/src/components/Table.d.ts +51 -0
  69. package/lib/components/table/src/components/context/TableContext.d.ts +4 -0
  70. package/lib/components/table/src/components/interface.d.ts +295 -23
  71. package/lib/components/table/src/hooks/useCellProps.d.ts +5 -1
  72. package/lib/components/table/src/hooks/useEdit.d.ts +24 -7
  73. package/lib/components/table/src/utils/form-model.d.ts +25 -0
  74. package/lib/components/table/src/utils/util.d.ts +1 -0
  75. package/lib/index.d.ts +276 -5
  76. package/lib/packages/components/table/src/components/Body/BodyCell.vue.js +39 -0
  77. package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -0
  78. package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js +133 -0
  79. package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -0
  80. package/lib/packages/components/table/src/components/Body/BodyEditCell.js +260 -0
  81. package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -0
  82. package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +63 -8
  83. package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
  84. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +22 -16
  85. package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
  86. package/lib/packages/components/table/src/components/Body/{BodyCell.js → BodyTextCell.js} +24 -154
  87. package/lib/packages/components/table/src/components/Body/BodyTextCell.js.map +1 -0
  88. package/lib/packages/components/table/src/components/InteralTable.vue.js +24 -25
  89. package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
  90. package/lib/packages/components/table/src/components/InteralTable.vue2.js +36 -97
  91. package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
  92. package/lib/packages/components/table/src/components/Table.js +24 -20
  93. package/lib/packages/components/table/src/components/Table.js.map +1 -1
  94. package/lib/packages/components/table/src/components/context/TableContext.js.map +1 -1
  95. package/lib/packages/components/table/src/components/interface.js +24 -0
  96. package/lib/packages/components/table/src/components/interface.js.map +1 -1
  97. package/lib/packages/components/table/src/hooks/useCellProps.js +8 -0
  98. package/lib/packages/components/table/src/hooks/useCellProps.js.map +1 -1
  99. package/lib/packages/components/table/src/hooks/useEdit.js +292 -17
  100. package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
  101. package/lib/packages/components/table/src/utils/form-model.js +102 -0
  102. package/lib/packages/components/table/src/utils/form-model.js.map +1 -0
  103. package/lib/packages/components/table/src/utils/util.js +4 -0
  104. package/lib/packages/components/table/src/utils/util.js.map +1 -1
  105. package/lib/packages/utils/dom.js +16 -0
  106. package/lib/packages/utils/dom.js.map +1 -1
  107. package/lib/packages/utils/index.js +2 -0
  108. package/lib/packages/utils/index.js.map +1 -1
  109. package/lib/utils/dom.d.ts +2 -0
  110. package/lib/version.d.ts +1 -1
  111. package/lib/version.js +1 -1
  112. package/lib/version.js.map +1 -1
  113. package/package.json +1 -1
  114. package/theme-chalk/index.css +1 -1
  115. package/theme-chalk/src/table/table.less +29 -2
  116. package/es/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
  117. package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +0 -1
  118. package/es/packages/components/table/src/components/Body/EditInput.vue.mjs +0 -48
  119. package/es/packages/components/table/src/components/Body/EditInput.vue.mjs.map +0 -1
  120. package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs +0 -151
  121. package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs.map +0 -1
  122. package/lib/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
  123. package/lib/packages/components/table/src/components/Body/BodyCell.js.map +0 -1
  124. package/lib/packages/components/table/src/components/Body/EditInput.vue.js +0 -52
  125. package/lib/packages/components/table/src/components/Body/EditInput.vue.js.map +0 -1
  126. package/lib/packages/components/table/src/components/Body/EditInput.vue2.js +0 -155
  127. 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":"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"}