Files
klz-cables.com/.pnpm-store/v10/files/fc/5a6de99314bc2c3946c79bf46523539c5b72f2b7cb40724237399893e924772f0bbeb250dac23e8fdf2e528ec3c77e9337b80e4e4e30a86743ecad24d4f212
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":"renderCell.js","names":["MissingEditorProp","formatAdminURL","RenderCustomComponent","RenderServerComponent","DefaultCell","RenderDefaultCell","hasOptionLabelJSXElement","findValueFromPath","renderCell","clientField","collectionSlug","columnIndex","customCellProps","doc","enableRowSelections","i18n","isLinkedColumn","payload","req","rowIndex","serverField","viewType","baseCellClientProps","cellData","undefined","field","rowData","accessor","name","shouldLink","customLinkURL","collectionConfig","collections","config","formatDocURL","admin","adminRoute","routes","defaultURL","path","encodeURIComponent","String","id","customURL","_displayStatus","enrichedClientField","type","hasChangedOption","options","some","opt","value","label","t","cellClientProps","link","linkURL","cellServerProps","className","onClick","CustomCell","editor","Error","components","clientProps","Component","CellComponent","importMap","serverProps","CustomCellComponent","Cell","_jsx","CustomComponent","Fallback"],"sources":["../../../../src/providers/TableColumns/buildColumnState/renderCell.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientField,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Document,\n Field,\n Payload,\n PayloadRequest,\n ViewTypes,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\n\nimport { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js'\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n DefaultCell,\n RenderDefaultCell,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { hasOptionLabelJSXElement } from '../../../utilities/hasOptionLabelJSXElement.js'\nimport { findValueFromPath } from './findValueFromPath.js'\n\ntype RenderCellArgs = {\n readonly clientField: ClientField\n readonly collectionSlug: string\n readonly columnIndex: number\n readonly customCellProps: DefaultCellComponentProps['customCellProps']\n readonly doc: Document\n readonly enableRowSelections: boolean\n readonly i18n: I18nClient\n readonly isLinkedColumn: boolean\n readonly payload: Payload\n readonly req?: PayloadRequest\n readonly rowIndex: number\n readonly serverField: Field\n readonly viewType?: ViewTypes\n}\nexport function renderCell({\n clientField,\n collectionSlug,\n columnIndex,\n customCellProps,\n doc,\n enableRowSelections,\n i18n,\n isLinkedColumn,\n payload,\n req,\n rowIndex,\n serverField,\n viewType,\n}: RenderCellArgs) {\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionSlug,\n customCellProps,\n field: clientField,\n rowData: undefined,\n viewType,\n }\n\n const accessor: string | undefined =\n ('accessor' in clientField ? (clientField.accessor as string) : undefined) ??\n ('name' in clientField ? clientField.name : undefined)\n\n // Check if there's a custom formatDocURL function for this linked column\n let shouldLink = isLinkedColumn\n let customLinkURL: string | undefined\n\n if (isLinkedColumn && req) {\n const collectionConfig = payload.collections[collectionSlug]?.config\n const formatDocURL = collectionConfig?.admin?.formatDocURL\n\n if (typeof formatDocURL === 'function') {\n // Generate the default URL that would normally be used\n const adminRoute = req.payload.config.routes?.admin || '/admin'\n const defaultURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(String(doc.id))}`,\n })\n\n const customURL = formatDocURL({\n collectionSlug,\n defaultURL,\n doc,\n req,\n viewType,\n })\n\n if (customURL === null) {\n // formatDocURL returned null = disable linking entirely\n shouldLink = false\n } else if (typeof customURL === 'string') {\n // formatDocURL returned a string = use custom URL\n shouldLink = true\n customLinkURL = customURL\n } else {\n // formatDocURL returned unexpected type = disable linking for safety\n shouldLink = false\n }\n }\n }\n\n // For _status field, use _displayStatus if available (for showing \"changed\" status in list view)\n const cellData =\n 'name' in clientField && accessor === '_status' && '_displayStatus' in doc\n ? doc._displayStatus\n : 'name' in clientField\n ? findValueFromPath(doc, accessor)\n : undefined\n\n // For _status field, add 'changed' option for display purposes\n // The 'changed' status is computed at runtime\n let enrichedClientField = clientField\n if ('name' in clientField && accessor === '_status' && clientField.type === 'select') {\n const hasChangedOption = clientField.options?.some(\n (opt) => (typeof opt === 'object' ? opt.value : opt) === 'changed',\n )\n if (!hasChangedOption) {\n enrichedClientField = {\n ...clientField,\n options: [\n ...(clientField.options || []),\n {\n label: i18n.t('version:draftHasPublishedVersion'),\n value: 'changed',\n },\n ],\n }\n }\n }\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData,\n field: enrichedClientField,\n link: shouldLink,\n linkURL: customLinkURL,\n rowData: doc,\n }\n\n const cellServerProps: DefaultServerCellComponentProps = {\n cellData: cellClientProps.cellData,\n className: baseCellClientProps.className,\n collectionConfig: payload.collections[collectionSlug].config,\n collectionSlug,\n columnIndex,\n customCellProps: baseCellClientProps.customCellProps,\n field: serverField,\n i18n,\n link: shouldLink,\n linkURL: customLinkURL,\n onClick: baseCellClientProps.onClick,\n payload,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (serverField?.type === 'richText') {\n if (!serverField?.editor) {\n throw new MissingEditorProp(serverField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof serverField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!serverField.admin) {\n serverField.admin = {}\n }\n\n if (!serverField.admin.components) {\n serverField.admin.components = {}\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: serverField.editor.CellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else if (\n cellClientProps.cellData &&\n cellClientProps.field &&\n hasOptionLabelJSXElement(cellClientProps)\n ) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: DefaultCell,\n importMap: payload.importMap,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n CustomCell = undefined\n }\n }\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={columnIndex}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${rowIndex}-${columnIndex}`}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}