Files
klz-cables.com/.pnpm-store/v10/files/bf/650578343e54c750cd2529dfa0ab9e9500636b3b2a9b02a54464fbe1d236dc0ea96fd25b21b3d188500b3f6d8a5e0ae9e50f62362924b40f50236c8e4e49ea
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":"buildTableState.js","names":["APIError","canAccessAdmin","formatErrors","applyLocaleFiltering","isNumber","getClientConfig","getColumns","renderFilters","renderTable","upsertPreferences","buildTableStateHandler","args","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","columnsFromArgs","data","dataFromArgs","enableRowSelections","orderableFieldName","parent","permissions","query","renderRowTypes","i18n","config","user","tableAppearance","clientConfig","importMap","collectionConfig","clientCollectionConfig","Array","isArray","collections","find","collection","slug","collectionPreferences","key","joinPath","value","limit","Number","undefined","sort","docs","select","currentSelectRef","segments","split","i","length","joinQuery","where","isNaN","page","parentDoc","findByID","id","depth","joins","overrideAccess","draft","locale","columnState","Table","fieldPermissions","fields","useAsTitle","admin","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n CollectionPreferences,\n Column,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n ServerFunction,\n Where,\n} from 'payload'\n\nimport { APIError, canAccessAdmin, formatErrors } from 'payload'\nimport { applyLocaleFiltering, isNumber } from 'payload/shared'\n\nimport { getClientConfig } from './getClientConfig.js'\nimport { getColumns } from './getColumns.js'\nimport { renderFilters, renderTable } from './renderTable.js'\nimport { upsertPreferences } from './upsertPreferences.js'\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: CollectionPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler: ServerFunction<\n BuildTableStateArgs,\n Promise<BuildTableStateResult>\n> = async (args) => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nconst buildTableState: ServerFunction<\n BuildTableStateArgs,\n Promise<BuildTableStateSuccessResult>\n> = async (args) => {\n const {\n collectionSlug,\n columns: columnsFromArgs,\n data: dataFromArgs,\n enableRowSelections,\n orderableFieldName,\n parent,\n permissions,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n await canAccessAdmin({ req })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n user,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (!Array.isArray(collectionSlug)) {\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n }\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: Array.isArray(collectionSlug)\n ? `${parent.collectionSlug}-${parent.joinPath}`\n : `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromArgs,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n sort: query?.sort as string,\n },\n })\n\n let data: PaginatedDocs = dataFromArgs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!data?.docs || query) {\n if (Array.isArray(collectionSlug)) {\n if (!parent) {\n throw new APIError('Unexpected array of collectionSlug, parent must be provided')\n }\n\n const select = {}\n let currentSelectRef = select\n\n const segments = parent.joinPath.split('.')\n\n for (let i = 0; i < segments.length; i++) {\n currentSelectRef[segments[i]] = i === segments.length - 1 ? true : {}\n currentSelectRef = currentSelectRef[segments[i]]\n }\n\n const joinQuery: { limit?: number; page?: number; sort?: string; where?: Where } = {\n sort: query?.sort as string,\n where: query?.where,\n }\n\n if (query) {\n if (!Number.isNaN(Number(query.limit))) {\n joinQuery.limit = Number(query.limit)\n }\n\n if (!Number.isNaN(Number(query.page))) {\n joinQuery.limit = Number(query.limit)\n }\n }\n\n let parentDoc = await payload.findByID({\n id: parent.id,\n collection: parent.collectionSlug,\n depth: 1,\n joins: {\n [parent.joinPath]: joinQuery,\n },\n overrideAccess: false,\n select,\n user: req.user,\n })\n\n for (let i = 0; i < segments.length; i++) {\n if (i === segments.length - 1) {\n data = parentDoc[segments[i]]\n } else {\n parentDoc = parentDoc[segments[i]]\n }\n }\n } else {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n limit: query?.limit,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page,\n sort: query?.sort,\n user: req.user,\n where: query?.where,\n })\n }\n }\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections: Array.isArray(collectionSlug) ? collectionSlug : undefined,\n columns: getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnsFromArgs,\n i18n: req.i18n,\n permissions,\n }),\n data,\n enableRowSelections,\n fieldPermissions: Array.isArray(collectionSlug)\n ? true\n : permissions.collections[collectionSlug].fields,\n i18n: req.i18n,\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n req,\n tableAppearance,\n useAsTitle: Array.isArray(collectionSlug)\n ? payload.collections[collectionSlug[0]]?.config?.admin?.useAsTitle\n : collectionConfig?.admin?.useAsTitle,\n })\n\n let renderedFilters\n\n if (collectionConfig) {\n renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n }\n\n return {\n data,\n preferences: collectionPreferences,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}