@payloadcms/next 3.0.0-beta.34 → 3.0.0-beta.36
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/cjs/withPayload.cjs +23 -0
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +35 -15
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/exports/views.d.ts +2 -1
- package/dist/exports/views.d.ts.map +1 -1
- package/dist/exports/views.js +2 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +31 -15
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/auth/access.d.ts.map +1 -1
- package/dist/routes/rest/auth/access.js +17 -7
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/og/image.js +64 -50
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +2 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.js +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +11 -0
- package/dist/utilities/getRequestTheme.d.ts.map +1 -0
- package/dist/utilities/getRequestTheme.js +19 -0
- package/dist/utilities/getRequestTheme.js.map +1 -0
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +1 -0
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +99 -70
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +128 -91
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +2 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/Account/Settings/index.js +27 -15
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +2 -1
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +53 -39
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +29 -19
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +16 -6
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.client.js +67 -56
- package/dist/views/Dashboard/Default/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +28 -19
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +23 -17
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +10 -0
- package/dist/views/Document/getDocumentData.d.ts.map +1 -0
- package/dist/views/Document/getDocumentData.js +24 -0
- package/dist/views/Document/getDocumentData.js.map +1 -0
- package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
- package/dist/views/Document/getDocumentPermissions.js +83 -0
- package/dist/views/Document/getDocumentPermissions.js.map +1 -0
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +63 -64
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +78 -50
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +84 -65
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/index.client.js +10 -4
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js +2 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +37 -17
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.js +151 -81
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/index.js +52 -43
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/Context/context.d.ts +1 -1
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js +9 -6
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js +5 -3
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js +2 -1
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js +25 -14
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js +29 -14
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +103 -76
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js +2 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +62 -48
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +26 -19
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +21 -7
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +13 -10
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js +22 -10
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +21 -14
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/index.client.js +17 -8
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.js +46 -25
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +29 -13
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.js +19 -8
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.js +20 -11
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/index.js +83 -57
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.js +38 -18
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +32 -24
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +17 -11
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.js +2 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +7 -6
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +4 -1
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +61 -29
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +31 -22
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +23 -0
- package/dist/withPayload.js.map +1 -1
- package/package.json +14 -10
|
@@ -1,99 +1,102 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import Nested from './fields/Nested/index.js';
|
|
4
5
|
import { diffMethods } from './fields/diffMethods.js';
|
|
5
6
|
const baseClass = 'render-field-diffs';
|
|
6
7
|
const RenderFieldsToDiff = ({ comparison, diffComponents, fieldMap, fieldPermissions, i18n, locales, version })=>{
|
|
7
|
-
return /*#__PURE__*/
|
|
8
|
-
className: baseClass
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
9
|
+
className: baseClass,
|
|
10
|
+
children: fieldMap?.map((field, i)=>{
|
|
11
|
+
if ('name' in field && field.name === 'id') return null;
|
|
12
|
+
const Component = diffComponents[field.type];
|
|
13
|
+
const isRichText = field.type === 'richText';
|
|
14
|
+
const diffMethod = diffMethods[field.type] || 'CHARS';
|
|
15
|
+
if (Component) {
|
|
16
|
+
if (field.isFieldAffectingData && 'name' in field) {
|
|
17
|
+
const fieldName = field.name;
|
|
18
|
+
const valueIsObject = field.type === 'code' || field.type === 'json';
|
|
19
|
+
const versionValue = valueIsObject ? JSON.stringify(version?.[fieldName]) : version?.[fieldName];
|
|
20
|
+
const comparisonValue = valueIsObject ? JSON.stringify(comparison?.[fieldName]) : comparison?.[fieldName];
|
|
21
|
+
const hasPermission = fieldPermissions?.[fieldName]?.read?.permission;
|
|
22
|
+
const subFieldPermissions = fieldPermissions?.[fieldName]?.fields;
|
|
23
|
+
if (hasPermission === false) return null;
|
|
24
|
+
const baseCellProps = {
|
|
25
|
+
comparison: comparisonValue,
|
|
26
|
+
diffComponents,
|
|
27
|
+
diffMethod,
|
|
28
|
+
field,
|
|
29
|
+
fieldMap: 'fieldMap' in field.fieldComponentProps ? field.fieldComponentProps?.fieldMap : fieldMap,
|
|
30
|
+
fieldPermissions: subFieldPermissions,
|
|
31
|
+
i18n,
|
|
32
|
+
isRichText,
|
|
33
|
+
locales,
|
|
34
|
+
version: versionValue
|
|
35
|
+
};
|
|
36
|
+
if (field.localized) {
|
|
37
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
38
|
+
className: `${baseClass}__field`,
|
|
39
|
+
children: locales.map((locale, index)=>{
|
|
40
|
+
const versionLocaleValue = versionValue?.[locale];
|
|
41
|
+
const comparisonLocaleValue = comparisonValue?.[locale];
|
|
42
|
+
const cellProps = {
|
|
43
|
+
...baseCellProps,
|
|
44
|
+
comparison: comparisonLocaleValue,
|
|
45
|
+
version: versionLocaleValue
|
|
46
|
+
};
|
|
47
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
48
|
+
className: `${baseClass}__locale`,
|
|
49
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
50
|
+
className: `${baseClass}__locale-value`,
|
|
51
|
+
children: /*#__PURE__*/ _jsx(Component, {
|
|
52
|
+
...cellProps,
|
|
53
|
+
locale: locale
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
}, [
|
|
57
|
+
locale,
|
|
58
|
+
index
|
|
59
|
+
].join('-'));
|
|
60
|
+
})
|
|
61
|
+
}, i);
|
|
62
|
+
}
|
|
63
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
37
64
|
className: `${baseClass}__field`,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
children: /*#__PURE__*/ _jsx(Component, {
|
|
66
|
+
...baseCellProps
|
|
67
|
+
})
|
|
68
|
+
}, i);
|
|
69
|
+
}
|
|
70
|
+
if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {
|
|
71
|
+
const Tabs = diffComponents.tabs;
|
|
72
|
+
return /*#__PURE__*/ _jsx(Tabs, {
|
|
73
|
+
comparison: comparison,
|
|
74
|
+
diffComponents: diffComponents,
|
|
75
|
+
field: field,
|
|
76
|
+
fieldMap: field.fieldComponentProps.fieldMap,
|
|
77
|
+
i18n: i18n,
|
|
78
|
+
locales: locales,
|
|
79
|
+
version: version
|
|
80
|
+
}, i);
|
|
81
|
+
}
|
|
82
|
+
// At this point, we are dealing with a `row`, etc
|
|
83
|
+
if ('fieldMap' in field.fieldComponentProps) {
|
|
84
|
+
return /*#__PURE__*/ _jsx(Nested, {
|
|
85
|
+
comparison: comparison,
|
|
86
|
+
diffComponents: diffComponents,
|
|
87
|
+
disableGutter: true,
|
|
88
|
+
field: field,
|
|
89
|
+
fieldMap: field.fieldComponentProps.fieldMap,
|
|
90
|
+
i18n: i18n,
|
|
91
|
+
locales: locales,
|
|
92
|
+
permissions: fieldPermissions,
|
|
93
|
+
version: version
|
|
94
|
+
}, i);
|
|
60
95
|
}
|
|
61
|
-
return /*#__PURE__*/ React.createElement("div", {
|
|
62
|
-
className: `${baseClass}__field`,
|
|
63
|
-
key: i
|
|
64
|
-
}, /*#__PURE__*/ React.createElement(Component, baseCellProps));
|
|
65
|
-
}
|
|
66
|
-
if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {
|
|
67
|
-
const Tabs = diffComponents.tabs;
|
|
68
|
-
return /*#__PURE__*/ React.createElement(Tabs, {
|
|
69
|
-
comparison: comparison,
|
|
70
|
-
diffComponents: diffComponents,
|
|
71
|
-
field: field,
|
|
72
|
-
fieldMap: field.fieldComponentProps.fieldMap,
|
|
73
|
-
i18n: i18n,
|
|
74
|
-
key: i,
|
|
75
|
-
locales: locales,
|
|
76
|
-
version: version
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
// At this point, we are dealing with a `row`, etc
|
|
80
|
-
if ('fieldMap' in field.fieldComponentProps) {
|
|
81
|
-
return /*#__PURE__*/ React.createElement(Nested, {
|
|
82
|
-
comparison: comparison,
|
|
83
|
-
diffComponents: diffComponents,
|
|
84
|
-
disableGutter: true,
|
|
85
|
-
field: field,
|
|
86
|
-
fieldMap: field.fieldComponentProps.fieldMap,
|
|
87
|
-
i18n: i18n,
|
|
88
|
-
key: i,
|
|
89
|
-
locales: locales,
|
|
90
|
-
permissions: fieldPermissions,
|
|
91
|
-
version: version
|
|
92
|
-
});
|
|
93
96
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
})
|
|
97
|
+
return null;
|
|
98
|
+
})
|
|
99
|
+
});
|
|
97
100
|
};
|
|
98
101
|
export default RenderFieldsToDiff;
|
|
99
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport React from 'react'\n\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport Nested from './fields/Nested/index.js'\nimport { diffMethods } from './fields/diffMethods.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents,\n fieldMap,\n fieldPermissions,\n i18n,\n locales,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {fieldMap?.map((field, i) => {\n if ('name' in field && field.name === 'id') return null\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (field.isFieldAffectingData && 'name' in field) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission = fieldPermissions?.[fieldName]?.read?.permission\n\n const subFieldPermissions = fieldPermissions?.[fieldName]?.fields\n\n if (hasPermission === false) return null\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldMap:\n 'fieldMap' in field.fieldComponentProps\n ? field.fieldComponentProps?.fieldMap\n : fieldMap,\n fieldPermissions: subFieldPermissions,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fieldMap' in field.fieldComponentProps) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"names":["React","Nested","diffMethods","baseClass","RenderFieldsToDiff","comparison","diffComponents","fieldMap","fieldPermissions","i18n","locales","version","div","className","map","field","i","name","Component","type","isRichText","diffMethod","isFieldAffectingData","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","permission","subFieldPermissions","fields","baseCellProps","fieldComponentProps","localized","
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport React from 'react'\n\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport Nested from './fields/Nested/index.js'\nimport { diffMethods } from './fields/diffMethods.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents,\n fieldMap,\n fieldPermissions,\n i18n,\n locales,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {fieldMap?.map((field, i) => {\n if ('name' in field && field.name === 'id') return null\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (field.isFieldAffectingData && 'name' in field) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission = fieldPermissions?.[fieldName]?.read?.permission\n\n const subFieldPermissions = fieldPermissions?.[fieldName]?.fields\n\n if (hasPermission === false) return null\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldMap:\n 'fieldMap' in field.fieldComponentProps\n ? field.fieldComponentProps?.fieldMap\n : fieldMap,\n fieldPermissions: subFieldPermissions,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fieldMap' in field.fieldComponentProps) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"names":["React","Nested","diffMethods","baseClass","RenderFieldsToDiff","comparison","diffComponents","fieldMap","fieldPermissions","i18n","locales","version","div","className","map","field","i","name","Component","type","isRichText","diffMethod","isFieldAffectingData","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","permission","subFieldPermissions","fields","baseCellProps","fieldComponentProps","localized","locale","index","versionLocaleValue","comparisonLocaleValue","cellProps","join","Tabs","tabs","disableGutter","permissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
4
|
import { Button } from '@payloadcms/ui/elements/Button';
|
|
4
5
|
import { Modal, useModal } from '@payloadcms/ui/elements/Modal';
|
|
@@ -53,24 +54,43 @@ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID,
|
|
|
53
54
|
i18n,
|
|
54
55
|
router
|
|
55
56
|
]);
|
|
56
|
-
return /*#__PURE__*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
57
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
|
58
|
+
children: [
|
|
59
|
+
/*#__PURE__*/ _jsx(Pill, {
|
|
60
|
+
className: [
|
|
61
|
+
baseClass,
|
|
62
|
+
className
|
|
63
|
+
].filter(Boolean).join(' '),
|
|
64
|
+
onClick: ()=>toggleModal(modalSlug),
|
|
65
|
+
children: t('version:restoreThisVersion')
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ _jsx(Modal, {
|
|
68
|
+
className: `${baseClass}__modal`,
|
|
69
|
+
slug: modalSlug,
|
|
70
|
+
children: /*#__PURE__*/ _jsxs(MinimalTemplate, {
|
|
71
|
+
className: `${baseClass}__modal-template`,
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ _jsx("h1", {
|
|
74
|
+
children: t('version:confirmVersionRestoration')
|
|
75
|
+
}),
|
|
76
|
+
/*#__PURE__*/ _jsx("p", {
|
|
77
|
+
children: restoreMessage
|
|
78
|
+
}),
|
|
79
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
80
|
+
buttonStyle: "secondary",
|
|
81
|
+
onClick: processing ? undefined : ()=>toggleModal(modalSlug),
|
|
82
|
+
type: "button",
|
|
83
|
+
children: t('general:cancel')
|
|
84
|
+
}),
|
|
85
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
86
|
+
onClick: processing ? undefined : handleRestore,
|
|
87
|
+
children: processing ? t('version:restoring') : t('general:confirm')
|
|
88
|
+
})
|
|
89
|
+
]
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
]
|
|
93
|
+
});
|
|
74
94
|
};
|
|
75
95
|
export default Restore;
|
|
76
96
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Modal, useModal } from '@payloadcms/ui/elements/Modal'\nimport { Pill } from '@payloadcms/ui/elements/Pill'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { MinimalTemplate } from '@payloadcms/ui/templates/Minimal'\nimport { requests } from '@payloadcms/ui/utilities/api'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\n// import { requests } from '../../../../api'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n versionDate,\n versionID,\n}) => {\n const {\n routes: { admin, api },\n serverURL,\n } = useConfig()\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${api}`\n let redirectURL: string\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`\n redirectURL = `${admin}/collections/${collectionSlug}/${originalDocID}`\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`\n redirectURL = `${admin}/globals/${globalSlug}`\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n\n return (\n <Fragment>\n <Pill\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : handleRestore}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","Modal","useModal","Pill","useConfig","useTranslation","MinimalTemplate","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","versionDate","versionID","routes","admin","api","serverURL","toggleModal","processing","setProcessing","router","i18n","t","restoreMessage","fetchURL","redirectURL","handleRestore","res","post","headers","language","status","json","success","message","push","error","filter","Boolean","join","onClick","slug","h1","p","buttonStyle","undefined","type"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Modal, useModal } from '@payloadcms/ui/elements/Modal'\nimport { Pill } from '@payloadcms/ui/elements/Pill'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { MinimalTemplate } from '@payloadcms/ui/templates/Minimal'\nimport { requests } from '@payloadcms/ui/utilities/api'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\n// import { requests } from '../../../../api'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n versionDate,\n versionID,\n}) => {\n const {\n routes: { admin, api },\n serverURL,\n } = useConfig()\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${api}`\n let redirectURL: string\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`\n redirectURL = `${admin}/collections/${collectionSlug}/${originalDocID}`\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`\n redirectURL = `${admin}/globals/${globalSlug}`\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n\n return (\n <Fragment>\n <Pill\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : handleRestore}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","Modal","useModal","Pill","useConfig","useTranslation","MinimalTemplate","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","versionDate","versionID","routes","admin","api","serverURL","toggleModal","processing","setProcessing","router","i18n","t","restoreMessage","fetchURL","redirectURL","handleRestore","res","post","headers","language","status","json","success","message","push","error","filter","Boolean","join","onClick","slug","h1","p","buttonStyle","undefined","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,KAAK,EAAEC,QAAQ,QAAQ,gCAA+B;AAC/D,SAASC,IAAI,QAAQ,+BAA8B;AACnD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,+BAA8B;AACvD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,SAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AAC9D,SAASC,KAAK,QAAQ,iBAAgB;AAOtC,MAAMC,YAAY;AAClB,MAAMC,YAAY;AAElB,MAAMC,UAA2B,CAAC,EAChCC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,KAAK,EACLC,aAAa,EACbC,WAAW,EACXC,SAAS,EACV;IACC,MAAM,EACJC,QAAQ,EAAEC,KAAK,EAAEC,GAAG,EAAE,EACtBC,SAAS,EACV,GAAGvB;IACJ,MAAM,EAAEwB,WAAW,EAAE,GAAG1B;IACxB,MAAM,CAAC2B,YAAYC,cAAc,GAAGlB,SAAS;IAC7C,MAAMmB,SAASvB;IACf,MAAM,EAAEwB,IAAI,EAAEC,CAAC,EAAE,GAAG5B;IAEpB,MAAM6B,iBAAiBD,EAAE,gCAAgC;QACvDb,OAAOrB,eAAeqB,OAAOY;QAC7BV;IACF;IAEA,IAAIa,WAAW,CAAC,EAAER,UAAU,EAAED,IAAI,CAAC;IACnC,IAAIU;IAEJ,IAAIlB,gBAAgB;QAClBiB,WAAW,CAAC,EAAEA,SAAS,CAAC,EAAEjB,eAAe,UAAU,EAAEK,UAAU,CAAC;QAChEa,cAAc,CAAC,EAAEX,MAAM,aAAa,EAAEP,eAAe,CAAC,EAAEG,cAAc,CAAC;IACzE;IAEA,IAAIF,YAAY;QACdgB,WAAW,CAAC,EAAEA,SAAS,SAAS,EAAEhB,WAAW,UAAU,EAAEI,UAAU,CAAC;QACpEa,cAAc,CAAC,EAAEX,MAAM,SAAS,EAAEN,WAAW,CAAC;IAChD;IAEA,MAAMkB,gBAAgB1B,YAAY;QAChCmB,cAAc;QAEd,MAAMQ,MAAM,MAAM/B,SAASgC,IAAI,CAACJ,UAAU;YACxCK,SAAS;gBACP,mBAAmBR,KAAKS,QAAQ;YAClC;QACF;QAEA,IAAIH,IAAII,MAAM,KAAK,KAAK;YACtB,MAAMC,OAAO,MAAML,IAAIK,IAAI;YAC3B9B,MAAM+B,OAAO,CAACD,KAAKE,OAAO;YAC1Bd,OAAOe,IAAI,CAACV;QACd,OAAO;YACLvB,MAAMkC,KAAK,CAACd,EAAE;QAChB;IACF,GAAG;QAACE;QAAUC;QAAaH;QAAGD;QAAMD;KAAO;IAE3C,qBACE,MAACrB;;0BACC,KAACP;gBACCc,WAAW;oBAACH;oBAAWG;iBAAU,CAAC+B,MAAM,CAACC,SAASC,IAAI,CAAC;gBACvDC,SAAS,IAAMvB,YAAYb;0BAE1BkB,EAAE;;0BAEL,KAAChC;gBAAMgB,WAAW,CAAC,EAAEH,UAAU,OAAO,CAAC;gBAAEsC,MAAMrC;0BAC7C,cAAA,MAACT;oBAAgBW,WAAW,CAAC,EAAEH,UAAU,gBAAgB,CAAC;;sCACxD,KAACuC;sCAAIpB,EAAE;;sCACP,KAACqB;sCAAGpB;;sCACJ,KAAClC;4BACCuD,aAAY;4BACZJ,SAAStB,aAAa2B,YAAY,IAAM5B,YAAYb;4BACpD0C,MAAK;sCAEJxB,EAAE;;sCAEL,KAACjC;4BAAOmD,SAAStB,aAAa2B,YAAYnB;sCACvCR,aAAaI,EAAE,uBAAuBA,EAAE;;;;;;;AAMrD;AAEA,eAAejB,QAAO"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect';
|
|
3
4
|
import { fieldBaseClass } from '@payloadcms/ui/fields/shared';
|
|
4
5
|
import { useConfig } from '@payloadcms/ui/providers/Config';
|
|
@@ -97,34 +98,41 @@ export const SelectComparison = (props)=>{
|
|
|
97
98
|
}, [
|
|
98
99
|
getResults
|
|
99
100
|
]);
|
|
100
|
-
return /*#__PURE__*/
|
|
101
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
101
102
|
className: [
|
|
102
103
|
fieldBaseClass,
|
|
103
104
|
baseClass,
|
|
104
105
|
errorLoading && 'error-loading'
|
|
105
|
-
].filter(Boolean).join(' ')
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
106
|
+
].filter(Boolean).join(' '),
|
|
107
|
+
children: [
|
|
108
|
+
/*#__PURE__*/ _jsx("div", {
|
|
109
|
+
className: `${baseClass}__label`,
|
|
110
|
+
children: t('version:compareVersion')
|
|
111
|
+
}),
|
|
112
|
+
!errorLoading && /*#__PURE__*/ _jsx(ReactSelect, {
|
|
113
|
+
isClearable: false,
|
|
114
|
+
isSearchable: false,
|
|
115
|
+
onChange: onChange,
|
|
116
|
+
onMenuScrollToBottom: ()=>{
|
|
117
|
+
void getResults({
|
|
118
|
+
lastLoadedPage: lastLoadedPage + 1
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
options: [
|
|
122
|
+
...publishedDoc?._status === 'published' ? [
|
|
123
|
+
publishedVersionOption
|
|
124
|
+
] : [],
|
|
125
|
+
...options
|
|
126
|
+
],
|
|
127
|
+
placeholder: t('version:selectVersionToCompare'),
|
|
128
|
+
value: value
|
|
129
|
+
}),
|
|
130
|
+
errorLoading && /*#__PURE__*/ _jsx("div", {
|
|
131
|
+
className: `${baseClass}__error-loading`,
|
|
132
|
+
children: errorLoading
|
|
133
|
+
})
|
|
134
|
+
]
|
|
135
|
+
});
|
|
128
136
|
};
|
|
129
137
|
|
|
130
138
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { fieldBaseClass } from '@payloadcms/ui/fields/shared'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { formatDate } from '@payloadcms/ui/utilities/formatDate'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { mostRecentVersionOption, publishedVersionOption } from '../shared.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = [mostRecentVersionOption]\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const { docConfig } = useDocumentInfo()\n const [options, setOptions] = useState(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (docConfig.versions?.drafts) {\n query.where.and.push({\n latest: {\n not_equals: true,\n },\n })\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n setOptions((existingOptions) => [\n ...existingOptions,\n ...data.docs.map((doc) => ({\n label: formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat }),\n value: doc.id,\n })),\n ])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, docConfig.versions?.drafts],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={[\n ...(publishedDoc?._status === 'published' ? [publishedVersionOption] : []),\n ...options,\n ]}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useDocumentInfo","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","mostRecentVersionOption","publishedVersionOption","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","onChange","parentID","publishedDoc","value","versionID","admin","dateFormat","docConfig","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","versions","drafts","push","latest","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","existingOptions","map","doc","label","date","updatedAt","pattern","hasNextPage","div","className","filter","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","_status","placeholder"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { fieldBaseClass } from '@payloadcms/ui/fields/shared'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { formatDate } from '@payloadcms/ui/utilities/formatDate'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { mostRecentVersionOption, publishedVersionOption } from '../shared.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = [mostRecentVersionOption]\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const { docConfig } = useDocumentInfo()\n const [options, setOptions] = useState(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (docConfig.versions?.drafts) {\n query.where.and.push({\n latest: {\n not_equals: true,\n },\n })\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n setOptions((existingOptions) => [\n ...existingOptions,\n ...data.docs.map((doc) => ({\n label: formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat }),\n value: doc.id,\n })),\n ])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, docConfig.versions?.drafts],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={[\n ...(publishedDoc?._status === 'published' ? [publishedVersionOption] : []),\n ...options,\n ]}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useDocumentInfo","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","mostRecentVersionOption","publishedVersionOption","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","onChange","parentID","publishedDoc","value","versionID","admin","dateFormat","docConfig","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","versions","drafts","push","latest","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","existingOptions","map","doc","label","date","updatedAt","pattern","hasNextPage","div","className","filter","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","_status","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect';
|
|
2
3
|
import { useLocale } from '@payloadcms/ui/providers/Locale';
|
|
3
4
|
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
@@ -17,17 +18,22 @@ export const SelectLocales = ({ onChange, options, value })=>{
|
|
|
17
18
|
}
|
|
18
19
|
});
|
|
19
20
|
};
|
|
20
|
-
return /*#__PURE__*/
|
|
21
|
-
className: baseClass
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
22
|
+
className: baseClass,
|
|
23
|
+
children: [
|
|
24
|
+
/*#__PURE__*/ _jsx("div", {
|
|
25
|
+
className: `${baseClass}__label`,
|
|
26
|
+
children: t('version:showLocales')
|
|
27
|
+
}),
|
|
28
|
+
/*#__PURE__*/ _jsx(ReactSelect, {
|
|
29
|
+
isMulti: true,
|
|
30
|
+
onChange: onChange,
|
|
31
|
+
options: format(options),
|
|
32
|
+
placeholder: t('version:selectLocales'),
|
|
33
|
+
value: format(value)
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
});
|
|
31
37
|
};
|
|
32
38
|
|
|
33
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"sourcesContent":["import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'select-version-locales'\n\nexport const SelectLocales: React.FC<Props> = ({ onChange, options, value }) => {\n const { t } = useTranslation()\n const { code } = useLocale()\n\n const format = (items) => {\n return items.map((item) => {\n if (typeof item.label === 'string') return item\n if (typeof item.label !== 'string' && item.label[code]) {\n return {\n label: item.label[code],\n value: item.value,\n }\n }\n })\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__label`}>{t('version:showLocales')}</div>\n <ReactSelect\n isMulti\n onChange={onChange}\n options={format(options)}\n placeholder={t('version:selectLocales')}\n value={format(value)}\n />\n </div>\n )\n}\n"],"names":["ReactSelect","useLocale","useTranslation","React","baseClass","SelectLocales","onChange","options","value","t","code","format","items","map","item","label","div","className","isMulti","placeholder"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"sourcesContent":["import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'select-version-locales'\n\nexport const SelectLocales: React.FC<Props> = ({ onChange, options, value }) => {\n const { t } = useTranslation()\n const { code } = useLocale()\n\n const format = (items) => {\n return items.map((item) => {\n if (typeof item.label === 'string') return item\n if (typeof item.label !== 'string' && item.label[code]) {\n return {\n label: item.label[code],\n value: item.value,\n }\n }\n })\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__label`}>{t('version:showLocales')}</div>\n <ReactSelect\n isMulti\n onChange={onChange}\n options={format(options)}\n placeholder={t('version:selectLocales')}\n value={format(value)}\n />\n </div>\n )\n}\n"],"names":["ReactSelect","useLocale","useTranslation","React","baseClass","SelectLocales","onChange","options","value","t","code","format","items","map","item","label","div","className","isMulti","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,WAAW,QAAQ,sCAAqC;AACjE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,WAAW,QAAO;AAMzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAAiC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,KAAK,EAAE;IACzE,MAAM,EAAEC,CAAC,EAAE,GAAGP;IACd,MAAM,EAAEQ,IAAI,EAAE,GAAGT;IAEjB,MAAMU,SAAS,CAACC;QACd,OAAOA,MAAMC,GAAG,CAAC,CAACC;YAChB,IAAI,OAAOA,KAAKC,KAAK,KAAK,UAAU,OAAOD;YAC3C,IAAI,OAAOA,KAAKC,KAAK,KAAK,YAAYD,KAAKC,KAAK,CAACL,KAAK,EAAE;gBACtD,OAAO;oBACLK,OAAOD,KAAKC,KAAK,CAACL,KAAK;oBACvBF,OAAOM,KAAKN,KAAK;gBACnB;YACF;QACF;IACF;IAEA,qBACE,MAACQ;QAAIC,WAAWb;;0BACd,KAACY;gBAAIC,WAAW,CAAC,EAAEb,UAAU,OAAO,CAAC;0BAAGK,EAAE;;0BAC1C,KAACT;gBACCkB,OAAO;gBACPZ,UAAUA;gBACVC,SAASI,OAAOJ;gBAChBY,aAAaV,EAAE;gBACfD,OAAOG,OAAOH;;;;AAItB,EAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { notFound } from 'next/navigation.js';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { DefaultVersionView } from './Default/index.js';
|
|
@@ -88,7 +89,7 @@ export const VersionView = async (props)=>{
|
|
|
88
89
|
if (!doc) {
|
|
89
90
|
return notFound();
|
|
90
91
|
}
|
|
91
|
-
return /*#__PURE__*/
|
|
92
|
+
return /*#__PURE__*/ _jsx(DefaultVersionView, {
|
|
92
93
|
doc: doc,
|
|
93
94
|
docPermissions: docPermissions,
|
|
94
95
|
initialComparisonDoc: mostRecentDoc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { OptionObject } from 'payload/types'\nimport type { Document, EditViewComponent } from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { OptionObject } from 'payload/types'\nimport type { Document, EditViewComponent } from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAIA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAS,eAAe,MAAMX,QAAQmB,QAAQ,CAAC;gBACpCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAU,gBAAgB,MAAMZ,QAAQmB,QAAQ,CAAC;gBACrCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,IAAIoB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAS,eAAe,MAAMX,QAAQwB,UAAU,CAAC;gBACtClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAU,gBAAgB,MAAMZ,QAAQwB,UAAU,CAAC;gBACvClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,MAAMsC,gBACJjB,gBACAA,cAAckB,WACdlB,aAAakB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA,OAAO,OAAOA,UAAU,WAAWA,QAAQ;YAC3CC,OAAOF;QACT,CAAA;IAEF,IAAI,CAAClB,KAAK;QACR,OAAOvB;IACT;IAEA,qBACE,KAACE;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBsB,sBAAsBnB;QACtBa,eAAeA;QACfb,eAAeA;QACfD,cAAcA;QACdR,WAAWA;;AAGjB,EAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { SortColumn } from '@payloadcms/ui/elements/SortColumn';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { AutosaveCell } from './cells/AutosaveCell/index.js';
|
|
@@ -13,12 +14,12 @@ export const buildVersionColumns = ({ collectionConfig, docID, globalConfig, i18
|
|
|
13
14
|
accessor: 'updatedAt',
|
|
14
15
|
active: true,
|
|
15
16
|
components: {
|
|
16
|
-
Cell: /*#__PURE__*/
|
|
17
|
+
Cell: /*#__PURE__*/ _jsx(CreatedAtCell, {
|
|
17
18
|
collectionSlug: collectionConfig?.slug,
|
|
18
19
|
docID: docID,
|
|
19
20
|
globalSlug: globalConfig?.slug
|
|
20
21
|
}),
|
|
21
|
-
Heading: /*#__PURE__*/
|
|
22
|
+
Heading: /*#__PURE__*/ _jsx(SortColumn, {
|
|
22
23
|
Label: t('general:updatedAt'),
|
|
23
24
|
name: "updatedAt"
|
|
24
25
|
})
|
|
@@ -31,8 +32,8 @@ export const buildVersionColumns = ({ collectionConfig, docID, globalConfig, i18
|
|
|
31
32
|
accessor: 'id',
|
|
32
33
|
active: true,
|
|
33
34
|
components: {
|
|
34
|
-
Cell: /*#__PURE__*/
|
|
35
|
-
Heading: /*#__PURE__*/
|
|
35
|
+
Cell: /*#__PURE__*/ _jsx(IDCell, {}),
|
|
36
|
+
Heading: /*#__PURE__*/ _jsx(SortColumn, {
|
|
36
37
|
Label: t('version:versionID'),
|
|
37
38
|
disable: true,
|
|
38
39
|
name: "id"
|
|
@@ -48,8 +49,8 @@ export const buildVersionColumns = ({ collectionConfig, docID, globalConfig, i18
|
|
|
48
49
|
accessor: '_status',
|
|
49
50
|
active: true,
|
|
50
51
|
components: {
|
|
51
|
-
Cell: /*#__PURE__*/
|
|
52
|
-
Heading: /*#__PURE__*/
|
|
52
|
+
Cell: /*#__PURE__*/ _jsx(AutosaveCell, {}),
|
|
53
|
+
Heading: /*#__PURE__*/ _jsx(SortColumn, {
|
|
53
54
|
Label: t('version:type'),
|
|
54
55
|
disable: true,
|
|
55
56
|
name: "autosave"
|