pro-design-vue 1.0.0-rc.1 → 1.0.0-rc.10
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.full.js +325 -137
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +326 -138
- package/es/components/counter/src/counter.vue.d.ts +2 -4
- package/es/components/counter/src/counter.vue2.mjs +2 -4
- package/es/components/counter/src/counter.vue2.mjs.map +1 -1
- package/es/components/form/src/base/BaseForm.mjs +19 -12
- package/es/components/form/src/base/BaseForm.mjs.map +1 -1
- package/es/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/es/components/form/src/components/FormColWrapper.mjs +9 -1
- package/es/components/form/src/components/FormColWrapper.mjs.map +1 -1
- package/es/components/form/src/components/FormGroup.d.ts +12 -12
- package/es/components/form/src/components/FormGroup.mjs.map +1 -1
- package/es/components/form/src/components/FormItem.d.ts +9 -0
- package/es/components/form/src/components/FormItem.mjs +13 -3
- package/es/components/form/src/components/FormItem.mjs.map +1 -1
- package/es/components/form/src/components/FormItems.mjs +2 -1
- package/es/components/form/src/components/FormItems.mjs.map +1 -1
- package/es/components/form/src/components/FormList.d.ts +12 -12
- package/es/components/form/src/components/FormListContainer.d.ts +12 -12
- package/es/components/form/src/components/FormListItem.d.ts +12 -12
- package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/es/components/form/src/components/FormSet.d.ts +12 -12
- package/es/components/form/src/hooks/useAction.d.ts +5 -2
- package/es/components/form/src/hooks/useAction.mjs +137 -12
- package/es/components/form/src/hooks/useAction.mjs.map +1 -1
- package/es/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/es/components/form/src/hooks/useFieldValue.mjs +11 -15
- package/es/components/form/src/hooks/useFieldValue.mjs.map +1 -1
- package/es/components/form/src/layouts/DrawerForm.mjs +8 -12
- package/es/components/form/src/layouts/DrawerForm.mjs.map +1 -1
- package/es/components/form/src/layouts/ModalForm.mjs +8 -12
- package/es/components/form/src/layouts/ModalForm.mjs.map +1 -1
- package/es/components/form/src/layouts/QueryFilter.mjs +2 -2
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/form/src/layouts/StepsForm.mjs +5 -1
- package/es/components/form/src/layouts/StepsForm.mjs.map +1 -1
- package/es/components/form/src/type.d.ts +11 -7
- package/es/components/form/src/utils/transformer.d.ts +3 -0
- package/es/components/form/src/utils/transformer.mjs +24 -0
- package/es/components/form/src/utils/transformer.mjs.map +1 -0
- package/es/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs +4 -3
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs.map +1 -1
- package/es/components/layout/src/layout.vue.d.ts +1 -0
- package/es/components/layout/src/layout.vue2.mjs +3 -1
- package/es/components/layout/src/layout.vue2.mjs.map +1 -1
- package/es/components/layout/src/typing.d.ts +5 -0
- package/es/components/table/src/components/Body/Body.vue.d.ts +1 -0
- package/es/components/table/src/components/Body/Body.vue.mjs +14 -18
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +11 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +10 -1
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Form/Form.d.ts +10 -7
- package/es/components/table/src/components/Form/Form.mjs +8 -40
- package/es/components/table/src/components/Form/Form.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +1 -0
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +3 -0
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.mjs +29 -4
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +1 -0
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs +18 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs.map +1 -0
- package/es/index.d.ts +20 -11
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/counter/src/counter.vue.d.ts +2 -4
- package/lib/components/counter/src/counter.vue2.js +2 -4
- package/lib/components/counter/src/counter.vue2.js.map +1 -1
- package/lib/components/form/src/base/BaseForm.js +17 -10
- package/lib/components/form/src/base/BaseForm.js.map +1 -1
- package/lib/components/form/src/components/FormColWrapper.d.ts +9 -0
- package/lib/components/form/src/components/FormColWrapper.js +9 -1
- package/lib/components/form/src/components/FormColWrapper.js.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +12 -12
- package/lib/components/form/src/components/FormGroup.js.map +1 -1
- package/lib/components/form/src/components/FormItem.d.ts +9 -0
- package/lib/components/form/src/components/FormItem.js +13 -3
- package/lib/components/form/src/components/FormItem.js.map +1 -1
- package/lib/components/form/src/components/FormItems.js +2 -1
- package/lib/components/form/src/components/FormItems.js.map +1 -1
- package/lib/components/form/src/components/FormList.d.ts +12 -12
- package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
- package/lib/components/form/src/components/FormListItem.d.ts +12 -12
- package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/lib/components/form/src/components/FormSet.d.ts +12 -12
- package/lib/components/form/src/hooks/useAction.d.ts +5 -2
- package/lib/components/form/src/hooks/useAction.js +137 -10
- package/lib/components/form/src/hooks/useAction.js.map +1 -1
- package/lib/components/form/src/hooks/useFieldValue.d.ts +1 -1
- package/lib/components/form/src/hooks/useFieldValue.js +11 -15
- package/lib/components/form/src/hooks/useFieldValue.js.map +1 -1
- package/lib/components/form/src/layouts/DrawerForm.js +8 -12
- package/lib/components/form/src/layouts/DrawerForm.js.map +1 -1
- package/lib/components/form/src/layouts/ModalForm.js +8 -12
- package/lib/components/form/src/layouts/ModalForm.js.map +1 -1
- package/lib/components/form/src/layouts/QueryFilter.js +2 -2
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/form/src/layouts/StepsForm.js +5 -1
- package/lib/components/form/src/layouts/StepsForm.js.map +1 -1
- package/lib/components/form/src/type.d.ts +11 -7
- package/lib/components/form/src/utils/transformer.d.ts +3 -0
- package/lib/components/form/src/utils/transformer.js +28 -0
- package/lib/components/form/src/utils/transformer.js.map +1 -0
- package/lib/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/lib/components/layout/src/components/layout-sidebar.vue2.js +4 -3
- package/lib/components/layout/src/components/layout-sidebar.vue2.js.map +1 -1
- package/lib/components/layout/src/layout.vue.d.ts +1 -0
- package/lib/components/layout/src/layout.vue2.js +3 -1
- package/lib/components/layout/src/layout.vue2.js.map +1 -1
- package/lib/components/layout/src/typing.d.ts +5 -0
- package/lib/components/table/src/components/Body/Body.vue.d.ts +1 -0
- package/lib/components/table/src/components/Body/Body.vue.js +13 -17
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +11 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +9 -0
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Form/Form.d.ts +10 -7
- package/lib/components/table/src/components/Form/Form.js +8 -40
- package/lib/components/table/src/components/Form/Form.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -0
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +3 -0
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.js +29 -4
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +1 -0
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js +20 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js.map +1 -0
- package/lib/index.d.ts +20 -11
- 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/src/index.less +1 -1
- package/theme-chalk/pro-table.css +0 -1
- package/theme-chalk/src/table.less +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useAction.mjs","sources":["../../../../../../../packages/components/form/src/hooks/useAction.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-23 20:07:22\n * @LastEditors: shen\n * @LastEditTime: 2025-07-26 12:01:35\n * @Description:\n */\n\nimport type { Ref, ShallowRef } from 'vue'\nimport type { ProFormActionType, NamePath, Entity } from '../type'\nimport type { ProFormProps } from '../props'\nimport type { FormInstance } from 'ant-design-vue'\nimport { cloneDeep, get, isObject, merge, set } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\nconst transformKey = (values: any, paramsOmitNil: boolean, parentKey?: NamePath) => {\n console.log('🚀 ~ transformKey ~ parentKey:', parentKey)\n console.log('🚀 ~ transformKey ~ paramsOmitNil:', paramsOmitNil)\n return values\n}\n\nexport function useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n onFinish,\n onReset,\n onFinishFailed,\n}: {\n props: ProFormProps\n formRef: Ref<FormInstance | undefined>\n formData: Ref<Entity>\n initialValues: ShallowRef<Entity>\n hasInitial: Ref<boolean>\n onFinish: ProFormProps['onFinish']\n onReset: ProFormProps['onReset']\n onFinishFailed: ProFormProps['onFinishFailed']\n}): ProFormActionType {\n const getFieldValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n return get(formData.value, namePath)\n }\n const getFieldsValue = (nameList?: true | NamePath[]) => {\n if (nameList === true || nameList === undefined) {\n return cloneDeep(formData.value)\n }\n const obj = {}\n nameList.forEach((name) => {\n const namePath = covertFormName(name)\n const value = get(formData.value, namePath!)\n if (value !== undefined) {\n set(obj, namePath!, value)\n }\n })\n return obj\n }\n const getFieldFormatValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return get(transformKey(obj, props.omitNil!, namePath), namePath)\n }\n\n const getFieldFormatValueObject = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return transformKey(obj, props.omitNil!, namePath)\n }\n\n const validateFieldsReturnFormatValue = async (nameList?: NamePath[]) => {\n if (!Array.isArray(nameList) && nameList) throw new Error('nameList must be array')\n\n const values = await formRef.value?.validateFields(nameList)\n const transformedKey = transformKey(values, props.omitNil!)\n return transformedKey ?? {}\n }\n\n const setFieldValue = (name: NamePath, value: any) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n set(formData.value, namePath, value)\n }\n\n const setFieldsValue = (values: Entity, isMerge: boolean = true) => {\n if (!values) throw new Error('values is require')\n if (isMerge) {\n formData.value = merge({}, formData.value, values)\n } else {\n formData.value = cloneDeep(values)\n }\n }\n const resetInitialValues = (values: Entity) => {\n if (!values) throw new Error('values is require')\n if (!isObject(values)) throw new Error('values must be object')\n hasInitial.value = true\n initialValues.value = cloneDeep(values)\n }\n\n const reset = () => {\n hasInitial.value = true\n formRef.value?.clearValidate()\n formData.value = cloneDeep(initialValues.value)\n Promise.resolve().then(() => {\n hasInitial.value = false\n onReset?.(formData.value)\n })\n }\n\n const resetField = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n formRef.value?.clearValidate(name)\n set(formData.value, name, cloneDeep(get(initialValues.value, name)))\n }\n\n const clearValidate = (name?: NamePath) => {\n formRef.value?.clearValidate(name)\n }\n\n const validateFields = (nameList?: NamePath[]) => {\n return new Promise((resolve, reject) => {\n formRef.value\n ?.validateFields(nameList)\n .then((values) => {\n resolve({ ...formData.value, ...values })\n })\n .catch((e) => {\n reject(e)\n })\n }) as Promise<Entity>\n }\n\n const submit = () => {\n validateFields()\n .then((values) => {\n if (onFinish) {\n try {\n onFinish(values)\n } catch (err) {\n console.error(err)\n }\n }\n })\n .catch((e) => {\n if (onFinishFailed) {\n onFinishFailed(e)\n }\n })\n }\n\n return {\n getFieldValue,\n getFieldsValue,\n resetInitialValues,\n getFieldFormatValue,\n getFieldFormatValueObject,\n validateFieldsReturnFormatValue,\n setFieldValue,\n setFieldsValue,\n resetField,\n clearValidate,\n validateFields,\n reset,\n submit,\n }\n}\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useAction.mjs","sources":["../../../../../../../packages/components/form/src/hooks/useAction.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-23 20:07:22\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:11:16\n * @Description:\n */\n\nimport type { Ref, ShallowRef } from 'vue'\nimport type { ProFormActionType, NamePath, Entity, TransformerMapType } from '../type'\nimport type { ProFormProps } from '../props'\nimport type { FormInstance } from 'ant-design-vue'\nimport { cloneDeep, get, isObject, merge, set, isNil, isValidElement } from '@pro-design-vue/utils'\nimport covertFormName from '../utils/namePath'\n\n/**\n * 暂时还不支持 Set和 Map 结构 判断是不是一个能遍历的对象\n *\n * @param itemValue\n * @returns Boolean\n */\nfunction isPlainObj(itemValue: any) {\n if (typeof itemValue !== 'object') return false\n\n /** Null 也要处理,不然omit空会失效 */\n if (itemValue === null) return true\n\n if (isValidElement(itemValue)) return false\n if (itemValue.constructor === RegExp) return false\n if (itemValue instanceof Map) return false\n if (itemValue instanceof Set) return false\n if (itemValue instanceof HTMLElement) return false\n if (itemValue instanceof Blob) return false\n if (itemValue instanceof File) return false\n if (Array.isArray(itemValue)) return false\n return true\n}\n\nexport const transformKeySubmitValue = <T extends object = any>(\n values: T,\n transformerMap: TransformerMapType,\n paramsOmitNil?: boolean,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n if (typeof window === 'undefined') return values\n // 如果 value 是 string | null | Array | Blob类型 其中之一,直接返回\n // 形如 {key: [File, File]} 的表单字段当进行第二次递归时会导致其直接越过 typeof value !== 'object'\n if (typeof values !== 'object' || isNil(values) || values instanceof Blob) {\n return values\n }\n let finalValues: any = Array.isArray(values) ? [] : ({} as T)\n\n const gen = (tempValues: T, parentsKey?: NamePath) => {\n const isArrayValues = Array.isArray(tempValues)\n let result = isArrayValues ? ([] as any) : ({} as T)\n if (tempValues == null || tempValues === undefined) {\n return result\n }\n\n Object.keys(tempValues).forEach((entityKey) => {\n const transformForArray = (transformList: any, subItemValue: any) => {\n if (!Array.isArray(transformList)) return entityKey\n transformList.forEach((transform: Function | Record<string, any> | any[], idx: number) => {\n // 如果不存在直接返回\n if (!transform) return\n\n const subTransformItem = subItemValue?.[idx]\n\n // 如果是个方法,把key设置为方法的返回值\n if (typeof transform === 'function') {\n subItemValue[idx] = transform(subItemValue, entityKey, tempValues)\n }\n if (typeof transform === 'object' && !Array.isArray(transform)) {\n Object.keys(transform).forEach((transformArrayItem) => {\n const subTransformItemValue = subTransformItem?.[transformArrayItem]\n if (typeof transform[transformArrayItem] === 'function' && subTransformItemValue) {\n const res = transform[transformArrayItem](\n subTransformItem[transformArrayItem],\n entityKey,\n tempValues,\n )\n subTransformItem[transformArrayItem] =\n typeof res === 'object' ? res[transformArrayItem] : res\n } else if (\n typeof transform[transformArrayItem] === 'object' &&\n Array.isArray(transform[transformArrayItem]) &&\n subTransformItemValue\n ) {\n transformForArray(transform[transformArrayItem], subTransformItemValue)\n }\n })\n }\n if (typeof transform === 'object' && Array.isArray(transform) && subTransformItem) {\n transformForArray(transform, subTransformItem)\n }\n })\n return entityKey\n }\n const key = parentsKey ? [parentsKey, entityKey].flat(1) : [entityKey].flat(1)\n const itemValue = (tempValues as any)[entityKey]\n const transformFunction = transformerMap.get(entityKey)?.transform\n\n const transform = () => {\n let tempKey,\n transformedResult,\n isTransformedResultPrimitive = false\n\n /**\n * 先判断是否是方法,是的话执行后拿到值,如果是基本类型,则认为是直接 transform 为新的值,\n * 如果返回是 Object 则认为是 transform 为新的 {newKey: newValue}\n */\n if (typeof transformFunction === 'function') {\n transformedResult = transformFunction?.(itemValue, entityKey, tempValues)\n const typeOfResult = typeof transformedResult\n if (typeOfResult !== 'object' && typeOfResult !== 'undefined') {\n tempKey = entityKey\n isTransformedResultPrimitive = true\n } else {\n tempKey = transformedResult\n }\n } else {\n tempKey = transformForArray(transformFunction, itemValue)\n }\n\n // { [key:string]:any } 数组也能通过编译\n if (Array.isArray(tempKey)) {\n result = set(result, tempKey, itemValue)\n return\n }\n if (typeof tempKey === 'object' && !Array.isArray(finalValues)) {\n finalValues = merge(finalValues, tempKey)\n } else if (typeof tempKey === 'object' && Array.isArray(finalValues)) {\n result = { ...result, ...tempKey }\n } else if (tempKey !== null || tempKey !== undefined) {\n result = set(\n result,\n [tempKey],\n isTransformedResultPrimitive ? transformedResult : itemValue,\n )\n }\n }\n\n /** 如果存在转化器提前渲染一下 */\n if (transformFunction && typeof transformFunction === 'function') {\n transform()\n }\n\n if (typeof window === 'undefined') return\n if (isPlainObj(itemValue)) {\n const genValues = gen(itemValue, key)\n if (Object.keys(genValues).length < 1) {\n return\n }\n result = set(result, [entityKey], genValues)\n return\n }\n transform()\n })\n return paramsOmitNil ? result : tempValues\n }\n\n finalValues =\n Array.isArray(values) && Array.isArray(finalValues)\n ? [...gen(values)]\n : merge({}, gen(values), finalValues)\n\n return finalValues as T\n}\n\nexport const convertKeyInitialValue = <T extends object = any>(\n values: T,\n transformerMap: TransformerMapType,\n) => {\n if (Object.keys(values).length < 1) {\n return values\n }\n\n const finalValues: any = {} as T\n Object.keys(values).forEach((entityKey) => {\n const itemValue = (values as any)[entityKey]\n const convertValueFunction = transformerMap.get(entityKey)?.convertValue\n if (typeof convertValueFunction === 'function') {\n const convertResult = convertValueFunction?.(itemValue, entityKey)\n finalValues[entityKey] = convertResult\n } else {\n finalValues[entityKey] = itemValue\n }\n })\n\n return finalValues\n}\n\nexport function useAction({\n props,\n formRef,\n formData,\n initialValues,\n hasInitial,\n transformerMap,\n onFinish,\n onReset,\n onFinishFailed,\n}: {\n props: ProFormProps\n formRef: Ref<FormInstance | undefined>\n formData: Ref<Entity>\n initialValues: ShallowRef<Entity>\n hasInitial: Ref<boolean>\n transformerMap: ShallowRef<TransformerMapType>\n onFinish: ProFormProps['onFinish']\n onReset: ProFormProps['onReset']\n onFinishFailed: ProFormProps['onFinishFailed']\n}): ProFormActionType {\n const getFieldValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n return get(formData.value, namePath)\n }\n const getFieldsValue = (nameList?: true | NamePath[]) => {\n if (nameList === true || nameList === undefined) {\n return cloneDeep(formData.value)\n }\n const obj: any = {}\n nameList.forEach((name) => {\n const namePath = covertFormName(name)\n const value = get(formData.value, namePath!)\n if (value !== undefined) {\n set(obj, namePath!, value)\n }\n })\n return obj\n }\n const getFieldFormatValue = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return get(transformKeySubmitValue(obj, transformerMap.value, props.omitNil!), namePath)\n }\n\n const getFieldFormatValueObject = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n const value = get(formData.value, namePath)\n const obj = set({}, namePath, value)\n return transformKeySubmitValue(obj, transformerMap.value, props.omitNil!)\n }\n\n const validateFieldsReturnFormatValue = async (nameList?: NamePath[]) => {\n if (!Array.isArray(nameList) && nameList) throw new Error('nameList must be array')\n\n const values = await formRef.value?.validateFields(nameList)\n const transformedKey = transformKeySubmitValue(values!, transformerMap.value, props.omitNil!)\n return transformedKey ?? {}\n }\n\n const setFieldValue = (name: NamePath, value: any) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n set(formData.value, namePath, value)\n }\n\n const setFieldsValue = (values: Entity, isMerge: boolean = true) => {\n if (!values) throw new Error('values is require')\n if (isMerge) {\n formData.value = merge({}, formData.value, values)\n } else {\n formData.value = cloneDeep(values)\n }\n }\n const resetInitialValues = (values: Entity) => {\n if (!values) throw new Error('values is require')\n if (!isObject(values)) throw new Error('values must be object')\n hasInitial.value = true\n initialValues.value = cloneDeep(values)\n }\n\n const reset = () => {\n hasInitial.value = true\n formRef.value?.clearValidate()\n formData.value = cloneDeep(convertKeyInitialValue(initialValues.value, transformerMap.value))\n Promise.resolve().then(() => {\n hasInitial.value = false\n onReset?.(transformKeySubmitValue(formData.value, transformerMap.value, props.omitNil))\n })\n }\n\n const resetField = (name: NamePath) => {\n const namePath = covertFormName(name)\n if (!namePath) throw new Error('name is require')\n formRef.value?.clearValidate(name)\n set(formData.value, name, cloneDeep(get(initialValues.value, name)))\n }\n\n const clearValidate = (name?: NamePath) => {\n formRef.value?.clearValidate(name)\n }\n\n const validateFields = (nameList?: NamePath[]) => {\n return new Promise((resolve, reject) => {\n formRef.value\n ?.validateFields(nameList)\n .then((values) => {\n resolve({ ...formData.value, ...values })\n })\n .catch((e) => {\n reject(e)\n })\n }) as Promise<Entity>\n }\n\n const submit = () => {\n validateFields()\n .then((values) => {\n if (onFinish) {\n try {\n onFinish(values)\n } catch (err) {\n console.error(err)\n }\n }\n })\n .catch((e) => {\n if (onFinishFailed) {\n onFinishFailed(e)\n }\n })\n }\n\n return {\n getFieldValue,\n getFieldsValue,\n resetInitialValues,\n getFieldFormatValue,\n getFieldFormatValueObject,\n validateFieldsReturnFormatValue,\n setFieldValue,\n setFieldsValue,\n resetField,\n clearValidate,\n validateFields,\n reset,\n submit,\n }\n}\n"],"names":["transform"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { ComputedRef, Ref } from 'vue';
|
2
2
|
import type { NamePath, SearchConvertKeyFn, SearchTransformKeyFn } from '../type';
|
3
|
-
export declare function useFieldValue<T>({ namePath, initialValue, convertValue,
|
3
|
+
export declare function useFieldValue<T>({ namePath, initialValue, convertValue, }: {
|
4
4
|
isList?: boolean;
|
5
5
|
namePath: ComputedRef<NamePath>;
|
6
6
|
initialValue?: any;
|
@@ -5,25 +5,18 @@ import { get, cloneDeep, set } from 'lodash-unified';
|
|
5
5
|
function useFieldValue({
|
6
6
|
namePath,
|
7
7
|
initialValue,
|
8
|
-
convertValue
|
9
|
-
transform
|
8
|
+
convertValue
|
10
9
|
}) {
|
11
10
|
const fieldValue = shallowRef();
|
12
|
-
const { formData, initialValues
|
11
|
+
const { formData, initialValues } = useInjectForm();
|
13
12
|
const modelValue = computed(() => get(formData.value, namePath.value));
|
14
13
|
const onValueChange = (value) => {
|
15
|
-
set(
|
16
|
-
formData.value,
|
17
|
-
namePath.value,
|
18
|
-
transform ? transform(value, namePath.value, formData.value) : value
|
19
|
-
);
|
14
|
+
set(formData.value, namePath.value, value);
|
20
15
|
};
|
21
16
|
watch(
|
22
17
|
modelValue,
|
23
18
|
(newValue) => {
|
24
|
-
fieldValue.value = cloneDeep(
|
25
|
-
convertValue ? convertValue(newValue, namePath.value) : newValue
|
26
|
-
);
|
19
|
+
fieldValue.value = cloneDeep(newValue);
|
27
20
|
},
|
28
21
|
{
|
29
22
|
immediate: true,
|
@@ -32,11 +25,14 @@ function useFieldValue({
|
|
32
25
|
);
|
33
26
|
const initFieldInitialValue = () => {
|
34
27
|
var _a;
|
35
|
-
if (
|
36
|
-
|
28
|
+
if (
|
29
|
+
// !mountedRef.value &&
|
30
|
+
typeof modelValue.value === "undefined" && typeof initialValue !== "undefined"
|
31
|
+
) {
|
32
|
+
const value = convertValue ? convertValue(initialValue, namePath.value) : initialValue;
|
37
33
|
set(formData.value, namePath.value, cloneDeep(value));
|
38
|
-
set((_a = initialValues == null ? void 0 : initialValues.value) != null ? _a : {}, namePath.value, cloneDeep(
|
39
|
-
fieldValue.value =
|
34
|
+
set((_a = initialValues == null ? void 0 : initialValues.value) != null ? _a : {}, namePath.value, cloneDeep(initialValue));
|
35
|
+
fieldValue.value = value;
|
40
36
|
}
|
41
37
|
};
|
42
38
|
initFieldInitialValue();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFieldValue.mjs","sources":["../../../../../../../packages/components/form/src/hooks/useFieldValue.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-10 15:44:38\n * @LastEditors: shen\n * @LastEditTime: 2025-09-
|
1
|
+
{"version":3,"file":"useFieldValue.mjs","sources":["../../../../../../../packages/components/form/src/hooks/useFieldValue.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-06-10 15:44:38\n * @LastEditors: shen\n * @LastEditTime: 2025-09-22 16:14:20\n * @Description:\n */\nimport type { ComputedRef, Ref } from 'vue'\nimport type { NamePath, SearchConvertKeyFn, SearchTransformKeyFn } from '../type'\n\nimport { computed, shallowRef, watch } from 'vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { cloneDeep, set, get } from '@pro-design-vue/utils'\n\nexport function useFieldValue<T>({\n namePath,\n initialValue,\n convertValue,\n}: {\n isList?: boolean\n namePath: ComputedRef<NamePath>\n initialValue?: any\n convertValue?: SearchConvertKeyFn\n transform?: SearchTransformKeyFn\n}): {\n fieldValue: Ref<T | undefined>\n onValueChange: (value: T) => void\n} {\n const fieldValue = shallowRef<T | undefined>()\n\n const { formData, initialValues } = useInjectForm()\n\n const modelValue = computed(() => get(formData.value, namePath.value) as T)\n\n const onValueChange = (value: T) => {\n set(formData.value, namePath.value, value)\n }\n\n watch(\n modelValue,\n (newValue) => {\n fieldValue.value = cloneDeep(newValue)\n },\n {\n immediate: true,\n deep: true,\n },\n )\n\n const initFieldInitialValue = () => {\n if (\n // !mountedRef.value &&\n typeof modelValue.value === 'undefined' &&\n typeof initialValue !== 'undefined'\n ) {\n const value = convertValue ? (convertValue(initialValue, namePath.value) as T) : initialValue\n set(formData.value, namePath.value, cloneDeep(value))\n set(initialValues?.value ?? {}, namePath.value, cloneDeep(initialValue))\n fieldValue.value = value\n }\n }\n initFieldInitialValue()\n\n return {\n fieldValue,\n onValueChange,\n }\n}\n"],"names":[],"mappings":";;;;AAcO,SAAS,aAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EASE;AACA,EAAA,MAAM,aAAa,UAAA,EAA0B;AAE7C,EAAA,MAAM,EAAE,QAAA,EAAU,aAAA,EAAc,GAAI,aAAA,EAAc;AAElD,EAAA,MAAM,UAAA,GAAa,SAAS,MAAM,GAAA,CAAI,SAAS,KAAA,EAAO,QAAA,CAAS,KAAK,CAAM,CAAA;AAE1E,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAa;AAClC,IAAA,GAAA,CAAI,QAAA,CAAS,KAAA,EAAO,QAAA,CAAS,KAAA,EAAO,KAAK,CAAA;AAAA,EAC3C,CAAA;AAEA,EAAA,KAAA;AAAA,IACE,UAAA;AAAA,IACA,CAAC,QAAA,KAAa;AACZ,MAAA,UAAA,CAAW,KAAA,GAAQ,UAAU,QAAQ,CAAA;AAAA,IACvC,CAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM;AAAA;AACR,GACF;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAjDtC,IAAA,IAAA,EAAA;AAkDI,IAAA;AAAA;AAAA,MAEE,OAAO,UAAA,CAAW,KAAA,KAAU,WAAA,IAC5B,OAAO,YAAA,KAAiB;AAAA,MACxB;AACA,MAAA,MAAM,QAAQ,YAAA,GAAgB,YAAA,CAAa,YAAA,EAAc,QAAA,CAAS,KAAK,CAAA,GAAU,YAAA;AACjF,MAAA,GAAA,CAAI,SAAS,KAAA,EAAO,QAAA,CAAS,KAAA,EAAO,SAAA,CAAU,KAAK,CAAC,CAAA;AACpD,MAAA,GAAA,CAAA,CAAI,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,UAAf,IAAA,GAAA,EAAA,GAAwB,IAAI,QAAA,CAAS,KAAA,EAAO,SAAA,CAAU,YAAY,CAAC,CAAA;AACvE,MAAA,UAAA,CAAW,KAAA,GAAQ,KAAA;AAAA,IACrB;AAAA,EACF,CAAA;AACA,EAAA,qBAAA,EAAsB;AAEtB,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
@@ -2,7 +2,6 @@ import { defineComponent, ref, computed, watch, createVNode, Fragment, mergeProp
|
|
2
2
|
import { Modal } from 'ant-design-vue';
|
3
3
|
import { ProDrawer } from '../../../drawer/index.mjs';
|
4
4
|
import { drawerOrModalFormProps } from '../props.mjs';
|
5
|
-
import { useFormExpose } from '../hooks/useFormExpose.mjs';
|
6
5
|
import BaseForm from '../base/BaseForm.mjs';
|
7
6
|
import { filterEmpty, cloneElement } from '../../../../utils/clone-element.mjs';
|
8
7
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
@@ -23,8 +22,7 @@ var DrawerForm = /* @__PURE__ */ defineComponent({
|
|
23
22
|
emits: ["update:open"],
|
24
23
|
setup(props, {
|
25
24
|
slots,
|
26
|
-
emit
|
27
|
-
expose
|
25
|
+
emit
|
28
26
|
}) {
|
29
27
|
const _open = ref(false);
|
30
28
|
const loading = ref(false);
|
@@ -32,7 +30,6 @@ var DrawerForm = /* @__PURE__ */ defineComponent({
|
|
32
30
|
const intl = useIntl();
|
33
31
|
const formRef = ref();
|
34
32
|
const footerRef = ref(null);
|
35
|
-
const formExpose = useFormExpose(formRef);
|
36
33
|
const open = computed({
|
37
34
|
get: () => {
|
38
35
|
var _a;
|
@@ -52,7 +49,7 @@ var DrawerForm = /* @__PURE__ */ defineComponent({
|
|
52
49
|
});
|
53
50
|
const formProps = computed(() => {
|
54
51
|
return {
|
55
|
-
...omitUndefined(omit(props, ["onOpenChange", "closeOnFinish", "drawerProps", "title", "width", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
52
|
+
...omitUndefined(omit(props, ["onOpenChange", "closeOnFinish", "drawerProps", "title", "width", "onInit", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
56
53
|
layout: "vertical"
|
57
54
|
};
|
58
55
|
});
|
@@ -158,10 +155,6 @@ var DrawerForm = /* @__PURE__ */ defineComponent({
|
|
158
155
|
}
|
159
156
|
return result;
|
160
157
|
};
|
161
|
-
expose({
|
162
|
-
formRef,
|
163
|
-
...formExpose
|
164
|
-
});
|
165
158
|
return () => createVNode(Fragment, null, [createVNode(ProDrawer, mergeProps(drawerProps.value, {
|
166
159
|
"open": open.value,
|
167
160
|
"onAfterOpenChange": (e) => {
|
@@ -175,9 +168,7 @@ var DrawerForm = /* @__PURE__ */ defineComponent({
|
|
175
168
|
closeConfirm(e);
|
176
169
|
}
|
177
170
|
}), {
|
178
|
-
default: () => [createVNode(BaseForm, mergeProps({
|
179
|
-
"ref": formRef
|
180
|
-
}, formProps.value, {
|
171
|
+
default: () => [createVNode(BaseForm, mergeProps(formProps.value, {
|
181
172
|
"submitter": submitterConfig.value,
|
182
173
|
"onFinish": async (values) => {
|
183
174
|
const result = await onFinishHandle(values);
|
@@ -196,6 +187,11 @@ var DrawerForm = /* @__PURE__ */ defineComponent({
|
|
196
187
|
valuesChanged.value = false;
|
197
188
|
}
|
198
189
|
(_a = props.onReset) == null ? void 0 : _a.call(props);
|
190
|
+
},
|
191
|
+
"onInit": (values, action) => {
|
192
|
+
var _a;
|
193
|
+
formRef.value = action;
|
194
|
+
(_a = props.onInit) == null ? void 0 : _a.call(props, values, action);
|
199
195
|
}
|
200
196
|
}), formSlots.value)],
|
201
197
|
...drawerSlots.value,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DrawerForm.mjs","sources":["../../../../../../../packages/components/form/src/layouts/DrawerForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-08-31 22:28:38\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormActionType } from '../type'\nimport type { ProDrawerProps } from '@pro-design-vue/components/drawer'\n\nimport { ref, computed, watch, defineComponent } from 'vue'\nimport { Modal } from 'ant-design-vue'\nimport { ProDrawer } from '@pro-design-vue/components/drawer'\nimport { drawerOrModalFormProps } from '../props'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport {\n cloneElement,\n filterEmpty,\n merge,\n omit,\n omitUndefined,\n pickKeys,\n} from '@pro-design-vue/utils'\n\nimport BaseForm from '../base/BaseForm'\n\nexport default defineComponent({\n name: 'ProDrawerForm',\n inheritAttrs: false,\n props: {\n ...drawerOrModalFormProps(),\n drawerProps: {\n type: Object as PropType<ProDrawerProps & { okText?: string; cancelText?: string }>,\n default: undefined,\n },\n },\n emits: ['update:open'],\n setup(props, { slots, emit, expose }) {\n const _open = ref(false)\n const loading = ref(false)\n const valuesChanged = ref(false)\n const intl = useIntl()\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const footerRef = ref<HTMLDivElement | null>(null)\n const formExpose = useFormExpose(formRef)\n const open = computed({\n get: () => {\n return props.open ?? _open.value\n },\n set: (val) => {\n if (typeof props.open === 'undefined') {\n _open.value = val\n } else {\n emit('update:open', val)\n }\n },\n })\n\n watch(open, () => {\n props.onOpenChange?.(open.value)\n })\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'onOpenChange',\n 'closeOnFinish',\n 'drawerProps',\n 'title',\n 'width',\n 'confirmOnValuesChange',\n 'submitTimeout',\n 'onFinish',\n 'submitter',\n ]),\n ),\n layout: 'vertical',\n }\n })\n\n const formSlots = computed(() => {\n return {\n ...omitUndefined(omit(slots, ['trigger', 'closeIcon', 'extra', 'footer', 'title'])),\n }\n })\n\n const drawerProps = computed(() =>\n omitUndefined({\n ...omit(props.drawerProps ?? {}, [\n 'title',\n 'width',\n 'open',\n 'footer',\n 'okText',\n 'cancelText',\n ]),\n width: props.width,\n title: props.title,\n }),\n )\n\n const drawerSlots = computed(() => {\n return {\n ...omitUndefined(pickKeys(slots, ['closeIcon', 'extra', 'title'])),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n teleport: footerRef.value,\n reverse: true,\n searchConfig: {\n submitText: props.drawerProps?.okText ?? intl.getMessage('confirm.okText', '确认'),\n resetText:\n props.drawerProps?.cancelText ?? intl.getMessage('confirm.cancelText', '取消'),\n },\n resetButtonProps: {\n preventDefault: true,\n disabled: props.submitTimeout ? loading.value : undefined,\n onClick: (e: any) => {\n closeConfirm(e)\n },\n },\n },\n props.submitter,\n )\n })\n\n const triggerDom = computed(() => {\n if (!slots.trigger) {\n return null\n }\n const trigger: any = filterEmpty(slots.trigger())[0]\n return cloneElement(trigger, {\n key: 'trigger',\n ...trigger?.props,\n onClick: async (e: any) => {\n open.value = !open.value\n trigger?.props?.onClick?.(e)\n },\n })\n })\n\n const closeConfirm = (e) => {\n if (props.confirmOnValuesChange && valuesChanged.value) {\n Modal.confirm({\n title: intl.getMessage('confirm.title', '提示'),\n content: intl.getMessage(\n 'confirm.formModalCloseContent',\n '您的表单还没有保存,您确定关闭吗?',\n ),\n onOk() {\n open.value = false\n drawerProps.value?.onClose?.(e)\n },\n onCancel() {},\n })\n } else {\n open.value = false\n drawerProps.value?.onClose?.(e)\n }\n }\n\n const resetFields = () => {\n if (formRef.value && !drawerProps.value?.destroyOnClose) {\n formRef.value?.reset?.()\n }\n }\n\n const onFinishHandle = async (values: any) => {\n const response = props.onFinish?.(values)\n if (props.submitTimeout && response instanceof Promise) {\n loading.value = true\n const timer = setTimeout(() => {\n loading.value = false\n }, props.submitTimeout)\n response.finally(() => {\n clearTimeout(timer)\n loading.value = false\n })\n }\n const result = await response\n // 返回真值,关闭弹框\n if (result) {\n if (props.closeOnFinish) {\n open.value = false\n } else {\n valuesChanged.value = false\n }\n }\n return result\n }\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <>\n <ProDrawer\n {...drawerProps.value}\n open={open.value}\n onAfterOpenChange={(e) => {\n if (!e) resetFields()\n valuesChanged.value = false\n drawerProps.value?.onAfterOpenChange?.(e)\n }}\n onClose={(e) => {\n if (props.submitTimeout && loading.value) return\n closeConfirm(e)\n }}\n v-slots={{\n ...drawerSlots.value,\n footer:\n props.submitter !== false\n ? () => (\n <div style=\"display: flex; justify-content: flex-end;\" ref={footerRef}></div>\n )\n : undefined,\n }}\n >\n <BaseForm\n ref={formRef}\n {...formProps.value}\n submitter={submitterConfig.value}\n v-slots={formSlots.value}\n onFinish={async (values) => {\n const result = await onFinishHandle(values)\n return result\n }}\n onValuesChange={(values) => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = true\n }\n props.onValuesChange?.(values)\n }}\n onReset={() => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = false\n }\n props.onReset?.()\n }}\n />\n </ProDrawer>\n {triggerDom.value}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","drawerOrModalFormProps","drawerProps","type","Object","default","undefined","emits","setup","slots","emit","expose","_open","ref","loading","valuesChanged","intl","useIntl","formRef","footerRef","formExpose","useFormExpose","open","computed","get","value","set","val","watch","onOpenChange","formProps","omitUndefined","omit","layout","formSlots","width","title","drawerSlots","pickKeys","submitterConfig","submitter","merge","teleport","reverse","searchConfig","submitText","okText","getMessage","resetText","cancelText","resetButtonProps","preventDefault","disabled","submitTimeout","onClick","e","closeConfirm","triggerDom","trigger","filterEmpty","cloneElement","key","confirmOnValuesChange","Modal","confirm","content","onOk","_a","_b","onClose","onCancel","resetFields","destroyOnClose","reset","onFinishHandle","values","response","onFinish","Promise","timer","setTimeout","finally","clearTimeout","result","closeOnFinish","_createVNode","_Fragment","ProDrawer","_mergeProps","onAfterOpenChange","BaseForm","onValuesChange","onReset","footer"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DrawerForm.mjs","sources":["../../../../../../../packages/components/form/src/layouts/DrawerForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:53:09\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { ProFormActionType } from '../type'\nimport type { ProDrawerProps } from '@pro-design-vue/components/drawer'\n\nimport { ref, computed, watch, defineComponent } from 'vue'\nimport { Modal } from 'ant-design-vue'\nimport { ProDrawer } from '@pro-design-vue/components/drawer'\nimport { drawerOrModalFormProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport {\n cloneElement,\n filterEmpty,\n merge,\n omit,\n omitUndefined,\n pickKeys,\n} from '@pro-design-vue/utils'\n\nimport BaseForm from '../base/BaseForm'\n\nexport default defineComponent({\n name: 'ProDrawerForm',\n inheritAttrs: false,\n props: {\n ...drawerOrModalFormProps(),\n drawerProps: {\n type: Object as PropType<ProDrawerProps & { okText?: string; cancelText?: string }>,\n default: undefined,\n },\n },\n emits: ['update:open'],\n setup(props, { slots, emit }) {\n const _open = ref(false)\n const loading = ref(false)\n const valuesChanged = ref(false)\n const intl = useIntl()\n const formRef = ref<ProFormActionType>()\n const footerRef = ref<HTMLDivElement | null>(null)\n const open = computed({\n get: () => {\n return props.open ?? _open.value\n },\n set: (val) => {\n if (typeof props.open === 'undefined') {\n _open.value = val\n } else {\n emit('update:open', val)\n }\n },\n })\n\n watch(open, () => {\n props.onOpenChange?.(open.value)\n })\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'onOpenChange',\n 'closeOnFinish',\n 'drawerProps',\n 'title',\n 'width',\n 'onInit',\n 'confirmOnValuesChange',\n 'submitTimeout',\n 'onFinish',\n 'submitter',\n ]),\n ),\n layout: 'vertical',\n }\n })\n\n const formSlots = computed(() => {\n return {\n ...omitUndefined(omit(slots, ['trigger', 'closeIcon', 'extra', 'footer', 'title'])),\n }\n })\n\n const drawerProps = computed(() =>\n omitUndefined({\n ...omit(props.drawerProps ?? {}, [\n 'title',\n 'width',\n 'open',\n 'footer',\n 'okText',\n 'cancelText',\n ]),\n width: props.width,\n title: props.title,\n }),\n )\n\n const drawerSlots = computed(() => {\n return {\n ...omitUndefined(pickKeys(slots, ['closeIcon', 'extra', 'title'])),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n teleport: footerRef.value,\n reverse: true,\n searchConfig: {\n submitText: props.drawerProps?.okText ?? intl.getMessage('confirm.okText', '确认'),\n resetText:\n props.drawerProps?.cancelText ?? intl.getMessage('confirm.cancelText', '取消'),\n },\n resetButtonProps: {\n preventDefault: true,\n disabled: props.submitTimeout ? loading.value : undefined,\n onClick: (e: any) => {\n closeConfirm(e)\n },\n },\n },\n props.submitter,\n )\n })\n\n const triggerDom = computed(() => {\n if (!slots.trigger) {\n return null\n }\n const trigger: any = filterEmpty(slots.trigger())[0]\n return cloneElement(trigger, {\n key: 'trigger',\n ...trigger?.props,\n onClick: async (e: any) => {\n open.value = !open.value\n trigger?.props?.onClick?.(e)\n },\n })\n })\n\n const closeConfirm = (e) => {\n if (props.confirmOnValuesChange && valuesChanged.value) {\n Modal.confirm({\n title: intl.getMessage('confirm.title', '提示'),\n content: intl.getMessage(\n 'confirm.formModalCloseContent',\n '您的表单还没有保存,您确定关闭吗?',\n ),\n onOk() {\n open.value = false\n drawerProps.value?.onClose?.(e)\n },\n onCancel() {},\n })\n } else {\n open.value = false\n drawerProps.value?.onClose?.(e)\n }\n }\n\n const resetFields = () => {\n if (formRef.value && !drawerProps.value?.destroyOnClose) {\n formRef.value?.reset?.()\n }\n }\n\n const onFinishHandle = async (values: any) => {\n const response = props.onFinish?.(values)\n if (props.submitTimeout && response instanceof Promise) {\n loading.value = true\n const timer = setTimeout(() => {\n loading.value = false\n }, props.submitTimeout)\n response.finally(() => {\n clearTimeout(timer)\n loading.value = false\n })\n }\n const result = await response\n // 返回真值,关闭弹框\n if (result) {\n if (props.closeOnFinish) {\n open.value = false\n } else {\n valuesChanged.value = false\n }\n }\n return result\n }\n\n return () => (\n <>\n <ProDrawer\n {...drawerProps.value}\n open={open.value}\n onAfterOpenChange={(e) => {\n if (!e) resetFields()\n valuesChanged.value = false\n drawerProps.value?.onAfterOpenChange?.(e)\n }}\n onClose={(e) => {\n if (props.submitTimeout && loading.value) return\n closeConfirm(e)\n }}\n v-slots={{\n ...drawerSlots.value,\n footer:\n props.submitter !== false\n ? () => (\n <div style=\"display: flex; justify-content: flex-end;\" ref={footerRef}></div>\n )\n : undefined,\n }}\n >\n <BaseForm\n {...formProps.value}\n submitter={submitterConfig.value}\n v-slots={formSlots.value}\n onFinish={async (values) => {\n const result = await onFinishHandle(values)\n return result\n }}\n onValuesChange={(values) => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = true\n }\n props.onValuesChange?.(values)\n }}\n onReset={() => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = false\n }\n props.onReset?.()\n }}\n onInit={(values, action) => {\n formRef.value = action\n props.onInit?.(values, action)\n }}\n />\n </ProDrawer>\n {triggerDom.value}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","drawerOrModalFormProps","drawerProps","type","Object","default","undefined","emits","setup","slots","emit","_open","ref","loading","valuesChanged","intl","useIntl","formRef","footerRef","open","computed","get","value","set","val","watch","onOpenChange","formProps","omitUndefined","omit","layout","formSlots","width","title","drawerSlots","pickKeys","submitterConfig","submitter","merge","teleport","reverse","searchConfig","submitText","okText","getMessage","resetText","cancelText","resetButtonProps","preventDefault","disabled","submitTimeout","onClick","e","closeConfirm","triggerDom","trigger","filterEmpty","cloneElement","key","confirmOnValuesChange","Modal","confirm","content","onOk","_a","_b","onClose","onCancel","resetFields","destroyOnClose","reset","onFinishHandle","values","response","onFinish","Promise","timer","setTimeout","finally","clearTimeout","result","closeOnFinish","_createVNode","_Fragment","ProDrawer","_mergeProps","onAfterOpenChange","BaseForm","onValuesChange","onReset","onInit","action","footer"],"mappings":"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"}
|
@@ -2,7 +2,6 @@ import { defineComponent, ref, computed, watch, createVNode, Fragment, mergeProp
|
|
2
2
|
import { ProModal } from '../../../modal/index.mjs';
|
3
3
|
import { Modal } from 'ant-design-vue';
|
4
4
|
import { drawerOrModalFormProps } from '../props.mjs';
|
5
|
-
import { useFormExpose } from '../hooks/useFormExpose.mjs';
|
6
5
|
import BaseForm from '../base/BaseForm.mjs';
|
7
6
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
8
7
|
import { omitUndefined, omit } from '../../../../utils/omit.mjs';
|
@@ -23,8 +22,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
23
22
|
emits: ["update:open"],
|
24
23
|
setup(props, {
|
25
24
|
slots,
|
26
|
-
emit
|
27
|
-
expose
|
25
|
+
emit
|
28
26
|
}) {
|
29
27
|
const _open = ref(false);
|
30
28
|
const loading = ref(false);
|
@@ -32,7 +30,6 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
32
30
|
const intl = useIntl();
|
33
31
|
const formRef = ref();
|
34
32
|
const footerRef = ref(null);
|
35
|
-
const formExpose = useFormExpose(formRef);
|
36
33
|
const open = computed({
|
37
34
|
get: () => {
|
38
35
|
var _a;
|
@@ -53,7 +50,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
53
50
|
const formProps = computed(() => {
|
54
51
|
var _a;
|
55
52
|
return {
|
56
|
-
...omitUndefined(omit(props, ["onOpenChange", "closeOnFinish", "modalProps", "title", "width", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
53
|
+
...omitUndefined(omit(props, ["onInit", "onOpenChange", "closeOnFinish", "modalProps", "title", "width", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
57
54
|
layout: (_a = props.layout) != null ? _a : "vertical"
|
58
55
|
};
|
59
56
|
});
|
@@ -160,10 +157,6 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
160
157
|
}
|
161
158
|
return result;
|
162
159
|
};
|
163
|
-
expose({
|
164
|
-
formRef,
|
165
|
-
...formExpose
|
166
|
-
});
|
167
160
|
return () => createVNode(Fragment, null, [createVNode(ProModal, mergeProps(modalProps.value, {
|
168
161
|
"open": open.value,
|
169
162
|
"afterClose": () => {
|
@@ -177,9 +170,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
177
170
|
closeConfirm(e);
|
178
171
|
}
|
179
172
|
}), {
|
180
|
-
default: () => [createVNode(BaseForm, mergeProps({
|
181
|
-
"ref": formRef
|
182
|
-
}, formProps.value, {
|
173
|
+
default: () => [createVNode(BaseForm, mergeProps(formProps.value, {
|
183
174
|
"submitter": submitterConfig.value,
|
184
175
|
"onFinish": async (values) => {
|
185
176
|
const result = await onFinishHandle(values);
|
@@ -198,6 +189,11 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
198
189
|
valuesChanged.value = false;
|
199
190
|
}
|
200
191
|
(_a = props.onReset) == null ? void 0 : _a.call(props);
|
192
|
+
},
|
193
|
+
"onInit": (values, action) => {
|
194
|
+
var _a;
|
195
|
+
formRef.value = action;
|
196
|
+
(_a = props.onInit) == null ? void 0 : _a.call(props, values, action);
|
201
197
|
}
|
202
198
|
}), formSlots.value)],
|
203
199
|
...modalSlots.value,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ModalForm.mjs","sources":["../../../../../../../packages/components/form/src/layouts/ModalForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-08-31 22:28:43\n * @Description:\n */\nimport { ref, computed, watch, defineComponent } from 'vue'\nimport { ProModal, type ProModalProps } from '@pro-design-vue/components/modal'\nimport { Modal } from 'ant-design-vue'\nimport { drawerOrModalFormProps } from '../props'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport {\n cloneElement,\n filterEmpty,\n merge,\n omit,\n omitUndefined,\n pickKeys,\n} from '@pro-design-vue/utils'\nimport BaseForm from '../base/BaseForm'\n\nimport type { PropType } from 'vue'\nimport type { ProFormActionType } from '../type'\n\nexport default defineComponent({\n name: 'ProModalForm',\n inheritAttrs: false,\n props: {\n ...drawerOrModalFormProps(),\n modalProps: {\n type: Object as PropType<ProModalProps>,\n default: undefined,\n },\n },\n emits: ['update:open'],\n setup(props, { slots, emit, expose }) {\n const _open = ref(false)\n const loading = ref(false)\n const valuesChanged = ref(false)\n const intl = useIntl()\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const footerRef = ref<HTMLDivElement | null>(null)\n const formExpose = useFormExpose(formRef)\n const open = computed({\n get: () => {\n return props.open ?? _open.value\n },\n set: (val) => {\n if (typeof props.open === 'undefined') {\n _open.value = val\n } else {\n emit('update:open', val)\n }\n },\n })\n\n watch(open, () => {\n props.onOpenChange?.(open.value)\n })\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'onOpenChange',\n 'closeOnFinish',\n 'modalProps',\n 'title',\n 'width',\n 'confirmOnValuesChange',\n 'submitTimeout',\n 'onFinish',\n 'submitter',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formSlots = computed(() => {\n return {\n ...omitUndefined(omit(slots, ['trigger', 'closeIcon', 'extra', 'footer', 'title'])),\n }\n })\n\n const modalProps = computed<ProModalProps>(() =>\n omitUndefined({\n ...omit(props.modalProps ?? {}, ['title', 'width', 'footer']),\n width: props.width,\n title: props.title,\n footer: props.submitter === false ? null : undefined,\n }),\n )\n\n const modalSlots = computed(() => {\n return {\n ...omitUndefined(pickKeys(slots, ['closeIcon', 'title'])),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n teleport: footerRef.value,\n reverse: true,\n searchConfig: {\n submitText: modalProps.value?.okText ?? intl.getMessage('confirm.okText', '确认'),\n resetText:\n modalProps.value?.cancelText ?? intl.getMessage('confirm.cancelText', '取消'),\n },\n resetButtonProps: {\n preventDefault: true,\n disabled: props.submitTimeout ? loading.value : undefined,\n onClick: (e: any) => {\n closeConfirm(e)\n },\n },\n },\n props.submitter,\n )\n })\n\n const triggerDom = computed(() => {\n if (!slots.trigger) {\n return null\n }\n const trigger: any = filterEmpty(slots.trigger())[0]\n return cloneElement(trigger, {\n key: 'trigger',\n ...trigger?.props,\n onClick: async (e: any) => {\n open.value = !open.value\n trigger?.props?.onClick?.(e)\n },\n })\n })\n\n const closeConfirm = (e) => {\n if (props.confirmOnValuesChange && valuesChanged.value) {\n Modal.confirm({\n title: intl.getMessage('confirm.title', '提示'),\n content: intl.getMessage(\n 'confirm.formModalCloseContent',\n '您的表单还没有保存,您确定关闭吗?',\n ),\n onOk() {\n open.value = false\n modalProps.value?.onCancel?.(e)\n },\n onCancel() {},\n })\n } else {\n open.value = false\n modalProps.value?.onCancel?.(e)\n }\n }\n\n const resetFields = () => {\n if (formRef.value && !modalProps.value?.destroyOnClose) {\n formRef.value?.reset?.()\n }\n }\n\n const onFinishHandle = async (values: any) => {\n const response = props.onFinish?.(values)\n if (props.submitTimeout && response instanceof Promise) {\n loading.value = true\n const timer = setTimeout(() => {\n loading.value = false\n }, props.submitTimeout)\n response.finally(() => {\n clearTimeout(timer)\n loading.value = false\n })\n }\n const result = await response\n if (result) {\n if (props.closeOnFinish) {\n open.value = false\n } else {\n valuesChanged.value = false\n }\n }\n return result\n }\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <>\n <ProModal\n {...modalProps.value}\n open={open.value}\n afterClose={() => {\n resetFields()\n valuesChanged.value = false\n modalProps.value?.afterClose?.()\n }}\n onCancel={(e) => {\n if (props.submitTimeout && loading.value) return\n closeConfirm(e)\n }}\n v-slots={{\n ...modalSlots.value,\n footer:\n props.submitter !== false\n ? () => (\n <div style=\"display: flex; justify-content: flex-end;\" ref={footerRef}></div>\n )\n : undefined,\n }}\n >\n <BaseForm\n ref={formRef}\n {...formProps.value}\n submitter={submitterConfig.value}\n v-slots={formSlots.value}\n onFinish={async (values) => {\n const result = await onFinishHandle(values)\n return result\n }}\n onValuesChange={(values) => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = true\n }\n props.onValuesChange?.(values)\n }}\n onReset={() => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = false\n }\n props.onReset?.()\n }}\n />\n </ProModal>\n {triggerDom.value}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","drawerOrModalFormProps","modalProps","type","Object","default","undefined","emits","setup","slots","emit","expose","_open","ref","loading","valuesChanged","intl","useIntl","formRef","footerRef","formExpose","useFormExpose","open","computed","get","value","set","val","watch","onOpenChange","formProps","omitUndefined","omit","layout","formSlots","width","title","footer","submitter","modalSlots","pickKeys","submitterConfig","merge","teleport","reverse","searchConfig","submitText","okText","getMessage","resetText","cancelText","resetButtonProps","preventDefault","disabled","submitTimeout","onClick","e","closeConfirm","triggerDom","trigger","filterEmpty","cloneElement","key","confirmOnValuesChange","Modal","confirm","content","onOk","_a","_b","onCancel","resetFields","destroyOnClose","reset","onFinishHandle","values","response","onFinish","Promise","timer","setTimeout","finally","clearTimeout","result","closeOnFinish","_createVNode","_Fragment","ProModal","_mergeProps","afterClose","BaseForm","onValuesChange","onReset"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ModalForm.mjs","sources":["../../../../../../../packages/components/form/src/layouts/ModalForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:53:22\n * @Description:\n */\nimport { ref, computed, watch, defineComponent } from 'vue'\nimport { ProModal, type ProModalProps } from '@pro-design-vue/components/modal'\nimport { Modal } from 'ant-design-vue'\nimport { drawerOrModalFormProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport {\n cloneElement,\n filterEmpty,\n merge,\n omit,\n omitUndefined,\n pickKeys,\n} from '@pro-design-vue/utils'\nimport BaseForm from '../base/BaseForm'\n\nimport type { PropType } from 'vue'\nimport type { ProFormActionType } from '../type'\n\nexport default defineComponent({\n name: 'ProModalForm',\n inheritAttrs: false,\n props: {\n ...drawerOrModalFormProps(),\n modalProps: {\n type: Object as PropType<ProModalProps>,\n default: undefined,\n },\n },\n emits: ['update:open'],\n setup(props, { slots, emit }) {\n const _open = ref(false)\n const loading = ref(false)\n const valuesChanged = ref(false)\n const intl = useIntl()\n const formRef = ref<ProFormActionType>()\n const footerRef = ref<HTMLDivElement | null>(null)\n const open = computed({\n get: () => {\n return props.open ?? _open.value\n },\n set: (val) => {\n if (typeof props.open === 'undefined') {\n _open.value = val\n } else {\n emit('update:open', val)\n }\n },\n })\n\n watch(open, () => {\n props.onOpenChange?.(open.value)\n })\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'onInit',\n 'onOpenChange',\n 'closeOnFinish',\n 'modalProps',\n 'title',\n 'width',\n 'confirmOnValuesChange',\n 'submitTimeout',\n 'onFinish',\n 'submitter',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formSlots = computed(() => {\n return {\n ...omitUndefined(omit(slots, ['trigger', 'closeIcon', 'extra', 'footer', 'title'])),\n }\n })\n\n const modalProps = computed<ProModalProps>(() =>\n omitUndefined({\n ...omit(props.modalProps ?? {}, ['title', 'width', 'footer']),\n width: props.width,\n title: props.title,\n footer: props.submitter === false ? null : undefined,\n }),\n )\n\n const modalSlots = computed(() => {\n return {\n ...omitUndefined(pickKeys(slots, ['closeIcon', 'title'])),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n teleport: footerRef.value,\n reverse: true,\n searchConfig: {\n submitText: modalProps.value?.okText ?? intl.getMessage('confirm.okText', '确认'),\n resetText:\n modalProps.value?.cancelText ?? intl.getMessage('confirm.cancelText', '取消'),\n },\n resetButtonProps: {\n preventDefault: true,\n disabled: props.submitTimeout ? loading.value : undefined,\n onClick: (e: any) => {\n closeConfirm(e)\n },\n },\n },\n props.submitter,\n )\n })\n\n const triggerDom = computed(() => {\n if (!slots.trigger) {\n return null\n }\n const trigger: any = filterEmpty(slots.trigger())[0]\n return cloneElement(trigger, {\n key: 'trigger',\n ...trigger?.props,\n onClick: async (e: any) => {\n open.value = !open.value\n trigger?.props?.onClick?.(e)\n },\n })\n })\n\n const closeConfirm = (e) => {\n if (props.confirmOnValuesChange && valuesChanged.value) {\n Modal.confirm({\n title: intl.getMessage('confirm.title', '提示'),\n content: intl.getMessage(\n 'confirm.formModalCloseContent',\n '您的表单还没有保存,您确定关闭吗?',\n ),\n onOk() {\n open.value = false\n modalProps.value?.onCancel?.(e)\n },\n onCancel() {},\n })\n } else {\n open.value = false\n modalProps.value?.onCancel?.(e)\n }\n }\n\n const resetFields = () => {\n if (formRef.value && !modalProps.value?.destroyOnClose) {\n formRef.value?.reset?.()\n }\n }\n\n const onFinishHandle = async (values: any) => {\n const response = props.onFinish?.(values)\n if (props.submitTimeout && response instanceof Promise) {\n loading.value = true\n const timer = setTimeout(() => {\n loading.value = false\n }, props.submitTimeout)\n response.finally(() => {\n clearTimeout(timer)\n loading.value = false\n })\n }\n const result = await response\n if (result) {\n if (props.closeOnFinish) {\n open.value = false\n } else {\n valuesChanged.value = false\n }\n }\n return result\n }\n\n return () => (\n <>\n <ProModal\n {...modalProps.value}\n open={open.value}\n afterClose={() => {\n resetFields()\n valuesChanged.value = false\n modalProps.value?.afterClose?.()\n }}\n onCancel={(e) => {\n if (props.submitTimeout && loading.value) return\n closeConfirm(e)\n }}\n v-slots={{\n ...modalSlots.value,\n footer:\n props.submitter !== false\n ? () => (\n <div style=\"display: flex; justify-content: flex-end;\" ref={footerRef}></div>\n )\n : undefined,\n }}\n >\n <BaseForm\n {...formProps.value}\n submitter={submitterConfig.value}\n v-slots={formSlots.value}\n onFinish={async (values) => {\n const result = await onFinishHandle(values)\n return result\n }}\n onValuesChange={(values) => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = true\n }\n props.onValuesChange?.(values)\n }}\n onReset={() => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = false\n }\n props.onReset?.()\n }}\n onInit={(values, action) => {\n formRef.value = action\n props.onInit?.(values, action)\n }}\n />\n </ProModal>\n {triggerDom.value}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","drawerOrModalFormProps","modalProps","type","Object","default","undefined","emits","setup","slots","emit","_open","ref","loading","valuesChanged","intl","useIntl","formRef","footerRef","open","computed","get","value","set","val","watch","onOpenChange","formProps","omitUndefined","omit","layout","formSlots","width","title","footer","submitter","modalSlots","pickKeys","submitterConfig","merge","teleport","reverse","searchConfig","submitText","okText","getMessage","resetText","cancelText","resetButtonProps","preventDefault","disabled","submitTimeout","onClick","e","closeConfirm","triggerDom","trigger","filterEmpty","cloneElement","key","confirmOnValuesChange","Modal","confirm","content","onOk","_a","_b","onCancel","resetFields","destroyOnClose","reset","onFinishHandle","values","response","onFinish","Promise","timer","setTimeout","finally","clearTimeout","result","closeOnFinish","_createVNode","_Fragment","ProModal","_mergeProps","afterClose","BaseForm","onValuesChange","onReset","onInit","action"],"mappings":";;;;;;;;;;;AAyBA,gDAA+B;AAAA,EAC7BA,IAAAA,EAAM,cAAA;AAAA,EACNC,YAAAA,EAAc,KAAA;AAAA,EACdC,KAAAA,EAAO;AAAA,IACL,GAAGC,sBAAAA,EAAuB;AAAA,IAC1BC,UAAAA,EAAY;AAAA,MACVC,IAAAA,EAAMC,MAAAA;AAAAA,MACNC,OAAAA,EAASC;AAAAA;AACX,GACF;AAAA,EACAC,KAAAA,EAAO,CAAC,aAAa,CAAA;AAAA,EACrBC,MAAMR,KAAAA,EAAO;AAAA,IAAES,KAAAA;AAAAA,IAAOC;AAAAA,GAAK,EAAG;AAC5B,IAAA,MAAMC,KAAAA,GAAQC,IAAI,KAAK,CAAA;AACvB,IAAA,MAAMC,OAAAA,GAAUD,IAAI,KAAK,CAAA;AACzB,IAAA,MAAME,aAAAA,GAAgBF,IAAI,KAAK,CAAA;AAC/B,IAAA,MAAMG,OAAOC,OAAAA,EAAQ;AACrB,IAAA,MAAMC,UAAUL,GAAAA,EAAuB;AACvC,IAAA,MAAMM,SAAAA,GAAYN,IAA2B,IAAI,CAAA;AACjD,IAAA,MAAMO,OAAOC,QAAAA,CAAS;AAAA,MACpBC,KAAKA,MAAM;AA5CjB,QAAA,IAAA,EAAA;AA6CQ,QAAA,OAAA,CAAOrB,EAAAA,GAAAA,KAAAA,CAAMmB,IAAAA,KAANnB,IAAAA,GAAAA,EAAAA,GAAcW,KAAAA,CAAMW,KAAAA;AAAAA,MAC7B,CAAA;AAAA,MACAC,KAAMC,CAAAA,GAAAA,KAAQ;AACZ,QAAA,IAAI,OAAOxB,KAAAA,CAAMmB,IAAAA,KAAS,WAAA,EAAa;AACrCR,UAAAA,KAAAA,CAAMW,KAAAA,GAAQE,GAAAA;AAAAA,QAChB,CAAA,MAAO;AACLd,UAAAA,IAAAA,CAAK,eAAec,GAAG,CAAA;AAAA,QACzB;AAAA,MACF;AAAA,KACD,CAAA;AAEDC,IAAAA,KAAAA,CAAMN,MAAM,MAAM;AAxDtB,MAAA,IAAA,EAAA;AAyDMnB,MAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM0B,YAAAA,KAAN1B,+BAAqBmB,IAAAA,CAAKG,KAAAA,CAAAA;AAAAA,IAC5B,CAAC,CAAA;AAED,IAAA,MAAMK,SAAAA,GAAYP,SAAS,MAAM;AA5DrC,MAAA,IAAA,EAAA;AA6DM,MAAA,OAAO;AAAA,QACL,GAAGQ,aAAAA,CACDC,IAAAA,CAAK7B,KAAAA,EAAO,CACV,UACA,cAAA,EACA,eAAA,EACA,YAAA,EACA,OAAA,EACA,SACA,uBAAA,EACA,eAAA,EACA,UAAA,EACA,WAAW,CACZ,CACH,CAAA;AAAA,QACA8B,MAAAA,EAAAA,CAAQ9B,EAAAA,GAAAA,KAAAA,CAAM8B,MAAAA,KAAN9B,IAAAA,GAAAA,EAAAA,GAAgB;AAAA,OAC1B;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM+B,SAAAA,GAAYX,SAAS,MAAM;AAC/B,MAAA,OAAO;AAAA,QACL,GAAGQ,aAAAA,CAAcC,IAAAA,CAAKpB,KAAAA,EAAO,CAAC,SAAA,EAAW,WAAA,EAAa,OAAA,EAAS,QAAA,EAAU,OAAO,CAAC,CAAC;AAAA,OACpF;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAMP,UAAAA,GAAakB,SAAwB,MAAA;AAtF/C,MAAA,IAAA,EAAA;AAuFMQ,MAAAA,OAAAA,aAAAA,CAAc;AAAA,QACZ,GAAGC,IAAAA,CAAAA,CAAK7B,EAAAA,GAAAA,KAAAA,CAAME,UAAAA,KAANF,IAAAA,GAAAA,EAAAA,GAAoB,EAAC,EAAG,CAAC,OAAA,EAAS,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,QAC5DgC,OAAOhC,KAAAA,CAAMgC,KAAAA;AAAAA,QACbC,OAAOjC,KAAAA,CAAMiC,KAAAA;AAAAA,QACbC,MAAAA,EAAQlC,KAAAA,CAAMmC,SAAAA,KAAc,KAAA,GAAQ,IAAA,GAAO7B;AAAAA,OAC5C,CAAA;AAAA,IAAA,CACH,CAAA;AAEA,IAAA,MAAM8B,UAAAA,GAAahB,SAAS,MAAM;AAChC,MAAA,OAAO;AAAA,QACL,GAAGQ,cAAcS,QAAAA,CAAS5B,KAAAA,EAAO,CAAC,WAAA,EAAa,OAAO,CAAC,CAAC;AAAA,OAC1D;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM6B,eAAAA,GAAkBlB,SAAS,MAAM;AArG3C,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAsGM,MAAA,IAAIpB,KAAAA,CAAMmC,cAAc,KAAA,EAAO;AAC7B,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,OAAOI,KAAAA,CACL;AAAA,QACEC,UAAUtB,SAAAA,CAAUI,KAAAA;AAAAA,QACpBmB,OAAAA,EAAS,IAAA;AAAA,QACTC,YAAAA,EAAc;AAAA,UACZC,UAAAA,EAAAA,CAAYzC,sBAAWoB,KAAAA,KAAXpB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAkB0C,WAAlB1C,IAAAA,GAAAA,EAAAA,GAA4Ba,IAAAA,CAAK8B,UAAAA,CAAW,gBAAA,EAAkB,cAAI,CAAA;AAAA,UAC9EC,SAAAA,EAAAA,CACE5C,sBAAWoB,KAAAA,KAAXpB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAkB6C,eAAlB7C,IAAAA,GAAAA,EAAAA,GAAgCa,IAAAA,CAAK8B,UAAAA,CAAW,oBAAA,EAAsB,cAAI;AAAA,SAC9E;AAAA,QACAG,gBAAAA,EAAkB;AAAA,UAChBC,cAAAA,EAAgB,IAAA;AAAA,UAChBC,QAAAA,EAAUlD,KAAAA,CAAMmD,aAAAA,GAAgBtC,OAAAA,CAAQS,KAAAA,GAAQhB,MAAAA;AAAAA,UAChD8C,SAAUC,CAAAA,CAAAA,KAAW;AACnBC,YAAAA,YAAAA,CAAaD,CAAC,CAAA;AAAA,UAChB;AAAA;AACF,OACF,EACArD,MAAMmC,SACR,CAAA;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAMoB,UAAAA,GAAanC,SAAS,MAAM;AAChC,MAAA,IAAI,CAACX,MAAM+C,OAAAA,EAAS;AAClB,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,MAAMA,UAAeC,WAAAA,CAAYhD,KAAAA,CAAM+C,OAAAA,EAAS,EAAE,CAAC,CAAA;AACnD,MAAA,OAAOE,aAAaF,OAAAA,EAAS;AAAA,QAC3BG,GAAAA,EAAK,SAAA;AAAA,QACL,GAAGH,OAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,OAAAA,CAASxD,KAAAA;AAAAA,QACZoD,OAAAA,EAAS,OAAOC,CAAAA,KAAW;AAvInC,UAAA,IAAA,EAAA,EAAA,EAAA;AAwIUlC,UAAAA,IAAAA,CAAKG,KAAAA,GAAQ,CAACH,IAAAA,CAAKG,KAAAA;AACnBkC,UAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,OAAAA,IAAAA,IAAAA,GAAAA,MAAAA,GAAAA,OAAAA,CAASxD,KAAAA,KAATwD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAgBJ,OAAAA,KAAhBI,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,EAAAA,EAA0BH,CAAAA,CAAAA;AAAAA,QAC5B;AAAA,OACD,CAAA;AAAA,IACH,CAAC,CAAA;AAED,IAAA,MAAMC,eAAgBD,CAAAA,CAAAA,KAAM;AA9IhC,MAAA,IAAA,EAAA,EAAA,EAAA;AA+IM,MAAA,IAAIrD,KAAAA,CAAM4D,qBAAAA,IAAyB9C,aAAAA,CAAcQ,KAAAA,EAAO;AACtDuC,QAAAA,KAAAA,CAAMC,OAAAA,CAAQ;AAAA,UACZ7B,KAAAA,EAAOlB,IAAAA,CAAK8B,UAAAA,CAAW,eAAA,EAAiB,cAAI,CAAA;AAAA,UAC5CkB,OAAAA,EAAShD,IAAAA,CAAK8B,UAAAA,CACZ,+BAAA,EACA,wGACF,CAAA;AAAA,UACAmB,IAAAA,GAAO;AAtJjB,YAAA,IAAAC,GAAAA,EAAAC,GAAAA;AAuJY/C,YAAAA,IAAAA,CAAKG,KAAAA,GAAQ,KAAA;AACbpB,YAAAA,CAAAA,GAAAA,GAAAA,CAAAA,GAAAA,GAAAA,UAAAA,CAAWoB,KAAAA,KAAXpB,IAAAA,GAAAA,MAAAA,GAAAA,IAAkBiE,QAAAA,KAAlBjE,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAAA,IAAAA,CAAAA,GAAAA,EAA6BmD,CAAAA,CAAAA;AAAAA,UAC/B,CAAA;AAAA,UACAc,QAAAA,GAAW;AAAA,UAAC;AAAA,SACb,CAAA;AAAA,MACH,CAAA,MAAO;AACLhD,QAAAA,IAAAA,CAAKG,KAAAA,GAAQ,KAAA;AACbpB,QAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,UAAAA,CAAWoB,KAAAA,KAAXpB,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAkBiE,QAAAA,KAAlBjE,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,EAAAA,EAA6BmD,CAAAA,CAAAA;AAAAA,MAC/B;AAAA,IACF,CAAA;AAEA,IAAA,MAAMe,cAAcA,MAAM;AAlK9B,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAmKM,MAAA,IAAInD,QAAQK,KAAAA,IAAS,EAAA,CAACpB,EAAAA,GAAAA,UAAAA,CAAWoB,KAAAA,KAAXpB,mBAAkBmE,cAAAA,CAAAA,EAAgB;AACtDpD,QAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,OAAAA,CAAQK,KAAAA,KAARL,mBAAeqD,KAAAA,KAAfrD,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,EAAAA,CAAAA;AAAAA,MACF;AAAA,IACF,CAAA;AAEA,IAAA,MAAMsD,cAAAA,GAAiB,OAAOC,MAAAA,KAAgB;AAxKlD,MAAA,IAAA,EAAA;AAyKM,MAAA,MAAMC,QAAAA,GAAAA,CAAWzE,EAAAA,GAAAA,KAAAA,CAAM0E,QAAAA,KAAN1E,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAiBwE,MAAAA,CAAAA;AAClC,MAAA,IAAIxE,KAAAA,CAAMmD,aAAAA,IAAiBsB,QAAAA,YAAoBE,OAAAA,EAAS;AACtD9D,QAAAA,OAAAA,CAAQS,KAAAA,GAAQ,IAAA;AAChB,QAAA,MAAMsD,KAAAA,GAAQC,WAAW,MAAM;AAC7BhE,UAAAA,OAAAA,CAAQS,KAAAA,GAAQ,KAAA;AAAA,QAClB,CAAA,EAAGtB,MAAMmD,aAAa,CAAA;AACtBsB,QAAAA,QAAAA,CAASK,QAAQ,MAAM;AACrBC,UAAAA,YAAAA,CAAaH,KAAK,CAAA;AAClB/D,UAAAA,OAAAA,CAAQS,KAAAA,GAAQ,KAAA;AAAA,QAClB,CAAC,CAAA;AAAA,MACH;AACA,MAAA,MAAM0D,SAAS,MAAMP,QAAAA;AACrB,MAAA,IAAIO,MAAAA,EAAQ;AACV,QAAA,IAAIhF,MAAMiF,aAAAA,EAAe;AACvB9D,UAAAA,IAAAA,CAAKG,KAAAA,GAAQ,KAAA;AAAA,QACf,CAAA,MAAO;AACLR,UAAAA,aAAAA,CAAcQ,KAAAA,GAAQ,KAAA;AAAA,QACxB;AAAA,MACF;AACA,MAAA,OAAO0D,MAAAA;AAAAA,IACT,CAAA;AAEA,IAAA,OAAO,MAAAE,YAAAC,QAAAA,EAAA,IAAA,EAAA,CAAAD,WAAAA,CAAAE,QAAAA,EAAAC,UAAAA,CAGGnF,UAAAA,CAAWoB,KAAAA,EAAK;AAAA,MAAA,QACdH,IAAAA,CAAKG,KAAAA;AAAAA,MAAK,cACJgE,MAAM;AApM5B,QAAA,IAAA,EAAA,EAAA,EAAA;AAqMYlB,QAAAA,WAAAA,EAAY;AACZtD,QAAAA,aAAAA,CAAcQ,KAAAA,GAAQ,KAAA;AACtBpB,QAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,UAAAA,CAAWoB,KAAAA,KAAXpB,mBAAkBoF,UAAAA,KAAlBpF,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,EAAAA,CAAAA;AAAAA,MACF,CAAA;AAAA,MAAC,YACUmD,CAAAA,CAAAA,KAAM;AACf,QAAA,IAAIrD,KAAAA,CAAMmD,aAAAA,IAAiBtC,OAAAA,CAAQS,KAAAA,EAAO;AAC1CgC,QAAAA,YAAAA,CAAaD,CAAC,CAAA;AAAA,MAChB;AAAA,KAAC,CAAA,EAAA;AAAA,MAAAhD,SAAAA,MAAA,CAAA6E,YAAAK,QAAAA,EAAAF,UAAAA,CAYK1D,UAAUL,KAAAA,EAAK;AAAA,QAAA,aACRgB,eAAAA,CAAgBhB,KAAAA;AAAAA,QAAK,UAAA,EAEtB,OAAOkD,MAAAA,KAAW;AAC1B,UAAA,MAAMQ,MAAAA,GAAS,MAAMT,cAAAA,CAAeC,MAAM,CAAA;AAC1C,UAAA,OAAOQ,MAAAA;AAAAA,QACT,CAAA;AAAA,QAAC,kBACgBR,CAAAA,MAAAA,KAAW;AA/NxC,UAAA,IAAA,EAAA;AAgOc,UAAA,IAAIxE,MAAM4D,qBAAAA,EAAuB;AAC/B9C,YAAAA,aAAAA,CAAcQ,KAAAA,GAAQ,IAAA;AAAA,UACxB;AACAtB,UAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMwF,mBAANxF,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAuBwE,MAAAA,CAAAA;AAAAA,QACzB,CAAA;AAAA,QAAC,WACQiB,MAAM;AArO3B,UAAA,IAAA,EAAA;AAsOc,UAAA,IAAIzF,MAAM4D,qBAAAA,EAAuB;AAC/B9C,YAAAA,aAAAA,CAAcQ,KAAAA,GAAQ,KAAA;AAAA,UACxB;AACAtB,UAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMyF,OAAAA,KAANzF,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA,QACF,CAAA;AAAA,QAAC,QAAA,EACO0F,CAAClB,MAAAA,EAAQmB,MAAAA,KAAW;AA3OxC,UAAA,IAAA,EAAA;AA4Oc1E,UAAAA,OAAAA,CAAQK,KAAAA,GAAQqE,MAAAA;AAChB3F,UAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM0F,MAAAA,KAAN1F,+BAAewE,MAAAA,EAAQmB,MAAAA,CAAAA;AAAAA,QACzB;AAAA,OAAC,CAAA,EApBQ5D,SAAAA,CAAUT,KAAK,CAAA,CAAA;AAAA,MAZxB,GAAGc,UAAAA,CAAWd,KAAAA;AAAAA,MACdY,QACElC,KAAAA,CAAMmC,SAAAA,KAAc,KAAA,GAChB,MAAA+C,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,2CAAA;AAAA,QAAA,KAAA,EAC8DhE;AAAAA,OAAS,EAAA,IAAA,CAAA,GAEvEZ;AAAAA,KAAS,CAAA,EA6BlBiD,UAAAA,CAAWjC,KAAK,CAAA,CAAA;AAAA,EAGvB;AACF,CAAC,CAAA;;;;"}
|
@@ -221,7 +221,7 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
|
|
221
221
|
firstRowFull = colSpan === 24 && !item.hidden;
|
222
222
|
}
|
223
223
|
const hidden = item.hidden || // 如果收起了
|
224
|
-
collapsed.value && (firstRowFull || // 如果 超过显示长度 且 总长度超过了 24
|
224
|
+
props.submitter !== false && collapsed.value && (firstRowFull || // 如果 超过显示长度 且 总长度超过了 24
|
225
225
|
totalSize.value > showLength.value) && !!index;
|
226
226
|
if (hidden) {
|
227
227
|
if (!props.preserve) {
|
@@ -279,7 +279,7 @@ var QueryFilter = /* @__PURE__ */ defineComponent({
|
|
279
279
|
justify: "start",
|
280
280
|
class: `${prefixCls}-row`
|
281
281
|
},
|
282
|
-
"
|
282
|
+
"showLoading": false,
|
283
283
|
"submitter": submitterConfig.value,
|
284
284
|
"items": processedList.value,
|
285
285
|
"layout": spanSize.value.layout,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 17:20:35\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n submitOnLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"QueryFilter.mjs","sources":["../../../../../../../packages/components/form/src/layouts/QueryFilter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:26:49\n * @Description:\n */\nimport { ref, computed, defineComponent, watch, useTemplateRef } from 'vue'\nimport { queryFilterProps } from '../props'\nimport { useMergedState, usePrefixCls } from '@pro-design-vue/hooks'\nimport { isBrowser, merge, omit, omitUndefined } from '@pro-design-vue/utils'\nimport { ProFieldType } from '../fieldType'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useFormExpose } from '../hooks/useFormExpose'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport BaseForm from '../base/BaseForm'\n\nimport type { ProFormActionType, ProFormItemType, SpanConfig } from '../type'\nimport type { FormItemProps, FormProps } from 'ant-design-vue'\n\nconst CONFIG_SPAN_BREAKPOINTS = {\n xs: 513,\n sm: 513,\n md: 785,\n lg: 992,\n xl: 1057,\n xxl: Infinity,\n}\n/** 配置表单列变化的容器宽度断点 */\nconst BREAKPOINTS = {\n vertical: [\n // [breakpoint, cols, layout]\n [513, 1, 'vertical'],\n [785, 2, 'vertical'],\n [1057, 3, 'vertical'],\n [Infinity, 4, 'vertical'],\n ],\n default: [\n [513, 1, 'vertical'],\n [701, 2, 'vertical'],\n [1062, 3, 'horizontal'],\n [1352, 3, 'horizontal'],\n [Infinity, 4, 'horizontal'],\n ],\n}\n\n/**\n * 合并用户和默认的配置\n *\n * @param layout\n * @param width\n */\nconst getSpanConfig = (\n layout: FormProps['layout'] = 'horizontal',\n width: number,\n span?: SpanConfig,\n): { span: number; layout: FormProps['layout'] } => {\n if (span && typeof span === 'number') {\n return {\n span,\n layout,\n }\n }\n\n const spanConfig: (string | number)[][] = span\n ? ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].map((key) => [\n CONFIG_SPAN_BREAKPOINTS[key as 'xs'],\n 24 / (span as any)[key as 'sm'],\n 'horizontal',\n ])\n : BREAKPOINTS[(layout as 'default') || 'default']\n const breakPoint = (spanConfig || BREAKPOINTS.default).find(\n (item) => width < (item[0] as number) + 16, // 16 = 2 * (ant-row -8px margin)\n )\n if (!breakPoint) {\n return {\n span: 8,\n layout: 'horizontal',\n }\n }\n return {\n span: 24 / (breakPoint[1] as number),\n layout: breakPoint?.[2] as 'horizontal',\n }\n}\n\nconst flatMapItems = (items: ProFormItemType[], ignoreRules?: boolean): ProFormItemType[] => {\n return items?.flatMap((item: any) => {\n if (item.fieldType === ProFieldType.GROUP && !item.title) {\n return item.props.children\n }\n if (ignoreRules) {\n return {\n ...item,\n rules: [],\n formItemProps: {\n ...item.formItemProps,\n rules: [],\n },\n }\n }\n return item\n })\n}\n\nconst defaultWidth = isBrowser() ? document?.body?.clientWidth : 1024\nexport default defineComponent({\n name: 'ProQueryFilter',\n inheritAttrs: false,\n props: {\n ...queryFilterProps(),\n },\n emits: ['collapse', 'resize'],\n setup(props, { slots, emit, expose, attrs }) {\n // totalSpan 统计控件占的位置,计算 offset 保证查询按钮在最后一列\n const totalSpan = ref(0)\n // totalSize 统计控件占的份数\n const totalSize = ref(0)\n // for split compute\n const currentSpan = ref(0)\n const intl = useIntl()\n const prefixCls = usePrefixCls('query-filter')\n const wrapEl = useTemplateRef<HTMLDivElement>('wrapper')\n const formRef = ref<InstanceType<typeof BaseForm> & ProFormActionType>()\n const processedList = ref<ProFormItemType[]>([])\n const [width, setWidth] = useMergedState(defaultWidth)\n const formExpose = useFormExpose(formRef)\n useResizeObserver(wrapEl, (entries) => {\n const entry = entries[0]\n const { width: newWidth, height } = entry?.contentRect || ({} as DOMRectReadOnly)\n if (width.value !== newWidth && newWidth > 17) {\n setWidth(newWidth)\n }\n emit('resize', newWidth, height)\n })\n\n const spanSize = computed(() => getSpanConfig(props.layout, width.value + 16, props.span))\n\n const showLength = computed(() => {\n if (props.defaultFormItemsNumber !== undefined) {\n return props.defaultFormItemsNumber\n }\n if (props.defaultColsNumber !== undefined) {\n const oneRowControlsNumber = 24 / spanSize.value.span - 1\n return props.defaultColsNumber > oneRowControlsNumber\n ? oneRowControlsNumber\n : props.defaultColsNumber\n }\n return Math.max(1, 24 / spanSize.value.span - 1)\n })\n\n const hiddenNum = computed(\n () => props.showHiddenNum && processedList.value.filter((item) => item.hidden).length,\n )\n\n const needCollapse = computed(() => {\n if (totalSpan.value < 24 || totalSize.value <= showLength.value) {\n return false\n }\n return true\n })\n\n const offset = computed(() => {\n const offsetSpan = (currentSpan.value % 24) + spanSize.value.span\n if (offsetSpan > 24) {\n return 24 - spanSize.value.span\n }\n return 24 - offsetSpan\n })\n\n /** 计算最大宽度防止溢出换行 */\n const formItemFixStyle = computed<FormItemProps | undefined>(() => {\n if (props.labelWidth && spanSize.value.layout !== 'vertical' && props.labelWidth !== 'auto') {\n return {\n labelCol: {\n flex: `0 0 ${props.labelWidth}px`,\n },\n wrapperCol: {\n style: {\n maxWidth: `calc(100% - ${props.labelWidth}px)`,\n },\n },\n style: {\n flexWrap: 'nowrap',\n },\n }\n }\n return undefined\n })\n\n const [collapsed, setCollapsed] = useMergedState<boolean | undefined>(\n () => props.defaultCollapsed,\n {\n value: computed(() => props.collapsed),\n onChange: (val) => {\n emit('collapse', val)\n },\n },\n )\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'defaultCollapsed',\n 'collapsed',\n 'grid',\n 'showLoading',\n 'defaultColsNumber',\n 'searchGutter',\n // 'onFinish',\n 'submitOnLoading',\n 'preserve',\n 'submitter',\n 'ignoreRules',\n 'searchText',\n 'resetText',\n 'labelWidth',\n 'layout',\n 'items',\n 'gridSubmitter',\n 'rowProps',\n 'defaultFormItemsNumber',\n 'showHiddenNum',\n 'ignoreRules',\n 'onCollapse',\n 'onReset',\n ]),\n ),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n style: {\n justifyContent: 'flex-end',\n },\n reverse: true,\n searchConfig: {\n submitText: props.searchText || intl.getMessage('form.search', '搜索'),\n resetText: props.resetText || intl.getMessage('form.reset', '重置'),\n },\n colProps: {\n span: spanSize.value.span,\n offset: offset.value,\n },\n },\n props.submitter,\n )\n })\n\n watch(\n [spanSize, collapsed, () => props.items],\n () => {\n let firstRowFull = false\n currentSpan.value = 0\n totalSize.value = 0\n totalSpan.value = 0\n if (props.items?.length) {\n processedList.value = flatMapItems(props.items, props.ignoreRules).map((item, index) => {\n // 如果 formItem 自己配置了 hidden,默认使用它自己的\n const colSize = item.colSize ?? 1\n const colSpan = Math.min(spanSize.value.span * (colSize || 1), 24)\n // 计算总的 totalSpan 长度\n totalSpan.value += colSpan\n // 计算总的 colSize 长度\n totalSize.value += colSize\n\n if (index === 0) {\n firstRowFull = colSpan === 24 && !item.hidden\n }\n\n const hidden: boolean | undefined =\n item.hidden ||\n // 如果收起了\n (props.submitter !== false &&\n collapsed.value &&\n (firstRowFull ||\n // 如果 超过显示长度 且 总长度超过了 24\n totalSize.value > showLength.value) &&\n !!index)\n\n if (hidden) {\n if (!props.preserve) {\n return {\n ...item,\n colProps: { span: 0 },\n hidden: true,\n }\n }\n return {\n ...item,\n colProps: { span: colSpan },\n hidden: true,\n }\n }\n\n if (24 - (currentSpan.value % 24) < colSpan) {\n // 如果当前行空余位置放不下,那么折行\n totalSpan.value += 24 - (currentSpan.value % 24)\n currentSpan.value += 24 - (currentSpan.value % 24)\n }\n\n currentSpan.value += colSpan\n return {\n ...item,\n hidden,\n formItemProps: formItemFixStyle.value,\n colProps: {\n span: colSpan,\n },\n }\n })\n } else {\n processedList.value = []\n }\n },\n {\n immediate: true,\n },\n )\n\n expose({\n formRef,\n ...formExpose,\n })\n\n return () => (\n <div class={`${prefixCls}-wrap`} ref=\"wrapper\" {...attrs}>\n <BaseForm\n ref={formRef}\n class={prefixCls}\n {...formProps.value}\n grid\n gridSubmitter\n rowProps={{\n gutter: props.searchGutter,\n justify: 'start',\n class: `${prefixCls}-row`,\n }}\n showLoading={false}\n submitter={submitterConfig.value}\n items={processedList.value}\n layout={spanSize.value.layout}\n v-slots={{\n ...slots,\n submitter: ({ defaultDoms }) => {\n return (\n <>\n {defaultDoms}\n {needCollapse.value !== false && (\n <a\n class={`${prefixCls}-collapse-button`}\n onClick={() => setCollapsed(!collapsed.value)}\n >\n {collapsed.value\n ? intl.getMessage('form.collapsed', '展开')\n : intl.getMessage('form.expand', '收起')}\n {!!hiddenNum.value && `(${hiddenNum.value})`}\n <DownOutlined\n style={{\n marginInlineStart: '0.5em',\n transition: '0.3s all',\n transform: `rotate(${collapsed.value ? 0 : 0.5}turn)`,\n }}\n />\n </a>\n )}\n </>\n )\n },\n }}\n onReset={(values) => {\n if (props.resetOnSubmit) {\n formRef.value?.submit()\n }\n props.onReset?.(values)\n }}\n />\n </div>\n )\n },\n})\n"],"names":["CONFIG_SPAN_BREAKPOINTS","xs","sm","md","lg","xl","xxl","Infinity","BREAKPOINTS","vertical","default","getSpanConfig","layout","width","span","spanConfig","map","key","breakPoint","find","item","flatMapItems","items","ignoreRules","flatMap","fieldType","ProFieldType","GROUP","title","props","children","rules","formItemProps","defaultWidth","isBrowser","document","body","clientWidth","name","inheritAttrs","queryFilterProps","emits","setup","slots","emit","expose","attrs","totalSpan","ref","totalSize","currentSpan","intl","useIntl","prefixCls","usePrefixCls","wrapEl","useTemplateRef","formRef","processedList","setWidth","useMergedState","formExpose","useFormExpose","useResizeObserver","entries","entry","newWidth","height","contentRect","value","spanSize","computed","showLength","defaultFormItemsNumber","undefined","defaultColsNumber","oneRowControlsNumber","Math","max","hiddenNum","showHiddenNum","filter","hidden","length","needCollapse","offset","offsetSpan","formItemFixStyle","labelWidth","labelCol","flex","wrapperCol","style","maxWidth","flexWrap","collapsed","setCollapsed","defaultCollapsed","onChange","val","formProps","omitUndefined","omit","submitterConfig","submitter","merge","justifyContent","reverse","searchConfig","submitText","searchText","getMessage","resetText","colProps","watch","_a","firstRowFull","index","colSize","colSpan","min","preserve","immediate","_createVNode","_mergeProps","BaseForm","gutter","searchGutter","justify","class","values","resetOnSubmit","submit","onReset","defaultDoms","_Fragment","onClick","DownOutlined","marginInlineStart","transition","transform"],"mappings":"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"}
|