@payloadcms/next 3.35.0-internal.b3d367c → 3.35.0
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/auth/login.d.ts +22 -0
- package/dist/auth/login.d.ts.map +1 -0
- package/dist/auth/login.js +71 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/logout.d.ts +7 -0
- package/dist/auth/logout.d.ts.map +1 -0
- package/dist/auth/logout.js +37 -0
- package/dist/auth/logout.js.map +1 -0
- package/dist/auth/refresh.d.ts +9 -0
- package/dist/auth/refresh.d.ts.map +1 -0
- package/dist/auth/refresh.js +48 -0
- package/dist/auth/refresh.js.map +1 -0
- package/dist/exports/auth.d.ts +4 -0
- package/dist/exports/auth.d.ts.map +1 -0
- package/dist/exports/auth.js +4 -0
- package/dist/exports/auth.js.map +1 -0
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/getExistingAuthToken.d.ts +7 -0
- package/dist/utilities/getExistingAuthToken.d.ts.map +1 -0
- package/dist/utilities/getExistingAuthToken.js +6 -0
- package/dist/utilities/getExistingAuthToken.js.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.d.ts +9 -0
- package/dist/utilities/setPayloadAuthCookie.d.ts.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.js +27 -0
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -1
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +2 -2
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts +2 -2
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +5 -4
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +127 -332
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +32 -102
- package/dist/views/Version/Default/types.d.ts +8 -12
- 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/DiffCollapser/index.d.ts +4 -4
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +33 -32
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +3 -30
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +1 -6
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +17 -21
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +3 -4
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +55 -80
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +11 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +11 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +5 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +58 -49
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +23 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +45 -39
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +37 -37
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +23 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +60 -77
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +7 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +7 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +3 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +37 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js +0 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +1 -1
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +1 -6
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +68 -26
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +4 -0
- package/dist/views/Version/SelectComparison/types.d.ts +4 -4
- package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts +2 -9
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +60 -33
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.scss +9 -0
- package/dist/views/Version/SelectLocales/types.d.ts +7 -0
- package/dist/views/Version/SelectLocales/types.d.ts.map +1 -0
- package/dist/views/Version/SelectLocales/types.js +2 -0
- package/dist/views/Version/SelectLocales/types.js.map +1 -0
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +56 -105
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +4 -4
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.d.ts +2 -2
- package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/package.json +8 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +0 -78
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -4
- package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts +0 -6
- package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts.map +0 -1
- package/dist/views/Version/SelectComparison/VersionPillLabel.js +0 -70
- package/dist/views/Version/SelectComparison/VersionPillLabel.js.map +0 -1
- package/dist/views/Version/SelectComparison/formatVersionPill.d.ts +0 -8
- package/dist/views/Version/SelectComparison/formatVersionPill.d.ts.map +0 -1
- package/dist/views/Version/SelectComparison/formatVersionPill.js +0 -24
- package/dist/views/Version/SelectComparison/formatVersionPill.js.map +0 -1
|
@@ -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;
|
|
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;AAK1D,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;AAOhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,oBAAoB,CAAA;IACrC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,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,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,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,4OAgB5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CA0G9B,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerCompo
|
|
|
2
2
|
import { dequal } from 'dequal/lite';
|
|
3
3
|
import { MissingEditorProp } from 'payload';
|
|
4
4
|
import { fieldIsID, fieldShouldBeLocalized, getUniqueListBy, tabHasName } from 'payload/shared';
|
|
5
|
+
import { diffMethods } from './fields/diffMethods.js';
|
|
5
6
|
import { diffComponents } from './fields/index.js';
|
|
6
7
|
import { getFieldPathsModified } from './utilities/getFieldPathsModified.js';
|
|
7
8
|
/**
|
|
@@ -13,21 +14,20 @@ import { getFieldPathsModified } from './utilities/getFieldPathsModified.js';
|
|
|
13
14
|
*/
|
|
14
15
|
export const buildVersionFields = ({
|
|
15
16
|
clientSchemaMap,
|
|
17
|
+
comparisonSiblingData,
|
|
16
18
|
customDiffComponents,
|
|
17
19
|
entitySlug,
|
|
18
20
|
fieldPermissions,
|
|
19
21
|
fields,
|
|
20
22
|
i18n,
|
|
21
23
|
modifiedOnly,
|
|
22
|
-
nestingLevel = 0,
|
|
23
24
|
parentIndexPath,
|
|
24
25
|
parentIsLocalized,
|
|
25
26
|
parentPath,
|
|
26
27
|
parentSchemaPath,
|
|
27
28
|
req,
|
|
28
29
|
selectedLocales,
|
|
29
|
-
|
|
30
|
-
versionToSiblingData
|
|
30
|
+
versionSiblingData
|
|
31
31
|
}) => {
|
|
32
32
|
const versionFields = [];
|
|
33
33
|
let fieldIndex = -1;
|
|
@@ -66,14 +66,15 @@ export const buildVersionFields = ({
|
|
|
66
66
|
parentIsLocalized
|
|
67
67
|
});
|
|
68
68
|
const fieldName = 'name' in field ? field.name : null;
|
|
69
|
-
const
|
|
70
|
-
const
|
|
69
|
+
const versionValue = fieldName ? versionSiblingData?.[fieldName] : versionSiblingData;
|
|
70
|
+
const comparisonValue = fieldName ? comparisonSiblingData?.[fieldName] : comparisonSiblingData;
|
|
71
71
|
if (isLocalized) {
|
|
72
72
|
versionField.fieldByLocale = {};
|
|
73
73
|
for (const locale of selectedLocales) {
|
|
74
74
|
const localizedVersionField = buildVersionField({
|
|
75
75
|
clientField: clientField,
|
|
76
76
|
clientSchemaMap,
|
|
77
|
+
comparisonValue: comparisonValue?.[locale],
|
|
77
78
|
customDiffComponents,
|
|
78
79
|
entitySlug,
|
|
79
80
|
field,
|
|
@@ -82,7 +83,6 @@ export const buildVersionFields = ({
|
|
|
82
83
|
indexPath,
|
|
83
84
|
locale,
|
|
84
85
|
modifiedOnly,
|
|
85
|
-
nestingLevel,
|
|
86
86
|
parentIsLocalized: true,
|
|
87
87
|
parentPath,
|
|
88
88
|
parentSchemaPath,
|
|
@@ -90,8 +90,7 @@ export const buildVersionFields = ({
|
|
|
90
90
|
req,
|
|
91
91
|
schemaPath,
|
|
92
92
|
selectedLocales,
|
|
93
|
-
|
|
94
|
-
valueTo: valueTo?.[locale]
|
|
93
|
+
versionValue: versionValue?.[locale]
|
|
95
94
|
});
|
|
96
95
|
if (localizedVersionField) {
|
|
97
96
|
versionField.fieldByLocale[locale] = localizedVersionField;
|
|
@@ -101,6 +100,7 @@ export const buildVersionFields = ({
|
|
|
101
100
|
const baseVersionField = buildVersionField({
|
|
102
101
|
clientField: clientField,
|
|
103
102
|
clientSchemaMap,
|
|
103
|
+
comparisonValue,
|
|
104
104
|
customDiffComponents,
|
|
105
105
|
entitySlug,
|
|
106
106
|
field,
|
|
@@ -108,7 +108,6 @@ export const buildVersionFields = ({
|
|
|
108
108
|
i18n,
|
|
109
109
|
indexPath,
|
|
110
110
|
modifiedOnly,
|
|
111
|
-
nestingLevel,
|
|
112
111
|
parentIsLocalized: parentIsLocalized || 'localized' in field && field.localized,
|
|
113
112
|
parentPath,
|
|
114
113
|
parentSchemaPath,
|
|
@@ -116,16 +115,13 @@ export const buildVersionFields = ({
|
|
|
116
115
|
req,
|
|
117
116
|
schemaPath,
|
|
118
117
|
selectedLocales,
|
|
119
|
-
|
|
120
|
-
valueTo
|
|
118
|
+
versionValue
|
|
121
119
|
});
|
|
122
120
|
if (baseVersionField) {
|
|
123
121
|
versionField.field = baseVersionField;
|
|
124
122
|
}
|
|
125
123
|
}
|
|
126
|
-
|
|
127
|
-
versionFields.push(versionField);
|
|
128
|
-
}
|
|
124
|
+
versionFields.push(versionField);
|
|
129
125
|
}
|
|
130
126
|
return {
|
|
131
127
|
versionFields
|
|
@@ -134,6 +130,7 @@ export const buildVersionFields = ({
|
|
|
134
130
|
const buildVersionField = ({
|
|
135
131
|
clientField,
|
|
136
132
|
clientSchemaMap,
|
|
133
|
+
comparisonValue,
|
|
137
134
|
customDiffComponents,
|
|
138
135
|
entitySlug,
|
|
139
136
|
field,
|
|
@@ -142,7 +139,6 @@ const buildVersionField = ({
|
|
|
142
139
|
indexPath,
|
|
143
140
|
locale,
|
|
144
141
|
modifiedOnly,
|
|
145
|
-
nestingLevel,
|
|
146
142
|
parentIsLocalized,
|
|
147
143
|
parentPath,
|
|
148
144
|
parentSchemaPath,
|
|
@@ -150,16 +146,16 @@ const buildVersionField = ({
|
|
|
150
146
|
req,
|
|
151
147
|
schemaPath,
|
|
152
148
|
selectedLocales,
|
|
153
|
-
|
|
154
|
-
valueTo
|
|
149
|
+
versionValue
|
|
155
150
|
}) => {
|
|
156
151
|
const fieldName = 'name' in field ? field.name : null;
|
|
152
|
+
const diffMethod = diffMethods[field.type] || 'CHARS';
|
|
157
153
|
const hasPermission = fieldPermissions === true || !fieldName || fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.read;
|
|
158
154
|
const subFieldPermissions = fieldPermissions === true || !fieldName || fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.fields;
|
|
159
155
|
if (!hasPermission) {
|
|
160
156
|
return null;
|
|
161
157
|
}
|
|
162
|
-
if (modifiedOnly && dequal(
|
|
158
|
+
if (modifiedOnly && dequal(versionValue, comparisonValue)) {
|
|
163
159
|
return null;
|
|
164
160
|
}
|
|
165
161
|
let CustomComponent = customDiffComponents?.[field.type];
|
|
@@ -206,152 +202,125 @@ const buildVersionField = ({
|
|
|
206
202
|
parentPath,
|
|
207
203
|
parentSchemaPath
|
|
208
204
|
});
|
|
209
|
-
|
|
205
|
+
baseVersionField.tabs.push({
|
|
210
206
|
name: 'name' in tab ? tab.name : null,
|
|
211
207
|
fields: buildVersionFields({
|
|
212
208
|
clientSchemaMap,
|
|
209
|
+
comparisonSiblingData: 'name' in tab ? comparisonValue?.[tab.name] : comparisonValue,
|
|
213
210
|
customDiffComponents,
|
|
214
211
|
entitySlug,
|
|
215
212
|
fieldPermissions,
|
|
216
213
|
fields: tab.fields,
|
|
217
214
|
i18n,
|
|
218
215
|
modifiedOnly,
|
|
219
|
-
nestingLevel: nestingLevel + 1,
|
|
220
216
|
parentIndexPath: isNamedTab ? '' : tabIndexPath,
|
|
221
217
|
parentIsLocalized: parentIsLocalized || tab.localized,
|
|
222
218
|
parentPath: isNamedTab ? tabPath : path,
|
|
223
219
|
parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,
|
|
224
220
|
req,
|
|
225
221
|
selectedLocales,
|
|
226
|
-
|
|
227
|
-
versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo
|
|
222
|
+
versionSiblingData: 'name' in tab ? versionValue?.[tab.name] : versionValue
|
|
228
223
|
}).versionFields,
|
|
229
224
|
label: tab.label
|
|
230
|
-
};
|
|
231
|
-
if (tabVersion?.fields?.length) {
|
|
232
|
-
baseVersionField.tabs.push(tabVersion);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
if (modifiedOnly && !baseVersionField.tabs.length) {
|
|
236
|
-
return null;
|
|
225
|
+
});
|
|
237
226
|
}
|
|
238
227
|
} else if ('fields' in field) {
|
|
239
|
-
if (field.type === 'array' &&
|
|
240
|
-
const arrayValue = Array.isArray(
|
|
228
|
+
if (field.type === 'array' && versionValue) {
|
|
229
|
+
const arrayValue = Array.isArray(versionValue) ? versionValue : [];
|
|
241
230
|
baseVersionField.rows = [];
|
|
242
231
|
for (let i = 0; i < arrayValue.length; i++) {
|
|
243
|
-
const
|
|
244
|
-
const
|
|
232
|
+
const comparisonRow = comparisonValue?.[i] || {};
|
|
233
|
+
const versionRow = arrayValue?.[i] || {};
|
|
245
234
|
baseVersionField.rows[i] = buildVersionFields({
|
|
246
235
|
clientSchemaMap,
|
|
236
|
+
comparisonSiblingData: comparisonRow,
|
|
247
237
|
customDiffComponents,
|
|
248
238
|
entitySlug,
|
|
249
239
|
fieldPermissions,
|
|
250
240
|
fields: field.fields,
|
|
251
241
|
i18n,
|
|
252
242
|
modifiedOnly,
|
|
253
|
-
nestingLevel: nestingLevel + 2,
|
|
254
243
|
parentIndexPath: 'name' in field ? '' : indexPath,
|
|
255
244
|
parentIsLocalized: parentIsLocalized || field.localized,
|
|
256
245
|
parentPath: path + '.' + i,
|
|
257
246
|
parentSchemaPath: schemaPath,
|
|
258
247
|
req,
|
|
259
248
|
selectedLocales,
|
|
260
|
-
|
|
261
|
-
versionToSiblingData: toRow
|
|
249
|
+
versionSiblingData: versionRow
|
|
262
250
|
}).versionFields;
|
|
263
251
|
}
|
|
264
252
|
} else {
|
|
265
253
|
baseVersionField.fields = buildVersionFields({
|
|
266
254
|
clientSchemaMap,
|
|
255
|
+
comparisonSiblingData: comparisonValue,
|
|
267
256
|
customDiffComponents,
|
|
268
257
|
entitySlug,
|
|
269
258
|
fieldPermissions,
|
|
270
259
|
fields: field.fields,
|
|
271
260
|
i18n,
|
|
272
261
|
modifiedOnly,
|
|
273
|
-
nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,
|
|
274
262
|
parentIndexPath: 'name' in field ? '' : indexPath,
|
|
275
263
|
parentIsLocalized: parentIsLocalized || 'localized' in field && field.localized,
|
|
276
264
|
parentPath: 'name' in field ? path : parentPath,
|
|
277
265
|
parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,
|
|
278
266
|
req,
|
|
279
267
|
selectedLocales,
|
|
280
|
-
|
|
281
|
-
versionToSiblingData: valueTo
|
|
268
|
+
versionSiblingData: versionValue
|
|
282
269
|
}).versionFields;
|
|
283
|
-
if (modifiedOnly && !baseVersionField.fields?.length) {
|
|
284
|
-
return null;
|
|
285
|
-
}
|
|
286
270
|
}
|
|
287
271
|
} else if (field.type === 'blocks') {
|
|
288
272
|
baseVersionField.rows = [];
|
|
289
|
-
const blocksValue = Array.isArray(
|
|
273
|
+
const blocksValue = Array.isArray(versionValue) ? versionValue : [];
|
|
290
274
|
for (let i = 0; i < blocksValue.length; i++) {
|
|
291
|
-
const
|
|
292
|
-
const
|
|
293
|
-
const blockSlugToMatch =
|
|
294
|
-
const
|
|
275
|
+
const comparisonRow = comparisonValue?.[i] || {};
|
|
276
|
+
const versionRow = blocksValue[i] || {};
|
|
277
|
+
const blockSlugToMatch = versionRow.blockType;
|
|
278
|
+
const versionBlock = req.payload.blocks[blockSlugToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === blockSlugToMatch);
|
|
295
279
|
let fields = [];
|
|
296
|
-
if (
|
|
297
|
-
fields =
|
|
280
|
+
if (versionRow.blockType === comparisonRow.blockType) {
|
|
281
|
+
fields = versionBlock.fields;
|
|
298
282
|
} else {
|
|
299
|
-
const
|
|
300
|
-
;
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
fields = getUniqueListBy([...toBlock.fields, ...fromBlock.fields], 'name');
|
|
283
|
+
const comparisonBlockSlugToMatch = versionRow.blockType;
|
|
284
|
+
const comparisonBlock = req.payload.blocks[comparisonBlockSlugToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === comparisonBlockSlugToMatch);
|
|
285
|
+
if (comparisonBlock) {
|
|
286
|
+
fields = getUniqueListBy([...versionBlock.fields, ...comparisonBlock.fields], 'name');
|
|
304
287
|
} else {
|
|
305
|
-
fields =
|
|
288
|
+
fields = versionBlock.fields;
|
|
306
289
|
}
|
|
307
290
|
}
|
|
308
291
|
baseVersionField.rows[i] = buildVersionFields({
|
|
309
292
|
clientSchemaMap,
|
|
293
|
+
comparisonSiblingData: comparisonRow,
|
|
310
294
|
customDiffComponents,
|
|
311
295
|
entitySlug,
|
|
312
296
|
fieldPermissions,
|
|
313
297
|
fields,
|
|
314
298
|
i18n,
|
|
315
299
|
modifiedOnly,
|
|
316
|
-
nestingLevel: nestingLevel + 2,
|
|
317
300
|
parentIndexPath: 'name' in field ? '' : indexPath,
|
|
318
301
|
parentIsLocalized: parentIsLocalized || 'localized' in field && field.localized,
|
|
319
302
|
parentPath: path + '.' + i,
|
|
320
|
-
parentSchemaPath: schemaPath + '.' +
|
|
303
|
+
parentSchemaPath: schemaPath + '.' + versionBlock.slug,
|
|
321
304
|
req,
|
|
322
305
|
selectedLocales,
|
|
323
|
-
|
|
324
|
-
versionToSiblingData: toRow
|
|
306
|
+
versionSiblingData: versionRow
|
|
325
307
|
}).versionFields;
|
|
326
308
|
}
|
|
327
309
|
}
|
|
328
|
-
const
|
|
310
|
+
const clientCellProps = {
|
|
329
311
|
baseVersionField: {
|
|
330
312
|
...baseVersionField,
|
|
331
313
|
CustomComponent: undefined
|
|
332
314
|
},
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
*/
|
|
336
|
-
comparisonValue: valueFrom,
|
|
337
|
-
/**
|
|
338
|
-
* @deprecated remove in 4.0. Each field should handle its own diffing logic
|
|
339
|
-
*/
|
|
340
|
-
diffMethod: 'diffWordsWithSpace',
|
|
315
|
+
comparisonValue,
|
|
316
|
+
diffMethod,
|
|
341
317
|
field: clientField,
|
|
342
318
|
fieldPermissions: subFieldPermissions,
|
|
343
319
|
parentIsLocalized,
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* TODO: Change to valueTo in 4.0
|
|
347
|
-
*/
|
|
348
|
-
versionValue: valueTo
|
|
320
|
+
versionValue
|
|
349
321
|
};
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
}
|
|
353
|
-
const serverDiffProps = {
|
|
354
|
-
...clientDiffProps,
|
|
322
|
+
const serverCellProps = {
|
|
323
|
+
...clientCellProps,
|
|
355
324
|
clientField,
|
|
356
325
|
field,
|
|
357
326
|
i18n,
|
|
@@ -359,12 +328,18 @@ const buildVersionField = ({
|
|
|
359
328
|
selectedLocales
|
|
360
329
|
};
|
|
361
330
|
baseVersionField.CustomComponent = RenderServerComponent({
|
|
362
|
-
clientProps:
|
|
331
|
+
clientProps: locale ? {
|
|
332
|
+
...clientCellProps,
|
|
333
|
+
locale
|
|
334
|
+
} : clientCellProps,
|
|
363
335
|
Component: CustomComponent,
|
|
364
336
|
Fallback: DefaultComponent,
|
|
365
337
|
importMap: req.payload.importMap,
|
|
366
338
|
key: 'diff component',
|
|
367
|
-
serverProps:
|
|
339
|
+
serverProps: locale ? {
|
|
340
|
+
...serverCellProps,
|
|
341
|
+
locale
|
|
342
|
+
} : serverCellProps
|
|
368
343
|
});
|
|
369
344
|
return baseVersionField;
|
|
370
345
|
};
|
|
@@ -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","arrayValue","isArray","rows","i","fromRow","toRow","blocksValue","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) {\n const arrayValue = Array.isArray(valueTo) ? valueTo : []\n baseVersionField.rows = []\n\n for (let i = 0; i < arrayValue.length; i++) {\n const fromRow = valueFrom?.[i] || {}\n const toRow = arrayValue?.[i] || {}\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\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 } 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 blocksValue = Array.isArray(valueTo) ? valueTo : []\n\n for (let i = 0; i < blocksValue.length; i++) {\n const fromRow = valueFrom?.[i] || {}\n const toRow = blocksValue[i] || {}\n\n const blockSlugToMatch: string = toRow.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 // TODO: Verify this is correct\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 + 2,\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 }\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","getUniqueListBy","tabHasName","diffMethods","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","comparisonSiblingData","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","versionValue","comparisonValue","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","localized","push","diffMethod","type","hasPermission","read","subFieldPermissions","CustomComponent","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","label","arrayValue","isArray","rows","i","length","comparisonRow","versionRow","blocksValue","blockSlugToMatch","blockType","versionBlock","blocks","blockReferences","find","block","slug","comparisonBlockSlugToMatch","comparisonBlock","clientCellProps","undefined","serverCellProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\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 { diffMethods } from './fields/diffMethods.js'\nimport { diffComponents } from './fields/index.js'\nimport { getFieldPathsModified } from './utilities/getFieldPathsModified.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n comparisonSiblingData: object\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 parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionSiblingData: 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 comparisonSiblingData,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData,\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 versionValue = fieldName ? versionSiblingData?.[fieldName] : versionSiblingData\n\n const comparisonValue = fieldName ? comparisonSiblingData?.[fieldName] : comparisonSiblingData\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 comparisonValue: comparisonValue?.[locale],\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue: versionValue?.[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 comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n modifiedOnly,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n versionFields.push(versionField)\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\n}: {\n clientField: ClientField\n comparisonValue: unknown\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n versionValue: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n 'comparisonSiblingData' | 'fields' | 'parentIndexPath' | 'versionSiblingData'\n>): BaseVersionField | null => {\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\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(versionValue, comparisonValue)) {\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 baseVersionField.tabs.push({\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: 'name' in tab ? comparisonValue?.[tab.name] : comparisonValue,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: tab.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : path,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData: 'name' in tab ? versionValue?.[tab.name] : versionValue,\n }).versionFields,\n label: tab.label,\n })\n }\n } // At this point, we are dealing with a `row`, `collapsible`, etc\n else if ('fields' in field) {\n if (field.type === 'array' && versionValue) {\n const arrayValue = Array.isArray(versionValue) ? versionValue : []\n baseVersionField.rows = []\n\n for (let i = 0; i < arrayValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = arrayValue?.[i] || {}\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionSiblingData: versionRow,\n }).versionFields\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonValue as object,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\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 versionSiblingData: versionValue as object,\n }).versionFields\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const blocksValue = Array.isArray(versionValue) ? versionValue : []\n\n for (let i = 0; i < blocksValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = blocksValue[i] || {}\n\n const blockSlugToMatch: string = versionRow.blockType\n const versionBlock =\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 (versionRow.blockType === comparisonRow.blockType) {\n fields = versionBlock.fields\n } else {\n const comparisonBlockSlugToMatch: string = versionRow.blockType\n\n const comparisonBlock =\n req.payload.blocks[comparisonBlockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === comparisonBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (comparisonBlock) {\n fields = getUniqueListBy<Field>(\n [...versionBlock.fields, ...comparisonBlock.fields],\n 'name',\n )\n } else {\n fields = versionBlock.fields\n }\n }\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath + '.' + versionBlock.slug,\n req,\n selectedLocales,\n versionSiblingData: versionRow,\n }).versionFields\n }\n }\n\n const clientCellProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n comparisonValue,\n diffMethod,\n field: clientField,\n fieldPermissions: subFieldPermissions,\n parentIsLocalized,\n versionValue,\n }\n\n const serverCellProps: FieldDiffServerProps = {\n ...clientCellProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: locale\n ? ({\n ...clientCellProps,\n locale,\n } as FieldDiffClientProps)\n : clientCellProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: locale\n ? ({\n ...serverCellProps,\n locale,\n } as FieldDiffServerProps)\n : serverCellProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,10 +13,10 @@ export const Collapsible = t0 => {
|
|
|
13
13
|
const $ = _c(11);
|
|
14
14
|
const {
|
|
15
15
|
baseVersionField,
|
|
16
|
-
comparisonValue
|
|
16
|
+
comparisonValue,
|
|
17
17
|
field,
|
|
18
18
|
parentIsLocalized,
|
|
19
|
-
versionValue
|
|
19
|
+
versionValue
|
|
20
20
|
} = t0;
|
|
21
21
|
const {
|
|
22
22
|
i18n
|
|
@@ -40,28 +40,28 @@ export const Collapsible = t0 => {
|
|
|
40
40
|
}
|
|
41
41
|
const t2 = parentIsLocalized || field.localized;
|
|
42
42
|
let t3;
|
|
43
|
-
if ($[3] !== baseVersionField.fields || $[4] !==
|
|
43
|
+
if ($[3] !== baseVersionField.fields || $[4] !== comparisonValue || $[5] !== field.fields || $[6] !== selectedLocales || $[7] !== t1 || $[8] !== t2 || $[9] !== versionValue) {
|
|
44
44
|
t3 = _jsx("div", {
|
|
45
45
|
className: baseClass,
|
|
46
46
|
children: _jsx(DiffCollapser, {
|
|
47
|
+
comparison: comparisonValue,
|
|
47
48
|
fields: field.fields,
|
|
48
49
|
label: t1,
|
|
49
50
|
locales: selectedLocales,
|
|
50
51
|
parentIsLocalized: t2,
|
|
51
|
-
|
|
52
|
-
valueTo,
|
|
52
|
+
version: versionValue,
|
|
53
53
|
children: _jsx(RenderVersionFieldsToDiff, {
|
|
54
54
|
versionFields: baseVersionField.fields
|
|
55
55
|
})
|
|
56
56
|
})
|
|
57
57
|
});
|
|
58
58
|
$[3] = baseVersionField.fields;
|
|
59
|
-
$[4] =
|
|
60
|
-
$[5] =
|
|
61
|
-
$[6] =
|
|
62
|
-
$[7] =
|
|
63
|
-
$[8] =
|
|
64
|
-
$[9] =
|
|
59
|
+
$[4] = comparisonValue;
|
|
60
|
+
$[5] = field.fields;
|
|
61
|
+
$[6] = selectedLocales;
|
|
62
|
+
$[7] = t1;
|
|
63
|
+
$[8] = t2;
|
|
64
|
+
$[9] = versionValue;
|
|
65
65
|
$[10] = t3;
|
|
66
66
|
} else {
|
|
67
67
|
t3 = $[10];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","comparisonValue","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","comparisonValue","field","parentIsLocalized","versionValue","i18n","selectedLocales","fields","length","t1","label","_jsx","children","t2","localized","t3","className","comparison","version","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'collapsible-diff'\n\nexport const Collapsible: CollapsibleFieldDiffClientComponent = ({\n baseVersionField,\n comparisonValue,\n field,\n parentIsLocalized,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!baseVersionField.fields?.length) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n comparison={comparisonValue}\n fields={field.fields}\n label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && <span>{getTranslation(field.label, i18n)}</span>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n version={versionValue}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA;IAAAC,KAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAN,EAMhE;EACC;IAAAO;EAAA,IAAiBd,cAAA;EACjB;IAAAe;EAAA,IAA4Bb,kBAAA;EAAA,KAEvBO,gBAAA,CAAAO,MAAA,EAAAC,MAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAM,IAAA;IAUGI,EAAA,cAAWP,KAAA,IACXA,KAAA,CAAAQ,KAAW,IACX,OAAOR,KAAA,CAAAQ,KAAA,KAAgB,cAAcC,IAAA,CAAC;MAAAC,QAAA,EAAMtB,cAAA,CAAeY,KAAA,CAAAQ,KAAA,EAAaL,IAAA;IAAA,C;;;;;;;EAGvD,MAAAQ,EAAA,GAAAV,iBAAA,IAAqBD,KAAA,CAAAY,SAAe;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAC,gBAAA,CAAAO,MAAA,IAAAR,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,KAAA,CAAAK,MAAA,IAAAR,CAAA,QAAAO,eAAA,IAAAP,CAAA,QAAAU,EAAA,IAAAV,CAAA,QAAAc,EAAA,IAAAd,CAAA,QAAAK,YAAA;IAV3DW,EAAA,GAAAJ,IAAA,CAAC;MAAAK,SAAA,EAAApB,SAAA;MAAAgB,QAAA,EACCD,IAAA,CAAAjB,aAAA;QAAAuB,UAAA,EACchB,eAAA;QAAAM,MAAA,EACJL,KAAA,CAAAK,MAAA;QAAAG,KAAA,EAEND,E;iBAIOH,eAAA;QAAAH,iBAAA,EACUU,EAAoC;QAAAK,OAAA,EAC9Cd,YAAA;QAAAQ,QAAA,EAETD,IAAA,CAAAhB,yBAAA;UAAAwB,aAAA,EAA0CnB,gBAAA,CAAAO;QAAA,C;;;;;;;;;;;;;;SAb9CQ,E;CAiBJ","ignoreList":[]}
|
|
@@ -13,11 +13,11 @@ export const Group = t0 => {
|
|
|
13
13
|
const $ = _c(12);
|
|
14
14
|
const {
|
|
15
15
|
baseVersionField,
|
|
16
|
-
comparisonValue
|
|
16
|
+
comparisonValue,
|
|
17
17
|
field,
|
|
18
18
|
locale,
|
|
19
19
|
parentIsLocalized,
|
|
20
|
-
versionValue
|
|
20
|
+
versionValue
|
|
21
21
|
} = t0;
|
|
22
22
|
const {
|
|
23
23
|
i18n
|
|
@@ -42,28 +42,28 @@ export const Group = t0 => {
|
|
|
42
42
|
}
|
|
43
43
|
const t2 = parentIsLocalized || field.localized;
|
|
44
44
|
let t3;
|
|
45
|
-
if ($[4] !== baseVersionField.fields || $[5] !==
|
|
45
|
+
if ($[4] !== baseVersionField.fields || $[5] !== comparisonValue || $[6] !== field.fields || $[7] !== selectedLocales || $[8] !== t1 || $[9] !== t2 || $[10] !== versionValue) {
|
|
46
46
|
t3 = _jsx("div", {
|
|
47
47
|
className: baseClass,
|
|
48
48
|
children: _jsx(DiffCollapser, {
|
|
49
|
+
comparison: comparisonValue,
|
|
49
50
|
fields: field.fields,
|
|
50
51
|
label: t1,
|
|
51
52
|
locales: selectedLocales,
|
|
52
53
|
parentIsLocalized: t2,
|
|
53
|
-
|
|
54
|
-
valueTo,
|
|
54
|
+
version: versionValue,
|
|
55
55
|
children: _jsx(RenderVersionFieldsToDiff, {
|
|
56
56
|
versionFields: baseVersionField.fields
|
|
57
57
|
})
|
|
58
58
|
})
|
|
59
59
|
});
|
|
60
60
|
$[4] = baseVersionField.fields;
|
|
61
|
-
$[5] =
|
|
62
|
-
$[6] =
|
|
63
|
-
$[7] =
|
|
64
|
-
$[8] =
|
|
65
|
-
$[9] =
|
|
66
|
-
$[10] =
|
|
61
|
+
$[5] = comparisonValue;
|
|
62
|
+
$[6] = field.fields;
|
|
63
|
+
$[7] = selectedLocales;
|
|
64
|
+
$[8] = t1;
|
|
65
|
+
$[9] = t2;
|
|
66
|
+
$[10] = versionValue;
|
|
67
67
|
$[11] = t3;
|
|
68
68
|
} else {
|
|
69
69
|
t3 = $[11];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","comparisonValue","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","comparisonValue","field","locale","parentIsLocalized","versionValue","i18n","selectedLocales","t1","label","_jsxs","children","_jsx","className","t2","localized","t3","fields","comparison","version","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { GroupFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport './index.scss'\n\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'group-diff'\n\nexport const Group: GroupFieldDiffClientComponent = ({\n baseVersionField,\n comparisonValue,\n field,\n locale,\n parentIsLocalized,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n comparison={comparisonValue}\n fields={field.fields}\n label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n version={versionValue}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAI/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,KAAA,GAAuCC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAP,EAOpD;EACC;IAAAQ;EAAA,IAAiBf,cAAA;EACjB;IAAAgB;EAAA,IAA4Bd,kBAAA;EAAA,IAAAe,EAAA;EAAA,IAAAT,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAI,MAAA;IAQpBK,EAAA,cAAWN,KAAA,IACXA,KAAA,CAAAO,KAAW,IACX,OAAOP,KAAA,CAAAO,KAAA,KAAgB,cACrBC,KAAA,CAAC;MAAAC,QAAA,GACER,MAAA,IAAUS,IAAA,CAAC;QAAAC,SAAA,EAAgB,GAAAjB,SAAA,gBAA4B;QAAAe,QAAA,EAAGR;MAAA,C,GAC1Db,cAAA,CAAeY,KAAA,CAAAO,KAAA,EAAaH,IAAA;IAAA,C;;;;;;;;EAKhB,MAAAQ,EAAA,GAAAV,iBAAA,IAAqBF,KAAA,CAAAa,SAAe;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,gBAAA,CAAAiB,MAAA,IAAAlB,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,KAAA,CAAAe,MAAA,IAAAlB,CAAA,QAAAQ,eAAA,IAAAR,CAAA,QAAAS,EAAA,IAAAT,CAAA,QAAAe,EAAA,IAAAf,CAAA,SAAAM,YAAA;IAf3DW,EAAA,GAAAJ,IAAA,CAAC;MAAAC,SAAA,EAAAjB,SAAA;MAAAe,QAAA,EACCC,IAAA,CAAAlB,aAAA;QAAAwB,UAAA,EACcjB,eAAA;QAAAgB,MAAA,EACJf,KAAA,CAAAe,MAAA;QAAAR,KAAA,EAEND,E;iBASOD,eAAA;QAAAH,iBAAA,EACUU,EAAoC;QAAAK,OAAA,EAC9Cd,YAAA;QAAAM,QAAA,EAETC,IAAA,CAAAjB,yBAAA;UAAAyB,aAAA,EAA0CpB,gBAAA,CAAAiB;QAAA,C;;;;;;;;;;;;;;SAlB9CD,E;CAsBJ","ignoreList":[]}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
@layer payload-default {
|
|
2
2
|
.group-diff {
|
|
3
|
+
&__locale-label {
|
|
4
|
+
background: var(--theme-elevation-100);
|
|
5
|
+
padding: calc(var(--base) * 0.25);
|
|
6
|
+
[dir='ltr'] & {
|
|
7
|
+
margin-right: calc(var(--base) * 0.25);
|
|
8
|
+
}
|
|
9
|
+
[dir='rtl'] & {
|
|
10
|
+
margin-left: calc(var(--base) * 0.25);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
3
13
|
}
|
|
4
14
|
}
|