@payloadcms/ui 3.0.0-canary.98e0119 → 3.0.0-canary.99cbde3
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/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +3 -3
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.d.ts.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +11 -2
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +56 -21
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +9 -9
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +2 -1
- 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 +2 -1
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js +36 -49
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +2 -2
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.scss +8 -0
- package/dist/fields/Upload/Input.js +2 -2
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/index.d.ts +3 -2
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +0 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts +1 -4
- package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +1 -3
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.d.ts +2 -2
- package/dist/forms/withCondition/index.d.ts.map +1 -1
- package/dist/forms/withCondition/index.js +1 -8
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.d.ts +1 -0
- package/dist/graphics/ExternalLink/index.d.ts.map +1 -1
- package/dist/graphics/ExternalLink/index.js +6 -9
- package/dist/graphics/ExternalLink/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.scss +14 -0
- package/dist/scss/vars.scss +2 -2
- package/dist/styles.css +1 -1
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +0 -1
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/removeUndefined.d.ts +2 -0
- package/dist/utilities/removeUndefined.d.ts.map +1 -0
- package/dist/utilities/removeUndefined.js +4 -0
- package/dist/utilities/removeUndefined.js.map +1 -0
- package/dist/views/List/ListHeader/index.d.ts +2 -3
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAUxE,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,
|
|
1
|
+
{"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAUxE,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CAmKtC,CAAA"}
|
|
@@ -142,7 +142,6 @@ export const buildTableState = async args => {
|
|
|
142
142
|
})?.then(res => res.value);
|
|
143
143
|
}
|
|
144
144
|
const fields = collectionConfig.fields;
|
|
145
|
-
const clientFields = clientCollectionConfig?.fields || [];
|
|
146
145
|
let docs = docsFromArgs;
|
|
147
146
|
let data;
|
|
148
147
|
// lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","mergedPrefs","create","data","fields","clientFields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","importMap","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal'\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\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 = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\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\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\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 // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as ListPreferences)\n\n let newPrefs = preferencesResult\n\n if (!preferencesResult || !dequal(columns, preferencesResult?.columns)) {\n const mergedPrefs = {\n ...(preferencesResult || {}),\n columns,\n }\n\n newPrefs = await payload\n .create({\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: mergedPrefs,\n },\n req,\n })\n ?.then((res) => res.value as ListPreferences)\n }\n\n const fields = collectionConfig.fields\n const clientFields = clientCollectionConfig?.fields || []\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","mergedPrefs","create","data","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","importMap","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal'\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\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 = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\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\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\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 // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as ListPreferences)\n\n let newPrefs = preferencesResult\n\n if (!preferencesResult || !dequal(columns, preferencesResult?.columns)) {\n const mergedPrefs = {\n ...(preferencesResult || {}),\n columns,\n }\n\n newPrefs = await payload\n .create({\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: mergedPrefs,\n },\n req,\n })\n ?.then((res) => res.value as ListPreferences)\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeUndefined.d.ts","sourceRoot":"","sources":["../../src/utilities/removeUndefined.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeUndefined.js","names":["removeUndefined","obj","Object","fromEntries","entries","filter","value","undefined"],"sources":["../../src/utilities/removeUndefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(obj: T): T {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined)) as T\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAkCC,GAAM;EACtD,OAAOC,MAAA,CAAOC,WAAW,CAACD,MAAA,CAAOE,OAAO,CAACH,GAAA,EAAKI,MAAM,CAAC,CAAC,GAAGC,KAAA,CAAM,KAAKA,KAAA,KAAUC,SAAA;AAChF","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import type { I18nClient, TFunction } from '@payloadcms/translations';
|
|
|
2
2
|
import type { ClientCollectionConfig } from 'payload';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import './index.scss';
|
|
5
|
-
type
|
|
5
|
+
export type ListHeaderProps = {
|
|
6
6
|
className?: string;
|
|
7
7
|
collectionConfig: ClientCollectionConfig;
|
|
8
8
|
Description?: React.ReactNode;
|
|
@@ -14,6 +14,5 @@ type Props = {
|
|
|
14
14
|
smallBreak: boolean;
|
|
15
15
|
t: TFunction;
|
|
16
16
|
};
|
|
17
|
-
export declare const ListHeader: React.FC<
|
|
18
|
-
export {};
|
|
17
|
+
export declare const ListHeader: React.FC<ListHeaderProps>;
|
|
19
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAKrB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AA6HD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","LinkImport","Link","default","useModal","React","Button","useListDrawerContext","ListSelection","Pill","ReactSelect","FieldLabel","XIcon","useConfig","baseClass","drawerBaseClass","DefaultListHeader","className","collectionConfig","Description","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","openBulkUpload","smallBreak","t","_jsxs","filter","Boolean","join","_jsx","labels","plural","_Fragment","label","singular","buttonStyle","el","size","to","onClick","ListDrawerHeader","config","collections","closeModal","DocumentDrawerToggler","drawerSlug","enabledCollections","selectedOption","setSelectedOption","find","slug","value","enabledCollectionConfigs","includes","moreThanOneAvailableCollection","length","type","onChange","options","map","coll","ListHeader","props","isInDrawer"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../../elements/ListSelection/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ReactSelect } from '../../../elements/ReactSelect/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-header'\nconst drawerBaseClass = 'list-drawer'\n\
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","LinkImport","Link","default","useModal","React","Button","useListDrawerContext","ListSelection","Pill","ReactSelect","FieldLabel","XIcon","useConfig","baseClass","drawerBaseClass","DefaultListHeader","className","collectionConfig","Description","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","openBulkUpload","smallBreak","t","_jsxs","filter","Boolean","join","_jsx","labels","plural","_Fragment","label","singular","buttonStyle","el","size","to","onClick","ListDrawerHeader","config","collections","closeModal","DocumentDrawerToggler","drawerSlug","enabledCollections","selectedOption","setSelectedOption","find","slug","value","enabledCollectionConfigs","includes","moreThanOneAvailableCollection","length","type","onChange","options","map","coll","ListHeader","props","isInDrawer"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../../elements/ListSelection/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ReactSelect } from '../../../elements/ReactSelect/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-header'\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n hasCreatePermission: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n openBulkUpload: () => void\n smallBreak: boolean\n t: TFunction\n}\n\nconst DefaultListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n hasCreatePermission,\n i18n,\n isBulkUploadEnabled,\n newDocumentURL,\n openBulkUpload,\n smallBreak,\n t,\n}) => {\n return (\n <header className={[baseClass, className].filter(Boolean).join(' ')}>\n <h1>{getTranslation(collectionConfig?.labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <>\n <Button\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n buttonStyle=\"pill\"\n el={'link'}\n Link={Link}\n size=\"small\"\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Button>\n {isBulkUploadEnabled && (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n onClick={openBulkUpload}\n size=\"small\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )}\n </>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig?.labels?.plural, i18n)} />\n )}\n {Description}\n </header>\n )\n}\n\nconst ListDrawerHeader: React.FC<ListHeaderProps> = ({\n Description,\n hasCreatePermission,\n i18n,\n t,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const { closeModal } = useModal()\n\n const {\n DocumentDrawerToggler,\n drawerSlug,\n enabledCollections,\n selectedOption,\n setSelectedOption,\n } = useListDrawerContext()\n\n const collectionConfig = collections.find(({ slug }) => slug === selectedOption.value)\n\n const enabledCollectionConfigs = collections.filter(({ slug }) =>\n enabledCollections.includes(slug),\n )\n\n const moreThanOneAvailableCollection = enabledCollections.length > 1\n\n return (\n <header className={`${drawerBaseClass}__header`}>\n <div className={`${drawerBaseClass}__header-wrap`}>\n <div className={`${drawerBaseClass}__header-content`}>\n <h2 className={`${drawerBaseClass}__header-text`}>\n {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${drawerBaseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${drawerBaseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {Description}\n {moreThanOneAvailableCollection && (\n <div className={`${drawerBaseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption}\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={{\n label: getTranslation(collectionConfig?.labels.singular, i18n),\n value: collectionConfig?.slug,\n }}\n />\n </div>\n )}\n </header>\n )\n}\n\nexport const ListHeader: React.FC<ListHeaderProps> = (props) => {\n const { isInDrawer } = useListDrawerContext()\n\n if (isInDrawer) {\n return <ListDrawerHeader {...props} />\n }\n\n return <DefaultListHeader {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.0.0-canary.
|
|
3
|
+
"version": "3.0.0-canary.99cbde3",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"ts-essentials": "10.0.3",
|
|
124
124
|
"use-context-selector": "2.0.0",
|
|
125
125
|
"uuid": "10.0.0",
|
|
126
|
-
"@payloadcms/translations": "3.0.0-canary.
|
|
126
|
+
"@payloadcms/translations": "3.0.0-canary.99cbde3"
|
|
127
127
|
},
|
|
128
128
|
"devDependencies": {
|
|
129
129
|
"@babel/cli": "^7.24.5",
|
|
@@ -142,13 +142,13 @@
|
|
|
142
142
|
"esbuild-sass-plugin": "3.3.1",
|
|
143
143
|
"eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
|
|
144
144
|
"@payloadcms/eslint-config": "3.0.0-beta.112",
|
|
145
|
-
"payload": "3.0.0-canary.
|
|
145
|
+
"payload": "3.0.0-canary.99cbde3"
|
|
146
146
|
},
|
|
147
147
|
"peerDependencies": {
|
|
148
148
|
"next": "^15.0.0",
|
|
149
149
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
150
150
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
151
|
-
"payload": "3.0.0-canary.
|
|
151
|
+
"payload": "3.0.0-canary.99cbde3"
|
|
152
152
|
},
|
|
153
153
|
"engines": {
|
|
154
154
|
"node": "^18.20.2 || >=20.9.0"
|