1 line
4.7 KiB
Plaintext
1 line
4.7 KiB
Plaintext
{"version":3,"file":"useBulkRemove.mjs","sources":["../../../admin/src/hooks/useBulkRemove.ts"],"sourcesContent":["import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { BulkDeleteFiles, File } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nimport type { BulkDeleteFolders, FolderDefinition } from '../../../shared/contracts/folders';\n\nexport interface FileWithType extends File {\n type: string;\n}\n\ntype BulkRemovePayload = Partial<BulkDeleteFiles.Request['body']> &\n Partial<BulkDeleteFolders.Request['body']>;\n\nexport const useBulkRemove = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const queryClient = useQueryClient();\n const { post } = useFetchClient();\n\n const bulkRemoveQuery = (filesAndFolders: Array<FileWithType | FolderDefinition>) => {\n const payload = filesAndFolders.reduce<BulkRemovePayload>((acc, selected) => {\n const { id, type } = selected;\n const key = type === 'asset' ? 'fileIds' : 'folderIds';\n\n if (!acc[key]) {\n acc[key] = [];\n }\n\n acc[key]!.push(id);\n\n return acc;\n }, {});\n\n return post('/upload/actions/bulk-delete', payload);\n };\n\n const mutation = useMutation<\n BulkDeleteFiles.Response | BulkDeleteFolders.Response,\n BulkDeleteFiles.Response['error'] | BulkDeleteFolders.Response['error'],\n Array<FileWithType | FolderDefinition>\n >(bulkRemoveQuery, {\n onSuccess(res) {\n const {\n data: { data },\n } = res;\n\n if (data?.files?.length > 0) {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n }\n\n if (data?.folders?.length > 0) {\n queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('modal.remove.success-label'),\n defaultMessage: 'Elements have been successfully deleted.',\n }),\n });\n },\n onError(error) {\n toggleNotification({ type: 'danger', message: error?.message });\n },\n });\n\n const remove = (...args: Parameters<typeof mutation.mutateAsync>) =>\n mutation.mutateAsync(...args);\n\n return { ...mutation, remove };\n};\n"],"names":["useBulkRemove","toggleNotification","useNotification","formatMessage","useIntl","queryClient","useQueryClient","post","useFetchClient","bulkRemoveQuery","filesAndFolders","payload","reduce","acc","selected","id","type","key","push","mutation","useMutation","onSuccess","res","data","files","length","refetchQueries","pluginId","active","folders","message","getTrad","defaultMessage","onError","error","remove","args","mutateAsync"],"mappings":";;;;;;;;;;;MAiBaA,aAAgB,GAAA,IAAA;IAC3B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,WAAcC,GAAAA,cAAAA,EAAAA;IACpB,MAAM,EAAEC,IAAI,EAAE,GAAGC,cAAAA,EAAAA;AAEjB,IAAA,MAAMC,kBAAkB,CAACC,eAAAA,GAAAA;AACvB,QAAA,MAAMC,OAAUD,GAAAA,eAAAA,CAAgBE,MAAM,CAAoB,CAACC,GAAKC,EAAAA,QAAAA,GAAAA;AAC9D,YAAA,MAAM,EAAEC,EAAE,EAAEC,IAAI,EAAE,GAAGF,QAAAA;YACrB,MAAMG,GAAAA,GAAMD,IAAS,KAAA,OAAA,GAAU,SAAY,GAAA,WAAA;AAE3C,YAAA,IAAI,CAACH,GAAG,CAACI,GAAAA,CAAI,EAAE;gBACbJ,GAAG,CAACI,GAAI,CAAA,GAAG,EAAE;AACf;AAEAJ,YAAAA,GAAG,CAACI,GAAAA,CAAI,CAAEC,IAAI,CAACH,EAAAA,CAAAA;YAEf,OAAOF,GAAAA;AACT,SAAA,EAAG,EAAC,CAAA;AAEJ,QAAA,OAAON,KAAK,6BAA+BI,EAAAA,OAAAA,CAAAA;AAC7C,KAAA;IAEA,MAAMQ,QAAAA,GAAWC,YAIfX,eAAiB,EAAA;AACjBY,QAAAA,SAAAA,CAAAA,CAAUC,GAAG,EAAA;AACX,YAAA,MAAM,EACJC,IAAM,EAAA,EAAEA,IAAI,EAAE,EACf,GAAGD,GAAAA;YAEJ,IAAIC,IAAAA,EAAMC,KAAOC,EAAAA,MAAAA,GAAS,CAAG,EAAA;AAC3BpB,gBAAAA,WAAAA,CAAYqB,cAAc,CAAC;AAACC,oBAAAA,QAAAA;AAAU,oBAAA;iBAAS,EAAE;oBAAEC,MAAQ,EAAA;AAAK,iBAAA,CAAA;AAChEvB,gBAAAA,WAAAA,CAAYqB,cAAc,CAAC;AAACC,oBAAAA,QAAAA;AAAU,oBAAA;iBAAc,EAAE;oBAAEC,MAAQ,EAAA;AAAK,iBAAA,CAAA;AACvE;YAEA,IAAIL,IAAAA,EAAMM,OAASJ,EAAAA,MAAAA,GAAS,CAAG,EAAA;AAC7BpB,gBAAAA,WAAAA,CAAYqB,cAAc,CAAC;AAACC,oBAAAA,QAAAA;AAAU,oBAAA;iBAAU,EAAE;oBAAEC,MAAQ,EAAA;AAAK,iBAAA,CAAA;AACnE;YAEA3B,kBAAmB,CAAA;gBACjBe,IAAM,EAAA,SAAA;AACNc,gBAAAA,OAAAA,EAAS3B,aAAc,CAAA;AACrBY,oBAAAA,EAAAA,EAAIgB,OAAQ,CAAA,4BAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AACF,SAAA;AACAC,QAAAA,OAAAA,CAAAA,CAAQC,KAAK,EAAA;YACXjC,kBAAmB,CAAA;gBAAEe,IAAM,EAAA,QAAA;AAAUc,gBAAAA,OAAAA,EAASI,KAAOJ,EAAAA;AAAQ,aAAA,CAAA;AAC/D;AACF,KAAA,CAAA;AAEA,IAAA,MAAMK,SAAS,CAAC,GAAGC,IACjBjB,GAAAA,QAAAA,CAASkB,WAAW,CAAID,GAAAA,IAAAA,CAAAA;IAE1B,OAAO;AAAE,QAAA,GAAGjB,QAAQ;AAAEgB,QAAAA;AAAO,KAAA;AAC/B;;;;"} |