Files
klz-cables.com/.pnpm-store/v10/files/ab/271be35812adea7af497d183819d799a5ac9b276085b1dc01bc71c82c0cc2d8266e484e42b093a1fdbfb1f6cd4a75b4f137c39224ea4aacdc53f2f337701ac
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
12 KiB
Plaintext

{"version":3,"file":"DrawerContent.js","names":["useModal","getTranslation","unflatten","React","useCallback","useEffect","useMemo","useState","Button","Form","FieldPathContext","RenderField","XIcon","useAuth","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","FieldSelect","useFormsManager","baseClass","EditManyBulkUploadsDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","forms","isInitializing","setIsInitializing","permissions","i18n","t","closeModal","bulkUpdateForm","getFormState","abortFormStateRef","useRef","selectedFields","setSelectedFields","collectionPermissions","collections","slug","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","skipValidation","current","abortFormState","handleSubmit","pairedData","onFieldSelect","dispatchFields","selected","type","_jsxs","className","_jsx","count","length","label","id","onClick","onSubmit","undefined","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath"],"sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { unflatten } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../../FieldSelect/index.js'\nimport type { FieldOption } from '../../FieldSelect/reduceFieldOptions.js'\nimport type { State } from '../FormsManager/reducer.js'\nimport type { EditManyBulkUploadsProps } from './index.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { Form } from '../../../forms/Form/index.js'\nimport { FieldPathContext } from '../../../forms/RenderFields/context.js'\nimport { RenderField } from '../../../forms/RenderFields/RenderField.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { FieldSelect } from '../../FieldSelect/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { baseClass } from './index.js'\nimport './index.scss'\nimport '../../../forms/RenderFields/index.scss'\n\nexport const EditManyBulkUploadsDrawerContent: React.FC<\n {\n collection: ClientCollectionConfig\n drawerSlug: string\n forms: State['forms']\n } & EditManyBulkUploadsProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n forms,\n } = props\n\n const [isInitializing, setIsInitializing] = useState(false)\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { closeModal } = useModal()\n const { bulkUpdateForm } = useFormsManager()\n const { getFormState } = useServerFunctions()\n const abortFormStateRef = React.useRef<AbortController>(null)\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const handleSubmit: FormProps['onSubmit'] = useCallback(\n (formState) => {\n const pairedData = selectedFields.reduce((acc, option) => {\n if (formState[option.value.path]) {\n acc[option.value.path] = formState[option.value.path].value\n }\n return acc\n }, {})\n\n void bulkUpdateForm(pairedData, () => closeModal(drawerSlug))\n },\n [closeModal, drawerSlug, bulkUpdateForm, selectedFields],\n )\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection, collectionPermissions],\n )\n\n return (\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count: forms.length,\n label: getTranslation(forms.length > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSubmit={handleSubmit}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n <FieldPathContext value={undefined}>\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </FieldPathContext>\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n <Button type=\"submit\">{t('general:applyChanges')}</Button>\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}