@payloadcms/ui 3.0.0-beta.116 → 3.0.0-beta.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +16 -5
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +16 -5
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +4 -0
- package/dist/elements/TableColumns/buildColumnState.js +1 -0
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +16 -5
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-4A6256PR.js → CodeEditor-VPUKDCXS.js} +1 -1
- package/dist/exports/client/{CodeEditor-4A6256PR.js.map → CodeEditor-VPUKDCXS.js.map} +1 -1
- package/dist/exports/client/{DatePicker-2ZXVD574.js → DatePicker-FUJV23KL.js} +2 -2
- package/dist/exports/client/{chunk-ED2SHEMU.js → chunk-UMJJTMDP.js} +1 -1
- package/dist/exports/client/{chunk-ED2SHEMU.js.map → chunk-UMJJTMDP.js.map} +1 -1
- package/dist/exports/client/index.js +10 -7
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +1 -0
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +58 -30
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.scss +24 -2
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +7 -0
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +21 -3
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/providers/Selection/index.js +3 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +8 -8
- /package/dist/exports/client/{DatePicker-2ZXVD574.js.map → DatePicker-FUJV23KL.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI1C,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI1C,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAA;AAqH3E,eAAO,MAAM,aAAa;;;;;;;;;;;;oCAAwC,CAAA"}
|
|
@@ -193,6 +193,7 @@ const CheckboxFieldComponent = props => {
|
|
|
193
193
|
afterInput: field?.admin?.components?.afterInput,
|
|
194
194
|
beforeInput: field?.admin?.components?.beforeInput,
|
|
195
195
|
checked,
|
|
196
|
+
field,
|
|
196
197
|
id: fieldID,
|
|
197
198
|
inputRef: null,
|
|
198
199
|
Label: field?.admin?.components?.Label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useFieldProps","useForm","useField","withCondition","useEditDepth","generateFieldID","FieldDescription","FieldError","fieldBaseClass","CheckboxInput","baseClass","CheckboxFieldComponent","props","$","id","checked","checkedFromProps","descriptionProps","disableFormData","errorProps","field","t0","labelProps","onChange","onChangeFromProps","partialChecked","readOnly","readOnlyFromTopLevelProps","validate","t1","undefined","name","_path","pathFromProps","admin","t2","label","required","t3","className","description","readOnlyFromAdmin","style","width","readOnlyFromProps","uuid","editDepth","t4","value","options","memoizedValidate","path","pathFromContext","readOnlyFromContext","t5","t6","formInitializing","formProcessing","setValue","showError","value_0","disabled","t7","onToggle","Boolean","t8","fieldID","t9","t10","t11","t12","filter","t13","join","t14","t15","t16","_jsxs","children","_jsx","CustomError","components","Error","alignCaret","afterInput","beforeInput","inputRef","Label","Description","CheckboxField"],"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type {\n CheckboxFieldClientComponent,\n CheckboxFieldClientProps,\n CheckboxFieldValidation,\n} from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { CheckboxInput } from './Input.js'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldClientProps, CheckboxInput, type CheckboxInputProps }\n\nconst CheckboxFieldComponent: CheckboxFieldClientComponent = (props) => {\n const {\n id,\n checked: checkedFromProps,\n descriptionProps,\n disableFormData,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n readOnly: readOnlyFromAdmin,\n style,\n width,\n } = {} as CheckboxFieldClientProps['field']['admin'],\n label,\n required,\n } = {} as CheckboxFieldClientProps['field'],\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { uuid } = useForm()\n\n const editDepth = useEditDepth()\n\n const memoizedValidate: CheckboxFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(!value)\n }\n }\n }, [onChangeFromProps, disabled, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, editDepth, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n disabled && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError\n CustomError={field?.admin?.components?.Error}\n field={field}\n path={path}\n {...(errorProps || {})}\n alignCaret=\"left\"\n />\n <CheckboxInput\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n checked={checked}\n id={fieldID}\n inputRef={null}\n Label={field?.admin?.components?.Label}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={disabled}\n required={required}\n />\n <FieldDescription\n Description={field?.admin?.components?.Description}\n description={description}\n field={field}\n {...(descriptionProps || {})}\n />\n </div>\n )\n}\n\nexport const CheckboxField = withCondition(CheckboxFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useFieldProps","useForm","useField","withCondition","useEditDepth","generateFieldID","FieldDescription","FieldError","fieldBaseClass","CheckboxInput","baseClass","CheckboxFieldComponent","props","$","id","checked","checkedFromProps","descriptionProps","disableFormData","errorProps","field","t0","labelProps","onChange","onChangeFromProps","partialChecked","readOnly","readOnlyFromTopLevelProps","validate","t1","undefined","name","_path","pathFromProps","admin","t2","label","required","t3","className","description","readOnlyFromAdmin","style","width","readOnlyFromProps","uuid","editDepth","t4","value","options","memoizedValidate","path","pathFromContext","readOnlyFromContext","t5","t6","formInitializing","formProcessing","setValue","showError","value_0","disabled","t7","onToggle","Boolean","t8","fieldID","t9","t10","t11","t12","filter","t13","join","t14","t15","t16","_jsxs","children","_jsx","CustomError","components","Error","alignCaret","afterInput","beforeInput","inputRef","Label","Description","CheckboxField"],"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type {\n CheckboxFieldClientComponent,\n CheckboxFieldClientProps,\n CheckboxFieldValidation,\n} from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { CheckboxInput } from './Input.js'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldClientProps, CheckboxInput, type CheckboxInputProps }\n\nconst CheckboxFieldComponent: CheckboxFieldClientComponent = (props) => {\n const {\n id,\n checked: checkedFromProps,\n descriptionProps,\n disableFormData,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n readOnly: readOnlyFromAdmin,\n style,\n width,\n } = {} as CheckboxFieldClientProps['field']['admin'],\n label,\n required,\n } = {} as CheckboxFieldClientProps['field'],\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { uuid } = useForm()\n\n const editDepth = useEditDepth()\n\n const memoizedValidate: CheckboxFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(!value)\n }\n }\n }, [onChangeFromProps, disabled, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, editDepth, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n disabled && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError\n CustomError={field?.admin?.components?.Error}\n field={field}\n path={path}\n {...(errorProps || {})}\n alignCaret=\"left\"\n />\n <CheckboxInput\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n checked={checked}\n field={field}\n id={fieldID}\n inputRef={null}\n Label={field?.admin?.components?.Label}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={disabled}\n required={required}\n />\n <FieldDescription\n Description={field?.admin?.components?.Description}\n description={description}\n field={field}\n {...(descriptionProps || {})}\n />\n </div>\n )\n}\n\nexport const CheckboxField = withCondition(CheckboxFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/FieldLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAkC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/FieldLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAkC,MAAM,SAAS,CAAA;AAYxF,OAAO,cAAc,CAAA;AAqCrB,eAAO,MAAM,UAAU,EAAE,yBA6BxB,CAAA"}
|
|
@@ -8,21 +8,26 @@ import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
|
|
|
8
8
|
import { useForm } from '../../forms/Form/context.js';
|
|
9
9
|
import { RenderComponent } from '../../providers/Config/RenderComponent.js';
|
|
10
10
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
11
|
+
import { useLocale } from '../../providers/Locale/index.js';
|
|
11
12
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
12
13
|
import { generateFieldID } from '../../utilities/generateFieldID.js';
|
|
13
14
|
import './index.scss';
|
|
14
15
|
const DefaultFieldLabel = props => {
|
|
15
|
-
const $ = _c(
|
|
16
|
+
const $ = _c(25);
|
|
16
17
|
const {
|
|
17
18
|
as: t0,
|
|
19
|
+
hideLocale: t1,
|
|
18
20
|
htmlFor: htmlForFromProps,
|
|
19
21
|
label: labelFromProps,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
localized: t2,
|
|
23
|
+
required: t3,
|
|
24
|
+
unstyled: t4
|
|
22
25
|
} = props;
|
|
23
26
|
const Element = t0 === undefined ? "label" : t0;
|
|
24
|
-
const
|
|
25
|
-
const
|
|
27
|
+
const hideLocale = t1 === undefined ? false : t1;
|
|
28
|
+
const localized = t2 === undefined ? false : t2;
|
|
29
|
+
const required = t3 === undefined ? false : t3;
|
|
30
|
+
const unstyled = t4 === undefined ? false : t4;
|
|
26
31
|
const {
|
|
27
32
|
uuid
|
|
28
33
|
} = useForm();
|
|
@@ -30,54 +35,76 @@ const DefaultFieldLabel = props => {
|
|
|
30
35
|
path
|
|
31
36
|
} = useFieldProps();
|
|
32
37
|
const editDepth = useEditDepth();
|
|
33
|
-
let
|
|
38
|
+
let t5;
|
|
34
39
|
if ($[0] !== htmlForFromProps || $[1] !== path || $[2] !== editDepth || $[3] !== uuid) {
|
|
35
|
-
|
|
40
|
+
t5 = htmlForFromProps || generateFieldID(path, editDepth, uuid);
|
|
36
41
|
$[0] = htmlForFromProps;
|
|
37
42
|
$[1] = path;
|
|
38
43
|
$[2] = editDepth;
|
|
39
44
|
$[3] = uuid;
|
|
40
|
-
$[4] =
|
|
45
|
+
$[4] = t5;
|
|
41
46
|
} else {
|
|
42
|
-
|
|
47
|
+
t5 = $[4];
|
|
43
48
|
}
|
|
44
|
-
const htmlFor =
|
|
49
|
+
const htmlFor = t5;
|
|
45
50
|
const {
|
|
46
51
|
i18n
|
|
47
52
|
} = useTranslation();
|
|
53
|
+
const {
|
|
54
|
+
code,
|
|
55
|
+
label: localLabel
|
|
56
|
+
} = useLocale();
|
|
48
57
|
if (labelFromProps) {
|
|
49
|
-
const
|
|
50
|
-
let
|
|
51
|
-
if ($[5] !== labelFromProps || $[6] !== i18n || $[7] !== required || $[8] !== unstyled || $[9] !==
|
|
52
|
-
let
|
|
53
|
-
if ($[
|
|
54
|
-
|
|
58
|
+
const t6 = `field-label ${unstyled ? "unstyled" : ""}`;
|
|
59
|
+
let t7;
|
|
60
|
+
if ($[5] !== labelFromProps || $[6] !== i18n || $[7] !== required || $[8] !== unstyled || $[9] !== localized || $[10] !== hideLocale || $[11] !== localLabel || $[12] !== code || $[13] !== t6 || $[14] !== htmlFor || $[15] !== Element) {
|
|
61
|
+
let t8;
|
|
62
|
+
if ($[17] !== required || $[18] !== unstyled) {
|
|
63
|
+
t8 = required && !unstyled && _jsx("span", {
|
|
55
64
|
className: "required",
|
|
56
65
|
children: "*"
|
|
57
66
|
});
|
|
58
|
-
$[
|
|
59
|
-
$[
|
|
60
|
-
$[
|
|
67
|
+
$[17] = required;
|
|
68
|
+
$[18] = unstyled;
|
|
69
|
+
$[19] = t8;
|
|
70
|
+
} else {
|
|
71
|
+
t8 = $[19];
|
|
72
|
+
}
|
|
73
|
+
let t9;
|
|
74
|
+
if ($[20] !== localized || $[21] !== hideLocale || $[22] !== localLabel || $[23] !== code) {
|
|
75
|
+
t9 = localized && !hideLocale && _jsxs("span", {
|
|
76
|
+
className: "localized",
|
|
77
|
+
children: ["\u2014 ", typeof localLabel === "string" ? localLabel : code]
|
|
78
|
+
});
|
|
79
|
+
$[20] = localized;
|
|
80
|
+
$[21] = hideLocale;
|
|
81
|
+
$[22] = localLabel;
|
|
82
|
+
$[23] = code;
|
|
83
|
+
$[24] = t9;
|
|
61
84
|
} else {
|
|
62
|
-
|
|
85
|
+
t9 = $[24];
|
|
63
86
|
}
|
|
64
|
-
|
|
65
|
-
className:
|
|
87
|
+
t7 = _jsxs(Element, {
|
|
88
|
+
className: t6,
|
|
66
89
|
htmlFor,
|
|
67
|
-
children: [getTranslation(labelFromProps, i18n),
|
|
90
|
+
children: [getTranslation(labelFromProps, i18n), t8, t9]
|
|
68
91
|
});
|
|
69
92
|
$[5] = labelFromProps;
|
|
70
93
|
$[6] = i18n;
|
|
71
94
|
$[7] = required;
|
|
72
95
|
$[8] = unstyled;
|
|
73
|
-
$[9] =
|
|
74
|
-
$[10] =
|
|
75
|
-
$[11] =
|
|
76
|
-
$[12] =
|
|
96
|
+
$[9] = localized;
|
|
97
|
+
$[10] = hideLocale;
|
|
98
|
+
$[11] = localLabel;
|
|
99
|
+
$[12] = code;
|
|
100
|
+
$[13] = t6;
|
|
101
|
+
$[14] = htmlFor;
|
|
102
|
+
$[15] = Element;
|
|
103
|
+
$[16] = t7;
|
|
77
104
|
} else {
|
|
78
|
-
|
|
105
|
+
t7 = $[16];
|
|
79
106
|
}
|
|
80
|
-
return
|
|
107
|
+
return t7;
|
|
81
108
|
}
|
|
82
109
|
return null;
|
|
83
110
|
};
|
|
@@ -99,7 +126,8 @@ export const FieldLabel = props => {
|
|
|
99
126
|
label: typeof props?.label !== 'undefined' ? props.label : props?.field && 'label' in props.field && props.field.label // type assertion needed for `row` fields
|
|
100
127
|
,
|
|
101
128
|
|
|
102
|
-
|
|
129
|
+
localized: typeof props.localized !== 'undefined' ? props.localized : props?.field && 'localized' in props.field && props.field.localized,
|
|
130
|
+
required: typeof props.required !== 'undefined' ? props.required : props?.field && 'required' in props.field && props.field?.required
|
|
103
131
|
});
|
|
104
132
|
};
|
|
105
133
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useFieldProps","useForm","RenderComponent","useEditDepth","useTranslation","generateFieldID","DefaultFieldLabel","props","$","as","t0","htmlFor","htmlForFromProps","label","labelFromProps","required","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useFieldProps","useForm","RenderComponent","useEditDepth","useLocale","useTranslation","generateFieldID","DefaultFieldLabel","props","$","as","t0","hideLocale","t1","htmlFor","htmlForFromProps","label","labelFromProps","localized","t2","required","t3","unstyled","t4","Element","undefined","uuid","path","editDepth","t5","i18n","code","localLabel","t6","t7","t8","_jsx","className","children","t9","_jsxs","FieldLabel","Label","rest","clientProps","mappedComponent","field"],"sources":["../../../src/fields/FieldLabel/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldLabelClientComponent, GenericLabelProps, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport './index.scss'\n\nconst DefaultFieldLabel: React.FC<GenericLabelProps> = (props) => {\n const {\n as: Element = 'label',\n hideLocale = false,\n htmlFor: htmlForFromProps,\n label: labelFromProps,\n localized = false,\n required = false,\n unstyled = false,\n } = props\n\n const { uuid } = useForm()\n const { path } = useFieldProps()\n const editDepth = useEditDepth()\n const htmlFor = htmlForFromProps || generateFieldID(path, editDepth, uuid)\n const { i18n } = useTranslation()\n const { code, label: localLabel } = useLocale()\n\n if (labelFromProps) {\n return (\n <Element className={`field-label ${unstyled ? 'unstyled' : ''}`} htmlFor={htmlFor}>\n {getTranslation(labelFromProps, i18n)}\n {required && !unstyled && <span className=\"required\">*</span>}\n {localized && !hideLocale && (\n <span className=\"localized\">\n — {typeof localLabel === 'string' ? localLabel : code}\n </span>\n )}\n </Element>\n )\n }\n\n return null\n}\n\nexport const FieldLabel: FieldLabelClientComponent = (props) => {\n const { Label, ...rest } = props\n\n // Don't get `Label` from `field.admin.components.Label` here because\n // this will cause an infinite loop when threading field through custom usages of `FieldLabel`\n if (Label) {\n return <RenderComponent clientProps={rest} mappedComponent={Label} />\n }\n\n return (\n <DefaultFieldLabel\n {...rest}\n label={\n typeof props?.label !== 'undefined'\n ? props.label\n : props?.field && 'label' in props.field && (props.field.label as StaticLabel) // type assertion needed for `row` fields\n }\n localized={\n typeof props.localized !== 'undefined'\n ? props.localized\n : props?.field && 'localized' in props.field && props.field.localized\n }\n required={\n typeof props.required !== 'undefined'\n ? props.required\n : props?.field && 'required' in props.field && props.field?.required\n }\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,23 +1,45 @@
|
|
|
1
1
|
@import '../../scss/styles.scss';
|
|
2
2
|
|
|
3
3
|
@layer payload-default {
|
|
4
|
+
label.field-label {
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
4
9
|
label.field-label:not(.unstyled) {
|
|
5
10
|
@extend %body;
|
|
6
11
|
display: flex;
|
|
7
12
|
padding-bottom: base(0.25);
|
|
8
13
|
color: var(--theme-elevation-800);
|
|
9
14
|
font-family: var(--font-body);
|
|
15
|
+
[dir='ltr'] & {
|
|
16
|
+
margin-right: auto;
|
|
17
|
+
}
|
|
18
|
+
[dir='rtl'] & {
|
|
19
|
+
margin-left: auto;
|
|
20
|
+
}
|
|
10
21
|
|
|
11
22
|
.required {
|
|
12
23
|
color: var(--theme-error-500);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.required {
|
|
13
27
|
[dir='ltr'] & {
|
|
14
28
|
margin-left: base(0.25);
|
|
15
|
-
margin-right: auto;
|
|
16
29
|
}
|
|
17
30
|
[dir='rtl'] & {
|
|
18
31
|
margin-right: base(0.25);
|
|
19
|
-
margin-left: auto;
|
|
20
32
|
}
|
|
21
33
|
}
|
|
22
34
|
}
|
|
35
|
+
|
|
36
|
+
.localized {
|
|
37
|
+
@extend %body;
|
|
38
|
+
[dir='ltr'] & {
|
|
39
|
+
margin-left: base(0.25);
|
|
40
|
+
}
|
|
41
|
+
[dir='rtl'] & {
|
|
42
|
+
margin-right: base(0.25);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
23
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAiV7E"}
|
|
@@ -245,6 +245,13 @@ export function fieldReducer(state, action) {
|
|
|
245
245
|
duplicateRowState.id.value = new ObjectId().toHexString();
|
|
246
246
|
duplicateRowState.id.initialValue = new ObjectId().toHexString();
|
|
247
247
|
}
|
|
248
|
+
for (const key of Object.keys(duplicateRowState).filter(key => key.endsWith('.id'))) {
|
|
249
|
+
const idState = duplicateRowState[key];
|
|
250
|
+
if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {
|
|
251
|
+
duplicateRowState[key].value = new ObjectId().toHexString();
|
|
252
|
+
duplicateRowState[key].initialValue = new ObjectId().toHexString();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
248
255
|
// If there are subfields
|
|
249
256
|
if (Object.keys(duplicateRowState).length > 0) {
|
|
250
257
|
// Add new object containing subfield names to unflattenedRows array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObject","deepCopyObjectSimple","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","optimize","newState","Object","entries","forEach","path","field","oldField","newField","errorPaths","errors","message","initialValue","value","errorMessage","valid","segments","split","length","push","fieldErrorPath","parentPath","slice","join","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","key","rowIndex","remainingFields","rows","rowsMetadata","splice","disableFormData","blockType","rowIndexFromArgs","subFieldState","withNewRow","newRow","id","toHexString","undefined","collapsed","siblingRows","rowIndexArg","Math","max","min","duplicateRowMetadata","duplicateRowState","keys","moveFromIndex","moveToIndex","copyOfMovingRow","rowStateCopy","movingRowState","updatedRows"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObject, deepCopyObjectSimple } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState = {}\n\n Object.entries(action.state).forEach(([path, field]) => {\n const oldField = state[path]\n const newField = field\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n })\n return newState\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ field, message }) => {\n newState[field] = {\n ...(newState[field] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = field.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: field,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n }\n }\n\n return field\n },\n state[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimple(rowsMetadata[rowIndex])\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n const duplicateRowState = deepCopyObject(rows[rowIndex])\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n const { remainingFields, rows } = separateRows(path, state)\n\n // copy the row to move\n const copyOfMovingRow = rows[moveFromIndex]\n // delete the row by index\n rows.splice(moveFromIndex, 1)\n // insert row copyOfMovingRow back in\n rows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowStateCopy = [...(state[path]?.rows || [])]\n const movingRowState = { ...rowStateCopy[moveFromIndex] }\n rowStateCopy.splice(moveFromIndex, 1)\n rowStateCopy.splice(moveToIndex, 0, movingRowState)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n rows: rowStateCopy,\n },\n }\n\n return newState\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObject","deepCopyObjectSimple","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","optimize","newState","Object","entries","forEach","path","field","oldField","newField","errorPaths","errors","message","initialValue","value","errorMessage","valid","segments","split","length","push","fieldErrorPath","parentPath","slice","join","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","key","rowIndex","remainingFields","rows","rowsMetadata","splice","disableFormData","blockType","rowIndexFromArgs","subFieldState","withNewRow","newRow","id","toHexString","undefined","collapsed","siblingRows","rowIndexArg","Math","max","min","duplicateRowMetadata","duplicateRowState","keys","filter","endsWith","idState","isValid","moveFromIndex","moveToIndex","copyOfMovingRow","rowStateCopy","movingRowState","updatedRows"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObject, deepCopyObjectSimple } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState = {}\n\n Object.entries(action.state).forEach(([path, field]) => {\n const oldField = state[path]\n const newField = field\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n })\n return newState\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ field, message }) => {\n newState[field] = {\n ...(newState[field] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = field.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: field,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n }\n }\n\n return field\n },\n state[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimple(rowsMetadata[rowIndex])\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n const duplicateRowState = deepCopyObject(rows[rowIndex])\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = new ObjectId().toHexString()\n duplicateRowState[key].initialValue = new ObjectId().toHexString()\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n const { remainingFields, rows } = separateRows(path, state)\n\n // copy the row to move\n const copyOfMovingRow = rows[moveFromIndex]\n // delete the row by index\n rows.splice(moveFromIndex, 1)\n // insert row copyOfMovingRow back in\n rows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowStateCopy = [...(state[path]?.rows || [])]\n const movingRowState = { ...rowStateCopy[moveFromIndex] }\n rowStateCopy.splice(moveFromIndex, 1)\n rowStateCopy.splice(moveToIndex, 0, movingRowState)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n rows: rowStateCopy,\n },\n }\n\n return newState\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAAA;;AAGA,OAAOA,cAAA,MAAoB;AAC3B,SAASC,MAAM,QAAQ,cAAa,CAAC;AACrC,SAASC,cAAc,EAAEC,oBAAoB,QAAQ;AAIrD,SAASC,WAAW,EAAEC,YAAY,QAAQ;AAE1C,MAAMC,QAAA,GAAYN,cAAA,CAAeO,OAAO,IACtCP,cAAA;AAEF;;;AAGA,OAAO,SAASQ,aAAaC,KAAgB,EAAEC,MAAmB;EAChE,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAiB;QACpB,IAAID,MAAA,CAAOE,QAAQ,KAAK,OAAO;UAC7B;UACA;UACA;UACA;UACA;UACA,MAAMC,QAAA,GAAW,CAAC;UAElBC,MAAA,CAAOC,OAAO,CAACL,MAAA,CAAOD,KAAK,EAAEO,OAAO,CAAC,CAAC,CAACC,IAAA,EAAMC,KAAA,CAAM;YACjD,MAAMC,QAAA,GAAWV,KAAK,CAACQ,IAAA,CAAK;YAC5B,MAAMG,QAAA,GAAWF,KAAA;YAEjB,IAAI,CAACjB,MAAA,CAAOkB,QAAA,EAAUC,QAAA,GAAW;cAC/BP,QAAQ,CAACI,IAAA,CAAK,GAAGG,QAAA;YACnB,OAAO,IAAID,QAAA,EAAU;cACnBN,QAAQ,CAACI,IAAA,CAAK,GAAGE,QAAA;YACnB;UACF;UACA,OAAON,QAAA;QACT;QACA;QACA,OAAOH,MAAA,CAAOD,KAAK;MACrB;IAEA,KAAK;MAAU;QACb,MAAMI,QAAA,GAAW;UAAE,GAAGJ;QAAM;QAC5B,IAAII,QAAQ,CAACH,MAAA,CAAOO,IAAI,CAAC,EAAE;UACzB,OAAOJ,QAAQ,CAACH,MAAA,CAAOO,IAAI,CAAC;QAC9B;QACA,OAAOJ,QAAA;MACT;IAEA,KAAK;MAAqB;QACxB,IAAIA,QAAA,GAAW;UAAE,GAAGJ;QAAM;QAE1B,MAAMY,UAAA,GAA+D,EAAE;QAEvEX,MAAA,CAAOY,MAAM,CAACN,OAAO,CAAC,CAAC;UAAEE,KAAK;UAAEK;QAAO,CAAE;UACvCV,QAAQ,CAACK,KAAA,CAAM,GAAG;YAChB,IAAIL,QAAQ,CAACK,KAAA,CAAM,IAAI;cACrBM,YAAA,EAAc;cACdC,KAAA,EAAO;YACT,CAAC;YACDC,YAAA,EAAcH,OAAA;YACdI,KAAA,EAAO;UACT;UAEA,MAAMC,QAAA,GAAWV,KAAA,CAAMW,KAAK,CAAC;UAC7B,IAAID,QAAA,CAASE,MAAM,GAAG,GAAG;YACvBT,UAAA,CAAWU,IAAI,CAAC;cACdC,cAAA,EAAgBd,KAAA;cAChBe,UAAA,EAAYL,QAAA,CAASM,KAAK,CAAC,GAAGN,QAAA,CAASE,MAAM,GAAG,GAAGK,IAAI,CAAC;YAC1D;UACF;QACF;QAEAtB,QAAA,GAAWC,MAAA,CAAOC,OAAO,CAACF,QAAA,EAAUuB,MAAM,CAAC,CAACC,GAAA,EAAK,CAACpB,IAAA,EAAMqB,UAAA,CAAW;UACjE,MAAMC,eAAA,GAAkBlB,UAAA,CAAWe,MAAM,CAAC,CAACI,QAAA,EAAU;YAAER,cAAc;YAAEC;UAAU,CAAE;YACjF,IAAIA,UAAA,CAAWQ,UAAU,CAACxB,IAAA,GAAO;cAC/BuB,QAAA,CAAST,IAAI,CAACC,cAAA;YAChB;YACA,OAAOQ,QAAA;UACT,GAAG,EAAE;UAEL,IAAIE,OAAA,GAAU;UAEd,IAAIH,eAAA,CAAgBT,MAAM,GAAG,GAAG;YAC9B,MAAMa,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACP,UAAA,CAAWjB,UAAU,IAAIiB,UAAA,CAAWjB,UAAU,GAAG,EAAE;YAEvFkB,eAAA,CAAgBvB,OAAO,CAAEgB,cAAA;cACvB,IAAI,CAACW,aAAA,CAAcG,QAAQ,CAACd,cAAA,GAAiB;gBAC3CW,aAAA,CAAcZ,IAAI,CAACC,cAAA;gBACnBU,OAAA,GAAU;cACZ;YACF;YAEA,IAAIA,OAAA,EAAS;cACXL,GAAG,CAACpB,IAAA,CAAK,GAAG;gBACV,GAAGqB,UAAU;gBACbjB,UAAA,EAAYsB;cACd;YACF;UACF;UAEA,IAAI,CAACD,OAAA,EAAS;YACZL,GAAG,CAACpB,IAAA,CAAK,GAAGqB,UAAA;UACd;UAEA,OAAOD,GAAA;QACT,GAAG,CAAC;QAEJ,OAAOxB,QAAA;MACT;IAEA,KAAK;MAAU;QACb,MAAMO,QAAA,GAAWN,MAAA,CAAOC,OAAO,CAACL,MAAA,EAAQ0B,MAAM,CAC5C,CAAClB,KAAA,EAAO,CAAC6B,GAAA,EAAKtB,KAAA,CAAM;UAClB,IACE,CACE,mBACA,gBACA,gBACA,QACA,SACA,YACA,QACD,CAACqB,QAAQ,CAACC,GAAA,GACX;YACA,OAAO;cACL,GAAG7B,KAAK;cACR,CAAC6B,GAAA,GAAMtB;YACT;UACF;UAEA,OAAOP,KAAA;QACT,GACAT,KAAK,CAACC,MAAA,CAAOO,IAAI,CAAC,IAAK,CAAC;QAG1B,MAAMJ,QAAA,GAAW;UACf,GAAGJ,KAAK;UACR,CAACC,MAAA,CAAOO,IAAI,GAAGG;QACjB;QAEA,OAAOP,QAAA;MACT;IAEA,KAAK;MAAc;QACjB,MAAM;UAAEI,IAAI;UAAE+B;QAAQ,CAAE,GAAGtC,MAAA;QAC3B,MAAM;UAAEuC,eAAe;UAAEC;QAAI,CAAE,GAAG7C,YAAA,CAAaY,IAAA,EAAMR,KAAA;QACrD,MAAM0C,YAAA,GAAe,C,IAAK1C,KAAK,CAACQ,IAAA,CAAK,EAAEiC,IAAA,IAAQ,EAAE,EAAE;QAEnDA,IAAA,CAAKE,MAAM,CAACJ,QAAA,EAAU;QACtBG,YAAA,CAAaC,MAAM,CAACJ,QAAA,EAAU;QAE9B,MAAMnC,QAAA,GAAsB;UAC1B,GAAGoC,eAAe;UAClB,CAAChC,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdoC,eAAA,EAAiBH,IAAA,CAAKpB,MAAM,GAAG;YAC/BoB,IAAA,EAAMC,YAAA;YACN1B,KAAA,EAAOyB,IAAA,CAAKpB;UACd;UACA,GAAG1B,WAAA,CAAYa,IAAA,EAAMiC,IAAA;QACvB;QAEA,OAAOrC,QAAA;MACT;IAEA,KAAK;MAAW;QACd,MAAM;UAAEyC,SAAS;UAAErC,IAAI;UAAE+B,QAAA,EAAUO,gBAAgB;UAAEC,aAAA,GAAgB,CAAC;QAAC,CAAE,GAAG9C,MAAA;QAE5E,MAAMsC,QAAA,GACJ,OAAOO,gBAAA,KAAqB,WAAWA,gBAAA,GAAmB9C,KAAK,CAACQ,IAAA,CAAK,EAAEiC,IAAA,EAAMpB,MAAA,IAAU;QAEzF,MAAM2B,UAAA,GAAa,C,IAAKhD,KAAK,CAACQ,IAAA,CAAK,EAAEiC,IAAA,IAAQ,EAAE,EAAE;QAEjD,MAAMQ,MAAA,GAAc;UAClBC,EAAA,EAAIH,aAAC,EAAeG,EAAA,EAAIlC,KAAA,IAAoB,IAAInB,QAAA,GAAWsD,WAAW;UACtEN,SAAA,EAAWA,SAAA,IAAaO,SAAA;UACxBC,SAAA,EAAW;QACb;QAEAL,UAAA,CAAWL,MAAM,CAACJ,QAAA,EAAU,GAAGU,MAAA;QAE/B,IAAIJ,SAAA,EAAW;UACbE,aAAA,CAAcF,SAAS,GAAG;YACxB9B,YAAA,EAAc8B,SAAA;YACd3B,KAAA,EAAO;YACPF,KAAA,EAAO6B;UACT;QACF;QAEA;QACA,MAAM;UAAEL,eAAe;UAAEC,IAAA,EAAMa;QAAW,CAAE,GAAG1D,YAAA,CAAaY,IAAA,EAAMR,KAAA;QAClEsD,WAAA,CAAYX,MAAM,CAACJ,QAAA,EAAU,GAAGQ,aAAA;QAEhC,MAAM3C,QAAA,GAAsB;UAC1B,GAAGoC,eAAe;UAClB,GAAG7C,WAAA,CAAYa,IAAA,EAAM8C,WAAA,CAAY;UACjC,CAAC9C,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdoC,eAAA,EAAiB;YACjBH,IAAA,EAAMO,UAAA;YACNhC,KAAA,EAAOsC,WAAA,CAAYjC;UACrB;QACF;QAEA,OAAOjB,QAAA;MACT;IAEA,KAAK;MAAe;QAClB,MAAM;UAAEyC,SAAS;UAAErC,IAAI;UAAE+B,QAAA,EAAUgB,WAAW;UAAER,aAAA,GAAgB,CAAC;QAAC,CAAE,GAAG9C,MAAA;QAEvE,MAAM;UAAEuC,eAAe;UAAEC,IAAA,EAAMa;QAAW,CAAE,GAAG1D,YAAA,CAAaY,IAAA,EAAMR,KAAA;QAClE,MAAMuC,QAAA,GAAWiB,IAAA,CAAKC,GAAG,CAAC,GAAGD,IAAA,CAAKE,GAAG,CAACH,WAAA,EAAaD,WAAA,EAAajC,MAAA,GAAS,KAAK;QAE9E,MAAMqB,YAAA,GAAe,C,IAAK1C,KAAK,CAACQ,IAAA,CAAK,EAAEiC,IAAA,IAAQ,EAAE,EAAE;QACnDC,YAAY,CAACH,QAAA,CAAS,GAAG;UACvBW,EAAA,EAAI,IAAIrD,QAAA,GAAWsD,WAAW;UAC9BN,SAAA,EAAWA,SAAA,IAAaO,SAAA;UACxBC,SAAA,EAAW;QACb;QAEA,IAAIR,SAAA,EAAW;UACbE,aAAA,CAAcF,SAAS,GAAG;YACxB9B,YAAA,EAAc8B,SAAA;YACd3B,KAAA,EAAO;YACPF,KAAA,EAAO6B;UACT;QACF;QAEA;QACAS,WAAW,CAACf,QAAA,CAAS,GAAGQ,aAAA;QAExB,MAAM3C,QAAA,GAAsB;UAC1B,GAAGoC,eAAe;UAClB,GAAG7C,WAAA,CAAYa,IAAA,EAAM8C,WAAA,CAAY;UACjC,CAAC9C,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdoC,eAAA,EAAiB;YACjBH,IAAA,EAAMC,YAAA;YACN1B,KAAA,EAAOsC,WAAA,CAAYjC;UACrB;QACF;QAEA,OAAOjB,QAAA;MACT;IAEA,KAAK;MAAiB;QACpB,MAAM;UAAEI,IAAI;UAAE+B;QAAQ,CAAE,GAAGtC,MAAA;QAC3B,MAAM;UAAEuC,eAAe;UAAEC;QAAI,CAAE,GAAG7C,YAAA,CAAaY,IAAA,EAAMR,KAAA;QACrD,MAAM0C,YAAA,GAAe,C,IAAK1C,KAAK,CAACQ,IAAA,CAAK,CAACiC,IAAI,IAAI,EAAE,EAAE;QAElD,MAAMkB,oBAAA,GAAuBjE,oBAAA,CAAqBgD,YAAY,CAACH,QAAA,CAAS;QACxE,IAAIoB,oBAAA,CAAqBT,EAAE,EAAE;UAC3BS,oBAAA,CAAqBT,EAAE,GAAG,IAAIrD,QAAA,GAAWsD,WAAW;QACtD;QAEA,MAAMS,iBAAA,GAAoBnE,cAAA,CAAegD,IAAI,CAACF,QAAA,CAAS;QACvD,IAAIqB,iBAAA,CAAkBV,EAAE,EAAE;UACxBU,iBAAA,CAAkBV,EAAE,CAAClC,KAAK,GAAG,IAAInB,QAAA,GAAWsD,WAAW;UACvDS,iBAAA,CAAkBV,EAAE,CAACnC,YAAY,GAAG,IAAIlB,QAAA,GAAWsD,WAAW;QAChE;QAEA,KAAK,MAAMb,GAAA,IAAOjC,MAAA,CAAOwD,IAAI,CAACD,iBAAA,EAAmBE,MAAM,CAAExB,GAAA,IAAQA,GAAA,CAAIyB,QAAQ,CAAC,SAAS;UACrF,MAAMC,OAAA,GAAUJ,iBAAiB,CAACtB,GAAA,CAAI;UAEtC,IAAI0B,OAAA,IAAW,OAAOA,OAAA,CAAQhD,KAAK,KAAK,YAAYnB,QAAA,CAASoE,OAAO,CAACD,OAAA,CAAQhD,KAAK,GAAG;YACnF4C,iBAAiB,CAACtB,GAAA,CAAI,CAACtB,KAAK,GAAG,IAAInB,QAAA,GAAWsD,WAAW;YACzDS,iBAAiB,CAACtB,GAAA,CAAI,CAACvB,YAAY,GAAG,IAAIlB,QAAA,GAAWsD,WAAW;UAClE;QACF;QAEA;QACA,IAAI9C,MAAA,CAAOwD,IAAI,CAACD,iBAAA,EAAmBvC,MAAM,GAAG,GAAG;UAC7C;UACAoB,IAAA,CAAKE,MAAM,CAACJ,QAAA,GAAW,GAAG,GAAGqB,iBAAA;UAC7BlB,YAAA,CAAaC,MAAM,CAACJ,QAAA,GAAW,GAAG,GAAGoB,oBAAA;QACvC;QAEA,MAAMvD,QAAA,GAAW;UACf,GAAGoC,eAAe;UAClB,GAAG7C,WAAA,CAAYa,IAAA,EAAMiC,IAAA,CAAK;UAC1B,CAACjC,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdoC,eAAA,EAAiB;YACjBH,IAAA,EAAMC,YAAA;YACN1B,KAAA,EAAOyB,IAAA,CAAKpB;UACd;QACF;QAEA,OAAOjB,QAAA;MACT;IAEA,KAAK;MAAY;QACf,MAAM;UAAE8D,aAAa;UAAEC,WAAW;UAAE3D;QAAI,CAAE,GAAGP,MAAA;QAC7C,MAAM;UAAEuC,eAAe;UAAEC;QAAI,CAAE,GAAG7C,YAAA,CAAaY,IAAA,EAAMR,KAAA;QAErD;QACA,MAAMoE,eAAA,GAAkB3B,IAAI,CAACyB,aAAA,CAAc;QAC3C;QACAzB,IAAA,CAAKE,MAAM,CAACuB,aAAA,EAAe;QAC3B;QACAzB,IAAA,CAAKE,MAAM,CAACwB,WAAA,EAAa,GAAGC,eAAA;QAE5B;QACA,MAAMC,YAAA,GAAe,C,IAAKrE,KAAK,CAACQ,IAAA,CAAK,EAAEiC,IAAA,IAAQ,EAAE,EAAE;QACnD,MAAM6B,cAAA,GAAiB;UAAE,GAAGD,YAAY,CAACH,aAAA;QAAe;QACxDG,YAAA,CAAa1B,MAAM,CAACuB,aAAA,EAAe;QACnCG,YAAA,CAAa1B,MAAM,CAACwB,WAAA,EAAa,GAAGG,cAAA;QAEpC,MAAMlE,QAAA,GAAW;UACf,GAAGoC,eAAe;UAClB,GAAG7C,WAAA,CAAYa,IAAA,EAAMiC,IAAA,CAAK;UAC1B,CAACjC,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdiC,IAAA,EAAM4B;UACR;QACF;QAEA,OAAOjE,QAAA;MACT;IAEA,KAAK;MAAqB;QACxB,MAAM;UAAEI,IAAI;UAAE+D;QAAW,CAAE,GAAGtE,MAAA;QAE9B,MAAMG,QAAA,GAAW;UACf,GAAGJ,KAAK;UACR,CAACQ,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdiC,IAAA,EAAM8B;UACR;QACF;QAEA,OAAOnE,QAAA;MACT;IAEA,KAAK;MAA0B;QAC7B,MAAM;UAAEI,IAAI;UAAE+D;QAAW,CAAE,GAAGtE,MAAA;QAE9B,OAAO;UACL,GAAGD,KAAK;UACR,CAACQ,IAAA,GAAO;YACN,GAAGR,KAAK,CAACQ,IAAA,CAAK;YACdiC,IAAA,EAAM8B;UACR;QACF;MACF;IAEA;MAAS;QACP,OAAOvE,KAAA;MACT;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAKV,WAAW,EACX,qBAAqB,EACrB,KAAK,EAGL,SAAS,EAGT,OAAO,
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAKV,WAAW,EACX,qBAAqB,EACrB,KAAK,EAGL,SAAS,EAGT,OAAO,EAYR,MAAM,SAAS,CAAA;AAkBhB,eAAO,MAAM,iBAAiB,wGAQ3B;IACD,WAAW,EAAE,WAAW,CAAA;IACxB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,WAqeH,CAAA;AAED,eAAO,MAAM,kBAAkB,4GAS5B;IACD,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,WAAW,EAyCd,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MissingEditorProp } from 'payload';
|
|
1
|
+
import { deepCopyObjectSimple, MissingEditorProp } from 'payload';
|
|
2
2
|
import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared';
|
|
3
3
|
import { getComponent } from './getComponent.js';
|
|
4
4
|
function generateFieldPath(parentPath, name) {
|
|
@@ -151,8 +151,26 @@ export const createClientField = ({
|
|
|
151
151
|
if (!field.admin.components) {
|
|
152
152
|
field.admin.components = {};
|
|
153
153
|
}
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
/**
|
|
155
|
+
* We have to deep copy all the props we send to the client (= FieldComponent.clientProps).
|
|
156
|
+
* That way, every editor's field / cell props we send to the client have their own object references.
|
|
157
|
+
*
|
|
158
|
+
* If we send the same object reference to the client twice (e.g. through some configurations where 2 or more fields
|
|
159
|
+
* reference the same editor object, like the root editor), the admin panel may hang indefinitely. This has been happening since
|
|
160
|
+
* a newer Next.js update that made it break when sending the same object reference to the client twice.
|
|
161
|
+
*
|
|
162
|
+
* We can use deepCopyObjectSimple as client props should be JSON-serializable.
|
|
163
|
+
*/
|
|
164
|
+
const FieldComponent = incomingField.editor.FieldComponent;
|
|
165
|
+
if (typeof FieldComponent === 'object' && FieldComponent.clientProps) {
|
|
166
|
+
FieldComponent.clientProps = deepCopyObjectSimple(FieldComponent.clientProps);
|
|
167
|
+
}
|
|
168
|
+
field.admin.components.Field = createMappedComponent(FieldComponent, serverProps, undefined, 'incomingField.editor.FieldComponent');
|
|
169
|
+
const CellComponent = incomingField.editor.CellComponent;
|
|
170
|
+
if (typeof CellComponent === 'object' && CellComponent.clientProps) {
|
|
171
|
+
CellComponent.clientProps = deepCopyObjectSimple(CellComponent.clientProps);
|
|
172
|
+
}
|
|
173
|
+
field.admin.components.Cell = createMappedComponent(CellComponent, serverProps, undefined, 'incomingField.editor.CellComponent');
|
|
156
174
|
if (incomingField.editor.generateComponentMap) {
|
|
157
175
|
const {
|
|
158
176
|
Component: generateComponentMap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","getComponent","generateFieldPath","parentPath","name","tabPath","createClientField","clientField","createMappedComponent","field","incomingField","i18n","importMap","payload","serverOnlyFieldProperties","forEach","key","_isPresentational","isHidden","hidden","disabledFromAdmin","admin","disabled","_schemaPath","label","t","CustomLabel","components","Label","serverProps","undefined","style","width","Object","flex","type","fields","createClientFields","clientFields","disableAddingID","RowLabel","blocks","length","i","block","clientBlock","slug","custom","imageAltText","imageURL","labels","singular","plural","editor","Error","Field","FieldComponent","Cell","CellComponent","generateComponentMap","Component","richTextServerProps","identifier","payloadComponent","silent","actualGenerateComponentMap","result","schemaPath","richTextComponentMap","tabs","tab","clientTab","options","option","value","serverOnlyFieldAdminProperties","fieldServerProps","description","Description","Filter","beforeInput","afterInput","newClientFields","newField","push","hasID","findIndex","f","db","defaultIDType","disableBulkEdit","localized"],"sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminClient,\n ArrayFieldClient,\n BlocksFieldClient,\n ClientBlock,\n ClientField,\n CreateMappedComponent,\n Field,\n FieldLabelClientComponent,\n FieldLabelServerComponent,\n ImportMap,\n LabelsClient,\n MappedComponent,\n Payload,\n RadioFieldClient,\n RichTextFieldClient,\n RichTextGenerateComponentMap,\n RowFieldClient,\n RowLabelComponent,\n SelectFieldClient,\n ServerFieldBase,\n ServerOnlyFieldAdminProperties,\n ServerOnlyFieldProperties,\n TabsFieldClient,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\n\nimport { getComponent } from './getComponent.js'\n\nfunction generateFieldPath(parentPath: string, name: string): string {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const createClientField = ({\n clientField,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientField: ClientField\n createMappedComponent: CreateMappedComponent\n field: Field\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField => {\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n // the following props are handled separately (see below):\n // `label`\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientField) {\n delete clientField[key]\n }\n })\n\n if (fieldIsPresentationalOnly(incomingField)) {\n clientField._isPresentational = true\n }\n\n const isHidden = 'hidden' in incomingField && incomingField?.hidden\n const disabledFromAdmin =\n incomingField?.admin && 'disabled' in incomingField.admin && incomingField.admin.disabled\n\n if (fieldAffectsData(clientField) && (isHidden || disabledFromAdmin)) {\n return null\n }\n\n clientField._schemaPath = generateFieldPath(\n parentPath,\n fieldAffectsData(clientField) ? clientField.name : '',\n )\n\n if (\n 'label' in clientField &&\n 'label' in incomingField &&\n typeof incomingField.label === 'function'\n ) {\n clientField.label = incomingField.label({ t: i18n.t })\n }\n\n const CustomLabel: FieldLabelClientComponent | FieldLabelServerComponent | RowLabelComponent =\n 'admin' in incomingField &&\n 'components' in incomingField.admin &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label\n\n const serverProps: {\n serverProps: ServerFieldBase\n } = {\n serverProps: {\n clientField: undefined,\n field: incomingField,\n },\n }\n\n if ('admin' in incomingField && 'width' in incomingField.admin) {\n clientField.admin.style = {\n ...clientField.admin.style,\n '--field-width': clientField.admin.width,\n width: undefined, // avoid needlessly adding this to the element's style attribute\n }\n } else {\n if (!(clientField.admin instanceof Object)) {\n clientField.admin = {}\n }\n if (!(clientField.admin.style instanceof Object)) {\n clientField.admin.style = {}\n }\n clientField.admin.style.flex = '1 1 auto'\n }\n\n switch (incomingField.type) {\n case 'array':\n case 'group':\n case 'collapsible':\n case 'row': {\n const field = clientField as unknown as RowFieldClient\n\n field.fields = createClientFields({\n clientFields: field.fields,\n createMappedComponent,\n disableAddingID: incomingField.type !== 'array',\n fields: incomingField.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n\n if (incomingField?.admin?.components && 'RowLabel' in incomingField.admin.components) {\n ;(field as unknown as ArrayFieldClient).admin.components.RowLabel = createMappedComponent(\n incomingField.admin.components.RowLabel,\n serverProps,\n undefined,\n 'incomingField.admin.components.RowLabel',\n )\n }\n\n break\n }\n\n case 'blocks': {\n const field = clientField as unknown as BlocksFieldClient\n\n if (incomingField.blocks?.length) {\n for (let i = 0; i < incomingField.blocks.length; i++) {\n const block = incomingField.blocks[i]\n const clientBlock: ClientBlock = {\n slug: block.slug,\n admin: {\n components: {},\n custom: block.admin?.custom,\n },\n fields: field.blocks[i].fields,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n }\n\n if (block.labels) {\n clientBlock.labels = {} as unknown as LabelsClient\n if (block.labels.singular) {\n if (typeof block.labels.singular === 'function') {\n clientBlock.labels.singular = block.labels.singular({ t: i18n.t })\n } else {\n clientBlock.labels.singular = block.labels.singular\n }\n if (typeof block.labels.plural === 'function') {\n clientBlock.labels.plural = block.labels.plural({ t: i18n.t })\n } else {\n clientBlock.labels.plural = block.labels.plural\n }\n }\n }\n\n if (block.admin?.components?.Label) {\n clientBlock.admin.components.Label = createMappedComponent(\n block.admin.components.Label,\n serverProps,\n undefined,\n 'block.admin.components.Label',\n )\n }\n\n clientBlock.fields = createClientFields({\n clientFields: clientBlock.fields,\n createMappedComponent,\n fields: block.fields,\n i18n,\n importMap,\n parentPath: `${field._schemaPath}.${block.slug}`,\n payload,\n })\n\n field.blocks[i] = clientBlock\n }\n }\n\n break\n }\n\n case 'richText': {\n const field = clientField\n\n if (!incomingField?.editor) {\n throw new MissingEditorProp(incomingField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof incomingField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n if (!field.admin.components) {\n field.admin.components = {}\n }\n\n field.admin.components.Field = createMappedComponent(\n incomingField.editor.FieldComponent,\n serverProps,\n undefined,\n 'incomingField.editor.FieldComponent',\n )\n\n field.admin.components.Cell = createMappedComponent(\n incomingField.editor.CellComponent,\n serverProps,\n undefined,\n 'incomingField.editor.CellComponent',\n )\n\n if (incomingField.editor.generateComponentMap) {\n const { Component: generateComponentMap, serverProps: richTextServerProps } = getComponent({\n identifier: 'richText-generateComponentMap',\n importMap,\n payloadComponent: incomingField.editor.generateComponentMap,\n silent: true,\n })\n\n if (generateComponentMap) {\n const actualGenerateComponentMap: RichTextGenerateComponentMap = (\n generateComponentMap as any\n )(richTextServerProps)\n\n const result = actualGenerateComponentMap({\n clientField: field as RichTextFieldClient,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n payload,\n schemaPath: field._schemaPath,\n })\n\n ;(field as RichTextFieldClient).richTextComponentMap = result\n }\n }\n break\n }\n\n case 'tabs': {\n const field = clientField as unknown as TabsFieldClient\n\n if (incomingField.tabs?.length) {\n for (let i = 0; i < incomingField.tabs.length; i++) {\n const tab = incomingField.tabs[i]\n const clientTab = field.tabs[i]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientTab) {\n delete clientTab[key]\n }\n })\n\n clientTab.fields = createClientFields({\n clientFields: clientTab.fields,\n createMappedComponent,\n disableAddingID: true,\n fields: tab.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n }\n }\n\n break\n }\n\n // case 'joins': {\n //\n // }\n\n case 'select':\n case 'radio': {\n const field = clientField as RadioFieldClient | SelectFieldClient\n\n if (incomingField.options?.length) {\n for (let i = 0; i < incomingField.options.length; i++) {\n const option = incomingField.options[i]\n\n if (typeof option === 'object' && typeof option.label === 'function') {\n field.options[i] = {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n }\n }\n\n break\n }\n\n default:\n break\n }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = ['condition']\n\n if (!clientField.admin) {\n clientField.admin = {}\n }\n\n if (!clientField.admin.components) {\n clientField.admin.components = {}\n }\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in clientField.admin) {\n delete clientField.admin[key]\n }\n })\n\n const fieldServerProps: {\n serverProps: ServerFieldBase\n } = {\n serverProps: {\n clientField,\n field: incomingField,\n },\n }\n\n type FieldWithDescription = {\n admin: AdminClient\n } & ClientField\n\n if (incomingField.admin && 'description' in incomingField.admin) {\n if (\n typeof incomingField.admin?.description === 'string' ||\n typeof incomingField.admin?.description === 'object'\n ) {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin.description\n } else if (typeof incomingField.admin?.description === 'function') {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin?.description({\n t: i18n.t,\n })\n }\n }\n\n if (incomingField?.admin?.components?.Cell !== undefined) {\n clientField.admin.components.Cell = createMappedComponent(\n incomingField.admin.components.Cell,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Cell',\n )\n }\n\n type FieldWithDescriptionComponent = {\n admin: AdminClient\n } & ClientField\n\n if (\n incomingField?.admin?.components &&\n 'Description' in incomingField.admin.components &&\n incomingField?.admin?.components?.Description !== undefined\n ) {\n ;(clientField as FieldWithDescriptionComponent).admin.components.Description =\n createMappedComponent(\n incomingField.admin.components.Description,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Description',\n )\n }\n\n type FieldWithErrorComponent = {\n admin: {\n components: {\n Error: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Error' in incomingField.admin.components &&\n incomingField.admin.components.Error !== undefined\n ) {\n ;(clientField as FieldWithErrorComponent).admin.components.Error = createMappedComponent(\n incomingField.admin.components.Error,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Error',\n )\n }\n\n if (incomingField?.admin?.components?.Field !== undefined) {\n clientField.admin.components.Field = createMappedComponent(\n incomingField.admin.components.Field,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Field',\n )\n }\n\n if (\n incomingField?.admin?.components &&\n 'Filter' in incomingField.admin.components &&\n incomingField.admin.components.Filter !== undefined\n ) {\n clientField.admin.components.Filter = createMappedComponent(\n incomingField.admin.components.Filter,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Filter',\n )\n }\n\n type FieldWithLabelComponent = {\n admin: {\n components: {\n Label: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label !== undefined\n ) {\n ;(clientField as FieldWithLabelComponent).admin.components.Label = createMappedComponent(\n CustomLabel,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Label',\n )\n }\n\n type FieldWithBeforeInputComponent = {\n admin: {\n components: {\n beforeInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'beforeInput' in incomingField.admin.components &&\n incomingField.admin.components.beforeInput !== undefined\n ) {\n ;(clientField as FieldWithBeforeInputComponent).admin.components.beforeInput =\n createMappedComponent(\n incomingField.admin?.components?.beforeInput,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.beforeInput',\n )\n }\n\n type FieldWithAfterInputComponent = {\n admin: {\n components: {\n afterInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'afterInput' in incomingField.admin.components &&\n incomingField.admin.components.afterInput !== undefined\n ) {\n ;(clientField as FieldWithAfterInputComponent).admin.components.afterInput =\n createMappedComponent(\n incomingField.admin?.components?.afterInput,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.afterInput',\n )\n }\n\n return clientField\n}\n\nexport const createClientFields = ({\n clientFields,\n createMappedComponent,\n disableAddingID,\n fields,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientFields: ClientField[]\n createMappedComponent: CreateMappedComponent\n disableAddingID?: boolean\n fields: Field[]\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField[] => {\n const newClientFields: ClientField[] = []\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n const newField = createClientField({\n clientField: clientFields[i],\n createMappedComponent,\n field,\n i18n,\n importMap,\n parentPath,\n payload,\n })\n\n if (newField) {\n newClientFields.push(newField)\n }\n }\n\n const hasID = newClientFields.findIndex((f) => fieldAffectsData(f) && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n newClientFields.push({\n name: 'id',\n type: payload.db.defaultIDType === 'number' ? 'number' : 'text',\n _schemaPath: generateFieldPath(parentPath, 'id'),\n admin: {\n components: {\n Field: null,\n },\n description: 'The unique identifier for this document',\n disableBulkEdit: true,\n hidden: true,\n },\n hidden: true,\n label: 'ID',\n localized: undefined,\n })\n }\n return newClientFields\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fields.js","names":["deepCopyObjectSimple","MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","getComponent","generateFieldPath","parentPath","name","tabPath","createClientField","clientField","createMappedComponent","field","incomingField","i18n","importMap","payload","serverOnlyFieldProperties","forEach","key","_isPresentational","isHidden","hidden","disabledFromAdmin","admin","disabled","_schemaPath","label","t","CustomLabel","components","Label","serverProps","undefined","style","width","Object","flex","type","fields","createClientFields","clientFields","disableAddingID","RowLabel","blocks","length","i","block","clientBlock","slug","custom","imageAltText","imageURL","labels","singular","plural","editor","Error","FieldComponent","clientProps","Field","CellComponent","Cell","generateComponentMap","Component","richTextServerProps","identifier","payloadComponent","silent","actualGenerateComponentMap","result","schemaPath","richTextComponentMap","tabs","tab","clientTab","options","option","value","serverOnlyFieldAdminProperties","fieldServerProps","description","Description","Filter","beforeInput","afterInput","newClientFields","newField","push","hasID","findIndex","f","db","defaultIDType","disableBulkEdit","localized"],"sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminClient,\n ArrayFieldClient,\n BlocksFieldClient,\n ClientBlock,\n ClientField,\n CreateMappedComponent,\n Field,\n FieldLabelClientComponent,\n FieldLabelServerComponent,\n ImportMap,\n LabelsClient,\n MappedComponent,\n Payload,\n PayloadComponent,\n RadioFieldClient,\n RichTextFieldClient,\n RichTextGenerateComponentMap,\n RowFieldClient,\n RowLabelComponent,\n SelectFieldClient,\n ServerFieldBase,\n ServerOnlyFieldAdminProperties,\n ServerOnlyFieldProperties,\n TabsFieldClient,\n} from 'payload'\n\nimport { deepCopyObjectSimple, MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\n\nimport { getComponent } from './getComponent.js'\n\nfunction generateFieldPath(parentPath: string, name: string): string {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const createClientField = ({\n clientField,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientField: ClientField\n createMappedComponent: CreateMappedComponent\n field: Field\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField => {\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n // the following props are handled separately (see below):\n // `label`\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientField) {\n delete clientField[key]\n }\n })\n\n if (fieldIsPresentationalOnly(incomingField)) {\n clientField._isPresentational = true\n }\n\n const isHidden = 'hidden' in incomingField && incomingField?.hidden\n const disabledFromAdmin =\n incomingField?.admin && 'disabled' in incomingField.admin && incomingField.admin.disabled\n\n if (fieldAffectsData(clientField) && (isHidden || disabledFromAdmin)) {\n return null\n }\n\n clientField._schemaPath = generateFieldPath(\n parentPath,\n fieldAffectsData(clientField) ? clientField.name : '',\n )\n\n if (\n 'label' in clientField &&\n 'label' in incomingField &&\n typeof incomingField.label === 'function'\n ) {\n clientField.label = incomingField.label({ t: i18n.t })\n }\n\n const CustomLabel: FieldLabelClientComponent | FieldLabelServerComponent | RowLabelComponent =\n 'admin' in incomingField &&\n 'components' in incomingField.admin &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label\n\n const serverProps: {\n serverProps: ServerFieldBase\n } = {\n serverProps: {\n clientField: undefined,\n field: incomingField,\n },\n }\n\n if ('admin' in incomingField && 'width' in incomingField.admin) {\n clientField.admin.style = {\n ...clientField.admin.style,\n '--field-width': clientField.admin.width,\n width: undefined, // avoid needlessly adding this to the element's style attribute\n }\n } else {\n if (!(clientField.admin instanceof Object)) {\n clientField.admin = {}\n }\n if (!(clientField.admin.style instanceof Object)) {\n clientField.admin.style = {}\n }\n clientField.admin.style.flex = '1 1 auto'\n }\n\n switch (incomingField.type) {\n case 'array':\n case 'group':\n case 'collapsible':\n case 'row': {\n const field = clientField as unknown as RowFieldClient\n\n field.fields = createClientFields({\n clientFields: field.fields,\n createMappedComponent,\n disableAddingID: incomingField.type !== 'array',\n fields: incomingField.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n\n if (incomingField?.admin?.components && 'RowLabel' in incomingField.admin.components) {\n ;(field as unknown as ArrayFieldClient).admin.components.RowLabel = createMappedComponent(\n incomingField.admin.components.RowLabel,\n serverProps,\n undefined,\n 'incomingField.admin.components.RowLabel',\n )\n }\n\n break\n }\n\n case 'blocks': {\n const field = clientField as unknown as BlocksFieldClient\n\n if (incomingField.blocks?.length) {\n for (let i = 0; i < incomingField.blocks.length; i++) {\n const block = incomingField.blocks[i]\n const clientBlock: ClientBlock = {\n slug: block.slug,\n admin: {\n components: {},\n custom: block.admin?.custom,\n },\n fields: field.blocks[i].fields,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n }\n\n if (block.labels) {\n clientBlock.labels = {} as unknown as LabelsClient\n if (block.labels.singular) {\n if (typeof block.labels.singular === 'function') {\n clientBlock.labels.singular = block.labels.singular({ t: i18n.t })\n } else {\n clientBlock.labels.singular = block.labels.singular\n }\n if (typeof block.labels.plural === 'function') {\n clientBlock.labels.plural = block.labels.plural({ t: i18n.t })\n } else {\n clientBlock.labels.plural = block.labels.plural\n }\n }\n }\n\n if (block.admin?.components?.Label) {\n clientBlock.admin.components.Label = createMappedComponent(\n block.admin.components.Label,\n serverProps,\n undefined,\n 'block.admin.components.Label',\n )\n }\n\n clientBlock.fields = createClientFields({\n clientFields: clientBlock.fields,\n createMappedComponent,\n fields: block.fields,\n i18n,\n importMap,\n parentPath: `${field._schemaPath}.${block.slug}`,\n payload,\n })\n\n field.blocks[i] = clientBlock\n }\n }\n\n break\n }\n\n case 'richText': {\n const field = clientField\n\n if (!incomingField?.editor) {\n throw new MissingEditorProp(incomingField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof incomingField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n if (!field.admin.components) {\n field.admin.components = {}\n }\n\n /**\n * We have to deep copy all the props we send to the client (= FieldComponent.clientProps).\n * That way, every editor's field / cell props we send to the client have their own object references.\n *\n * If we send the same object reference to the client twice (e.g. through some configurations where 2 or more fields\n * reference the same editor object, like the root editor), the admin panel may hang indefinitely. This has been happening since\n * a newer Next.js update that made it break when sending the same object reference to the client twice.\n *\n * We can use deepCopyObjectSimple as client props should be JSON-serializable.\n */\n const FieldComponent: PayloadComponent = incomingField.editor.FieldComponent\n if (typeof FieldComponent === 'object' && FieldComponent.clientProps) {\n FieldComponent.clientProps = deepCopyObjectSimple(FieldComponent.clientProps)\n }\n\n field.admin.components.Field = createMappedComponent(\n FieldComponent,\n serverProps,\n undefined,\n 'incomingField.editor.FieldComponent',\n )\n\n const CellComponent: PayloadComponent = incomingField.editor.CellComponent\n if (typeof CellComponent === 'object' && CellComponent.clientProps) {\n CellComponent.clientProps = deepCopyObjectSimple(CellComponent.clientProps)\n }\n\n field.admin.components.Cell = createMappedComponent(\n CellComponent,\n serverProps,\n undefined,\n 'incomingField.editor.CellComponent',\n )\n\n if (incomingField.editor.generateComponentMap) {\n const { Component: generateComponentMap, serverProps: richTextServerProps } = getComponent({\n identifier: 'richText-generateComponentMap',\n importMap,\n payloadComponent: incomingField.editor.generateComponentMap,\n silent: true,\n })\n\n if (generateComponentMap) {\n const actualGenerateComponentMap: RichTextGenerateComponentMap = (\n generateComponentMap as any\n )(richTextServerProps)\n\n const result = actualGenerateComponentMap({\n clientField: field as RichTextFieldClient,\n createMappedComponent,\n field: incomingField,\n i18n,\n importMap,\n payload,\n schemaPath: field._schemaPath,\n })\n\n ;(field as RichTextFieldClient).richTextComponentMap = result\n }\n }\n break\n }\n\n case 'tabs': {\n const field = clientField as unknown as TabsFieldClient\n\n if (incomingField.tabs?.length) {\n for (let i = 0; i < incomingField.tabs.length; i++) {\n const tab = incomingField.tabs[i]\n const clientTab = field.tabs[i]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in clientTab) {\n delete clientTab[key]\n }\n })\n\n clientTab.fields = createClientFields({\n clientFields: clientTab.fields,\n createMappedComponent,\n disableAddingID: true,\n fields: tab.fields,\n i18n,\n importMap,\n parentPath: field._schemaPath,\n payload,\n })\n }\n }\n\n break\n }\n\n // case 'joins': {\n //\n // }\n\n case 'select':\n case 'radio': {\n const field = clientField as RadioFieldClient | SelectFieldClient\n\n if (incomingField.options?.length) {\n for (let i = 0; i < incomingField.options.length; i++) {\n const option = incomingField.options[i]\n\n if (typeof option === 'object' && typeof option.label === 'function') {\n field.options[i] = {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n }\n }\n\n break\n }\n\n default:\n break\n }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = ['condition']\n\n if (!clientField.admin) {\n clientField.admin = {}\n }\n\n if (!clientField.admin.components) {\n clientField.admin.components = {}\n }\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in clientField.admin) {\n delete clientField.admin[key]\n }\n })\n\n const fieldServerProps: {\n serverProps: ServerFieldBase\n } = {\n serverProps: {\n clientField,\n field: incomingField,\n },\n }\n\n type FieldWithDescription = {\n admin: AdminClient\n } & ClientField\n\n if (incomingField.admin && 'description' in incomingField.admin) {\n if (\n typeof incomingField.admin?.description === 'string' ||\n typeof incomingField.admin?.description === 'object'\n ) {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin.description\n } else if (typeof incomingField.admin?.description === 'function') {\n ;(clientField as FieldWithDescription).admin.description = incomingField.admin?.description({\n t: i18n.t,\n })\n }\n }\n\n if (incomingField?.admin?.components?.Cell !== undefined) {\n clientField.admin.components.Cell = createMappedComponent(\n incomingField.admin.components.Cell,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Cell',\n )\n }\n\n type FieldWithDescriptionComponent = {\n admin: AdminClient\n } & ClientField\n\n if (\n incomingField?.admin?.components &&\n 'Description' in incomingField.admin.components &&\n incomingField?.admin?.components?.Description !== undefined\n ) {\n ;(clientField as FieldWithDescriptionComponent).admin.components.Description =\n createMappedComponent(\n incomingField.admin.components.Description,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Description',\n )\n }\n\n type FieldWithErrorComponent = {\n admin: {\n components: {\n Error: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Error' in incomingField.admin.components &&\n incomingField.admin.components.Error !== undefined\n ) {\n ;(clientField as FieldWithErrorComponent).admin.components.Error = createMappedComponent(\n incomingField.admin.components.Error,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Error',\n )\n }\n\n if (incomingField?.admin?.components?.Field !== undefined) {\n clientField.admin.components.Field = createMappedComponent(\n incomingField.admin.components.Field,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Field',\n )\n }\n\n if (\n incomingField?.admin?.components &&\n 'Filter' in incomingField.admin.components &&\n incomingField.admin.components.Filter !== undefined\n ) {\n clientField.admin.components.Filter = createMappedComponent(\n incomingField.admin.components.Filter,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Filter',\n )\n }\n\n type FieldWithLabelComponent = {\n admin: {\n components: {\n Label: MappedComponent\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'Label' in incomingField.admin.components &&\n incomingField.admin.components.Label !== undefined\n ) {\n ;(clientField as FieldWithLabelComponent).admin.components.Label = createMappedComponent(\n CustomLabel,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.Label',\n )\n }\n\n type FieldWithBeforeInputComponent = {\n admin: {\n components: {\n beforeInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'beforeInput' in incomingField.admin.components &&\n incomingField.admin.components.beforeInput !== undefined\n ) {\n ;(clientField as FieldWithBeforeInputComponent).admin.components.beforeInput =\n createMappedComponent(\n incomingField.admin?.components?.beforeInput,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.beforeInput',\n )\n }\n\n type FieldWithAfterInputComponent = {\n admin: {\n components: {\n afterInput: MappedComponent[]\n }\n } & AdminClient\n } & ClientField\n if (\n incomingField?.admin?.components &&\n 'afterInput' in incomingField.admin.components &&\n incomingField.admin.components.afterInput !== undefined\n ) {\n ;(clientField as FieldWithAfterInputComponent).admin.components.afterInput =\n createMappedComponent(\n incomingField.admin?.components?.afterInput,\n fieldServerProps,\n undefined,\n 'incomingField.admin.components.afterInput',\n )\n }\n\n return clientField\n}\n\nexport const createClientFields = ({\n clientFields,\n createMappedComponent,\n disableAddingID,\n fields,\n i18n,\n importMap,\n parentPath,\n payload,\n}: {\n clientFields: ClientField[]\n createMappedComponent: CreateMappedComponent\n disableAddingID?: boolean\n fields: Field[]\n i18n: I18nClient\n importMap: ImportMap\n parentPath?: string\n payload: Payload\n}): ClientField[] => {\n const newClientFields: ClientField[] = []\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n const newField = createClientField({\n clientField: clientFields[i],\n createMappedComponent,\n field,\n i18n,\n importMap,\n parentPath,\n payload,\n })\n\n if (newField) {\n newClientFields.push(newField)\n }\n }\n\n const hasID = newClientFields.findIndex((f) => fieldAffectsData(f) && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n newClientFields.push({\n name: 'id',\n type: payload.db.defaultIDType === 'number' ? 'number' : 'text',\n _schemaPath: generateFieldPath(parentPath, 'id'),\n admin: {\n components: {\n Field: null,\n },\n description: 'The unique identifier for this document',\n disableBulkEdit: true,\n hidden: true,\n },\n hidden: true,\n label: 'ID',\n localized: undefined,\n })\n }\n return newClientFields\n}\n"],"mappings":"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","ignoreList":[]}
|