@payloadcms/ui 3.0.1-canary.34c6cc0 → 3.0.1-canary.d608962
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +1 -15
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +1 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +2 -2
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +53 -55
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +53 -55
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +2 -0
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -15
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +25 -5
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAEzB,KAAK,EACL,aAAa,EACb,OAAO,
|
|
1
|
+
{"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAEzB,KAAK,EACL,aAAa,EACb,OAAO,EACP,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAa/C,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAyOnD,CAAA"}
|
|
@@ -129,23 +129,9 @@ export const buildColumnState = args => {
|
|
|
129
129
|
if (!_field.admin.components) {
|
|
130
130
|
_field.admin.components = {};
|
|
131
131
|
}
|
|
132
|
-
/**
|
|
133
|
-
* We have to deep copy all the props we send to the client (= CellComponent.clientProps).
|
|
134
|
-
* That way, every editor's field / cell props we send to the client have their own object references.
|
|
135
|
-
*
|
|
136
|
-
* If we send the same object reference to the client twice (e.g. through some configurations where 2 or more fields
|
|
137
|
-
* reference the same editor object, like the root editor), the admin panel may hang indefinitely. This has been happening since
|
|
138
|
-
* a newer Next.js update that made it break when sending the same object reference to the client twice.
|
|
139
|
-
*
|
|
140
|
-
* We can use deepCopyObjectSimple as client props should be JSON-serializable.
|
|
141
|
-
*/
|
|
142
|
-
const CellComponent = _field.editor.CellComponent;
|
|
143
|
-
if (typeof CellComponent === 'object' && CellComponent.clientProps) {
|
|
144
|
-
CellComponent.clientProps = deepCopyObjectSimple(CellComponent.clientProps);
|
|
145
|
-
}
|
|
146
132
|
CustomCell = RenderServerComponent({
|
|
147
133
|
clientProps: cellClientProps,
|
|
148
|
-
Component: CellComponent,
|
|
134
|
+
Component: _field.editor.CellComponent,
|
|
149
135
|
importMap: payload.importMap,
|
|
150
136
|
serverProps
|
|
151
137
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildColumnState.js","names":["MissingEditorProp","deepCopyObjectSimple","fieldIsPresentationalOnly","React","RenderCustomComponent","RenderDefaultCell","SelectAll","SelectRow","SortColumn","flattenFieldMap","RenderServerComponent","buildColumnState","args","beforeRows","collectionConfig","columnPreferences","columns","customCellProps","docs","enableRowSelections","fields","i18n","payload","sortColumnProps","useAsTitle","clientFields","sortedFieldMap","_sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sortFieldMap","fieldMap","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","_field","find","f","columnPreference","preference","active","Array","isArray","length","includes","push","CustomLabelToRender","admin","components","Label","undefined","CustomLabel","Component","importMap","fieldAffectsDataSubFields","type","Heading","_jsx","disable","label","baseCellClientProps","cellData","rowData","serverProps","renderedCells","map","doc","i","isLinkedColumn","cellClientProps","link","CustomCell","editor","Error","CellComponent","clientProps","Cell","CustomComponent","Fallback","columnIndex","_"],"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Field,\n PaginatedDocs,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { deepCopyObjectSimple, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListQuery/index.js'\nimport type { SortColumnProps } from '../SortColumn/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport {\n RenderCustomComponent,\n RenderDefaultCell,\n SelectAll,\n SelectRow,\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir\n} from '../../exports/client/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n\ntype Args = {\n beforeRows?: Column[]\n collectionConfig: ClientCollectionConfig\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n customCellProps: DefaultCellComponentProps['customCellProps']\n docs: PaginatedDocs['docs']\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fields: Field[]\n i18n: I18nClient\n payload: Payload\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const {\n beforeRows,\n collectionConfig,\n columnPreferences,\n columns,\n customCellProps,\n docs,\n enableRowSelections,\n fields,\n i18n,\n payload,\n sortColumnProps,\n useAsTitle,\n } = args\n\n const clientFields = collectionConfig.fields\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenFieldMap(clientFields)\n let _sortedFieldMap = flattenFieldMap(fields) // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n const sortFieldMap = (fieldMap, sortTo) =>\n fieldMap?.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n\n if (aIndex === -1 && bIndex === -1) {\n return 0\n }\n\n if (aIndex === -1) {\n return 1\n }\n\n if (bIndex === -1) {\n return -1\n }\n\n return aIndex - bIndex\n })\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortFieldMap(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, field, index) => {\n const _field = _sortedFieldMap.find(\n (f) => 'name' in field && 'name' in f && f.name === field.name,\n )\n\n const columnPreference = columnPreferences?.find(\n (preference) => field && 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find(\n (column) => field && 'name' in field && column.accessor === field.name,\n )?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const CustomLabelToRender =\n _field &&\n 'admin' in _field &&\n 'components' in _field.admin &&\n 'Label' in _field.admin.components &&\n _field.admin.components.Label !== undefined // let it return `null`\n ? _field.admin.components.Label\n : undefined\n\n const CustomLabel = CustomLabelToRender\n ? RenderServerComponent({ Component: CustomLabelToRender, importMap: payload.importMap })\n : undefined\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(field) || undefined}\n Label={CustomLabel}\n label={field && 'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n {...(sortColumnProps || {})}\n />\n )\n\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionConfig: deepCopyObjectSimple(collectionConfig),\n customCellProps,\n field,\n rowData: undefined,\n }\n\n const serverProps: Pick<DefaultServerCellComponentProps, 'field' | 'i18n' | 'payload'> = {\n field: _field,\n i18n,\n payload,\n }\n\n const column: Column = {\n accessor: 'name' in field ? field.name : undefined,\n active,\n CustomLabel,\n field,\n Heading,\n renderedCells: active\n ? docs.map((doc, i) => {\n const isLinkedColumn = index === activeColumnsIndices[0]\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData: 'name' in field ? doc[field.name] : undefined,\n link: isLinkedColumn,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (_field?.type === 'richText') {\n if (!_field?.editor) {\n throw new MissingEditorProp(_field) // 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 _field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!_field.admin) {\n _field.admin = {}\n }\n\n if (!_field.admin.components) {\n _field.admin.components = {}\n }\n\n /**\n * We have to deep copy all the props we send to the client (= CellComponent.clientProps).\n * That way, every editor's field / cell props we send to the client have their own object references.\n *\n * If we send the same object reference to the client twice (e.g. through some configurations where 2 or more fields\n * reference the same editor object, like the root editor), the admin panel may hang indefinitely. This has been happening since\n * a newer Next.js update that made it break when sending the same object reference to the client twice.\n *\n * We can use deepCopyObjectSimple as client props should be JSON-serializable.\n */\n const CellComponent: PayloadComponent = _field.editor.CellComponent\n if (typeof CellComponent === 'object' && CellComponent.clientProps) {\n CellComponent.clientProps = deepCopyObjectSimple(CellComponent.clientProps)\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CellComponent,\n importMap: payload.importMap,\n serverProps,\n })\n } else {\n CustomCell =\n _field?.admin && 'components' in _field.admin && _field.admin.components?.Cell\n ? RenderServerComponent({\n clientProps: cellClientProps,\n Component:\n _field?.admin &&\n 'components' in _field.admin &&\n _field.admin.components?.Cell,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={index}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${i}-${index}`}\n />\n )\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted?.unshift({\n accessor: '_select',\n active: true,\n field: null,\n Heading: <SelectAll />,\n renderedCells: docs.map((_, i) => <SelectRow key={i} rowData={docs[i]} />),\n })\n }\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildColumnState.js","names":["MissingEditorProp","deepCopyObjectSimple","fieldIsPresentationalOnly","React","RenderCustomComponent","RenderDefaultCell","SelectAll","SelectRow","SortColumn","flattenFieldMap","RenderServerComponent","buildColumnState","args","beforeRows","collectionConfig","columnPreferences","columns","customCellProps","docs","enableRowSelections","fields","i18n","payload","sortColumnProps","useAsTitle","clientFields","sortedFieldMap","_sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sortFieldMap","fieldMap","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","_field","find","f","columnPreference","preference","active","Array","isArray","length","includes","push","CustomLabelToRender","admin","components","Label","undefined","CustomLabel","Component","importMap","fieldAffectsDataSubFields","type","Heading","_jsx","disable","label","baseCellClientProps","cellData","rowData","serverProps","renderedCells","map","doc","i","isLinkedColumn","cellClientProps","link","CustomCell","editor","Error","clientProps","CellComponent","Cell","CustomComponent","Fallback","columnIndex","_"],"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Field,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { deepCopyObjectSimple, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListQuery/index.js'\nimport type { SortColumnProps } from '../SortColumn/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport {\n RenderCustomComponent,\n RenderDefaultCell,\n SelectAll,\n SelectRow,\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir\n} from '../../exports/client/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n\ntype Args = {\n beforeRows?: Column[]\n collectionConfig: ClientCollectionConfig\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n customCellProps: DefaultCellComponentProps['customCellProps']\n docs: PaginatedDocs['docs']\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fields: Field[]\n i18n: I18nClient\n payload: Payload\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const {\n beforeRows,\n collectionConfig,\n columnPreferences,\n columns,\n customCellProps,\n docs,\n enableRowSelections,\n fields,\n i18n,\n payload,\n sortColumnProps,\n useAsTitle,\n } = args\n\n const clientFields = collectionConfig.fields\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenFieldMap(clientFields)\n let _sortedFieldMap = flattenFieldMap(fields) // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n const sortFieldMap = (fieldMap, sortTo) =>\n fieldMap?.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n\n if (aIndex === -1 && bIndex === -1) {\n return 0\n }\n\n if (aIndex === -1) {\n return 1\n }\n\n if (bIndex === -1) {\n return -1\n }\n\n return aIndex - bIndex\n })\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortFieldMap(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, field, index) => {\n const _field = _sortedFieldMap.find(\n (f) => 'name' in field && 'name' in f && f.name === field.name,\n )\n\n const columnPreference = columnPreferences?.find(\n (preference) => field && 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find(\n (column) => field && 'name' in field && column.accessor === field.name,\n )?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const CustomLabelToRender =\n _field &&\n 'admin' in _field &&\n 'components' in _field.admin &&\n 'Label' in _field.admin.components &&\n _field.admin.components.Label !== undefined // let it return `null`\n ? _field.admin.components.Label\n : undefined\n\n const CustomLabel = CustomLabelToRender\n ? RenderServerComponent({ Component: CustomLabelToRender, importMap: payload.importMap })\n : undefined\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(field) || undefined}\n Label={CustomLabel}\n label={field && 'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n {...(sortColumnProps || {})}\n />\n )\n\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionConfig: deepCopyObjectSimple(collectionConfig),\n customCellProps,\n field,\n rowData: undefined,\n }\n\n const serverProps: Pick<DefaultServerCellComponentProps, 'field' | 'i18n' | 'payload'> = {\n field: _field,\n i18n,\n payload,\n }\n\n const column: Column = {\n accessor: 'name' in field ? field.name : undefined,\n active,\n CustomLabel,\n field,\n Heading,\n renderedCells: active\n ? docs.map((doc, i) => {\n const isLinkedColumn = index === activeColumnsIndices[0]\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData: 'name' in field ? doc[field.name] : undefined,\n link: isLinkedColumn,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (_field?.type === 'richText') {\n if (!_field?.editor) {\n throw new MissingEditorProp(_field) // 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 _field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!_field.admin) {\n _field.admin = {}\n }\n\n if (!_field.admin.components) {\n _field.admin.components = {}\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: _field.editor.CellComponent,\n importMap: payload.importMap,\n serverProps,\n })\n } else {\n CustomCell =\n _field?.admin && 'components' in _field.admin && _field.admin.components?.Cell\n ? RenderServerComponent({\n clientProps: cellClientProps,\n Component:\n _field?.admin &&\n 'components' in _field.admin &&\n _field.admin.components?.Cell,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={index}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${i}-${index}`}\n />\n )\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted?.unshift({\n accessor: '_select',\n active: true,\n field: null,\n Heading: <SelectAll />,\n renderedCells: docs.map((_, i) => <SelectRow key={i} rowData={docs[i]} />),\n })\n }\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isReactServerComponentOrFunction","React","WithServerSideProps","Component","serverOnlyProps","rest","passedProps","propsWithServerOnlyProps","_jsx"],"sources":["../../../src/elements/WithServerSideProps/index.tsx"],"sourcesContent":["import type { WithServerSidePropsComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nexport const WithServerSideProps: WithServerSidePropsComponent = ({\n Component,\n serverOnlyProps,\n ...rest\n}) => {\n if (Component) {\n const WithServerSideProps: React.FC = (passedProps) => {\n const propsWithServerOnlyProps = {\n ...passedProps,\n ...(isReactServerComponentOrFunction(Component) ? (serverOnlyProps ?? {}) : {}),\n }\n\n return <Component {...propsWithServerOnlyProps} />\n }\n\n return WithServerSideProps(
|
|
1
|
+
{"version":3,"file":"index.js","names":["isReactServerComponentOrFunction","React","WithServerSideProps","Component","serverOnlyProps","rest","passedProps","propsWithServerOnlyProps","_jsx"],"sources":["../../../src/elements/WithServerSideProps/index.tsx"],"sourcesContent":["import type { WithServerSidePropsComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nexport const WithServerSideProps: WithServerSidePropsComponent = ({\n Component,\n serverOnlyProps,\n ...rest\n}) => {\n if (Component) {\n const WithServerSideProps: React.FC = (passedProps) => {\n const propsWithServerOnlyProps = {\n ...passedProps,\n ...(isReactServerComponentOrFunction(Component) ? (serverOnlyProps ?? {}) : {}),\n }\n\n return <Component {...propsWithServerOnlyProps} />\n }\n\n return WithServerSideProps(rest)\n }\n\n return null\n}\n"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ;AACjD,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,mBAAA,GAAoDA,CAAC;EAChEC,SAAS;EACTC,eAAe;EACf,GAAGC;AAAA,CACJ;EACC,IAAIF,SAAA,EAAW;IACb,MAAMD,mBAAA,GAAiCI,WAAA;MACrC,MAAMC,wBAAA,GAA2B;QAC/B,GAAGD,WAAW;QACd,IAAIN,gCAAA,CAAiCG,SAAA,IAAcC,eAAA,IAAmB,CAAC,IAAK,CAAC,CAAC;MAChF;MAEA,oBAAOI,IAAA,CAACL,SAAA;QAAW,GAAGI;;IACxB;IAEA,OAAOL,mBAAA,CAAoBG,IAAA;EAC7B;EAEA,OAAO;AACT","ignoreList":[]}
|