@payloadcms/next 3.0.0-beta.61 → 3.0.0-beta.63

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.
Files changed (42) hide show
  1. package/dist/prod/styles.css +1 -1
  2. package/dist/views/Edit/Default/Auth/index.scss +17 -2
  3. package/dist/views/Version/Default/SetStepNav.d.ts +0 -1
  4. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  5. package/dist/views/Version/Default/SetStepNav.js +7 -7
  6. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  7. package/dist/views/Version/Default/index.d.ts.map +1 -1
  8. package/dist/views/Version/Default/index.js +11 -13
  9. package/dist/views/Version/Default/index.js.map +1 -1
  10. package/dist/views/Version/Default/types.d.ts +3 -3
  11. package/dist/views/Version/Default/types.d.ts.map +1 -1
  12. package/dist/views/Version/Default/types.js.map +1 -1
  13. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  14. package/dist/views/Version/SelectComparison/index.js +48 -27
  15. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  16. package/dist/views/Version/SelectComparison/index.scss +1 -1
  17. package/dist/views/Version/SelectComparison/types.d.ts +2 -1
  18. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  19. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  20. package/dist/views/Version/index.d.ts.map +1 -1
  21. package/dist/views/Version/index.js +22 -43
  22. package/dist/views/Version/index.js.map +1 -1
  23. package/dist/views/Versions/buildColumns.d.ts +3 -1
  24. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  25. package/dist/views/Versions/buildColumns.js +7 -4
  26. package/dist/views/Versions/buildColumns.js.map +1 -1
  27. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
  28. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  29. package/dist/views/Versions/cells/AutosaveCell/index.js +31 -13
  30. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  31. package/dist/views/Versions/getLatestVersion.d.ts +5 -0
  32. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  33. package/dist/views/Versions/getLatestVersion.js +29 -0
  34. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  35. package/dist/views/Versions/index.d.ts.map +1 -1
  36. package/dist/views/Versions/index.js +22 -2
  37. package/dist/views/Versions/index.js.map +1 -1
  38. package/package.json +6 -6
  39. package/dist/views/Version/shared.d.ts +0 -9
  40. package/dist/views/Version/shared.d.ts.map +0 -1
  41. package/dist/views/Version/shared.js +0 -10
  42. package/dist/views/Version/shared.js.map +0 -1
@@ -48,11 +48,26 @@
48
48
 
49
49
  @keyframes highlight {
50
50
  0% {
51
- background: var(--theme-success-500);
51
+ background: var(--theme-success-250);
52
+ border: 1px solid var(--theme-success-500);
53
+ }
54
+
55
+ 20% {
56
+ background: var(--theme-input-bg);
57
+ border: 1px solid var(--theme-elevation-250);
58
+ color: var(--theme-text);
59
+ }
60
+
61
+ 80% {
62
+ background: var(--theme-input-bg);
63
+ border: 1px solid var(--theme-elevation-250);
64
+ color: var(--theme-text);
52
65
  }
53
66
 
54
67
  100% {
55
- background: none;
68
+ background: var(--theme-elevation-200);
69
+ border: 1px solid transparent;
70
+ color: var(--theme-elevation-400);
56
71
  }
57
72
  }
58
73
 
@@ -9,6 +9,5 @@ export declare const SetStepNav: React.FC<{
9
9
  globalConfig?: ClientGlobalConfig;
10
10
  globalSlug?: string;
11
11
  id?: number | string;
12
- mostRecentDoc: any;
13
12
  }>;
14
13
  //# sourceMappingURL=SetStepNav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,aAAa,EAAE,GAAG,CAAA;CACnB,CA4GA,CAAA"}
1
+ {"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAmGA,CAAA"}
@@ -2,7 +2,7 @@ import { getTranslation } from '@payloadcms/translations';
2
2
  import { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui';
3
3
  import { formatDate } from '@payloadcms/ui/shared';
4
4
  import { useEffect } from 'react';
5
- export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug, mostRecentDoc })=>{
5
+ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug })=>{
6
6
  const config = useConfig();
7
7
  const { setStepNav } = useStepNav();
8
8
  const { i18n, t } = useTranslation();
@@ -14,24 +14,25 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
14
14
  let docLabel = '';
15
15
  const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id';
16
16
  const pluralLabel = collectionConfig?.labels?.plural;
17
- if (mostRecentDoc) {
17
+ const formattedDoc = doc.version ? doc.version : doc;
18
+ if (formattedDoc) {
18
19
  if (useAsTitle !== 'id') {
19
20
  const titleField = fieldMap.find((f)=>{
20
21
  const { isFieldAffectingData } = f;
21
22
  const fieldName = 'name' in f ? f.name : undefined;
22
23
  return Boolean(isFieldAffectingData && fieldName === useAsTitle);
23
24
  });
24
- if (titleField && mostRecentDoc[useAsTitle]) {
25
+ if (titleField && formattedDoc[useAsTitle]) {
25
26
  if (titleField.localized) {
26
- docLabel = mostRecentDoc[useAsTitle]?.[locale.code];
27
+ docLabel = formattedDoc[useAsTitle]?.[locale.code];
27
28
  } else {
28
- docLabel = mostRecentDoc[useAsTitle];
29
+ docLabel = formattedDoc[useAsTitle];
29
30
  }
30
31
  } else {
31
32
  docLabel = `[${t('general:untitled')}]`;
32
33
  }
33
34
  } else {
34
- docLabel = mostRecentDoc.id;
35
+ docLabel = doc.id;
35
36
  }
36
37
  }
37
38
  nav = [
@@ -82,7 +83,6 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
82
83
  collectionSlug,
83
84
  globalSlug,
84
85
  doc,
85
- mostRecentDoc,
86
86
  id,
87
87
  locale,
88
88
  t,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n collectionConfig?: ClientCollectionConfig\n collectionSlug?: string\n doc: any\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n globalSlug?: string\n id?: number | string\n mostRecentDoc: any\n}> = ({\n id,\n collectionConfig,\n collectionSlug,\n doc,\n fieldMap,\n globalConfig,\n globalSlug,\n mostRecentDoc,\n}) => {\n const config = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n useEffect(() => {\n let nav: StepNavItem[] = []\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n if (collectionSlug) {\n let docLabel = ''\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const pluralLabel = collectionConfig?.labels?.plural\n\n if (mostRecentDoc) {\n if (useAsTitle !== 'id') {\n const titleField = fieldMap.find((f) => {\n const { isFieldAffectingData } = f\n const fieldName = 'name' in f ? f.name : undefined\n return Boolean(isFieldAffectingData && fieldName === useAsTitle)\n })\n\n if (titleField && mostRecentDoc[useAsTitle]) {\n if (titleField.localized) {\n docLabel = mostRecentDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = mostRecentDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = mostRecentDoc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: `${adminRoute}/collections/${collectionSlug}`,\n },\n {\n label: docLabel,\n url: `${adminRoute}/collections/${collectionSlug}/${id}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/collections/${collectionSlug}/${id}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n if (globalSlug) {\n nav = [\n {\n label: globalConfig.label,\n url: `${adminRoute}/globals/${globalConfig.slug}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/globals/${globalConfig.slug}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n setStepNav(nav)\n }, [\n config,\n setStepNav,\n collectionSlug,\n globalSlug,\n doc,\n mostRecentDoc,\n id,\n locale,\n t,\n i18n,\n collectionConfig,\n fieldMap,\n globalConfig,\n ])\n\n return null\n}\n"],"names":["getTranslation","useConfig","useLocale","useStepNav","useTranslation","formatDate","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fieldMap","globalConfig","globalSlug","mostRecentDoc","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","titleField","find","f","isFieldAffectingData","fieldName","name","undefined","Boolean","localized","code","label","url","createdAt","date","pattern","slug"],"mappings":"AAKA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,EAAEC,SAAS,EAAEC,UAAU,EAAEC,cAAc,QAAQ,iBAAgB;AACjF,SAASC,UAAU,QAAQ,wBAAuB;AAClD,SAASC,SAAS,QAAQ,QAAO;AAEjC,OAAO,MAAMC,aASR,CAAC,EACJC,EAAE,EACFC,gBAAgB,EAChBC,cAAc,EACdC,GAAG,EACHC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,aAAa,EACd;IACC,MAAMC,SAASf;IACf,MAAM,EAAEgB,UAAU,EAAE,GAAGd;IACvB,MAAM,EAAEe,IAAI,EAAEC,CAAC,EAAE,GAAGf;IACpB,MAAMgB,SAASlB;IAEfI,UAAU;QACR,IAAIe,MAAqB,EAAE;QAE3B,MAAM,EACJC,OAAO,EAAEC,UAAU,EAAE,EACrBC,QAAQ,EAAEF,OAAOG,UAAU,EAAE,EAC9B,GAAGT;QAEJ,IAAIN,gBAAgB;YAClB,IAAIgB,WAAW;YAEf,MAAMC,aAAalB,kBAAkBa,OAAOK,cAAc;YAC1D,MAAMC,cAAcnB,kBAAkBoB,QAAQC;YAE9C,IAAIf,eAAe;gBACjB,IAAIY,eAAe,MAAM;oBACvB,MAAMI,aAAanB,SAASoB,IAAI,CAAC,CAACC;wBAChC,MAAM,EAAEC,oBAAoB,EAAE,GAAGD;wBACjC,MAAME,YAAY,UAAUF,IAAIA,EAAEG,IAAI,GAAGC;wBACzC,OAAOC,QAAQJ,wBAAwBC,cAAcR;oBACvD;oBAEA,IAAII,cAAchB,aAAa,CAACY,WAAW,EAAE;wBAC3C,IAAII,WAAWQ,SAAS,EAAE;4BACxBb,WAAWX,aAAa,CAACY,WAAW,EAAE,CAACP,OAAOoB,IAAI,CAAC;wBACrD,OAAO;4BACLd,WAAWX,aAAa,CAACY,WAAW;wBACtC;oBACF,OAAO;wBACLD,WAAW,CAAC,CAAC,EAAEP,EAAE,oBAAoB,CAAC,CAAC;oBACzC;gBACF,OAAO;oBACLO,WAAWX,cAAcP,EAAE;gBAC7B;YACF;YAEAa,MAAM;gBACJ;oBACEoB,OAAOzC,eAAe4B,aAAaV;oBACnCwB,KAAK,CAAC,EAAEjB,WAAW,aAAa,EAAEf,eAAe,CAAC;gBACpD;gBACA;oBACE+B,OAAOf;oBACPgB,KAAK,CAAC,EAAEjB,WAAW,aAAa,EAAEf,eAAe,CAAC,EAAEF,GAAG,CAAC;gBAC1D;gBACA;oBACEiC,OAAO;oBACPC,KAAK,CAAC,EAAEjB,WAAW,aAAa,EAAEf,eAAe,CAAC,EAAEF,GAAG,SAAS,CAAC;gBACnE;gBACA;oBACEiC,OAAO9B,KAAKgC,YACRtC,WAAW;wBAAEuC,MAAMjC,IAAIgC,SAAS;wBAAEzB;wBAAM2B,SAAStB;oBAAW,KAC5D;gBACN;aACD;QACH;QAEA,IAAIT,YAAY;YACdO,MAAM;gBACJ;oBACEoB,OAAO5B,aAAa4B,KAAK;oBACzBC,KAAK,CAAC,EAAEjB,WAAW,SAAS,EAAEZ,aAAaiC,IAAI,CAAC,CAAC;gBACnD;gBACA;oBACEL,OAAO;oBACPC,KAAK,CAAC,EAAEjB,WAAW,SAAS,EAAEZ,aAAaiC,IAAI,CAAC,SAAS,CAAC;gBAC5D;gBACA;oBACEL,OAAO9B,KAAKgC,YACRtC,WAAW;wBAAEuC,MAAMjC,IAAIgC,SAAS;wBAAEzB;wBAAM2B,SAAStB;oBAAW,KAC5D;gBACN;aACD;QACH;QAEAN,WAAWI;IACb,GAAG;QACDL;QACAC;QACAP;QACAI;QACAH;QACAI;QACAP;QACAY;QACAD;QACAD;QACAT;QACAG;QACAC;KACD;IAED,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n collectionConfig?: ClientCollectionConfig\n collectionSlug?: string\n doc: any\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n globalSlug?: string\n id?: number | string\n}> = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug }) => {\n const config = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n useEffect(() => {\n let nav: StepNavItem[] = []\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n if (collectionSlug) {\n let docLabel = ''\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const pluralLabel = collectionConfig?.labels?.plural\n const formattedDoc = doc.version ? doc.version : doc\n\n if (formattedDoc) {\n if (useAsTitle !== 'id') {\n const titleField = fieldMap.find((f) => {\n const { isFieldAffectingData } = f\n const fieldName = 'name' in f ? f.name : undefined\n return Boolean(isFieldAffectingData && fieldName === useAsTitle)\n })\n\n if (titleField && formattedDoc[useAsTitle]) {\n if (titleField.localized) {\n docLabel = formattedDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = formattedDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = doc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: `${adminRoute}/collections/${collectionSlug}`,\n },\n {\n label: docLabel,\n url: `${adminRoute}/collections/${collectionSlug}/${id}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/collections/${collectionSlug}/${id}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n if (globalSlug) {\n nav = [\n {\n label: globalConfig.label,\n url: `${adminRoute}/globals/${globalConfig.slug}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/globals/${globalConfig.slug}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n setStepNav(nav)\n }, [\n config,\n setStepNav,\n collectionSlug,\n globalSlug,\n doc,\n id,\n locale,\n t,\n i18n,\n collectionConfig,\n fieldMap,\n globalConfig,\n ])\n\n return null\n}\n"],"names":["getTranslation","useConfig","useLocale","useStepNav","useTranslation","formatDate","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fieldMap","globalConfig","globalSlug","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","formattedDoc","version","titleField","find","f","isFieldAffectingData","fieldName","name","undefined","Boolean","localized","code","label","url","createdAt","date","pattern","slug"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AASzE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA6IjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAQzE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAkIjE,CAAA"}
@@ -8,10 +8,9 @@ import RenderFieldsToDiff from '../RenderFieldsToDiff/index.js';
8
8
  import Restore from '../Restore/index.js';
9
9
  import { SelectComparison } from '../SelectComparison/index.js';
10
10
  import { SelectLocales } from '../SelectLocales/index.js';
11
- import { mostRecentVersionOption } from '../shared.js';
12
11
  import { SetStepNav } from './SetStepNav.js';
13
12
  const baseClass = 'view-version';
14
- export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc, localeOptions, mostRecentDoc, publishedDoc, versionID })=>{
13
+ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc, latestDraftVersion, latestPublishedVersion, localeOptions, versionID })=>{
15
14
  const config = useConfig();
16
15
  const { i18n } = useTranslation();
17
16
  const { id, collectionSlug, globalSlug } = useDocumentInfo();
@@ -27,16 +26,15 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
27
26
  const [collectionConfig] = useState(()=>config.collections.find((collection)=>collection.slug === collectionSlug));
28
27
  const [globalConfig] = useState(()=>config.globals.find((global)=>global.slug === globalSlug));
29
28
  const [locales, setLocales] = useState(localeOptions);
30
- const [compareValue, setCompareValue] = useState(mostRecentVersionOption);
29
+ const [compareValue, setCompareValue] = useState();
31
30
  const { admin: { dateFormat }, localization, routes: { api: apiRoute }, serverURL } = config;
32
- const formattedCreatedAt = doc?.createdAt ? formatDate({
33
- date: doc.createdAt,
31
+ const versionCreatedAt = doc?.updatedAt ? formatDate({
32
+ date: doc.updatedAt,
34
33
  i18n,
35
34
  pattern: dateFormat
36
35
  }) : '';
37
- const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${collectionSlug || globalSlug}${collectionSlug ? `/${id}` : ''}`;
38
36
  const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${collectionSlug || globalSlug}/versions`;
39
- const compareFetchURL = compareValue?.value === 'mostRecent' || compareValue?.value === 'published' ? originalDocFetchURL : `${compareBaseURL}/${compareValue.value}`;
37
+ const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`;
40
38
  const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {
41
39
  initialData: initialComparisonDoc,
42
40
  initialParams: {
@@ -45,7 +43,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
45
43
  locale: '*'
46
44
  }
47
45
  });
48
- const comparison = compareValue?.value === 'mostRecent' ? mostRecentDoc : compareValue?.value === 'published' ? publishedDoc : currentComparisonDoc?.version // the `version` key is only present on `versions` documents
46
+ const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents
49
47
  ;
50
48
  const canUpdate = docPermissions?.update?.permission;
51
49
  return /*#__PURE__*/ _jsxs("main", {
@@ -61,8 +59,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
61
59
  fieldMap: fieldMap,
62
60
  globalConfig: globalConfig,
63
61
  globalSlug: globalSlug,
64
- id: id,
65
- mostRecentDoc: mostRecentDoc
62
+ id: id
66
63
  }),
67
64
  /*#__PURE__*/ _jsxs(Gutter, {
68
65
  className: `${baseClass}__wrap`,
@@ -80,7 +77,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
80
77
  className: `${baseClass}__header`,
81
78
  children: [
82
79
  /*#__PURE__*/ _jsx("h2", {
83
- children: formattedCreatedAt
80
+ children: versionCreatedAt
84
81
  }),
85
82
  canUpdate && /*#__PURE__*/ _jsx(Restore, {
86
83
  className: `${baseClass}__restore`,
@@ -88,7 +85,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
88
85
  globalSlug: globalSlug,
89
86
  label: collectionConfig?.labels.singular || globalConfig?.label,
90
87
  originalDocID: id,
91
- versionDate: formattedCreatedAt,
88
+ versionDate: versionCreatedAt,
92
89
  versionID: versionID
93
90
  })
94
91
  ]
@@ -100,9 +97,10 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
100
97
  children: [
101
98
  /*#__PURE__*/ _jsx(SelectComparison, {
102
99
  baseURL: compareBaseURL,
100
+ latestDraftVersion: latestDraftVersion,
101
+ latestPublishedVersion: latestPublishedVersion,
103
102
  onChange: setCompareValue,
104
103
  parentID: id,
105
- publishedDoc: publishedDoc,
106
104
  value: compareValue,
107
105
  versionID: versionID
108
106
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { mostRecentVersionOption } from '../shared.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n localeOptions,\n mostRecentDoc,\n publishedDoc,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n const [compareValue, setCompareValue] = useState<CompareOption>(mostRecentVersionOption)\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : ''\n\n const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }${collectionSlug ? `/${id}` : ''}`\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL =\n compareValue?.value === 'mostRecent' || compareValue?.value === 'published'\n ? originalDocFetchURL\n : `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: '*' },\n })\n\n const comparison =\n compareValue?.value === 'mostRecent'\n ? mostRecentDoc\n : compareValue?.value === 'published'\n ? publishedDoc\n : currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n mostRecentDoc={mostRecentDoc}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{formattedCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n versionDate={formattedCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n onChange={setCompareValue}\n parentID={id}\n publishedDoc={publishedDoc}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","mostRecentVersionOption","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","localeOptions","mostRecentDoc","publishedDoc","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","formattedCreatedAt","createdAt","date","pattern","originalDocFetchURL","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","updatedAt"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: '*' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","createdAt"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload';
2
2
  export type CompareOption = {
3
- label: string;
3
+ label: React.ReactNode | string;
4
4
  options?: CompareOption[];
5
5
  relationTo?: string;
6
6
  value: string;
@@ -9,9 +9,9 @@ export type DefaultVersionsViewProps = {
9
9
  doc: Document;
10
10
  docPermissions: CollectionPermission | GlobalPermission;
11
11
  initialComparisonDoc: Document;
12
+ latestDraftVersion?: string;
13
+ latestPublishedVersion?: string;
12
14
  localeOptions: OptionObject[];
13
- mostRecentDoc: Document;
14
- publishedDoc: Document;
15
15
  versionID?: string;
16
16
  };
17
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,oBAAoB,EAAE,QAAQ,CAAA;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,aAAa,EAAE,QAAQ,CAAA;IACvB,YAAY,EAAE,QAAQ,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,oBAAoB,EAAE,QAAQ,CAAA;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload'\n\nexport type CompareOption = {\n label: string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n doc: Document\n docPermissions: CollectionPermission | GlobalPermission\n initialComparisonDoc: Document\n localeOptions: OptionObject[]\n mostRecentDoc: Document\n publishedDoc: Document\n versionID?: string\n}\n"],"names":[],"mappings":"AASA,WAQC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload'\n\nexport type CompareOption = {\n label: React.ReactNode | string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n doc: Document\n docPermissions: CollectionPermission | GlobalPermission\n initialComparisonDoc: Document\n latestDraftVersion?: string\n latestPublishedVersion?: string\n localeOptions: OptionObject[]\n versionID?: string\n}\n"],"names":[],"mappings":"AASA,WAQC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiH5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuJ5C,CAAA"}
@@ -1,19 +1,16 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { ReactSelect, fieldBaseClass, useConfig, useDocumentInfo, useTranslation } from '@payloadcms/ui';
3
+ import { ReactSelect, fieldBaseClass, useConfig, useTranslation } from '@payloadcms/ui';
4
4
  import { formatDate } from '@payloadcms/ui/shared';
5
5
  import * as qs from 'qs-esm';
6
6
  import React, { useCallback, useEffect, useState } from 'react';
7
- import { mostRecentVersionOption, publishedVersionOption } from '../shared.js';
7
+ import { renderPill } from '../../Versions/cells/AutosaveCell/index.js';
8
8
  const baseClass = 'compare-version';
9
9
  const maxResultsPerRequest = 10;
10
- const baseOptions = [
11
- mostRecentVersionOption
12
- ];
10
+ const baseOptions = [];
13
11
  export const SelectComparison = (props)=>{
14
- const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props;
12
+ const { baseURL, latestDraftVersion, latestPublishedVersion, onChange, parentID, value, versionID } = props;
15
13
  const { admin: { dateFormat } } = useConfig();
16
- const { docConfig } = useDocumentInfo();
17
14
  const [options, setOptions] = useState(baseOptions);
18
15
  const [lastLoadedPage, setLastLoadedPage] = useState(1);
19
16
  const [errorLoading, setErrorLoading] = useState('');
@@ -35,13 +32,6 @@ export const SelectComparison = (props)=>{
35
32
  ]
36
33
  }
37
34
  };
38
- if (docConfig.versions?.drafts) {
39
- query.where.and.push({
40
- latest: {
41
- not_equals: true
42
- }
43
- });
44
- }
45
35
  if (parentID) {
46
36
  query.where.and.push({
47
37
  parent: {
@@ -59,16 +49,41 @@ export const SelectComparison = (props)=>{
59
49
  if (response.ok) {
60
50
  const data = await response.json();
61
51
  if (data.docs.length > 0) {
62
- setOptions((existingOptions)=>[
63
- ...existingOptions,
64
- ...data.docs.map((doc)=>({
65
- label: formatDate({
52
+ const versionInfo = {
53
+ draft: {
54
+ currentLabel: t('version:currentDraft'),
55
+ latestVersion: latestDraftVersion,
56
+ pillStyle: undefined,
57
+ previousLabel: t('version:draft')
58
+ },
59
+ published: {
60
+ currentLabel: t('version:currentPublishedVersion'),
61
+ latestVersion: latestPublishedVersion,
62
+ pillStyle: 'success',
63
+ previousLabel: t('version:previouslyPublished')
64
+ }
65
+ };
66
+ const additionalOptions = data.docs.map((doc)=>{
67
+ const status = doc.version._status;
68
+ const { currentLabel, latestVersion, pillStyle, previousLabel } = versionInfo[status] || {};
69
+ return {
70
+ label: /*#__PURE__*/ _jsxs("div", {
71
+ children: [
72
+ formatDate({
66
73
  date: doc.updatedAt,
67
74
  i18n,
68
75
  pattern: dateFormat
69
76
  }),
70
- value: doc.id
71
- }))
77
+ "  ",
78
+ renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle)
79
+ ]
80
+ }),
81
+ value: doc.id
82
+ };
83
+ });
84
+ setOptions((existingOptions)=>[
85
+ ...existingOptions,
86
+ ...additionalOptions
72
87
  ]);
73
88
  if (!data.hasNextPage) {
74
89
  loadedAllOptionsRef.current = true;
@@ -85,7 +100,8 @@ export const SelectComparison = (props)=>{
85
100
  versionID,
86
101
  t,
87
102
  i18n,
88
- docConfig.versions?.drafts
103
+ latestDraftVersion,
104
+ latestPublishedVersion
89
105
  ]);
90
106
  useEffect(()=>{
91
107
  void getResults({
@@ -94,6 +110,16 @@ export const SelectComparison = (props)=>{
94
110
  }, [
95
111
  getResults
96
112
  ]);
113
+ const filteredOptions = options.filter((option, index, self)=>self.findIndex((t)=>t.value === option.value) === index);
114
+ useEffect(()=>{
115
+ if (filteredOptions.length > 0 && !value) {
116
+ onChange(filteredOptions[0]);
117
+ }
118
+ }, [
119
+ filteredOptions,
120
+ value,
121
+ onChange
122
+ ]);
97
123
  return /*#__PURE__*/ _jsxs("div", {
98
124
  className: [
99
125
  fieldBaseClass,
@@ -114,12 +140,7 @@ export const SelectComparison = (props)=>{
114
140
  lastLoadedPage: lastLoadedPage + 1
115
141
  });
116
142
  },
117
- options: [
118
- ...publishedDoc?._status === 'published' ? [
119
- publishedVersionOption
120
- ] : [],
121
- ...options
122
- ],
143
+ options: filteredOptions,
123
144
  placeholder: t('version:selectVersionToCompare'),
124
145
  value: value
125
146
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport {\n ReactSelect,\n fieldBaseClass,\n useConfig,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\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"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { ReactSelect, fieldBaseClass, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { renderPill } from '../../Versions/cells/AutosaveCell/index.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = []\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const {\n baseURL,\n latestDraftVersion,\n latestPublishedVersion,\n onChange,\n parentID,\n value,\n versionID,\n } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const [options, setOptions] = useState<\n {\n label: React.ReactNode | string\n value: string\n }[]\n >(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 (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\n if (data.docs.length > 0) {\n const versionInfo = {\n draft: {\n currentLabel: t('version:currentDraft'),\n latestVersion: latestDraftVersion,\n pillStyle: undefined,\n previousLabel: t('version:draft'),\n },\n published: {\n currentLabel: t('version:currentPublishedVersion'),\n latestVersion: latestPublishedVersion,\n pillStyle: 'success',\n previousLabel: t('version:previouslyPublished'),\n },\n }\n\n const additionalOptions = data.docs.map((doc) => {\n const status = doc.version._status\n const { currentLabel, latestVersion, pillStyle, previousLabel } =\n versionInfo[status] || {}\n\n return {\n label: (\n <div>\n {formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })}\n &nbsp;&nbsp;\n {renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle)}\n </div>\n ),\n value: doc.id,\n }\n })\n\n setOptions((existingOptions) => [...existingOptions, ...additionalOptions])\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, latestDraftVersion, latestPublishedVersion],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n const filteredOptions = options.filter(\n (option, index, self) => self.findIndex((t) => t.value === option.value) === index,\n )\n\n useEffect(() => {\n if (filteredOptions.length > 0 && !value) {\n onChange(filteredOptions[0])\n }\n }, [filteredOptions, value, onChange])\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={filteredOptions}\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","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","renderPill","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","latestDraftVersion","latestPublishedVersion","onChange","parentID","value","versionID","admin","dateFormat","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","push","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","versionInfo","draft","currentLabel","latestVersion","pillStyle","undefined","previousLabel","published","additionalOptions","map","doc","status","version","_status","label","div","date","updatedAt","pattern","existingOptions","hasNextPage","filteredOptions","filter","option","index","self","findIndex","className","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","placeholder"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  border: 1px solid var(--theme-error-500);
4
4
  min-height: calc(var(--base) * 2);
5
5
  padding: calc(var(--base) * 0.5) calc(var(--base) * 0.75);
6
- background-color: var(--theme-error-500);
6
+ background-color: var(--theme-error-100);
7
7
  color: var(--theme-elevation-0);
8
8
  }
9
9
 
@@ -2,9 +2,10 @@ import type { PaginatedDocs, SanitizedCollectionConfig } from 'payload';
2
2
  import type { CompareOption } from '../Default/types.js';
3
3
  export type Props = {
4
4
  baseURL: string;
5
+ latestDraftVersion?: string;
6
+ latestPublishedVersion?: string;
5
7
  onChange: (val: CompareOption) => void;
6
8
  parentID?: number | string;
7
- publishedDoc: any;
8
9
  value: CompareOption;
9
10
  versionID: string;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,YAAY,EAAE,GAAG,CAAA;IACjB,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,yBAAyB,CAAA;IACrC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,yBAAyB,CAAA;IACrC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/SelectComparison/types.ts"],"sourcesContent":["import type { PaginatedDocs, SanitizedCollectionConfig } from 'payload'\n\nimport type { CompareOption } from '../Default/types.js'\n\nexport type Props = {\n baseURL: string\n onChange: (val: CompareOption) => void\n parentID?: number | string\n publishedDoc: any\n value: CompareOption\n versionID: string\n}\n\ntype CLEAR = {\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: SanitizedCollectionConfig\n data: PaginatedDocs<any>\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n"],"names":[],"mappings":"AA0BA,WAGC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/SelectComparison/types.ts"],"sourcesContent":["import type { PaginatedDocs, SanitizedCollectionConfig } from 'payload'\n\nimport type { CompareOption } from '../Default/types.js'\n\nexport type Props = {\n baseURL: string\n latestDraftVersion?: string\n latestPublishedVersion?: string\n onChange: (val: CompareOption) => void\n parentID?: number | string\n value: CompareOption\n versionID: string\n}\n\ntype CLEAR = {\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: SanitizedCollectionConfig\n data: PaginatedDocs<any>\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n"],"names":[],"mappings":"AA2BA,WAGC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,WAAW,EAAE,iBAmIzB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,WAAW,EAAE,iBAiHzB,CAAA"}