Files
klz-cables.com/.pnpm-store/v10/files/09/f96ed993169202b4cd6145cae7c5e19993eae8de1b47839ec34e18567e557a763d8f9bf205852ce8f8e8f8031d8cd51ec6d569a2b114abca7ca3e24abfebf0
Marc Mintel 5397309103
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
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
24 KiB
Plaintext

{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","formatAdminURL","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useAuth","useConfig","useLocale","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","ListSelectionButton","Translation","DeleteMany","props","$","viewType","collection","t0","modalPrefix","slug","trash","undefined","permissions","count","selectAll","selectedIDs","toggleAll","router","searchParams","clearRouteCache","collectionPermissions","collections","hasDeletePermission","delete","selectingAll","AllAvailable","ids","None","baseWhere","where","finalWhere","and","Array","isArray","deletedAt","exists","t1","replace","stringify","page","addQueryPrefix","_jsx","Fragment","children","DeleteMany_v4","afterDelete","search","selections","all","totalCount","length","t","config","routes","api","serverURL","code","locale","i18n","openModal","deletePermanently","setDeletePermanently","useState","confirmManyDeleteDrawerSlug","handleDelete","useCallback","deletingOneCollection","Object","keys","result","relationTo","entries","collectionConfig","find","whereConstraint","id","not_equals","in","url","apiRoute","path","limit","select","deleteManyResponse","headers","language","patch","body","JSON","Date","toISOString","plural","singular","labels","json","deletedDocs","docs","successLabel","status","wasTrashed","successKey","success","label","errors","error","message","description","map","join","deletedCount","doc","totalDocs","_err","labelString","labelCount","reduce","acc","key","value","index","array","collectionLabel","newLabel","_jsxs","className","onClick","elements","0","1","i18nKey","variables","checked","name","onToggle","e","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nexport type Props = {\n collection: ClientCollectionConfig\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * When multiple PublishMany components are rendered on the page, this will differentiate them.\n */\n title?: string\n viewType?: ViewTypes\n}\n\nexport const DeleteMany: React.FC<Props> = (props) => {\n const { viewType } = props\n const { collection: { slug, trash } = {}, modalPrefix } = props\n\n const { permissions } = useAuth()\n const { count, selectAll, selectedIDs, toggleAll } = useSelection()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasDeletePermission = collectionPermissions?.delete\n\n const selectingAll = selectAll === SelectAllStatus.AllAvailable\n\n const ids = selectingAll ? [] : selectedIDs\n\n if (selectAll === SelectAllStatus.None || !hasDeletePermission) {\n return null\n }\n\n const baseWhere = parseSearchParams(searchParams)?.where as Where\n\n const finalWhere =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(baseWhere?.and) ? baseWhere.and : baseWhere ? [baseWhere] : []),\n { deletedAt: { exists: true } },\n ],\n }\n : baseWhere\n\n return (\n <React.Fragment>\n <DeleteMany_v4\n afterDelete={() => {\n toggleAll()\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n }}\n modalPrefix={modalPrefix}\n search={parseSearchParams(searchParams)?.search as string}\n selections={{\n [slug]: {\n all: selectAll === SelectAllStatus.AllAvailable,\n ids,\n totalCount: selectingAll ? count : ids.length,\n },\n }}\n trash={trash}\n viewType={viewType}\n where={finalWhere}\n />\n </React.Fragment>\n )\n}\n\ntype AfterDeleteResult = {\n [relationTo: string]: {\n deletedCount: number\n errors: unknown[]\n ids: (number | string)[]\n totalCount: number\n }\n}\ntype DeleteMany_v4Props = {\n /**\n * A callback function to be called after the delete request is completed.\n */\n afterDelete?: (result: AfterDeleteResult) => void\n /**\n * When multiple DeleteMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n /**\n * Optionally pass a search string to filter the documents to be deleted.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * search string that may not be stored in the URL.\n */\n search?: string\n /**\n * An object containing the relationTo as the key and an object with the following properties:\n * - all: boolean\n * - totalCount: number\n * - ids: (string | number)[]\n */\n selections: {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount?: number\n }\n }\n trash?: boolean\n viewType?: ViewTypes\n /**\n * Optionally pass a where clause to filter the documents to be deleted.\n * This will be ignored if multiple relations are selected.\n *\n * This is intentionally passed as a prop so modals could pass in their own\n * where clause that may not be stored in the URL.\n */\n where?: Where\n}\n\n/**\n * Handles polymorphic document delete operations.\n *\n * If you are deleting monomorphic documents, shape your `selections` to match the polymorphic structure.\n */\nexport function DeleteMany_v4({\n afterDelete,\n modalPrefix,\n search,\n selections,\n trash,\n viewType,\n where,\n}: DeleteMany_v4Props) {\n const { t } = useTranslation()\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const [deletePermanently, setDeletePermanently] = React.useState(false)\n const confirmManyDeleteDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-delete-many-docs`\n\n const handleDelete = React.useCallback(async () => {\n const deletingOneCollection = Object.keys(selections).length === 1\n const result: AfterDeleteResult = {}\n\n for (const [relationTo, { all, ids = [] }] of Object.entries(selections)) {\n const collectionConfig = collections.find(({ slug }) => slug === relationTo)\n\n if (collectionConfig) {\n let whereConstraint: Where\n\n if (all) {\n // selecting all documents with optional where filter\n if (deletingOneCollection && where) {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [\n ...(Array.isArray(where.and) ? where.and : [where]),\n { deletedAt: { exists: true } },\n ],\n }\n : where\n } else {\n whereConstraint =\n viewType === 'trash'\n ? {\n and: [{ id: { not_equals: '' } }, { deletedAt: { exists: true } }],\n }\n : {\n id: { not_equals: '' },\n }\n }\n } else {\n // selecting specific documents\n whereConstraint = {\n and: [\n { id: { in: ids } },\n ...(viewType === 'trash' ? [{ deletedAt: { exists: true } }] : []),\n ],\n }\n }\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${relationTo}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n where: mergeListSearchAndWhere({\n collectionConfig,\n search,\n where: whereConstraint,\n }),\n ...(viewType === 'trash' ? { trash: true } : {}),\n },\n { addQueryPrefix: true },\n )}`,\n })\n\n const deleteManyResponse =\n viewType === 'trash' || deletePermanently || !collectionConfig.trash\n ? await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n : await requests.patch(url, {\n body: JSON.stringify({\n deletedAt: new Date().toISOString(),\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await deleteManyResponse.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (deleteManyResponse.status < 400 || deletedDocs > 0) {\n const wasTrashed = collectionConfig.trash && !deletePermanently && viewType !== 'trash'\n\n let successKey:\n | 'general:deletedCountSuccessfully'\n | 'general:permanentlyDeletedCountSuccessfully'\n | 'general:trashedCountSuccessfully'\n\n if (wasTrashed) {\n successKey = 'general:trashedCountSuccessfully'\n } else if (viewType === 'trash' || deletePermanently) {\n successKey = 'general:permanentlyDeletedCountSuccessfully'\n } else {\n successKey = 'general:deletedCountSuccessfully'\n }\n\n toast.success(\n t(successKey, {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n }\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n result[relationTo] = {\n deletedCount: deletedDocs,\n errors: json?.errors || null,\n ids: json?.docs.map((doc) => doc.id) || [],\n totalCount: json.totalDocs,\n }\n\n if (deleteManyResponse.status > 400 && json?.errors.length === 0) {\n toast.error(t('error:unknown'))\n result[relationTo].errors = [t('error:unknown')]\n }\n\n continue\n } catch (_err) {\n toast.error(t('error:unknown'))\n result[relationTo] = {\n deletedCount: 0,\n errors: [_err],\n ids: [],\n totalCount: 0,\n }\n continue\n }\n }\n }\n\n if (typeof afterDelete === 'function') {\n afterDelete(result)\n }\n }, [\n selections,\n afterDelete,\n collections,\n deletePermanently,\n locale,\n search,\n serverURL,\n api,\n i18n,\n viewType,\n where,\n t,\n ])\n\n const { label: labelString, labelCount } = Object.entries(selections).reduce(\n (acc, [key, value], index, array) => {\n const collectionConfig = collections.find(({ slug }) => slug === key)\n if (collectionConfig) {\n const labelCount = acc.labelCount === undefined ? value.totalCount : acc.labelCount\n const collectionLabel = `${acc.labelCount !== undefined ? `${value.totalCount} ` : ''}${getTranslation(\n value.totalCount > 1 ? collectionConfig.labels.plural : collectionConfig.labels.singular,\n i18n,\n )}`\n\n let newLabel\n\n if (index === array.length - 1 && index !== 0) {\n newLabel = `${acc.label} and ${collectionLabel}`\n } else if (index > 0) {\n newLabel = `${acc.label}, ${collectionLabel}`\n } else {\n newLabel = collectionLabel\n }\n\n return {\n label: newLabel,\n labelCount,\n }\n }\n return acc\n },\n {\n label: '',\n labelCount: undefined,\n },\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:delete')}\n className=\"delete-documents__toggle\"\n onClick={() => {\n openModal(confirmManyDeleteDrawerSlug)\n }}\n >\n {t('general:delete')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n <p>\n {trash ? (\n viewType === 'trash' ? (\n <Translation\n elements={{\n '0': ({ children }) => <strong>{children}</strong>,\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDeleteTrash\"\n t={t}\n variables={{\n count: labelCount ?? 0,\n label: labelString,\n }}\n />\n ) : (\n t('general:aboutToTrashCount', { count: labelCount, label: labelString })\n )\n ) : (\n t('general:aboutToDeleteCount', { count: labelCount, label: labelString })\n )}\n </p>\n {trash && viewType !== 'trash' && (\n <div className=\"delete-documents__checkbox\">\n <CheckboxInput\n checked={deletePermanently}\n id=\"delete-forever\"\n label={t('general:deletePermanently')}\n name=\"delete-forever\"\n onToggle={(e) => setDeletePermanently(e.target.checked)}\n />\n </div>\n )}\n </React.Fragment>\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmManyDeleteDrawerSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}