Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
16 KiB
Plaintext
1 line
16 KiB
Plaintext
{"version":3,"file":"index.js","names":["c","_c","useModal","validateMimeType","React","useEffect","toast","useEffectEvent","useConfig","EditDepthProvider","useTranslation","UploadControlsProvider","Drawer","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","getEntityConfig","t","uploadCollection","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","_jsx","acceptMimeTypes","join","onCancel","BulkUploadDrawer","$","setInitialFiles","setInitialForms","setOnCancel","setOnSuccess","setSelectableCollections","setSuccessfullyUploaded","successfullyUploaded","modalState","previousModalStateRef","useRef","t0","modalState_0","previousModalState","current","currentModalState","isOpen","_temp2","_temp4","onModalStateChanged","t1","t2","t3","gutter","Header","slug","children","_temp3","_temp","Context","createContext","initialFiles","initialForms","maxFiles","onSuccess","selectableCollections","setCollectionSlug","setMaxFiles","BulkUploadProvider","drawerSlugPrefix","useState","collection","setCollection","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","Symbol","for","t4","newDocs","errorCount","t5","value","_jsxs","Fragment","use","depth"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React, { useEffect } from 'react'\nimport { toast } from 'sonner'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { Drawer, useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, type InitialForms, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { t } = useTranslation()\n\n const uploadCollection = getEntityConfig({ collectionSlug })\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n }\n },\n [addFiles, t, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const {\n drawerSlug,\n onCancel,\n setInitialFiles,\n setInitialForms,\n setOnCancel,\n setOnSuccess,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n } = useBulkUpload()\n const { modalState } = useModal()\n const previousModalStateRef = React.useRef(modalState)\n\n /**\n * This is used to trigger onCancel when the drawer is closed (=> forms reset, as FormsManager is unmounted)\n */\n const onModalStateChanged = useEffectEvent((modalState) => {\n const previousModalState = previousModalStateRef.current[drawerSlug]\n const currentModalState = modalState[drawerSlug]\n\n if (typeof currentModalState === 'undefined' && typeof previousModalState === 'undefined') {\n return\n }\n\n if (previousModalState?.isOpen !== currentModalState?.isOpen) {\n if (!currentModalState?.isOpen) {\n if (!successfullyUploaded) {\n // It's only cancelled if successfullyUploaded is not set. Otherwise, this would simply be a modal close after success\n // => do not call cancel, just reset everything\n if (typeof onCancel === 'function') {\n onCancel()\n }\n }\n\n // Reset everything to defaults\n setInitialFiles(undefined)\n setInitialForms(undefined)\n setOnCancel(() => () => null)\n setOnSuccess(() => () => null)\n setSelectableCollections(null)\n setSuccessfullyUploaded(false)\n }\n }\n previousModalStateRef.current = modalState\n })\n\n useEffect(() => {\n onModalStateChanged(modalState)\n }, [modalState])\n\n return (\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <UploadControlsProvider>\n <EditDepthProvider>\n <DrawerContent />\n </EditDepthProvider>\n </UploadControlsProvider>\n </FormsManagerProvider>\n </Drawer>\n )\n}\n\nexport type BulkUploadContext = {\n collectionSlug: CollectionSlug\n drawerSlug: string\n initialFiles: FileList\n /**\n * Like initialFiles, but allows manually providing initial form state or the form ID for each file\n */\n initialForms: InitialForms\n maxFiles: number\n onCancel: () => void\n onSuccess: (\n uploadedForms: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }>,\n errorCount: number,\n ) => void\n /**\n * An array of collection slugs that can be selected in the collection dropdown (if applicable)\n * @default null - collection cannot be selected\n */\n selectableCollections?: null | string[]\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setInitialForms: (\n forms: ((forms: InitialForms | undefined) => InitialForms | undefined) | InitialForms,\n ) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n /**\n * Set the collections that can be selected in the collection dropdown (if applicable)\n *\n * @default null - collection cannot be selected\n */\n setSelectableCollections: (collections: null | string[]) => void\n setSuccessfullyUploaded: (successfullyUploaded: boolean) => void\n successfullyUploaded: boolean\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n initialForms: [],\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n selectableCollections: null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setInitialForms: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n setSelectableCollections: () => null,\n setSuccessfullyUploaded: () => false,\n successfullyUploaded: false,\n})\nexport function BulkUploadProvider({\n children,\n drawerSlugPrefix,\n}: {\n readonly children: React.ReactNode\n readonly drawerSlugPrefix?: string\n}) {\n const [selectableCollections, setSelectableCollections] = React.useState<null | string[]>(null)\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [initialForms, setInitialForms] = React.useState<InitialForms>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const [successfullyUploaded, setSuccessfullyUploaded] = React.useState<boolean>(false)\n\n const drawerSlug = `${drawerSlugPrefix ? `${drawerSlugPrefix}-` : ''}${useBulkUploadDrawerSlug()}`\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n const setOnCancel: BulkUploadContext['setOnCancel'] = (onCancel) => {\n setOnCancelFunction(() => onCancel)\n }\n\n return (\n <Context\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n initialForms,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (newDocs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(newDocs, errorCount)\n }\n },\n selectableCollections,\n setCollectionSlug: setCollection,\n setInitialFiles,\n setInitialForms,\n setMaxFiles,\n setOnCancel,\n setOnSuccess,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context>\n )\n}\n\nexport const useBulkUpload = () => React.use(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useDrawerDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]} |