@payloadcms/next 3.50.0-canary.8 → 3.50.0-internal.25c9f33

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.
@@ -1 +1 @@
1
- {"version":3,"file":"buildVersionFields.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAA;AAMhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,oBAAoB,CAAA;IACrC,oBAAoB,EAAE,OAAO,CAC3B,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CACjF,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EACZ;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,6PAiB5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CAgH9B,CAAA"}
1
+ {"version":3,"file":"buildVersionFields.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,oBAAoB,CAAA;IACrC,oBAAoB,EAAE,OAAO,CAC3B,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CACjF,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EACZ;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,6PAiB5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CAgH9B,CAAA"}
@@ -1,9 +1,8 @@
1
1
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
2
2
  import { dequal } from 'dequal/lite';
3
3
  import { MissingEditorProp } from 'payload';
4
- import { fieldIsID, fieldShouldBeLocalized, getUniqueListBy, tabHasName } from 'payload/shared';
4
+ import { fieldIsID, fieldShouldBeLocalized, getFieldPaths, getFieldPermissions, getUniqueListBy, tabHasName } from 'payload/shared';
5
5
  import { diffComponents } from './fields/index.js';
6
- import { getFieldPathsModified } from './utilities/getFieldPathsModified.js';
7
6
  /**
8
7
  * Build up an object that contains rendered diff components for each field.
9
8
  * This is then sent to the client to be rendered.
@@ -40,7 +39,7 @@ export const buildVersionFields = ({
40
39
  indexPath,
41
40
  path,
42
41
  schemaPath
43
- } = getFieldPathsModified({
42
+ } = getFieldPaths({
44
43
  field,
45
44
  index: fieldIndex,
46
45
  parentIndexPath,
@@ -153,10 +152,16 @@ const buildVersionField = ({
153
152
  valueFrom,
154
153
  valueTo
155
154
  }) => {
156
- const fieldName = 'name' in field ? field.name : null;
157
- const hasPermission = fieldPermissions === true || !fieldName || fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.read;
158
- const subFieldPermissions = fieldPermissions === true || !fieldName || fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.fields;
159
- if (!hasPermission) {
155
+ const {
156
+ permissions,
157
+ read: hasReadPermission
158
+ } = getFieldPermissions({
159
+ field,
160
+ operation: 'read',
161
+ parentName: parentPath?.includes('.') ? parentPath.split('.')[parentPath.split('.').length - 1] : parentPath,
162
+ permissions: fieldPermissions
163
+ });
164
+ if (!hasReadPermission) {
160
165
  return null;
161
166
  }
162
167
  if (modifiedOnly && dequal(valueFrom, valueTo)) {
@@ -199,28 +204,38 @@ const buildVersionField = ({
199
204
  indexPath: tabIndexPath,
200
205
  path: tabPath,
201
206
  schemaPath: tabSchemaPath
202
- } = getFieldPathsModified({
207
+ } = getFieldPaths({
203
208
  field: tabAsField,
204
209
  index: tabIndex,
205
210
  parentIndexPath: indexPath,
206
211
  parentPath,
207
212
  parentSchemaPath
208
213
  });
214
+ let tabPermissions = undefined;
215
+ if (typeof permissions === 'boolean') {
216
+ tabPermissions = permissions;
217
+ } else if (permissions && typeof permissions === 'object') {
218
+ if ('name' in tab) {
219
+ tabPermissions = typeof permissions.fields?.[tab.name] === 'object' ? permissions.fields?.[tab.name].fields : permissions.fields?.[tab.name];
220
+ } else {
221
+ tabPermissions = permissions.fields;
222
+ }
223
+ }
209
224
  const tabVersion = {
210
225
  name: 'name' in tab ? tab.name : null,
211
226
  fields: buildVersionFields({
212
227
  clientSchemaMap,
213
228
  customDiffComponents,
214
229
  entitySlug,
215
- fieldPermissions,
230
+ fieldPermissions: tabPermissions,
216
231
  fields: tab.fields,
217
232
  i18n,
218
233
  modifiedOnly,
219
234
  nestingLevel: nestingLevel + 1,
220
235
  parentIndexPath: isNamedTab ? '' : tabIndexPath,
221
236
  parentIsLocalized: parentIsLocalized || tab.localized,
222
- parentPath: isNamedTab ? tabPath : path,
223
- parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,
237
+ parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,
238
+ parentSchemaPath: isNamedTab ? tabSchemaPath : 'name' in field ? schemaPath : parentSchemaPath,
224
239
  req,
225
240
  selectedLocales,
226
241
  versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,
@@ -236,6 +251,12 @@ const buildVersionField = ({
236
251
  return null;
237
252
  }
238
253
  } else if ('fields' in field) {
254
+ let subfieldPermissions = undefined;
255
+ if (typeof permissions === 'boolean') {
256
+ subfieldPermissions = permissions;
257
+ } else if (permissions && typeof permissions === 'object') {
258
+ subfieldPermissions = permissions.fields;
259
+ }
239
260
  if (field.type === 'array' && (valueTo || valueFrom)) {
240
261
  const maxLength = Math.max(Array.isArray(valueTo) ? valueTo.length : 0, Array.isArray(valueFrom) ? valueFrom.length : 0);
241
262
  baseVersionField.rows = [];
@@ -246,15 +267,15 @@ const buildVersionField = ({
246
267
  clientSchemaMap,
247
268
  customDiffComponents,
248
269
  entitySlug,
249
- fieldPermissions,
270
+ fieldPermissions: subfieldPermissions,
250
271
  fields: field.fields,
251
272
  i18n,
252
273
  modifiedOnly,
253
274
  nestingLevel: nestingLevel + 1,
254
275
  parentIndexPath: 'name' in field ? '' : indexPath,
255
276
  parentIsLocalized: parentIsLocalized || field.localized,
256
- parentPath: path + '.' + i,
257
- parentSchemaPath: schemaPath,
277
+ parentPath: ('name' in field ? path : parentPath) + '.' + i,
278
+ parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,
258
279
  req,
259
280
  selectedLocales,
260
281
  versionFromSiblingData: fromRow,
@@ -269,7 +290,7 @@ const buildVersionField = ({
269
290
  clientSchemaMap,
270
291
  customDiffComponents,
271
292
  entitySlug,
272
- fieldPermissions,
293
+ fieldPermissions: subfieldPermissions,
273
294
  fields: field.fields,
274
295
  i18n,
275
296
  modifiedOnly,
@@ -307,19 +328,30 @@ const buildVersionField = ({
307
328
  fields = toBlock.fields;
308
329
  }
309
330
  }
331
+ let blockPermissions = undefined;
332
+ if (permissions === true) {
333
+ blockPermissions = true;
334
+ } else {
335
+ const permissionsBlockSpecific = permissions?.blocks?.[blockSlugToMatch];
336
+ if (permissionsBlockSpecific === true) {
337
+ blockPermissions = true;
338
+ } else {
339
+ blockPermissions = permissionsBlockSpecific?.fields;
340
+ }
341
+ }
310
342
  baseVersionField.rows[i] = buildVersionFields({
311
343
  clientSchemaMap,
312
344
  customDiffComponents,
313
345
  entitySlug,
314
- fieldPermissions,
346
+ fieldPermissions: blockPermissions,
315
347
  fields,
316
348
  i18n,
317
349
  modifiedOnly,
318
350
  nestingLevel: nestingLevel + 1,
319
351
  parentIndexPath: 'name' in field ? '' : indexPath,
320
352
  parentIsLocalized: parentIsLocalized || 'localized' in field && field.localized,
321
- parentPath: path + '.' + i,
322
- parentSchemaPath: schemaPath + '.' + toBlock.slug,
353
+ parentPath: ('name' in field ? path : parentPath) + '.' + i,
354
+ parentSchemaPath: ('name' in field ? schemaPath : parentSchemaPath) + '.' + toBlock.slug,
323
355
  req,
324
356
  selectedLocales,
325
357
  versionFromSiblingData: fromRow,
@@ -344,7 +376,7 @@ const buildVersionField = ({
344
376
  */
345
377
  diffMethod: 'diffWordsWithSpace',
346
378
  field: clientField,
347
- fieldPermissions: subFieldPermissions,
379
+ fieldPermissions: typeof permissions === 'object' ? permissions.fields : permissions,
348
380
  parentIsLocalized,
349
381
  nestingLevel: nestingLevel ? nestingLevel : undefined,
350
382
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"buildVersionFields.js","names":["RenderServerComponent","dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getUniqueListBy","tabHasName","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","localized","Object","length","push","hasPermission","read","subFieldPermissions","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabVersion","label","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","blockReferences","find","block","slug","fromBlockSlugToMatch","fromBlock","clientDiffProps","undefined","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type VersionField,\n} from 'payload'\nimport { fieldIsID, fieldShouldBeLocalized, getUniqueListBy, tabHasName } from 'payload/shared'\n\nimport { diffComponents } from './fields/index.js'\nimport { getFieldPathsModified } from './utilities/getFieldPathsModified.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n fields: Field[]\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPathsModified({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n 'fields' | 'parentIndexPath' | 'versionFromSiblingData' | 'versionToSiblingData'\n>): BaseVersionField | null => {\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const hasPermission =\n fieldPermissions === true ||\n !fieldName ||\n fieldPermissions?.[fieldName] === true ||\n fieldPermissions?.[fieldName]?.read\n\n const subFieldPermissions =\n fieldPermissions === true ||\n !fieldName ||\n fieldPermissions?.[fieldName] === true ||\n fieldPermissions?.[fieldName]?.fields\n\n if (!hasPermission) {\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\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.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPathsModified({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: tab.fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : path,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, etc\n else if ('fields' in field) {\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (toRow.blockType === fromRow.blockType) {\n fields = toBlock.fields\n } else {\n const fromBlockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock) {\n fields = getUniqueListBy<Field>([...toBlock.fields, ...fromBlock.fields], 'name')\n } else {\n fields = toBlock.fields\n }\n }\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n }\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions: subFieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildVersionFields.js","names":["RenderServerComponent","dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","getFieldPermissions","getUniqueListBy","tabHasName","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","localized","Object","length","push","permissions","read","hasReadPermission","operation","parentName","includes","split","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabPermissions","undefined","tabVersion","label","subfieldPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","blockReferences","find","block","slug","fromBlockSlugToMatch","fromBlock","blockPermissions","permissionsBlockSpecific","clientDiffProps","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type VersionField,\n} from 'payload'\nimport {\n fieldIsID,\n fieldShouldBeLocalized,\n getFieldPaths,\n getFieldPermissions,\n getUniqueListBy,\n tabHasName,\n} from 'payload/shared'\n\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n fields: Field[]\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n 'fields' | 'parentIndexPath' | 'versionFromSiblingData' | 'versionToSiblingData'\n>): BaseVersionField | null => {\n const { permissions, read: hasReadPermission } = getFieldPermissions({\n field,\n operation: 'read',\n parentName: parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath,\n permissions: fieldPermissions,\n })\n\n if (!hasReadPermission) {\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\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.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let tabPermissions: typeof fieldPermissions = undefined\n\n if (typeof permissions === 'boolean') {\n tabPermissions = permissions\n } else if (permissions && typeof permissions === 'object') {\n if ('name' in tab) {\n tabPermissions =\n typeof permissions.fields?.[tab.name] === 'object'\n ? permissions.fields?.[tab.name].fields\n : permissions.fields?.[tab.name]\n } else {\n tabPermissions = permissions.fields\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions: tabPermissions,\n fields: tab.fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: isNamedTab\n ? tabSchemaPath\n : 'name' in field\n ? schemaPath\n : parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, etc\n else if ('fields' in field) {\n let subfieldPermissions: typeof fieldPermissions = undefined\n\n if (typeof permissions === 'boolean') {\n subfieldPermissions = permissions\n } else if (permissions && typeof permissions === 'object') {\n subfieldPermissions = permissions.fields\n }\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions: subfieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions: subfieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (toRow.blockType === fromRow.blockType) {\n fields = toBlock.fields\n } else {\n const fromBlockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock) {\n fields = getUniqueListBy<Field>([...toBlock.fields, ...fromBlock.fields], 'name')\n } else {\n fields = toBlock.fields\n }\n }\n\n let blockPermissions: typeof fieldPermissions = undefined\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[blockSlugToMatch]\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions: blockPermissions,\n fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: ('name' in field ? schemaPath : parentSchemaPath) + '.' + toBlock.slug,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n }\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions: typeof permissions === 'object' ? permissions.fields : permissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.50.0-canary.8",
3
+ "version": "3.50.0-internal.25c9f33",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -87,9 +87,9 @@
87
87
  "qs-esm": "7.0.2",
88
88
  "sass": "1.77.4",
89
89
  "uuid": "10.0.0",
90
- "@payloadcms/graphql": "3.50.0-canary.8",
91
- "@payloadcms/translations": "3.50.0-canary.8",
92
- "@payloadcms/ui": "3.50.0-canary.8"
90
+ "@payloadcms/graphql": "3.50.0-internal.25c9f33",
91
+ "@payloadcms/translations": "3.50.0-internal.25c9f33",
92
+ "@payloadcms/ui": "3.50.0-internal.25c9f33"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@babel/cli": "7.27.2",
@@ -106,13 +106,13 @@
106
106
  "esbuild": "0.25.5",
107
107
  "esbuild-sass-plugin": "3.3.1",
108
108
  "swc-plugin-transform-remove-imports": "4.0.4",
109
- "@payloadcms/eslint-config": "3.28.0",
110
- "payload": "3.50.0-canary.8"
109
+ "payload": "3.50.0-internal.25c9f33",
110
+ "@payloadcms/eslint-config": "3.28.0"
111
111
  },
112
112
  "peerDependencies": {
113
113
  "graphql": "^16.8.1",
114
114
  "next": "^15.2.3",
115
- "payload": "3.50.0-canary.8"
115
+ "payload": "3.50.0-internal.25c9f33"
116
116
  },
117
117
  "engines": {
118
118
  "node": "^18.20.2 || >=20.9.0"