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.75 kB
Source Map (JSON)
{"version":3,"file":"useCrudConfig.mjs","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","getCurrentInstance","middleFormData","originFormData","isUseFormDataStorage","useFormStorage","middlePagination","originPagination","isUsePaginationStorage","usePaginationStorage","handleSearch","debounce","updateTableProFormData","updateTableProPagination","handleReset","isObject","formData","key","pagination","handlePaginationChange","val","config","data"],"mappings":";;;;;;;AASgB,SAAAA,EAAAC,GAAAC,GAAA;AACd,QAAA,EAAA,OAAAC,EAAA,IAAAC,EAAA,GAEA,EAAA,gBAAAC,GAAA,gBAAAC,GAAA,sBAAAC,EAAA,IAAAC,EAAAP,GAAAC,CAAA,GACA,EAAA,kBAAAO,GAAA,kBAAAC,GAAA,wBAAAC,EAAA,IAAAC,EAAAX,GAAAC,CAAA,GAGAW,IAAAC,EAAA,MAAA;AACE,IAAAP,EAAA,SACEQ,EAAAd,GAAAA,EAAA,QAAA,GAEFU,EAAA,SACEK,EAAAf,EAAA,UAAA,GAEFC,EAAA,mBAAAG,EAAA,KAAA,GACAH,EAAA,QAAA;AAAA,EAAa,GAAA,GAAA,GAGfe,IAAA,MAAA;AAEE,QADAd,EAAA,MAAA,QAAA,YAAA,GACAI,EAAA,SAAAW,EAAAjB,EAAA,QAAA,GAAA;AACE,YAAAkB,IAAA,CAAA;AACA,aAAA,KAAAlB,EAAA,QAAA,EAAA,QAAA,CAAAmB,MAAA;AACE,QAAAD,EAAAC,CAAA,IAAAd,EAAA,MAAAc,CAAA,GACAf,EAAA,MAAAe,CAAA,IAAAd,EAAA,MAAAc,CAAA;AAAA,MAAoD,CAAA,GAEtDlB,EAAA,mBAAAiB,CAAA,GACAJ,EAAAd,CAAA;AAAA,IAA4B;AAE9B,QAAAiB,EAAAjB,EAAA,UAAA,KAAAU,EAAA,OAAA;AACE,YAAAU,IAAA,CAAA;AACA,aAAA,KAAApB,EAAA,UAAA,EAAA,QAAA,CAAAmB,MAAA;AACE,QAAAC,EAAAD,CAAA,IAAAV,EAAA,MAAAU,CAAA,GACAX,EAAA,MAAAW,CAAA,IAAAV,EAAA,MAAAU,CAAA;AAAA,MAA0I,CAAA,GAE5IlB,EAAA,qBAAAmB,CAAA,GACAL,EAAA;AAAA,IAAyB;AAE3B,IAAAd,EAAA,OAAA;AAAA,EAAY,GAGdoB,IAAA,CAAAC,MAAA;AACE,QAAAL,EAAAjB,EAAA,UAAA,KAAAU,EAAA,OAAA;AACE,YAAAU,IAAA;AAAA,QAAmB,GAAApB,EAAA;AAAA,QACR,GAAAsB;AAAA,MACN;AAEL,MAAAP,EAAAK,CAAA;AAAA,IAAmC;AAErC,IAAAnB,EAAA,WAAAqB,CAAA;AAAA,EAAmB;AAGrB,WAAAR,EAAAS,GAAAC,GAAA;AACE,UAAAN,IAAA,OAAA,eAAA,QAAA,eAAA,IAAA,KAAA,MAAA,OAAA,eAAA,QAAA,eAAA,CAAA,IAAA,CAAA;AAGA,IAAAA,EAAAK,EAAA,IAAA,IAAAC,GACAA,KACE,OAAAN,EAAAK,EAAA,IAAA,GAEF,OAAA,eAAA,QAAA,iBAAA,KAAA,UAAAL,CAAA,CAAA;AAAA,EAAuE;AAGzE,WAAAH,EAAAS,GAAA;AACE,UAAAJ,IAAA,eAAA,QAAA,iBAAA,IAAA,KAAA,MAAA,eAAA,QAAA,iBAAA,CAAA,IAAA,CAAA;AAGA,IAAAA,EAAApB,EAAA,IAAA,IAAAwB,GACAA,KACE,OAAAJ,EAAApB,EAAA,IAAA,GAEF,eAAA,QAAA,mBAAA,KAAA,UAAAoB,CAAA,CAAA;AAAA,EAAoE;AAGtE,SAAA;AAAA,IAAO,cAAAR;AAAA,IACL,aAAAI;AAAA,IACA,wBAAAK;AAAA,IACA,gBAAAjB;AAAA,IACA,sBAAAE;AAAA,IACA,kBAAAE;AAAA,IACA,wBAAAE;AAAA,IACA,0BAAAK;AAAA,EACA;AAEJ;"}