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.95 kB
Source Map (JSON)
{"version":3,"file":"useSelectionData.mjs","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","getCurrentInstance","selectionData","ref","t","useLocale","isSelection","computed","column","selection","deleteApi","_a","dialogTipProps","isObject","DialogTip","isFunction","done","confirmButtonLoading","item","ElMessage"],"mappings":";;;;;;AAUO,SAAAA,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACL,QAAA,EAAA,OAAAC,EAAA,IAAAC,EAAA,GACAC,IAAAC,EAAAR,EAAA,iBAAA,CAAA,CAAA,GAEA,EAAA,GAAAS,EAAA,IAAAC,EAAA,GAEAC,IAAAC,EAAA,MACEV,EAAA,MAAA,QAAA,OAAA,CAAAW,MAAAA,EAAA,SAAA,WAAA,EAAA,SAAA,KAAAN,EAAA,MAAA,SAAA,CAAqI;AAyCvI,SAAA;AAAA,IAAO,eAAAA;AAAA,IACL,aAAAI;AAAA,IACA,sBAxCF,CAAAG,MAAA;AACE,MAAAb,EAAA,oBAAAa,CAAA,GACAb,EAAA,wBAAAa,CAAA,GACAd,EAAA,kBAAA,WACEO,EAAA,QAAAO;AAAA,IAAsB;AAAA,IAqCxB,kBAlCF,MAAA;AACE,MAAAT,EAAA,MAAA,UAAA,eAAA;AAAA,IAAwD;AAAA,IAkCxD,sBA/BF,MAAA;;AACE,YAAAU,KAAAC,IAAAhB,EAAA,YAAA,gBAAAgB,EAAA;AACA,UAAAD,GAAA;AACE,cAAAE,IAAAC,EAAAlB,EAAA,MAAA,IAAAA,EAAA,SAAA,CAAA;AACA,QAAAmB,EAAA;AAAA,UAAU,MAAA;AAAA,UACF,GAAAF;AAAA,UACH,SAAAG,EAAAH,EAAA,OAAA,IAAAA,EAAA,QAAA,EAAA,eAAAV,EAAA,MAAA,CAAA,IAAAE,EAAA,wBAAA;AAAA,UACsI,WAAAW,EAAAH,EAAA,SAAA,IAAA,CAAA,EAAA,MAAAI,GAAA,sBAAAC,EAAA,MAAA;;AAAA,oBAAAN,IAAAC,EAAA,cAAA,gBAAAD,EAAA,KAAAC,GAAA,EAAA,MAAAI,GAAA,sBAAAC,GAAA,eAAAf,EAAA,OAAA,UAAAF,EAAA,MAAA,WAAA,cAAAD,EAAA;AAAA,cAAA,OAAA,EAAA,MAAAiB,GAAA,sBAAAC,EAAA,MAAA;AAIrI,YAAAA,EAAA,QAAA;AACA,gBAAA;AACE,oBAAAP,EAAA,EAAA,CAAAf,EAAA,OAAA,GAAAO,EAAA,MAAA,IAAA,CAAAgB,MAAAA,EAAAvB,EAAA,OAAA,CAAA,GAAA,eAAAO,EAAA,MAAA,CAAA,GACAe,EAAA,QAAA,IACAD,EAAA,GACAG,EAAA,QAAAf,EAAA,gBAAA,CAAA,GACAN,EAAA;AAAA,YAAoB,QAAA;AAAA,YAER;AACd,YAAAmB,EAAA,QAAA;AAAA,UAA6B;AAAA,QAC/B,CAAA;AAAA,MACH;AAEH,MAAArB,EAAA,kBAAA,EAAA,eAAAM,EAAA,OAAA,OAAAF,EAAA,MAAA,WAAA,cAAAD,EAAA,CAAA;AAAA,IAAyH;AAAA,EAQzH;AAEJ;"}