UNPKG

tav-ui

Version:
1 lines 5.03 kB
{"version":3,"file":"useFormValues2.mjs","sources":["../../../../../../../../packages/components/form/src/hooks/useFormValues.ts"],"sourcesContent":["import { unref } from 'vue'\nimport { set } from 'lodash-es'\nimport { dateUtil } from '@tav-ui/utils/dateUtil'\nimport { isArray, isFunction, isNullOrUnDef, isObject, isString } from '@tav-ui/utils/is'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { FormProps, FormSchema } from '../types/form'\ntype Recordable<T = any> = Record<string, T>\ninterface UseFormValuesContext {\n defaultValueRef: Ref<any>\n getSchema: ComputedRef<FormSchema[]>\n getProps: ComputedRef<FormProps>\n formModel: Recordable\n}\nexport function useFormValues({\n defaultValueRef,\n getSchema,\n formModel,\n getProps,\n}: UseFormValuesContext) {\n // Processing form values\n function handleFormValues(values: Recordable) {\n if (!isObject(values)) return {}\n\n const res: Recordable = {}\n for (const item of Object.entries(values)) {\n let [, value] = item\n const [key] = item\n if (!key || (isArray(value) && value.length === 0) || isFunction(value)) continue\n\n const transformDateFunc = unref(getProps).transformDateFunc\n if (isObject(value)) value = transformDateFunc?.(value)\n\n if (isArray(value) && value[0]?._isAMomentObject && value[1]?._isAMomentObject)\n value = value.map((item) => transformDateFunc?.(item))\n\n // Remove spaces\n if (isString(value)) value = value.trim()\n\n set(res, key, value)\n }\n return handleRangeTimeValue(res)\n }\n\n /**\n * @description: Processing time interval parameters\n */\n function handleRangeTimeValue(values: Recordable) {\n const fieldMapToTime = unref(getProps).fieldMapToTime\n\n if (!fieldMapToTime || !Array.isArray(fieldMapToTime)) return values\n\n for (const [field, [startTimeKey, endTimeKey], format = 'YYYY-MM-DD'] of fieldMapToTime) {\n if (!field || !startTimeKey || !endTimeKey || !values[field]) continue\n\n const [startTime, endTime]: string[] = values[field]\n\n values[startTimeKey] = dateUtil(startTime).format(format)\n values[endTimeKey] = dateUtil(endTime).format(format)\n Reflect.deleteProperty(values, field)\n }\n\n return values\n }\n\n function initDefault() {\n const schemas = unref(getSchema)\n const obj: Recordable = {}\n schemas.forEach((item) => {\n const { defaultValue } = item\n if (!isNullOrUnDef(defaultValue)) {\n obj[item.field] = defaultValue\n formModel[item.field] = defaultValue\n }\n })\n defaultValueRef.value = obj\n }\n\n return { handleFormValues, initDefault }\n}\n"],"names":[],"mappings":"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"}