@payloadcms/ui 3.0.1-canary.d608962 → 3.0.1

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.
@@ -20,6 +20,7 @@ export type SelectInputProps = {
20
20
  readonly options?: OptionObject[];
21
21
  readonly path: string;
22
22
  readonly readOnly?: boolean;
23
+ readonly required?: boolean;
23
24
  readonly showError?: boolean;
24
25
  readonly style?: React.CSSProperties;
25
26
  readonly value?: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Select/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AASlF,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwFlD,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Select/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AASlF,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2FlD,CAAA"}
@@ -13,7 +13,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
13
13
  import { fieldBaseClass } from '../shared/index.js';
14
14
  import './index.scss';
15
15
  export const SelectInput = props => {
16
- const $ = _c(37);
16
+ const $ = _c(38);
17
17
  const {
18
18
  AfterInput,
19
19
  BeforeInput,
@@ -31,6 +31,7 @@ export const SelectInput = props => {
31
31
  options,
32
32
  path,
33
33
  readOnly,
34
+ required,
34
35
  showError,
35
36
  style,
36
37
  value
@@ -42,11 +43,11 @@ export const SelectInput = props => {
42
43
  i18n
43
44
  } = useTranslation();
44
45
  let t3;
45
- if ($[0] !== hasMany || $[1] !== value || $[2] !== options || $[3] !== i18n || $[4] !== showError || $[5] !== readOnly || $[6] !== className || $[7] !== path || $[8] !== label || $[9] !== localized || $[10] !== Label || $[11] !== Error || $[12] !== isClearable || $[13] !== isSortable || $[14] !== onChange || $[15] !== BeforeInput || $[16] !== AfterInput || $[17] !== description || $[18] !== Description || $[19] !== style) {
46
+ if ($[0] !== hasMany || $[1] !== value || $[2] !== options || $[3] !== i18n || $[4] !== showError || $[5] !== readOnly || $[6] !== className || $[7] !== path || $[8] !== label || $[9] !== localized || $[10] !== required || $[11] !== Label || $[12] !== Error || $[13] !== isClearable || $[14] !== isSortable || $[15] !== onChange || $[16] !== BeforeInput || $[17] !== AfterInput || $[18] !== description || $[19] !== Description || $[20] !== style) {
46
47
  let valueToRender;
47
48
  if (hasMany && Array.isArray(value)) {
48
49
  let t4;
49
- if ($[21] !== options || $[22] !== i18n) {
50
+ if ($[22] !== options || $[23] !== i18n) {
50
51
  t4 = val => {
51
52
  const matchingOption = options.find(option => option.value === val);
52
53
  return {
@@ -54,36 +55,36 @@ export const SelectInput = props => {
54
55
  value: matchingOption?.value ?? val
55
56
  };
56
57
  };
57
- $[21] = options;
58
- $[22] = i18n;
59
- $[23] = t4;
58
+ $[22] = options;
59
+ $[23] = i18n;
60
+ $[24] = t4;
60
61
  } else {
61
- t4 = $[23];
62
+ t4 = $[24];
62
63
  }
63
64
  valueToRender = value.map(t4);
64
65
  } else {
65
66
  if (value) {
66
67
  let matchingOption_0;
67
68
  let t4;
68
- if ($[24] !== value || $[25] !== options || $[26] !== i18n) {
69
+ if ($[25] !== value || $[26] !== options || $[27] !== i18n) {
69
70
  let t5;
70
- if ($[29] !== value) {
71
+ if ($[30] !== value) {
71
72
  t5 = option_0 => option_0.value === value;
72
- $[29] = value;
73
- $[30] = t5;
73
+ $[30] = value;
74
+ $[31] = t5;
74
75
  } else {
75
- t5 = $[30];
76
+ t5 = $[31];
76
77
  }
77
78
  matchingOption_0 = options.find(t5);
78
79
  t4 = matchingOption_0 ? getTranslation(matchingOption_0.label, i18n) : value;
79
- $[24] = value;
80
- $[25] = options;
81
- $[26] = i18n;
82
- $[27] = matchingOption_0;
83
- $[28] = t4;
80
+ $[25] = value;
81
+ $[26] = options;
82
+ $[27] = i18n;
83
+ $[28] = matchingOption_0;
84
+ $[29] = t4;
84
85
  } else {
85
- matchingOption_0 = $[27];
86
- t4 = $[28];
86
+ matchingOption_0 = $[28];
87
+ t4 = $[29];
87
88
  }
88
89
  valueToRender = {
89
90
  label: t4,
@@ -94,25 +95,25 @@ export const SelectInput = props => {
94
95
  const t4 = showError && "error";
95
96
  const t5 = readOnly && "read-only";
96
97
  let t6;
97
- if ($[31] !== className || $[32] !== t4 || $[33] !== t5) {
98
+ if ($[32] !== className || $[33] !== t4 || $[34] !== t5) {
98
99
  t6 = [fieldBaseClass, "select", className, t4, t5].filter(Boolean);
99
- $[31] = className;
100
- $[32] = t4;
101
- $[33] = t5;
102
- $[34] = t6;
100
+ $[32] = className;
101
+ $[33] = t4;
102
+ $[34] = t5;
103
+ $[35] = t6;
103
104
  } else {
104
- t6 = $[34];
105
+ t6 = $[35];
105
106
  }
106
107
  let t7;
107
- if ($[35] !== i18n) {
108
+ if ($[36] !== i18n) {
108
109
  t7 = option_1 => ({
109
110
  ...option_1,
110
111
  label: getTranslation(option_1.label, i18n)
111
112
  });
112
- $[35] = i18n;
113
- $[36] = t7;
113
+ $[36] = i18n;
114
+ $[37] = t7;
114
115
  } else {
115
- t7 = $[36];
116
+ t7 = $[37];
116
117
  }
117
118
  t3 = _jsxs("div", {
118
119
  className: t6.join(" "),
@@ -124,7 +125,7 @@ export const SelectInput = props => {
124
125
  label,
125
126
  localized,
126
127
  path,
127
- required: false
128
+ required
128
129
  })
129
130
  }), _jsxs("div", {
130
131
  className: `${fieldBaseClass}__wrap`,
@@ -162,19 +163,20 @@ export const SelectInput = props => {
162
163
  $[7] = path;
163
164
  $[8] = label;
164
165
  $[9] = localized;
165
- $[10] = Label;
166
- $[11] = Error;
167
- $[12] = isClearable;
168
- $[13] = isSortable;
169
- $[14] = onChange;
170
- $[15] = BeforeInput;
171
- $[16] = AfterInput;
172
- $[17] = description;
173
- $[18] = Description;
174
- $[19] = style;
175
- $[20] = t3;
166
+ $[10] = required;
167
+ $[11] = Label;
168
+ $[12] = Error;
169
+ $[13] = isClearable;
170
+ $[14] = isSortable;
171
+ $[15] = onChange;
172
+ $[16] = BeforeInput;
173
+ $[17] = AfterInput;
174
+ $[18] = description;
175
+ $[19] = Description;
176
+ $[20] = style;
177
+ $[21] = t3;
176
178
  } else {
177
- t3 = $[20];
179
+ t3 = $[21];
178
180
  }
179
181
  return t3;
180
182
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","SelectInput","props","$","AfterInput","BeforeInput","className","Description","description","Error","hasMany","t0","isClearable","t1","isSortable","t2","label","Label","localized","onChange","options","path","readOnly","showError","style","value","undefined","i18n","t3","valueToRender","Array","isArray","t4","val","matchingOption","find","option","map","matchingOption_0","t5","option_0","t6","filter","Boolean","t7","option_1","_jsxs","join","id","replace","children","_jsx","CustomComponent","Fallback","required","disabled","isMulti"],"sources":["../../../src/fields/Select/Input.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject, StaticDescription, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type SelectInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly hasMany?: boolean\n readonly isClearable?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name: string\n readonly onChange?: ReactSelectAdapterProps['onChange']\n readonly options?: OptionObject[]\n readonly path: string\n readonly readOnly?: boolean\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: string | string[]\n}\n\nexport const SelectInput: React.FC<SelectInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n hasMany = false,\n isClearable = true,\n isSortable = true,\n label,\n Label,\n localized,\n onChange,\n options,\n path,\n readOnly,\n showError,\n style,\n value,\n } = props\n\n const { i18n } = useTranslation()\n\n let valueToRender\n\n if (hasMany && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'select',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={<FieldLabel label={label} localized={localized} path={path} required={false} />}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <ReactSelect\n disabled={readOnly}\n isClearable={isClearable}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={onChange}\n options={options.map((option) => ({\n ...option,\n label: getTranslation(option.label, i18n),\n }))}\n showError={showError}\n value={valueToRender as OptionObject}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","SelectInput","props","$","AfterInput","BeforeInput","className","Description","description","Error","hasMany","t0","isClearable","t1","isSortable","t2","label","Label","localized","onChange","options","path","readOnly","required","showError","style","value","undefined","i18n","t3","valueToRender","Array","isArray","t4","val","matchingOption","find","option","map","matchingOption_0","t5","option_0","t6","filter","Boolean","t7","option_1","_jsxs","join","id","replace","children","_jsx","CustomComponent","Fallback","disabled","isMulti"],"sources":["../../../src/fields/Select/Input.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject, StaticDescription, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type SelectInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly hasMany?: boolean\n readonly isClearable?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name: string\n readonly onChange?: ReactSelectAdapterProps['onChange']\n readonly options?: OptionObject[]\n readonly path: string\n readonly readOnly?: boolean\n readonly required?: boolean\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: string | string[]\n}\n\nexport const SelectInput: React.FC<SelectInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n hasMany = false,\n isClearable = true,\n isSortable = true,\n label,\n Label,\n localized,\n onChange,\n options,\n path,\n readOnly,\n required,\n showError,\n style,\n value,\n } = props\n\n const { i18n } = useTranslation()\n\n let valueToRender\n\n if (hasMany && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'select',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <ReactSelect\n disabled={readOnly}\n isClearable={isClearable}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={onChange}\n options={options.map((option) => ({\n ...option,\n label: getTranslation(option.label, i18n),\n }))}\n showError={showError}\n value={valueToRender as OptionObject}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAIlB,SAASC,WAAW,QAAQ;AAC5B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AA0BP,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACrD;IAAAa,UAAA;IAAAC,WAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC,WAAA;IAAAC,KAAA;IAAAC,OAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,KAAA;IAAAC,KAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,KAAA;IAAAC;EAAA,IAqBIxB,KAAA;EAdF,MAAAQ,OAAA,GAAAC,EAAe,KAAAgB,SAAA,WAAfhB,EAAe;EACf,MAAAC,WAAA,GAAAC,EAAkB,KAAAc,SAAA,UAAlBd,EAAkB;EAClB,MAAAC,UAAA,GAAAC,EAAiB,KAAAY,SAAA,UAAjBZ,EAAiB;EAcnB;IAAAa;EAAA,IAAiB7B,cAAA;EAAA,IAAA8B,EAAA;EAAA,IAAA1B,CAAA,QAAAO,OAAA,IAAAP,CAAA,QAAAuB,KAAA,IAAAvB,CAAA,QAAAiB,OAAA,IAAAjB,CAAA,QAAAyB,IAAA,IAAAzB,CAAA,QAAAqB,SAAA,IAAArB,CAAA,QAAAmB,QAAA,IAAAnB,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAkB,IAAA,IAAAlB,CAAA,QAAAa,KAAA,IAAAb,CAAA,QAAAe,SAAA,IAAAf,CAAA,SAAAoB,QAAA,IAAApB,CAAA,SAAAc,KAAA,IAAAd,CAAA,SAAAM,KAAA,IAAAN,CAAA,SAAAS,WAAA,IAAAT,CAAA,SAAAW,UAAA,IAAAX,CAAA,SAAAgB,QAAA,IAAAhB,CAAA,SAAAE,WAAA,IAAAF,CAAA,SAAAC,UAAA,IAAAD,CAAA,SAAAK,WAAA,IAAAL,CAAA,SAAAI,WAAA,IAAAJ,CAAA,SAAAsB,KAAA;IAEbK,GAAA,CAAAA,aAAA;IAAA,IAEApB,OAAA,IAAWqB,KAAA,CAAAC,OAAA,CAAcN,KAAA;MAAA,IAAAO,EAAA;MAAA,IAAA9B,CAAA,SAAAiB,OAAA,IAAAjB,CAAA,SAAAyB,IAAA;QACDK,EAAA,GAAAC,GAAA;UACxB,MAAAC,cAAA,GAAuBf,OAAA,CAAAgB,IAAA,CAAAC,MAAA,IAAyBA,MAAA,CAAAX,KAAA,KAAiBQ,GAAA;UAAA;YAAAlB,KAAA,EAExDmB,cAAA,GAAiB3C,cAAA,CAAe2C,cAAA,CAAAnB,KAAA,EAAsBY,IAAA,IAAQM,GAAA;YAAAR,KAAA,EAC9DS,cAAA,EAAAT,KAAA,IAAyBQ;UAAA;QAAA;QAEpC/B,CAAA,OAAAiB,OAAA;QAAAjB,CAAA,OAAAyB,IAAA;QAAAzB,CAAA,OAAA8B,EAAA;MAAA;QAAAA,EAAA,GAAA9B,CAAA;MAAA;MANA2B,aAAA,CAAAA,CAAA,CAAgBJ,KAAA,CAAAY,GAAA,CAAUL,EAM1B;IANA;MAAA,IAOSP,KAAA;QAAA,IAAAa,gBAAA;QAAA,IAAAN,EAAA;QAAA,IAAA9B,CAAA,SAAAuB,KAAA,IAAAvB,CAAA,SAAAiB,OAAA,IAAAjB,CAAA,SAAAyB,IAAA;UAAA,IAAAY,EAAA;UAAA,IAAArC,CAAA,SAAAuB,KAAA;YAC2Bc,EAAA,GAAAC,QAAA,IAAYJ,QAAA,CAAAX,KAAA,KAAiBA,KAAA;YAAAvB,CAAA,OAAAuB,KAAA;YAAAvB,CAAA,OAAAqC,EAAA;UAAA;YAAAA,EAAA,GAAArC,CAAA;UAAA;UAAjEoC,gBAAA,GAAuBnB,OAAA,CAAAgB,IAAA,CAAaI,EAA6B;UAExDP,EAAA,GAAAE,gBAAA,GAAiB3C,cAAA,CAAe2C,gBAAA,CAAAnB,KAAA,EAAsBY,IAAA,IAAQF,KAAA;UAAAvB,CAAA,OAAAuB,KAAA;UAAAvB,CAAA,OAAAiB,OAAA;UAAAjB,CAAA,OAAAyB,IAAA;UAAAzB,CAAA,OAAAoC,gBAAA;UAAApC,CAAA,OAAA8B,EAAA;QAAA;UAAAM,gBAAA,GAAApC,CAAA;UAAA8B,EAAA,GAAA9B,CAAA;QAAA;QADvE2B,aAAA,CAAAA,CAAA,CAAAA;UAAAA,MAAA,CACSA,EAA8DA;UAAAA,MAAA,CAC9DK,gBAAA,EAAAT,KAAA,IAAyBA;QAAA;MAFlC;IAAA;IAYI,MAAAO,EAAA,GAAAT,SAAA,IAAa;IACb,MAAAgB,EAAA,GAAAlB,QAAA,IAAY;IAAA,IAAAoB,EAAA;IAAA,IAAAvC,CAAA,SAAAG,SAAA,IAAAH,CAAA,SAAA8B,EAAA,IAAA9B,CAAA,SAAAqC,EAAA;MALHE,EAAA,IAAA1C,cAAA,EAET,UACAM,SAAA,EACA2B,EAAa,EACbO,EAAY,EAAAG,MAAA,CAAAC,OAEJ;MAAAzC,CAAA,OAAAG,SAAA;MAAAH,CAAA,OAAA8B,EAAA;MAAA9B,CAAA,OAAAqC,EAAA;MAAArC,CAAA,OAAAuC,EAAA;IAAA;MAAAA,EAAA,GAAAvC,CAAA;IAAA;IAAA,IAAA0C,EAAA;IAAA,IAAA1C,CAAA,SAAAyB,IAAA;MAuBeiB,EAAA,GAAAC,QAAA;QAAA,GAChBT,QAAM;QAAArB,KAAA,EACFxB,cAAA,CAAe6C,QAAA,CAAArB,KAAA,EAAcY,IAAA;MAAA;MACtCzB,CAAA,OAAAyB,IAAA;MAAAzB,CAAA,OAAA0C,EAAA;IAAA;MAAAA,EAAA,GAAA1C,CAAA;IAAA;IAlCN0B,EAAA,GAAAkB,KAAA,CAAC;MAAAzC,SAAA,EACYoC,EAOD,CAAAM,IAAA,CACF;MAAAC,EAAA,EACJ,SAAS5B,IAAA,CAAA6B,OAAA,QAAoB,OAAO;MAAAzB,KAAA;MAAA0B,QAAA,GAGxCC,IAAA,CAAAzD,qBAAA;QAAA0D,eAAA,EACmBpC,KAAA;QAAAqC,QAAA,EAEfF,IAAA,CAAAtD,UAAA;UAAAkB,KAAA;UAAAE,SAAA;UAAAG,IAAA;UAAAE;QAAA,C;UAGJwB,KAAA,CAAC;QAAAzC,SAAA,EAAe,GAAAN,cAAA,QAAyB;QAAAmD,QAAA,GACvCC,IAAA,CAAAzD,qBAAA;UAAA0D,eAAA,EACmB5C,KAAA;UAAA6C,QAAA,EACPF,IAAA,CAAAvD,UAAA;YAAAwB,IAAA;YAAAG;UAAA,C;YAEXnB,WAAA,EACD+C,IAAA,CAAA1D,WAAA;UAAA6D,QAAA,EACYjC,QAAA;UAAAV,WAAA;UAAA4C,OAAA,EAED9C,OAAA;UAAAI,UAAA;UAAAK,QAAA;UAAAC,OAAA,EAGAA,OAAA,CAAAkB,GAAA,CAAYO,EAGrB;UAAArB,SAAA;UAAAE,KAAA,EAEOI;QAAA,C,GAER1B,UAAA;MAAA,C,GAEHgD,IAAA,CAAAzD,qBAAA;QAAA0D,eAAA,EACmB9C,WAAA;QAAA+C,QAAA,EACPF,IAAA,CAAAxD,gBAAA;UAAAY,WAAA;UAAAa;QAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA1CdQ,E;CA8CJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Select/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA8GxC,eAAO,MAAM,WAAW;;;;;;;+EAAsC,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Select/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA+GxC,eAAO,MAAM,WAAW;;;;;;;+EAAsC,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAA"}
@@ -100,6 +100,7 @@ const SelectFieldComponent = props => {
100
100
  options: options,
101
101
  path: path,
102
102
  readOnly: readOnly,
103
+ required: required,
103
104
  showError: showError,
104
105
  style: styles,
105
106
  value: value_0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useField","withCondition","mergeFieldStyles","SelectInput","formatOptions","options","map","option","value","label","SelectFieldComponent","props","field","name","admin","className","description","isClearable","isSortable","hasMany","localized","optionsFromProps","required","onChange","onChangeFromProps","path","readOnly","validate","memoizedValidate","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","setValue","showError","selectedOption","newValue","Array","isArray","styles","_jsx","style","SelectField"],"sources":["../../../src/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Option,\n OptionObject,\n SelectFieldClientComponent,\n SelectFieldClientProps,\n} from 'payload'\n\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { SelectInputProps } from './Input.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { SelectInput } from './Input.js'\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nconst SelectFieldComponent: SelectFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n admin: {\n className,\n description,\n isClearable = true,\n isSortable = true,\n } = {} as SelectFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n options: optionsFromProps = [],\n required,\n },\n onChange: onChangeFromProps,\n path,\n readOnly,\n validate,\n } = props\n\n const options = React.useMemo(() => formatOptions(optionsFromProps), [optionsFromProps])\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, hasMany, options, required })\n }\n },\n [validate, required, hasMany, options],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n setValue,\n showError,\n value,\n } = useField({\n path,\n validate: memoizedValidate,\n })\n\n const onChange: ReactSelectAdapterProps['onChange'] = useCallback(\n (selectedOption: OptionObject | OptionObject[]) => {\n if (!readOnly) {\n let newValue: string | string[] = null\n if (selectedOption && hasMany) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else if (selectedOption && !Array.isArray(selectedOption)) {\n newValue = selectedOption.value\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n\n setValue(newValue)\n }\n },\n [readOnly, hasMany, setValue, onChangeFromProps],\n )\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <SelectInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n className={className}\n Description={Description}\n description={description}\n Error={Error}\n hasMany={hasMany}\n isClearable={isClearable}\n isSortable={isSortable}\n Label={Label}\n label={label}\n localized={localized}\n name={name}\n onChange={onChange}\n options={options}\n path={path}\n readOnly={readOnly}\n showError={showError}\n style={styles}\n value={value as string | string[]}\n />\n )\n}\n\nexport const SelectField = withCondition(SelectFieldComponent)\n\nexport { SelectInput, type SelectInputProps }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useField","withCondition","mergeFieldStyles","SelectInput","formatOptions","options","map","option","value","label","SelectFieldComponent","props","field","name","admin","className","description","isClearable","isSortable","hasMany","localized","optionsFromProps","required","onChange","onChangeFromProps","path","readOnly","validate","memoizedValidate","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","setValue","showError","selectedOption","newValue","Array","isArray","styles","_jsx","style","SelectField"],"sources":["../../../src/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Option,\n OptionObject,\n SelectFieldClientComponent,\n SelectFieldClientProps,\n} from 'payload'\n\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { SelectInputProps } from './Input.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { SelectInput } from './Input.js'\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nconst SelectFieldComponent: SelectFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n admin: {\n className,\n description,\n isClearable = true,\n isSortable = true,\n } = {} as SelectFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n options: optionsFromProps = [],\n required,\n },\n onChange: onChangeFromProps,\n path,\n readOnly,\n validate,\n } = props\n\n const options = React.useMemo(() => formatOptions(optionsFromProps), [optionsFromProps])\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, hasMany, options, required })\n }\n },\n [validate, required, hasMany, options],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n setValue,\n showError,\n value,\n } = useField({\n path,\n validate: memoizedValidate,\n })\n\n const onChange: ReactSelectAdapterProps['onChange'] = useCallback(\n (selectedOption: OptionObject | OptionObject[]) => {\n if (!readOnly) {\n let newValue: string | string[] = null\n if (selectedOption && hasMany) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else if (selectedOption && !Array.isArray(selectedOption)) {\n newValue = selectedOption.value\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n\n setValue(newValue)\n }\n },\n [readOnly, hasMany, setValue, onChangeFromProps],\n )\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <SelectInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n className={className}\n Description={Description}\n description={description}\n Error={Error}\n hasMany={hasMany}\n isClearable={isClearable}\n isSortable={isSortable}\n Label={Label}\n label={label}\n localized={localized}\n name={name}\n onChange={onChange}\n options={options}\n path={path}\n readOnly={readOnly}\n required={required}\n showError={showError}\n style={styles}\n value={value as string | string[]}\n />\n )\n}\n\nexport const SelectField = withCondition(SelectFieldComponent)\n\nexport { SelectInput, type SelectInputProps }\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAgT7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AA0T7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -29,7 +29,7 @@ const DocumentInfo = ({
29
29
  hasPublishedDoc: hasPublishedDocFromProps,
30
30
  hasPublishPermission: hasPublishPermissionFromProps,
31
31
  hasSavePermission: hasSavePermissionFromProps,
32
- initialData: data,
32
+ initialData,
33
33
  initialState,
34
34
  isLocked: isLockedFromProps,
35
35
  lastUpdateTime: lastUpdateTimeFromProps,
@@ -72,7 +72,7 @@ const DocumentInfo = ({
72
72
  const [documentTitle, setDocumentTitle] = useState(() => formatDocTitle({
73
73
  collectionConfig,
74
74
  data: {
75
- ...data,
75
+ ...(initialData || {}),
76
76
  id
77
77
  },
78
78
  dateFormat,
@@ -87,7 +87,8 @@ const DocumentInfo = ({
87
87
  const [documentIsLocked, setDocumentIsLocked] = useState(isLockedFromProps);
88
88
  const [currentEditor, setCurrentEditor] = useState(currentEditorFromProps);
89
89
  const [lastUpdateTime, setLastUpdateTime] = useState(lastUpdateTimeFromProps);
90
- const isInitializing = initialState === undefined || data === undefined;
90
+ const [savedDocumentData, setSavedDocumentData] = useState(initialData);
91
+ const isInitializing = initialState === undefined || initialData === undefined;
91
92
  const {
92
93
  getPreference,
93
94
  setPreference
@@ -209,11 +210,14 @@ const DocumentInfo = ({
209
210
  setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max));
210
211
  }
211
212
  }, [collectionConfig, globalConfig, versionCount]);
213
+ const updateSavedDocumentData = React.useCallback(json => {
214
+ setSavedDocumentData(json);
215
+ }, []);
212
216
  useEffect(() => {
213
217
  setDocumentTitle(formatDocTitle({
214
218
  collectionConfig,
215
219
  data: {
216
- ...data,
220
+ ...savedDocumentData,
217
221
  id
218
222
  },
219
223
  dateFormat,
@@ -221,7 +225,7 @@ const DocumentInfo = ({
221
225
  globalConfig,
222
226
  i18n
223
227
  }));
224
- }, [collectionConfig, globalConfig, data, dateFormat, i18n, id]);
228
+ }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id]);
225
229
  // clean on unmount
226
230
  useEffect(() => {
227
231
  const re1 = abortControllerRef.current;
@@ -260,12 +264,13 @@ const DocumentInfo = ({
260
264
  hasPublishPermission,
261
265
  hasSavePermission,
262
266
  incrementVersionCount,
263
- initialData: data,
267
+ initialData,
264
268
  initialState,
265
269
  isInitializing,
266
270
  lastUpdateTime,
267
271
  mostRecentVersionIsAutosaved,
268
272
  preferencesKey,
273
+ savedDocumentData,
269
274
  setCurrentEditor,
270
275
  setDocFieldPreferences,
271
276
  setDocumentIsLocked,
@@ -278,6 +283,7 @@ const DocumentInfo = ({
278
283
  unlockDocument,
279
284
  unpublishedVersionCount,
280
285
  updateDocumentEditor,
286
+ updateSavedDocumentData,
281
287
  versionCount
282
288
  };
283
289
  return /*#__PURE__*/_jsx(Context.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","data","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","isInitializing","undefined","getPreference","setPreference","code","locale","baseURL","slug","pluralType","preferencesKey","unlockDocument","docId","isGlobal","query","request","get","docs","json","length","lockId","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","versions","Math","min","maxPerDoc","max","re1","current","abort","_err","action","useMemo","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n DocumentPreferences,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: data,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n\n const isInitializing = initialState === undefined || data === undefined\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docId: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockId = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockId}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docId: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockId = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockId}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n if (collectionConfig && collectionConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, collectionConfig.versions.maxPerDoc))\n } else if (globalConfig && globalConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max))\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, data, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData: data,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","isInitializing","undefined","getPreference","setPreference","code","locale","baseURL","slug","pluralType","preferencesKey","unlockDocument","docId","isGlobal","query","request","get","docs","json","length","lockId","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","versions","Math","min","maxPerDoc","max","updateSavedDocumentData","re1","current","abort","_err","action","useMemo","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n DocumentPreferences,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n\n const isInitializing = initialState === undefined || initialData === undefined\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docId: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockId = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockId}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docId: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockId = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockId}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n if (collectionConfig && collectionConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, collectionConfig.versions.maxPerDoc))\n } else if (globalConfig && globalConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max))\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -43,6 +43,7 @@ export type DocumentInfoContext = {
43
43
  lastUpdateTime?: number;
44
44
  mostRecentVersionIsAutosaved: boolean;
45
45
  preferencesKey?: string;
46
+ savedDocumentData?: Data;
46
47
  setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>;
47
48
  setDocFieldPreferences: (field: string, fieldPreferences: {
48
49
  [key: string]: unknown;
@@ -57,6 +58,7 @@ export type DocumentInfoContext = {
57
58
  unlockDocument: (docId: number | string, slug: string) => Promise<void>;
58
59
  unpublishedVersionCount: number;
59
60
  updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>;
61
+ updateSavedDocumentData: (data: Data) => void;
60
62
  versionCount: number;
61
63
  } & DocumentInfoProps;
62
64
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: TypedUser\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: ClientUser | null | number | string\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n hasPublishedDoc: boolean\n incrementVersionCount: () => void\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n lastUpdateTime?: number\n mostRecentVersionIsAutosaved: boolean\n preferencesKey?: string\n setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n setDocumentTitle: (title: string) => void\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n title: string\n unlockDocument: (docId: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>\n versionCount: number\n} & DocumentInfoProps\n"],"mappings":"AA6CA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: TypedUser\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: ClientUser | null | number | string\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n hasPublishedDoc: boolean\n incrementVersionCount: () => void\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n lastUpdateTime?: number\n mostRecentVersionIsAutosaved: boolean\n preferencesKey?: string\n savedDocumentData?: Data\n setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n setDocumentTitle: (title: string) => void\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n title: string\n unlockDocument: (docId: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>\n updateSavedDocumentData: (data: Data) => void\n versionCount: number\n} & DocumentInfoProps\n"],"mappings":"AA6CA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAA;AAChB,OAAO,KAA6D,MAAM,OAAO,CAAA;AA2BjF,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmgB7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAA;AAChB,OAAO,KAA6D,MAAM,OAAO,CAAA;AA2BjF,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAygB7D,CAAA"}
@@ -61,17 +61,18 @@ export const DefaultEditView = ({
61
61
  hasPublishPermission,
62
62
  hasSavePermission,
63
63
  incrementVersionCount,
64
- initialData: data,
65
64
  initialState,
66
65
  isEditing,
67
66
  isInitializing,
68
67
  lastUpdateTime,
69
68
  redirectAfterDelete,
70
69
  redirectAfterDuplicate,
70
+ savedDocumentData,
71
71
  setCurrentEditor,
72
72
  setDocumentIsLocked,
73
73
  unlockDocument,
74
- updateDocumentEditor
74
+ updateDocumentEditor,
75
+ updateSavedDocumentData
75
76
  } = useDocumentInfo();
76
77
  const {
77
78
  clearDoc,
@@ -177,6 +178,9 @@ export const DefaultEditView = ({
177
178
  void refreshCookieAsync();
178
179
  }
179
180
  incrementVersionCount();
181
+ if (typeof updateSavedDocumentData === 'function') {
182
+ void updateSavedDocumentData(json?.doc || {});
183
+ }
180
184
  if (typeof onSaveFromContext === 'function') {
181
185
  void onSaveFromContext({
182
186
  ...json,
@@ -198,7 +202,7 @@ export const DefaultEditView = ({
198
202
  resetUploadEdits();
199
203
  }
200
204
  await getDocPermissions(json);
201
- }, [reportUpdate, id, entitySlug, user, collectionSlug, userSlug, incrementVersionCount, onSaveFromContext, globalSlug, isLockingEnabled, isEditing, depth, getDocPermissions, refreshCookieAsync, setDocumentIsLocked, adminRoute, locale, router, resetUploadEdits]);
205
+ }, [updateSavedDocumentData, reportUpdate, id, entitySlug, user, collectionSlug, userSlug, incrementVersionCount, onSaveFromContext, globalSlug, isLockingEnabled, isEditing, depth, getDocPermissions, refreshCookieAsync, setDocumentIsLocked, adminRoute, locale, router, resetUploadEdits]);
202
206
  const onChange = useCallback(async ({
203
207
  formState: prevFormState
204
208
  }) => {
@@ -341,7 +345,7 @@ export const DefaultEditView = ({
341
345
  SaveButton,
342
346
  SaveDraftButton
343
347
  },
344
- data: data,
348
+ data: savedDocumentData,
345
349
  disableActions: disableActions,
346
350
  disableCreate: disableCreate,
347
351
  hasPublishPermission: hasPublishPermission,
@@ -366,7 +370,7 @@ export const DefaultEditView = ({
366
370
  className: `${baseClass}__auth`,
367
371
  collectionSlug: collectionConfig.slug,
368
372
  disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
369
- email: data?.email,
373
+ email: savedDocumentData?.email,
370
374
  loginWithUsername: auth?.loginWithUsername,
371
375
  operation: operation,
372
376
  readOnly: !hasSavePermission,
@@ -374,7 +378,7 @@ export const DefaultEditView = ({
374
378
  setSchemaPathSegments: setSchemaPathSegments,
375
379
  setValidateBeforeSubmit: setValidateBeforeSubmit,
376
380
  useAPIKey: auth.useAPIKey,
377
- username: data?.username,
381
+ username: savedDocumentData?.username,
378
382
  verify: auth.verify
379
383
  }), upload && /*#__PURE__*/_jsx(React.Fragment, {
380
384
  children: CustomUpload || /*#__PURE__*/_jsx(Upload, {