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 • 4.78 kB
Source Map (JSON)
{"version":3,"file":"useSelectionData.cjs","sources":["../../../../../../packages/element/crud/src/hooks/useSelectionData.ts"],"sourcesContent":["import type { ElTable } from 'element-plus'\nimport type { ComponentInternalInstance, Ref } from 'vue'\nimport { ElMessage } from 'element-plus'\nimport { isFunction, isObject } from '@ideaz/utils'\nimport DialogTip from '../../../dialog/src/dialog'\nimport type ZTable from '../../../table/src/Table'\nimport type { CrudDeleteDialogTipProps, CrudProps } from '../props'\nimport type { ITableProps } from '../../../table/src/props'\nimport type { TableCol } from '../../../types'\n\nexport function useSelectionData(props: CrudProps, emit: any, tableProps: Ref<ITableProps>, refreshAfterRequest: () => void, getTableData: () => void) {\n const { proxy: ctx } = getCurrentInstance() as ComponentInternalInstance\n const selectionData = ref(props.selectionData || [])\n\n const { t } = useLocale()\n\n const isSelection = computed(() => {\n return tableProps.value.columns.filter((column: TableCol) => column.type === 'selection').length > 0 && selectionData.value.length > 0\n })\n\n const handleCheckboxChange = (selection: any) => {\n emit('selection-change', selection)\n emit('update:selectionData', selection)\n if (props.selectionData === undefined)\n selectionData.value = selection\n }\n\n const handleCloseAlert = () => {\n (ctx!.$refs.zTableRef as typeof ElTable).clearSelection()\n }\n\n const handleMultipleDelete = () => {\n const deleteApi = props.request?.deleteApi\n if (deleteApi) {\n const dialogTipProps: CrudDeleteDialogTipProps = isObject(props.delete) ? props.delete as CrudDeleteDialogTipProps : {} as CrudDeleteDialogTipProps\n DialogTip({\n type: 'danger',\n ...dialogTipProps as Omit<CrudDeleteDialogTipProps, 'type'>,\n message: isFunction(dialogTipProps.message) ? dialogTipProps.message({ selectionData: selectionData.value }) : t('crud.multipleDeleteTip'),\n onConfirm: isFunction(dialogTipProps.onConfirm)\n ? ({ done, confirmButtonLoading }) => dialogTipProps.onConfirm?.({ done, confirmButtonLoading, selectionData: selectionData.value, tableRef: ctx!.$refs.zTableRef as typeof ZTable, getTableData })\n : async ({ done, confirmButtonLoading }: { done: () => void, confirmButtonLoading: Ref<boolean> }) => {\n confirmButtonLoading.value = true\n try {\n await deleteApi({ [props.dataKey]: selectionData.value.map((item: any) => item[props.dataKey]), selectionData: selectionData.value })\n confirmButtonLoading.value = false\n done()\n ElMessage.success(t('common.success'))\n refreshAfterRequest()\n }\n catch (error) {}\n confirmButtonLoading.value = false\n },\n })\n }\n emit('operate-delete', { selectionData: selectionData.value, table: ctx!.$refs.zTableRef as typeof ZTable, getTableData })\n }\n\n return {\n selectionData,\n isSelection,\n handleCheckboxChange,\n handleCloseAlert,\n handleMultipleDelete,\n }\n}\n"],"names":["useSelectionData","props","emit","tableProps","refreshAfterRequest","getTableData","ctx","vue","selectionData","t","useLocale","isSelection","column","selection","deleteApi","_a","dialogTipProps","is","dialog","done","confirmButtonLoading","item","elementPlus"],"mappings":"6SAUO,SAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,CACL,KAAA,CAAA,MAAAC,CAAA,EAAAC,EAAA,mBAAA,EACAC,EAAAD,EAAA,IAAAN,EAAA,eAAA,CAAA,CAAA,EAEA,CAAA,EAAAQ,CAAA,EAAAC,EAAA,UAAA,EAEAC,EAAAJ,EAAA,SAAA,IACEJ,EAAA,MAAA,QAAA,OAAAS,GAAAA,EAAA,OAAA,WAAA,EAAA,OAAA,GAAAJ,EAAA,MAAA,OAAA,CAAqI,EAyCvI,MAAA,CAAO,cAAAA,EACL,YAAAG,EACA,qBAxCFE,GAAA,CACEX,EAAA,mBAAAW,CAAA,EACAX,EAAA,uBAAAW,CAAA,EACAZ,EAAA,gBAAA,SACEO,EAAA,MAAAK,EAAsB,EAqCxB,iBAlCF,IAAA,CACEP,EAAA,MAAA,UAAA,eAAA,CAAwD,EAkCxD,qBA/BF,IAAA,OACE,MAAAQ,GAAAC,EAAAd,EAAA,UAAA,YAAAc,EAAA,UACA,GAAAD,EAAA,CACE,MAAAE,EAAAC,EAAA,SAAAhB,EAAA,MAAA,EAAAA,EAAA,OAAA,CAAA,EACAiB,EAAA,CAAU,KAAA,SACF,GAAAF,EACH,QAAAC,EAAA,WAAAD,EAAA,OAAA,EAAAA,EAAA,QAAA,CAAA,cAAAR,EAAA,KAAA,CAAA,EAAAC,EAAA,wBAAA,EACsI,UAAAQ,EAAA,WAAAD,EAAA,SAAA,EAAA,CAAA,CAAA,KAAAG,EAAA,qBAAAC,CAAA,IAAA,OAAA,OAAAL,EAAAC,EAAA,YAAA,YAAAD,EAAA,KAAAC,EAAA,CAAA,KAAAG,EAAA,qBAAAC,EAAA,cAAAZ,EAAA,MAAA,SAAAF,EAAA,MAAA,UAAA,aAAAD,CAAA,IAAA,MAAA,CAAA,KAAAc,EAAA,qBAAAC,CAAA,IAAA,CAIrIA,EAAA,MAAA,GACA,GAAA,CACE,MAAAN,EAAA,CAAA,CAAAb,EAAA,OAAA,EAAAO,EAAA,MAAA,IAAAa,GAAAA,EAAApB,EAAA,OAAA,CAAA,EAAA,cAAAO,EAAA,KAAA,CAAA,EACAY,EAAA,MAAA,GACAD,EAAA,EACAG,EAAA,UAAA,QAAAb,EAAA,gBAAA,CAAA,EACAL,EAAA,CAAoB,MAAA,CAER,CACdgB,EAAA,MAAA,EAA6B,CAC/B,CAAA,CACH,CAEHlB,EAAA,iBAAA,CAAA,cAAAM,EAAA,MAAA,MAAAF,EAAA,MAAA,UAAA,aAAAD,CAAA,CAAA,CAAyH,CAQzH,CAEJ"}