UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 5.59 kB
{"version":3,"file":"useCrudConfig.cjs","sources":["../../../../../../packages/element/crud/src/hooks/useCrudConfig.ts"],"sourcesContent":["import { debounce } from 'lodash-unified'\nimport type { ElForm } from 'element-plus'\nimport { isObject } from '@ideaz/utils'\nimport type { ComponentInternalInstance } from 'vue'\nimport type { CrudProps } from '../props'\nimport type { Pagination } from '../../../types'\nimport { useFormStorage } from './useFormStorage'\nimport { usePaginationStorage } from './usePaginationStorage'\n\nexport function useCrudConfig(props: CrudProps, emit: any) {\n const { proxy: ctx } = getCurrentInstance() as ComponentInternalInstance\n\n const { middleFormData, originFormData, isUseFormDataStorage } = useFormStorage(props, emit)\n const { middlePagination, originPagination, isUsePaginationStorage }\n = usePaginationStorage(props, emit)\n\n const handleSearch = debounce(() => {\n if (isUseFormDataStorage.value)\n updateTableProFormData(props, props.formData)\n\n if (isUsePaginationStorage.value)\n updateTableProPagination(props.pagination)\n\n emit('update:formData', middleFormData.value)\n emit('search')\n }, 200)\n\n const handleReset = () => {\n (ctx!.$refs.formRef as typeof ElForm).resetFields()\n if (isUseFormDataStorage.value && isObject(props.formData)) {\n const formData: any = {}\n Object.keys(props.formData).forEach((key) => {\n formData[key] = originFormData.value[key]\n middleFormData.value[key] = originFormData.value[key]\n })\n emit('update:formData', formData)\n updateTableProFormData(props)\n }\n if (isObject(props.pagination) && isUsePaginationStorage.value) {\n const pagination: Pagination = {}\n Object.keys(props.pagination).forEach((key) => {\n (pagination[key as keyof typeof props.pagination] as Pagination) = originPagination.value[key as keyof typeof props.pagination] as Pagination;\n (middlePagination.value[key as keyof typeof props.pagination] as Pagination) = originPagination.value[key as keyof typeof props.pagination] as Pagination\n })\n emit('update:pagination', pagination)\n updateTableProPagination()\n }\n emit('reset')\n }\n\n const handlePaginationChange = (val: any) => {\n if (isObject(props.pagination) && isUsePaginationStorage.value) {\n const pagination = {\n ...props.pagination,\n ...val,\n }\n updateTableProPagination(pagination)\n }\n emit('refresh', val)\n }\n\n function updateTableProFormData(config: CrudProps, data?: any) {\n const formData = window.sessionStorage.getItem('zCrudFormData')\n ? JSON.parse(window.sessionStorage.getItem('zCrudFormData')!)\n : {}\n formData[config.name] = data\n if (!data)\n delete formData[config.name]\n\n window.sessionStorage.setItem('zCrudFormData', JSON.stringify(formData))\n }\n\n function updateTableProPagination(data?: any) {\n const pagination = sessionStorage.getItem('zCrudPagination')\n ? JSON.parse(sessionStorage.getItem('zCrudPagination')!)\n : {}\n pagination[props.name] = data\n if (!data)\n delete pagination[props.name]\n\n sessionStorage.setItem('zCrudPagination', JSON.stringify(pagination))\n }\n\n return {\n handleSearch,\n handleReset,\n handlePaginationChange,\n middleFormData,\n isUseFormDataStorage,\n middlePagination,\n isUsePaginationStorage,\n updateTableProPagination,\n }\n}\n"],"names":["useCrudConfig","props","emit","ctx","vue","middleFormData","originFormData","isUseFormDataStorage","useFormStorage","middlePagination","originPagination","isUsePaginationStorage","usePaginationStorage","handleSearch","debounce","updateTableProFormData","updateTableProPagination","handleReset","is","formData","key","pagination","handlePaginationChange","val","config","data"],"mappings":"ggBASgB,SAAAA,EAAAC,EAAAC,EAAA,CACd,KAAA,CAAA,MAAAC,CAAA,EAAAC,EAAA,mBAAA,EAEA,CAAA,eAAAC,EAAA,eAAAC,EAAA,qBAAAC,CAAA,EAAAC,EAAA,eAAAP,EAAAC,CAAA,EACA,CAAA,iBAAAO,EAAA,iBAAAC,EAAA,uBAAAC,CAAA,EAAAC,EAAA,qBAAAX,EAAAC,CAAA,EAGAW,EAAAC,EAAA,IAAA,CACEP,EAAA,OACEQ,EAAAd,EAAAA,EAAA,QAAA,EAEFU,EAAA,OACEK,EAAAf,EAAA,UAAA,EAEFC,EAAA,kBAAAG,EAAA,KAAA,EACAH,EAAA,QAAA,CAAa,EAAA,GAAA,EAGfe,EAAA,IAAA,CAEE,GADAd,EAAA,MAAA,QAAA,YAAA,EACAI,EAAA,OAAAW,EAAA,SAAAjB,EAAA,QAAA,EAAA,CACE,MAAAkB,EAAA,CAAA,EACA,OAAA,KAAAlB,EAAA,QAAA,EAAA,QAAAmB,GAAA,CACED,EAAAC,CAAA,EAAAd,EAAA,MAAAc,CAAA,EACAf,EAAA,MAAAe,CAAA,EAAAd,EAAA,MAAAc,CAAA,CAAoD,CAAA,EAEtDlB,EAAA,kBAAAiB,CAAA,EACAJ,EAAAd,CAAA,CAA4B,CAE9B,GAAAiB,EAAA,SAAAjB,EAAA,UAAA,GAAAU,EAAA,MAAA,CACE,MAAAU,EAAA,CAAA,EACA,OAAA,KAAApB,EAAA,UAAA,EAAA,QAAAmB,GAAA,CACEC,EAAAD,CAAA,EAAAV,EAAA,MAAAU,CAAA,EACAX,EAAA,MAAAW,CAAA,EAAAV,EAAA,MAAAU,CAAA,CAA0I,CAAA,EAE5IlB,EAAA,oBAAAmB,CAAA,EACAL,EAAA,CAAyB,CAE3Bd,EAAA,OAAA,CAAY,EAGdoB,EAAAC,GAAA,CACE,GAAAL,EAAA,SAAAjB,EAAA,UAAA,GAAAU,EAAA,MAAA,CACE,MAAAU,EAAA,CAAmB,GAAApB,EAAA,WACR,GAAAsB,CACN,EAELP,EAAAK,CAAA,CAAmC,CAErCnB,EAAA,UAAAqB,CAAA,CAAmB,EAGrB,SAAAR,EAAAS,EAAAC,EAAA,CACE,MAAAN,EAAA,OAAA,eAAA,QAAA,eAAA,EAAA,KAAA,MAAA,OAAA,eAAA,QAAA,eAAA,CAAA,EAAA,CAAA,EAGAA,EAAAK,EAAA,IAAA,EAAAC,EACAA,GACE,OAAAN,EAAAK,EAAA,IAAA,EAEF,OAAA,eAAA,QAAA,gBAAA,KAAA,UAAAL,CAAA,CAAA,CAAuE,CAGzE,SAAAH,EAAAS,EAAA,CACE,MAAAJ,EAAA,eAAA,QAAA,iBAAA,EAAA,KAAA,MAAA,eAAA,QAAA,iBAAA,CAAA,EAAA,CAAA,EAGAA,EAAApB,EAAA,IAAA,EAAAwB,EACAA,GACE,OAAAJ,EAAApB,EAAA,IAAA,EAEF,eAAA,QAAA,kBAAA,KAAA,UAAAoB,CAAA,CAAA,CAAoE,CAGtE,MAAA,CAAO,aAAAR,EACL,YAAAI,EACA,uBAAAK,EACA,eAAAjB,EACA,qBAAAE,EACA,iBAAAE,EACA,uBAAAE,EACA,yBAAAK,CACA,CAEJ"}