@payloadcms/next 3.20.0-canary.8eef7db → 3.20.0-canary.9f2bca1
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/prod/styles.css +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +1 -2
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +2 -4
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +1 -2
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +2 -2
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +1 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +0 -2
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +2 -5
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +159 -89
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +4 -4
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +4 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +63 -100
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +12 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +6 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +43 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +14 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +5 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +17 -18
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +5 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +28 -56
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +5 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +42 -146
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +5 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +37 -71
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +22 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +9 -13
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +22 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js +2 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts +5 -2
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +113 -8
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts +21 -0
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/types.js +2 -0
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -0
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +2 -2
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +3 -7
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +15 -117
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.d.ts +1 -4
- package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
- package/dist/views/Versions/getLatestVersion.js +0 -6
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/package.json +7 -7
- package/dist/views/Version/Default/SelectedLocalesContext.d.ts +0 -8
- package/dist/views/Version/Default/SelectedLocalesContext.d.ts.map +0 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js +0 -10
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +0 -27
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +0 -76
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -46
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +0 -6
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +0 -36
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +0 -30
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +0 -300
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +0 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +0 -64
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +0 -69
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -14
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +0 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +0 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -20
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +0 -21
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +0 -194
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -860
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts +0 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +0 -4
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -46
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.d.ts +0 -27
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +0 -30
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +0 -18
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +0 -44
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -122
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"countChangedFields.spec.js","names":["countChangedFields","countChangedFieldsInRows","describe","locales","undefined","it","fields","name","type","comparison","a","b","version","result","expect","toBe","id","label","c","group","tabs","namedTab","admin","arrayField","blocks","slug","blockType","d","localized","en","de","tab","field","comparisonRows","versionRows"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.ts"],"sourcesContent":["import { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js'\nimport type { ClientField } from 'payload'\n\ndescribe('countChangedFields', () => {\n // locales can be undefined when not configured in payload.config.js\n const locales = undefined\n it('should return 0 when no fields have changed', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const comparison = { a: 'original', b: 123 }\n const version = { a: 'original', b: 123 }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(0)\n })\n\n it('should count simple changed fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const comparison = { a: 'original', b: 123 }\n const version = { a: 'changed', b: 123 }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(1)\n })\n\n it('should count previously undefined fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'number' },\n ]\n const comparison = {}\n const version = { a: 'new', b: 123 }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should not count the id field because it is not displayed in the version view', () => {\n const fields: ClientField[] = [\n { name: 'id', type: 'text' },\n { name: 'a', type: 'text' },\n ]\n const comparison = { id: 'original', a: 'original' }\n const version = { id: 'changed', a: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside collapsible fields', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const comparison = { a: 'original', b: 'original', c: 'original' }\n const version = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside row fields', () => {\n const fields: ClientField[] = [\n {\n type: 'row',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const comparison = { a: 'original', b: 'original', c: 'original' }\n const version = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside group fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const comparison = { group: { a: 'original', b: 'original', c: 'original' } }\n const version = { group: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside unnamed tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'Unnamed tab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const comparison = { a: 'original', b: 'original', c: 'original' }\n const version = { a: 'changed', b: 'changed', c: 'original' }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside named tabs ', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'namedTab',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const comparison = { namedTab: { a: 'original', b: 'original', c: 'original' } }\n const version = { namedTab: { a: 'changed', b: 'changed', c: 'original' } }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should ignore UI fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text' },\n {\n name: 'b',\n type: 'ui',\n admin: {},\n },\n ]\n const comparison = { a: 'original', b: 'original' }\n const version = { a: 'original', b: 'changed' }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(0)\n })\n\n it('should count changed fields inside array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const comparison = {\n arrayField: [\n { a: 'original', b: 'original', c: 'original' },\n { a: 'original', b: 'original' },\n ],\n }\n const version = {\n arrayField: [\n { a: 'changed', b: 'changed', c: 'original' },\n { a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields inside arrays nested inside of collapsibles', () => {\n const fields: ClientField[] = [\n {\n type: 'collapsible',\n label: 'A collapsible field',\n fields: [\n {\n name: 'arrayField',\n type: 'array',\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ],\n },\n ]\n const comparison = { arrayField: [{ a: 'original', b: 'original', c: 'original' }] }\n const version = { arrayField: [{ a: 'changed', b: 'changed', c: 'original' }] }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const comparison = {\n blocks: [\n { blockType: 'blockA', a: 'original', b: 'original', c: 'original' },\n { blockType: 'blockA', a: 'original', b: 'original' },\n ],\n }\n const version = {\n blocks: [\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' },\n { blockType: 'blockA', a: 'changed', b: 'changed', c: 'changed' },\n ],\n }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(5)\n })\n\n it('should count changed fields between blocks with different slugs', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n { name: 'd', type: 'text' },\n ],\n },\n ],\n },\n ]\n const comparison = {\n blocks: [{ blockType: 'blockA', a: 'removed', b: 'original', c: 'original' }],\n }\n const version = {\n blocks: [{ blockType: 'blockB', b: 'original', c: 'changed', d: 'new' }],\n }\n\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(3)\n })\n\n describe('localized fields', () => {\n const locales = ['en', 'de']\n it('should count simple localized fields', () => {\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const comparison = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const version = {\n a: { en: 'changed', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(1)\n })\n\n it('should count multiple locales of the same localized field', () => {\n const locales = ['en', 'de']\n const fields: ClientField[] = [\n { name: 'a', type: 'text', localized: true },\n { name: 'b', type: 'text', localized: true },\n ]\n const comparison = {\n a: { en: 'original', de: 'original' },\n b: { en: 'original', de: 'original' },\n }\n const version = {\n a: { en: 'changed', de: 'changed' },\n b: { en: 'original', de: 'original' },\n }\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(2)\n })\n\n it('should count changed fields inside localized groups fields', () => {\n const fields: ClientField[] = [\n {\n type: 'group',\n name: 'group',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ]\n const comparison = {\n group: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const version = {\n group: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(3)\n })\n it('should count changed fields inside localized tabs', () => {\n const fields: ClientField[] = [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'tab',\n localized: true,\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const comparison = {\n tab: {\n en: { a: 'original', b: 'original', c: 'original' },\n de: { a: 'original', b: 'original', c: 'original' },\n },\n }\n const version = {\n tab: {\n en: { a: 'changed', b: 'changed', c: 'original' },\n de: { a: 'original', b: 'changed', c: 'original' },\n },\n }\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized array fields', () => {\n const fields: ClientField[] = [\n {\n name: 'arrayField',\n type: 'array',\n localized: true,\n fields: [\n {\n name: 'a',\n type: 'text',\n },\n {\n name: 'b',\n type: 'text',\n },\n {\n name: 'c',\n type: 'text',\n },\n ],\n },\n ]\n const comparison = {\n arrayField: {\n en: [{ a: 'original', b: 'original', c: 'original' }],\n de: [{ a: 'original', b: 'original', c: 'original' }],\n },\n }\n const version = {\n arrayField: {\n en: [{ a: 'changed', b: 'changed', c: 'original' }],\n de: [{ a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(3)\n })\n\n it('should count changed fields inside localized blocks fields', () => {\n const fields: ClientField[] = [\n {\n name: 'blocks',\n type: 'blocks',\n localized: true,\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n },\n ]\n const comparison = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }],\n },\n }\n const version = {\n blocks: {\n en: [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }],\n de: [{ blockType: 'blockA', a: 'original', b: 'changed', c: 'original' }],\n },\n }\n const result = countChangedFields({ comparison, fields, version, locales })\n expect(result).toBe(3)\n })\n })\n})\n\ndescribe('countChangedFieldsInRows', () => {\n it('should count fields in array rows', () => {\n const field: ClientField = {\n name: 'myArray',\n type: 'array',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n }\n\n const comparisonRows = [{ a: 'original', b: 'original', c: 'original' }]\n const versionRows = [{ a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n comparisonRows,\n field,\n locales: undefined,\n versionRows,\n })\n expect(result).toBe(2)\n })\n\n it('should count fields in blocks', () => {\n const field: ClientField = {\n name: 'myBlocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const comparisonRows = [{ blockType: 'blockA', a: 'original', b: 'original', c: 'original' }]\n const versionRows = [{ blockType: 'blockA', a: 'changed', b: 'changed', c: 'original' }]\n\n const result = countChangedFieldsInRows({\n comparisonRows,\n field,\n locales: undefined,\n versionRows,\n })\n expect(result).toBe(2)\n })\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldHasChanges.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,WAErD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldHasChanges.js","names":["fieldHasChanges","a","b","JSON","stringify"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.ts"],"sourcesContent":["export function fieldHasChanges(a: unknown, b: unknown) {\n return JSON.stringify(a) !== JSON.stringify(b)\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAgBC,CAAU,EAAEC,CAAU;EACpD,OAAOC,IAAA,CAAKC,SAAS,CAACH,CAAA,MAAOE,IAAA,CAAKC,SAAS,CAACF,CAAA;AAC9C","ignoreList":[]}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { fieldHasChanges } from './fieldHasChanges.js';
|
|
2
|
-
describe('hasChanges', () => {
|
|
3
|
-
it('should return false for identical values', () => {
|
|
4
|
-
const a = 'value';
|
|
5
|
-
const b = 'value';
|
|
6
|
-
expect(fieldHasChanges(a, b)).toBe(false);
|
|
7
|
-
});
|
|
8
|
-
it('should return true for different values', () => {
|
|
9
|
-
const a = 1;
|
|
10
|
-
const b = 2;
|
|
11
|
-
expect(fieldHasChanges(a, b)).toBe(true);
|
|
12
|
-
});
|
|
13
|
-
it('should return false for identical objects', () => {
|
|
14
|
-
const a = {
|
|
15
|
-
key: 'value'
|
|
16
|
-
};
|
|
17
|
-
const b = {
|
|
18
|
-
key: 'value'
|
|
19
|
-
};
|
|
20
|
-
expect(fieldHasChanges(a, b)).toBe(false);
|
|
21
|
-
});
|
|
22
|
-
it('should return true for different objects', () => {
|
|
23
|
-
const a = {
|
|
24
|
-
key: 'value'
|
|
25
|
-
};
|
|
26
|
-
const b = {
|
|
27
|
-
key: 'differentValue'
|
|
28
|
-
};
|
|
29
|
-
expect(fieldHasChanges(a, b)).toBe(true);
|
|
30
|
-
});
|
|
31
|
-
it('should handle undefined values', () => {
|
|
32
|
-
const a = {
|
|
33
|
-
key: 'value'
|
|
34
|
-
};
|
|
35
|
-
const b = undefined;
|
|
36
|
-
expect(fieldHasChanges(a, b)).toBe(true);
|
|
37
|
-
});
|
|
38
|
-
it('should handle null values', () => {
|
|
39
|
-
const a = {
|
|
40
|
-
key: 'value'
|
|
41
|
-
};
|
|
42
|
-
const b = null;
|
|
43
|
-
expect(fieldHasChanges(a, b)).toBe(true);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=fieldHasChanges.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldHasChanges.spec.js","names":["fieldHasChanges","describe","it","a","b","expect","toBe","key","undefined"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.ts"],"sourcesContent":["import { fieldHasChanges } from './fieldHasChanges.js'\n\ndescribe('hasChanges', () => {\n it('should return false for identical values', () => {\n const a = 'value'\n const b = 'value'\n expect(fieldHasChanges(a, b)).toBe(false)\n })\n it('should return true for different values', () => {\n const a = 1\n const b = 2\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should return false for identical objects', () => {\n const a = { key: 'value' }\n const b = { key: 'value' }\n expect(fieldHasChanges(a, b)).toBe(false)\n })\n\n it('should return true for different objects', () => {\n const a = { key: 'value' }\n const b = { key: 'differentValue' }\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should handle undefined values', () => {\n const a = { key: 'value' }\n const b = undefined\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n\n it('should handle null values', () => {\n const a = { key: 'value' }\n const b = null\n expect(fieldHasChanges(a, b)).toBe(true)\n })\n})\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ;AAEhCC,QAAA,CAAS,cAAc;EACrBC,EAAA,CAAG,4CAA4C;IAC7C,MAAMC,CAAA,GAAI;IACV,MAAMC,CAAA,GAAI;IACVC,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EACAJ,EAAA,CAAG,2CAA2C;IAC5C,MAAMC,CAAA,GAAI;IACV,MAAMC,CAAA,GAAI;IACVC,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,6CAA6C;IAC9C,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAQ;IACzBF,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,4CAA4C;IAC7C,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAI;MAAEG,GAAA,EAAK;IAAiB;IAClCF,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,kCAAkC;IACnC,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAII,SAAA;IACVH,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;EAEAJ,EAAA,CAAG,6BAA6B;IAC9B,MAAMC,CAAA,GAAI;MAAEI,GAAA,EAAK;IAAQ;IACzB,MAAMH,CAAA,GAAI;IACVC,MAAA,CAAOL,eAAA,CAAgBG,CAAA,EAAGC,CAAA,GAAIE,IAAI,CAAC;EACrC;AACF","ignoreList":[]}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ClientField, Field, Tab, TabAsFieldClient } from 'payload';
|
|
2
|
-
type Args = {
|
|
3
|
-
field: ClientField | Field | Tab | TabAsFieldClient;
|
|
4
|
-
index: number;
|
|
5
|
-
parentIndexPath: string;
|
|
6
|
-
parentPath: string;
|
|
7
|
-
parentSchemaPath: string;
|
|
8
|
-
};
|
|
9
|
-
type FieldPaths = {
|
|
10
|
-
/**
|
|
11
|
-
* A string of '-' separated indexes representing where
|
|
12
|
-
* to find this field in a given field schema array.
|
|
13
|
-
* It will always be complete and accurate.
|
|
14
|
-
*/
|
|
15
|
-
indexPath: string;
|
|
16
|
-
/**
|
|
17
|
-
* Path for this field relative to its position in the data.
|
|
18
|
-
*/
|
|
19
|
-
path: string;
|
|
20
|
-
/**
|
|
21
|
-
* Path for this field relative to its position in the schema.
|
|
22
|
-
*/
|
|
23
|
-
schemaPath: string;
|
|
24
|
-
};
|
|
25
|
-
export declare function getFieldPathsModified({ field, index, parentIndexPath, parentPath, parentSchemaPath, }: Args): FieldPaths;
|
|
26
|
-
export {};
|
|
27
|
-
//# sourceMappingURL=getFieldPathsModified.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldPathsModified.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAExE,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,WAAW,GAAG,KAAK,GAAG,GAAG,GAAG,gBAAgB,CAAA;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,EAAE,IAAI,GAAG,UAAU,CAkCnB"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export function getFieldPathsModified({
|
|
2
|
-
field,
|
|
3
|
-
index,
|
|
4
|
-
parentIndexPath,
|
|
5
|
-
parentPath,
|
|
6
|
-
parentSchemaPath
|
|
7
|
-
}) {
|
|
8
|
-
const parentPathSegments = parentPath.split('.');
|
|
9
|
-
const parentIsUnnamed = parentPathSegments[parentPathSegments.length - 1].startsWith('_index-');
|
|
10
|
-
const parentWithoutIndex = parentIsUnnamed ? parentPathSegments.slice(0, -1).join('.') : parentPath;
|
|
11
|
-
const parentPathToUse = parentIsUnnamed ? parentWithoutIndex : parentPath;
|
|
12
|
-
const parentSchemaPathSegments = parentSchemaPath.split('.');
|
|
13
|
-
const parentSchemaIsUnnamed = parentSchemaPathSegments[parentSchemaPathSegments.length - 1].startsWith('_index-');
|
|
14
|
-
const parentSchemaWithoutIndex = parentSchemaIsUnnamed ? parentSchemaPathSegments.slice(0, -1).join('.') : parentSchemaPath;
|
|
15
|
-
const parentSchemaPathToUse = parentSchemaIsUnnamed ? parentSchemaWithoutIndex : parentSchemaPath;
|
|
16
|
-
if ('name' in field) {
|
|
17
|
-
return {
|
|
18
|
-
indexPath: '',
|
|
19
|
-
path: `${parentPathToUse ? parentPathToUse + '.' : ''}${field.name}`,
|
|
20
|
-
schemaPath: `${parentSchemaPathToUse ? parentSchemaPathToUse + '.' : ''}${field.name}`
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
const indexSuffix = `_index-${`${parentIndexPath ? parentIndexPath + '-' : ''}${index}`}`;
|
|
24
|
-
return {
|
|
25
|
-
indexPath: `${parentIndexPath ? parentIndexPath + '-' : ''}${index}`,
|
|
26
|
-
path: `${parentPathToUse ? parentPathToUse + '.' : ''}${indexSuffix}`,
|
|
27
|
-
schemaPath: `${!parentIsUnnamed && parentSchemaPathToUse ? parentSchemaPathToUse + '.' : ''}${indexSuffix}`
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=getFieldPathsModified.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldPathsModified.js","names":["getFieldPathsModified","field","index","parentIndexPath","parentPath","parentSchemaPath","parentPathSegments","split","parentIsUnnamed","length","startsWith","parentWithoutIndex","slice","join","parentPathToUse","parentSchemaPathSegments","parentSchemaIsUnnamed","parentSchemaWithoutIndex","parentSchemaPathToUse","indexPath","path","name","schemaPath","indexSuffix"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.ts"],"sourcesContent":["import type { ClientField, Field, Tab, TabAsFieldClient } from 'payload'\n\ntype Args = {\n field: ClientField | Field | Tab | TabAsFieldClient\n index: number\n parentIndexPath: string\n parentPath: string\n parentSchemaPath: string\n}\n\ntype FieldPaths = {\n /**\n * A string of '-' separated indexes representing where\n * to find this field in a given field schema array.\n * It will always be complete and accurate.\n */\n indexPath: string\n /**\n * Path for this field relative to its position in the data.\n */\n path: string\n /**\n * Path for this field relative to its position in the schema.\n */\n schemaPath: string\n}\n\nexport function getFieldPathsModified({\n field,\n index,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n}: Args): FieldPaths {\n const parentPathSegments = parentPath.split('.')\n\n const parentIsUnnamed = parentPathSegments[parentPathSegments.length - 1].startsWith('_index-')\n\n const parentWithoutIndex = parentIsUnnamed\n ? parentPathSegments.slice(0, -1).join('.')\n : parentPath\n\n const parentPathToUse = parentIsUnnamed ? parentWithoutIndex : parentPath\n\n const parentSchemaPathSegments = parentSchemaPath.split('.')\n const parentSchemaIsUnnamed =\n parentSchemaPathSegments[parentSchemaPathSegments.length - 1].startsWith('_index-')\n const parentSchemaWithoutIndex = parentSchemaIsUnnamed\n ? parentSchemaPathSegments.slice(0, -1).join('.')\n : parentSchemaPath\n const parentSchemaPathToUse = parentSchemaIsUnnamed ? parentSchemaWithoutIndex : parentSchemaPath\n\n if ('name' in field) {\n return {\n indexPath: '',\n path: `${parentPathToUse ? parentPathToUse + '.' : ''}${field.name}`,\n schemaPath: `${parentSchemaPathToUse ? parentSchemaPathToUse + '.' : ''}${field.name}`,\n }\n }\n\n const indexSuffix = `_index-${`${parentIndexPath ? parentIndexPath + '-' : ''}${index}`}`\n\n return {\n indexPath: `${parentIndexPath ? parentIndexPath + '-' : ''}${index}`,\n path: `${parentPathToUse ? parentPathToUse + '.' : ''}${indexSuffix}`,\n schemaPath: `${!parentIsUnnamed && parentSchemaPathToUse ? parentSchemaPathToUse + '.' : ''}${indexSuffix}`,\n }\n}\n"],"mappings":"AA2BA,OAAO,SAASA,sBAAsB;EACpCC,KAAK;EACLC,KAAK;EACLC,eAAe;EACfC,UAAU;EACVC;AAAgB,CACX;EACL,MAAMC,kBAAA,GAAqBF,UAAA,CAAWG,KAAK,CAAC;EAE5C,MAAMC,eAAA,GAAkBF,kBAAkB,CAACA,kBAAA,CAAmBG,MAAM,GAAG,EAAE,CAACC,UAAU,CAAC;EAErF,MAAMC,kBAAA,GAAqBH,eAAA,GACvBF,kBAAA,CAAmBM,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC,OACrCT,UAAA;EAEJ,MAAMU,eAAA,GAAkBN,eAAA,GAAkBG,kBAAA,GAAqBP,UAAA;EAE/D,MAAMW,wBAAA,GAA2BV,gBAAA,CAAiBE,KAAK,CAAC;EACxD,MAAMS,qBAAA,GACJD,wBAAwB,CAACA,wBAAA,CAAyBN,MAAM,GAAG,EAAE,CAACC,UAAU,CAAC;EAC3E,MAAMO,wBAAA,GAA2BD,qBAAA,GAC7BD,wBAAA,CAAyBH,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC,OAC3CR,gBAAA;EACJ,MAAMa,qBAAA,GAAwBF,qBAAA,GAAwBC,wBAAA,GAA2BZ,gBAAA;EAEjF,IAAI,UAAUJ,KAAA,EAAO;IACnB,OAAO;MACLkB,SAAA,EAAW;MACXC,IAAA,EAAM,GAAGN,eAAA,GAAkBA,eAAA,GAAkB,MAAM,KAAKb,KAAA,CAAMoB,IAAI,EAAE;MACpEC,UAAA,EAAY,GAAGJ,qBAAA,GAAwBA,qBAAA,GAAwB,MAAM,KAAKjB,KAAA,CAAMoB,IAAI;IACtF;EACF;EAEA,MAAME,WAAA,GAAc,UAAU,GAAGpB,eAAA,GAAkBA,eAAA,GAAkB,MAAM,KAAKD,KAAA,EAAO,EAAE;EAEzF,OAAO;IACLiB,SAAA,EAAW,GAAGhB,eAAA,GAAkBA,eAAA,GAAkB,MAAM,KAAKD,KAAA,EAAO;IACpEkB,IAAA,EAAM,GAAGN,eAAA,GAAkBA,eAAA,GAAkB,MAAM,KAAKS,WAAA,EAAa;IACrED,UAAA,EAAY,GAAG,CAACd,eAAA,IAAmBU,qBAAA,GAAwBA,qBAAA,GAAwB,MAAM,KAAKK,WAAA;EAChG;AACF","ignoreList":[]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ArrayFieldClient, BaseVersionField, BlocksFieldClient, ClientField, VersionField } from 'payload';
|
|
2
|
-
/**
|
|
3
|
-
* Get the fields for a row in an iterable field for comparison.
|
|
4
|
-
* - Array fields: the fields of the array field, because the fields are the same for each row.
|
|
5
|
-
* - Blocks fields: the union of fields from the comparison and version row,
|
|
6
|
-
* because the fields from the version and comparison rows may differ.
|
|
7
|
-
*/
|
|
8
|
-
export declare function getFieldsForRowComparison({ baseVersionField, comparisonRow, field, row, versionRow, }: {
|
|
9
|
-
baseVersionField: BaseVersionField;
|
|
10
|
-
comparisonRow: any;
|
|
11
|
-
field: ArrayFieldClient | BlocksFieldClient;
|
|
12
|
-
row: number;
|
|
13
|
-
versionRow: any;
|
|
14
|
-
}): {
|
|
15
|
-
fields: ClientField[];
|
|
16
|
-
versionFields: VersionField[];
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=getFieldsForRowComparison.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,GAAG,EACH,UAAU,GACX,EAAE;IACD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,aAAa,EAAE,GAAG,CAAA;IAClB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,GAAG,CAAA;CAChB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CA2C3D"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { getUniqueListBy } from 'payload/shared';
|
|
2
|
-
/**
|
|
3
|
-
* Get the fields for a row in an iterable field for comparison.
|
|
4
|
-
* - Array fields: the fields of the array field, because the fields are the same for each row.
|
|
5
|
-
* - Blocks fields: the union of fields from the comparison and version row,
|
|
6
|
-
* because the fields from the version and comparison rows may differ.
|
|
7
|
-
*/
|
|
8
|
-
export function getFieldsForRowComparison({
|
|
9
|
-
baseVersionField,
|
|
10
|
-
comparisonRow,
|
|
11
|
-
field,
|
|
12
|
-
row,
|
|
13
|
-
versionRow
|
|
14
|
-
}) {
|
|
15
|
-
let fields = [];
|
|
16
|
-
let versionFields = [];
|
|
17
|
-
if (field.type === 'array' && 'fields' in field) {
|
|
18
|
-
fields = field.fields;
|
|
19
|
-
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
20
|
-
} else if (field.type === 'blocks') {
|
|
21
|
-
if (versionRow?.blockType === comparisonRow?.blockType) {
|
|
22
|
-
const matchedBlock = 'blocks' in field && field.blocks?.find(block => block.slug === versionRow?.blockType) || {
|
|
23
|
-
fields: []
|
|
24
|
-
};
|
|
25
|
-
fields = matchedBlock.fields;
|
|
26
|
-
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
27
|
-
} else {
|
|
28
|
-
const matchedVersionBlock = 'blocks' in field && field.blocks?.find(block => block.slug === versionRow?.blockType) || {
|
|
29
|
-
fields: []
|
|
30
|
-
};
|
|
31
|
-
const matchedComparisonBlock = 'blocks' in field && field.blocks?.find(block => block.slug === comparisonRow?.blockType) || {
|
|
32
|
-
fields: []
|
|
33
|
-
};
|
|
34
|
-
fields = getUniqueListBy([...matchedVersionBlock.fields, ...matchedComparisonBlock.fields], 'name');
|
|
35
|
-
// buildVersionFields already merged the fields of the version and comparison rows together
|
|
36
|
-
versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
fields,
|
|
41
|
-
versionFields
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=getFieldsForRowComparison.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldsForRowComparison.js","names":["getUniqueListBy","getFieldsForRowComparison","baseVersionField","comparisonRow","field","row","versionRow","fields","versionFields","type","rows","length","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"sourcesContent":["import type {\n ArrayFieldClient,\n BaseVersionField,\n BlocksFieldClient,\n ClientField,\n VersionField,\n} from 'payload'\n\nimport { getUniqueListBy } from 'payload/shared'\n\n/**\n * Get the fields for a row in an iterable field for comparison.\n * - Array fields: the fields of the array field, because the fields are the same for each row.\n * - Blocks fields: the union of fields from the comparison and version row,\n * because the fields from the version and comparison rows may differ.\n */\nexport function getFieldsForRowComparison({\n baseVersionField,\n comparisonRow,\n field,\n row,\n versionRow,\n}: {\n baseVersionField: BaseVersionField\n comparisonRow: any\n field: ArrayFieldClient | BlocksFieldClient\n row: number\n versionRow: any\n}): { fields: ClientField[]; versionFields: VersionField[] } {\n let fields: ClientField[] = []\n let versionFields: VersionField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else if (field.type === 'blocks') {\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field &&\n field.blocks?.find((block) => block.slug === versionRow?.blockType)) || {\n fields: [],\n }\n\n fields = matchedBlock.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else {\n const matchedVersionBlock = ('blocks' in field &&\n field.blocks?.find((block) => block.slug === versionRow?.blockType)) || {\n fields: [],\n }\n const matchedComparisonBlock = ('blocks' in field &&\n field.blocks?.find((block) => block.slug === comparisonRow?.blockType)) || {\n fields: [],\n }\n\n fields = getUniqueListBy<ClientField>(\n [...matchedVersionBlock.fields, ...matchedComparisonBlock.fields],\n 'name',\n )\n\n // buildVersionFields already merged the fields of the version and comparison rows together\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n }\n }\n\n return { fields, versionFields }\n}\n"],"mappings":"AAQA,SAASA,eAAe,QAAQ;AAEhC;;;;;;AAMA,OAAO,SAASC,0BAA0B;EACxCC,gBAAgB;EAChBC,aAAa;EACbC,KAAK;EACLC,GAAG;EACHC;AAAU,CAOX;EACC,IAAIC,MAAA,GAAwB,EAAE;EAC9B,IAAIC,aAAA,GAAgC,EAAE;EAEtC,IAAIJ,KAAA,CAAMK,IAAI,KAAK,WAAW,YAAYL,KAAA,EAAO;IAC/CG,MAAA,GAASH,KAAA,CAAMG,MAAM;IACrBC,aAAA,GAAgBN,gBAAA,CAAiBQ,IAAI,EAAEC,MAAA,GACnCT,gBAAA,CAAiBQ,IAAI,CAACL,GAAA,CAAI,GAC1BH,gBAAA,CAAiBK,MAAM;EAC7B,OAAO,IAAIH,KAAA,CAAMK,IAAI,KAAK,UAAU;IAClC,IAAIH,UAAA,EAAYM,SAAA,KAAcT,aAAA,EAAeS,SAAA,EAAW;MACtD,MAAMC,YAAA,GAAe,QAAC,IAAYT,KAAA,IAChCA,KAAA,CAAMU,MAAM,EAAEC,IAAA,CAAMC,KAAA,IAAUA,KAAA,CAAMC,IAAI,KAAKX,UAAA,EAAYM,SAAA,KAAe;QACxEL,MAAA,EAAQ;MACV;MAEAA,MAAA,GAASM,YAAA,CAAaN,MAAM;MAC5BC,aAAA,GAAgBN,gBAAA,CAAiBQ,IAAI,EAAEC,MAAA,GACnCT,gBAAA,CAAiBQ,IAAI,CAACL,GAAA,CAAI,GAC1BH,gBAAA,CAAiBK,MAAM;IAC7B,OAAO;MACL,MAAMW,mBAAA,GAAsB,QAAC,IAAYd,KAAA,IACvCA,KAAA,CAAMU,MAAM,EAAEC,IAAA,CAAMC,KAAA,IAAUA,KAAA,CAAMC,IAAI,KAAKX,UAAA,EAAYM,SAAA,KAAe;QACxEL,MAAA,EAAQ;MACV;MACA,MAAMY,sBAAA,GAAyB,QAAC,IAAYf,KAAA,IAC1CA,KAAA,CAAMU,MAAM,EAAEC,IAAA,CAAMC,KAAA,IAAUA,KAAA,CAAMC,IAAI,KAAKd,aAAA,EAAeS,SAAA,KAAe;QAC3EL,MAAA,EAAQ;MACV;MAEAA,MAAA,GAASP,eAAA,CACP,C,GAAIkB,mBAAA,CAAoBX,MAAM,E,GAAKY,sBAAA,CAAuBZ,MAAM,CAAC,EACjE;MAGF;MACAC,aAAA,GAAgBN,gBAAA,CAAiBQ,IAAI,EAAEC,MAAA,GACnCT,gBAAA,CAAiBQ,IAAI,CAACL,GAAA,CAAI,GAC1BH,gBAAA,CAAiBK,MAAM;IAC7B;EACF;EAEA,OAAO;IAAEA,MAAA;IAAQC;EAAc;AACjC","ignoreList":[]}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { getFieldsForRowComparison } from './getFieldsForRowComparison';
|
|
2
|
-
describe('getFieldsForRowComparison', () => {
|
|
3
|
-
describe('array fields', () => {
|
|
4
|
-
it('should return fields from array field', () => {
|
|
5
|
-
const arrayFields = [{
|
|
6
|
-
name: 'title',
|
|
7
|
-
type: 'text'
|
|
8
|
-
}, {
|
|
9
|
-
name: 'description',
|
|
10
|
-
type: 'textarea'
|
|
11
|
-
}];
|
|
12
|
-
const field = {
|
|
13
|
-
type: 'array',
|
|
14
|
-
name: 'items',
|
|
15
|
-
fields: arrayFields
|
|
16
|
-
};
|
|
17
|
-
const {
|
|
18
|
-
fields
|
|
19
|
-
} = getFieldsForRowComparison({
|
|
20
|
-
field,
|
|
21
|
-
versionRow: {},
|
|
22
|
-
comparisonRow: {},
|
|
23
|
-
row: 0,
|
|
24
|
-
baseVersionField: {
|
|
25
|
-
fields: []
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
expect(fields).toEqual(arrayFields);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe('blocks fields', () => {
|
|
32
|
-
it('should return combined fields when block types match', () => {
|
|
33
|
-
const blockAFields = [{
|
|
34
|
-
name: 'a',
|
|
35
|
-
type: 'text'
|
|
36
|
-
}, {
|
|
37
|
-
name: 'b',
|
|
38
|
-
type: 'text'
|
|
39
|
-
}];
|
|
40
|
-
const field = {
|
|
41
|
-
type: 'blocks',
|
|
42
|
-
name: 'myBlocks',
|
|
43
|
-
blocks: [{
|
|
44
|
-
slug: 'blockA',
|
|
45
|
-
fields: blockAFields
|
|
46
|
-
}]
|
|
47
|
-
};
|
|
48
|
-
const versionRow = {
|
|
49
|
-
blockType: 'blockA'
|
|
50
|
-
};
|
|
51
|
-
const comparisonRow = {
|
|
52
|
-
blockType: 'blockA'
|
|
53
|
-
};
|
|
54
|
-
const {
|
|
55
|
-
fields
|
|
56
|
-
} = getFieldsForRowComparison({
|
|
57
|
-
field,
|
|
58
|
-
versionRow,
|
|
59
|
-
comparisonRow,
|
|
60
|
-
row: 0,
|
|
61
|
-
baseVersionField: {
|
|
62
|
-
fields: []
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
expect(fields).toEqual(blockAFields);
|
|
66
|
-
});
|
|
67
|
-
it('should return unique combined fields when block types differ', () => {
|
|
68
|
-
const field = {
|
|
69
|
-
type: 'blocks',
|
|
70
|
-
name: 'myBlocks',
|
|
71
|
-
blocks: [{
|
|
72
|
-
slug: 'blockA',
|
|
73
|
-
fields: [{
|
|
74
|
-
name: 'a',
|
|
75
|
-
type: 'text'
|
|
76
|
-
}, {
|
|
77
|
-
name: 'b',
|
|
78
|
-
type: 'text'
|
|
79
|
-
}]
|
|
80
|
-
}, {
|
|
81
|
-
slug: 'blockB',
|
|
82
|
-
fields: [{
|
|
83
|
-
name: 'b',
|
|
84
|
-
type: 'text'
|
|
85
|
-
}, {
|
|
86
|
-
name: 'c',
|
|
87
|
-
type: 'text'
|
|
88
|
-
}]
|
|
89
|
-
}]
|
|
90
|
-
};
|
|
91
|
-
const versionRow = {
|
|
92
|
-
blockType: 'blockA'
|
|
93
|
-
};
|
|
94
|
-
const comparisonRow = {
|
|
95
|
-
blockType: 'blockB'
|
|
96
|
-
};
|
|
97
|
-
const {
|
|
98
|
-
fields
|
|
99
|
-
} = getFieldsForRowComparison({
|
|
100
|
-
field,
|
|
101
|
-
versionRow,
|
|
102
|
-
comparisonRow,
|
|
103
|
-
row: 0,
|
|
104
|
-
baseVersionField: {
|
|
105
|
-
fields: []
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
// Should contain all unique fields from both blocks
|
|
109
|
-
expect(fields).toEqual([{
|
|
110
|
-
name: 'a',
|
|
111
|
-
type: 'text'
|
|
112
|
-
}, {
|
|
113
|
-
name: 'b',
|
|
114
|
-
type: 'text'
|
|
115
|
-
}, {
|
|
116
|
-
name: 'c',
|
|
117
|
-
type: 'text'
|
|
118
|
-
}]);
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
//# sourceMappingURL=getFieldsForRowComparison.spec.js.map
|
package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFieldsForRowComparison.spec.js","names":["getFieldsForRowComparison","describe","it","arrayFields","name","type","field","fields","versionRow","comparisonRow","row","baseVersionField","expect","toEqual","blockAFields","blocks","slug","blockType"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.ts"],"sourcesContent":["import { getFieldsForRowComparison } from './getFieldsForRowComparison'\nimport type { ArrayFieldClient, BlocksFieldClient, ClientField } from 'payload'\n\ndescribe('getFieldsForRowComparison', () => {\n describe('array fields', () => {\n it('should return fields from array field', () => {\n const arrayFields: ClientField[] = [\n { name: 'title', type: 'text' },\n { name: 'description', type: 'textarea' },\n ]\n\n const field: ArrayFieldClient = {\n type: 'array',\n name: 'items',\n fields: arrayFields,\n }\n\n const { fields } = getFieldsForRowComparison({\n field,\n versionRow: {},\n comparisonRow: {},\n row: 0,\n baseVersionField: { fields: [] },\n })\n\n expect(fields).toEqual(arrayFields)\n })\n })\n\n describe('blocks fields', () => {\n it('should return combined fields when block types match', () => {\n const blockAFields: ClientField[] = [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ]\n\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: blockAFields,\n },\n ],\n }\n\n const versionRow = { blockType: 'blockA' }\n const comparisonRow = { blockType: 'blockA' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n versionRow,\n comparisonRow,\n row: 0,\n baseVersionField: { fields: [] },\n })\n\n expect(fields).toEqual(blockAFields)\n })\n\n it('should return unique combined fields when block types differ', () => {\n const field: BlocksFieldClient = {\n type: 'blocks',\n name: 'myBlocks',\n blocks: [\n {\n slug: 'blockA',\n fields: [\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n ],\n },\n {\n slug: 'blockB',\n fields: [\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ],\n },\n ],\n }\n\n const versionRow = { blockType: 'blockA' }\n const comparisonRow = { blockType: 'blockB' }\n\n const { fields } = getFieldsForRowComparison({\n field,\n versionRow,\n comparisonRow,\n row: 0,\n baseVersionField: { fields: [] },\n })\n\n // Should contain all unique fields from both blocks\n expect(fields).toEqual([\n { name: 'a', type: 'text' },\n { name: 'b', type: 'text' },\n { name: 'c', type: 'text' },\n ])\n })\n })\n})\n"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ;AAG1CC,QAAA,CAAS,6BAA6B;EACpCA,QAAA,CAAS,gBAAgB;IACvBC,EAAA,CAAG,yCAAyC;MAC1C,MAAMC,WAAA,GAA6B,CACjC;QAAEC,IAAA,EAAM;QAASC,IAAA,EAAM;MAAO,GAC9B;QAAED,IAAA,EAAM;QAAeC,IAAA,EAAM;MAAW,EACzC;MAED,MAAMC,KAAA,GAA0B;QAC9BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNG,MAAA,EAAQJ;MACV;MAEA,MAAM;QAAEI;MAAM,CAAE,GAAGP,yBAAA,CAA0B;QAC3CM,KAAA;QACAE,UAAA,EAAY,CAAC;QACbC,aAAA,EAAe,CAAC;QAChBC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ;QAAG;MACjC;MAEAK,MAAA,CAAOL,MAAA,EAAQM,OAAO,CAACV,WAAA;IACzB;EACF;EAEAF,QAAA,CAAS,iBAAiB;IACxBC,EAAA,CAAG,wDAAwD;MACzD,MAAMY,YAAA,GAA8B,CAClC;QAAEV,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,EAC3B;MAED,MAAMC,KAAA,GAA2B;QAC/BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNW,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNT,MAAA,EAAQO;QACV;MAEJ;MAEA,MAAMN,UAAA,GAAa;QAAES,SAAA,EAAW;MAAS;MACzC,MAAMR,aAAA,GAAgB;QAAEQ,SAAA,EAAW;MAAS;MAE5C,MAAM;QAAEV;MAAM,CAAE,GAAGP,yBAAA,CAA0B;QAC3CM,KAAA;QACAE,UAAA;QACAC,aAAA;QACAC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ;QAAG;MACjC;MAEAK,MAAA,CAAOL,MAAA,EAAQM,OAAO,CAACC,YAAA;IACzB;IAEAZ,EAAA,CAAG,gEAAgE;MACjE,MAAMI,KAAA,GAA2B;QAC/BD,IAAA,EAAM;QACND,IAAA,EAAM;QACNW,MAAA,EAAQ,CACN;UACEC,IAAA,EAAM;UACNT,MAAA,EAAQ,CACN;YAAEH,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B,GACA;UACEW,IAAA,EAAM;UACNT,MAAA,EAAQ,CACN;YAAEH,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO,GAC1B;YAAED,IAAA,EAAM;YAAKC,IAAA,EAAM;UAAO;QAE9B;MAEJ;MAEA,MAAMG,UAAA,GAAa;QAAES,SAAA,EAAW;MAAS;MACzC,MAAMR,aAAA,GAAgB;QAAEQ,SAAA,EAAW;MAAS;MAE5C,MAAM;QAAEV;MAAM,CAAE,GAAGP,yBAAA,CAA0B;QAC3CM,KAAA;QACAE,UAAA;QACAC,aAAA;QACAC,GAAA,EAAK;QACLC,gBAAA,EAAkB;UAAEJ,MAAA,EAAQ;QAAG;MACjC;MAEA;MACAK,MAAA,CAAOL,MAAA,EAAQM,OAAO,CAAC,CACrB;QAAET,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,GAC1B;QAAED,IAAA,EAAM;QAAKC,IAAA,EAAM;MAAO,EAC3B;IACH;EACF;AACF","ignoreList":[]}
|