@payloadcms/ui 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +4 -3
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +2 -2
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +2 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +35 -31
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +2 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +5 -2
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js +2 -2
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +15 -3
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/forms/RenderFields/index.js +2 -2
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +5 -8
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +4 -0
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +11 -4
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/formatFields.d.ts.map +1 -1
- package/dist/utilities/formatFields.js +2 -2
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +4 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Join/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAkD,MAAM,SAAS,CAAA;AAE9F,OAAO,KAAkB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Join/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAkD,MAAM,SAAS,CAAA;AAE9F,OAAO,KAAkB,MAAM,OAAO,CAAA;AAqFtC,eAAO,MAAM,SAAS;;;;+EAAoC,CAAA"}
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import React, { useMemo } from 'react';
|
|
5
5
|
import { RelationshipTable } from '../../elements/RelationshipTable/index.js';
|
|
6
|
+
import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
|
|
6
7
|
import { useField } from '../../forms/useField/index.js';
|
|
7
8
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
8
9
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
10
|
+
import { FieldDescription } from '../FieldDescription/index.js';
|
|
9
11
|
import { FieldLabel } from '../FieldLabel/index.js';
|
|
10
12
|
import { fieldBaseClass } from '../index.js';
|
|
11
13
|
const JoinFieldComponent = props => {
|
|
@@ -13,7 +15,8 @@ const JoinFieldComponent = props => {
|
|
|
13
15
|
field,
|
|
14
16
|
field: {
|
|
15
17
|
admin: {
|
|
16
|
-
allowCreate
|
|
18
|
+
allowCreate,
|
|
19
|
+
description
|
|
17
20
|
},
|
|
18
21
|
collection,
|
|
19
22
|
label,
|
|
@@ -30,6 +33,7 @@ const JoinFieldComponent = props => {
|
|
|
30
33
|
customComponents: {
|
|
31
34
|
AfterInput,
|
|
32
35
|
BeforeInput,
|
|
36
|
+
Description,
|
|
33
37
|
Label
|
|
34
38
|
} = {},
|
|
35
39
|
value
|
|
@@ -55,8 +59,10 @@ const JoinFieldComponent = props => {
|
|
|
55
59
|
return /*#__PURE__*/_jsxs("div", {
|
|
56
60
|
className: [fieldBaseClass, 'join'].filter(Boolean).join(' '),
|
|
57
61
|
id: `field-${path?.replace(/\./g, '__')}`,
|
|
58
|
-
children: [
|
|
62
|
+
children: [/*#__PURE__*/_jsx(RelationshipTable, {
|
|
63
|
+
AfterInput: AfterInput,
|
|
59
64
|
allowCreate: typeof docID !== 'undefined' && allowCreate,
|
|
65
|
+
BeforeInput: BeforeInput,
|
|
60
66
|
disableTable: filterOptions === null,
|
|
61
67
|
field: field,
|
|
62
68
|
filterOptions: filterOptions,
|
|
@@ -78,7 +84,13 @@ const JoinFieldComponent = props => {
|
|
|
78
84
|
})
|
|
79
85
|
}),
|
|
80
86
|
relationTo: collection
|
|
81
|
-
}),
|
|
87
|
+
}), /*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
88
|
+
CustomComponent: Description,
|
|
89
|
+
Fallback: /*#__PURE__*/_jsx(FieldDescription, {
|
|
90
|
+
description: description,
|
|
91
|
+
path: path
|
|
92
|
+
})
|
|
93
|
+
})]
|
|
82
94
|
});
|
|
83
95
|
};
|
|
84
96
|
export const JoinField = withCondition(JoinFieldComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useMemo","RelationshipTable","useField","withCondition","useDocumentInfo","FieldLabel","fieldBaseClass","JoinFieldComponent","props","field","admin","allowCreate","collection","label","localized","on","required","path","id","docID","customComponents","AfterInput","BeforeInput","Label","value","filterOptions","where","equals","and","_jsxs","className","filter","Boolean","join","replace","_jsx","disableTable","initialData","docs","initialDrawerData","style","margin","relationTo","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JoinFieldClient, JoinFieldClientComponent, PaginatedDocs, Where } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate },\n collection,\n label,\n localized,\n on,\n required,\n },\n path,\n } = props\n\n const { id: docID } = useDocumentInfo()\n\n const { customComponents: { AfterInput, BeforeInput, Label } = {}, value } =\n useField<PaginatedDocs>({\n path,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n const where = {\n [on]: {\n equals: docID,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, on, field.where])\n\n return (\n <div\n className={[fieldBaseClass, 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useDocumentInfo","FieldDescription","FieldLabel","fieldBaseClass","JoinFieldComponent","props","field","admin","allowCreate","description","collection","label","localized","on","required","path","id","docID","customComponents","AfterInput","BeforeInput","Description","Label","value","filterOptions","where","equals","and","_jsxs","className","filter","Boolean","join","replace","_jsx","disableTable","initialData","docs","initialDrawerData","style","margin","relationTo","CustomComponent","Fallback","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JoinFieldClient, JoinFieldClientComponent, PaginatedDocs, Where } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path,\n } = props\n\n const { id: docID } = useDocumentInfo()\n\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, value } =\n useField<PaginatedDocs>({\n path,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n const where = {\n [on]: {\n equals: docID,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, on, field.where])\n\n return (\n <div\n className={[fieldBaseClass, 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={{\n [on]: docID,\n }}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,kBAAA,GAAgDC,KAAA;EACpD,MAAM;IACJC,KAAK;IACLA,KAAA,EAAO;MACLC,KAAA,EAAO;QAAEC,WAAW;QAAEC;MAAW,CAAE;MACnCC,UAAU;MACVC,KAAK;MACLC,SAAS;MACTC,EAAE;MACFC;IAAQ,CACT;IACDC;EAAI,CACL,GAAGV,KAAA;EAEJ,MAAM;IAAEW,EAAA,EAAIC;EAAK,CAAE,GAAGjB,eAAA;EAEtB,MAAM;IAAEkB,gBAAA,EAAkB;MAAEC,UAAU;MAAEC,WAAW;MAAEC,WAAW;MAAEC;IAAK,CAAE,GAAG,CAAC,CAAC;IAAEC;EAAK,CAAE,GACrFzB,QAAA,CAAwB;IACtBiB;EACF;EAEF,MAAMS,aAAA,GAA8B7B,OAAA,CAAQ;IAC1C,IAAI,CAACsB,KAAA,EAAO;MACV,OAAO;IACT;IAEA,MAAMQ,KAAA,GAAQ;MACZ,CAACZ,EAAA,GAAK;QACJa,MAAA,EAAQT;MACV;IACF;IAEA,IAAIX,KAAA,CAAMmB,KAAK,EAAE;MACf,OAAO;QACLE,GAAA,EAAK,CAACF,KAAA,EAAOnB,KAAA,CAAMmB,KAAK;MAC1B;IACF;IAEA,OAAOA,KAAA;EACT,GAAG,CAACR,KAAA,EAAOJ,EAAA,EAAIP,KAAA,CAAMmB,KAAK,CAAC;EAE3B,oBACEG,KAAA,CAAC;IACCC,SAAA,EAAW,CAAC1B,cAAA,EAAgB,OAAO,CAAC2B,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACzDhB,EAAA,EAAI,SAASD,IAAA,EAAMkB,OAAA,CAAQ,OAAO,OAAO;4BAEzCC,IAAA,CAACtC,iBAAA;MACCuB,UAAA,EAAYA,UAAA;MACZX,WAAA,EAAa,OAAOS,KAAA,KAAU,eAAeT,WAAA;MAC7CY,WAAA,EAAaA,WAAA;MACbe,YAAA,EAAcX,aAAA,KAAkB;MAChClB,KAAA,EAAOA,KAAA;MACPkB,aAAA,EAAeA,aAAA;MACfY,WAAA,EAAanB,KAAA,IAASM,KAAA,GAAQA,KAAA,GAAS;QAAEc,IAAA,EAAM;MAAG;MAClDC,iBAAA,EAAmB;QACjB,CAACzB,EAAA,GAAKI;MACR;MACAK,KAAA,eACEY,IAAA,CAAC;QAAGK,KAAA,EAAO;UAAEC,MAAA,EAAQ;QAAE;kBACpBlB,KAAA,iBACCY,IAAA,CAAChC,UAAA;UAAWS,KAAA,EAAOA,KAAA;UAAOC,SAAA,EAAWA,SAAA;UAAWG,IAAA,EAAMA,IAAA;UAAMD,QAAA,EAAUA;;;MAI5E2B,UAAA,EAAY/B;qBAEdwB,IAAA,CAACrC,qBAAA;MACC6C,eAAA,EAAiBrB,WAAA;MACjBsB,QAAA,eAAUT,IAAA,CAACjC,gBAAA;QAAiBQ,WAAA,EAAaA,WAAA;QAAaM,IAAA,EAAMA;;;;AAIpE;AAEA,OAAO,MAAM6B,SAAA,GAAY7C,aAAA,CAAcK,kBAAA","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import { getFieldPaths } from 'payload/shared';
|
|
5
|
+
import { fieldIsHiddenOrDisabled, getFieldPaths } from 'payload/shared';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { RenderIfInViewport } from '../../elements/RenderIfInViewport/index.js';
|
|
8
8
|
import { useOperation } from '../../providers/Operation/index.js';
|
|
@@ -42,7 +42,7 @@ export const RenderFields = props => {
|
|
|
42
42
|
let t5;
|
|
43
43
|
if ($[14] !== forceRender || $[15] !== operation || $[16] !== parentIndexPath || $[17] !== parentPath || $[18] !== parentSchemaPath || $[19] !== permissions || $[20] !== readOnlyFromParent) {
|
|
44
44
|
t5 = (field, i) => {
|
|
45
|
-
if (!field || field
|
|
45
|
+
if (!field || fieldIsHiddenOrDisabled(field)) {
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
48
|
const parentName = parentPath?.includes(".") ? parentPath.split(".")[parentPath.split(".").length - 1] : parentPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getFieldPaths","React","RenderIfInViewport","useOperation","RenderField","baseClass","RenderFields","props","$","className","fields","forceRender","margins","parentIndexPath","parentPath","parentSchemaPath","permissions","readOnly","readOnlyFromParent","operation","length","t0","t1","t2","filter","Boolean","t3","join","t4","t5","field","i","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","fieldIsHiddenOrDisabled","getFieldPaths","React","RenderIfInViewport","useOperation","RenderField","baseClass","RenderFields","props","$","className","fields","forceRender","margins","parentIndexPath","parentPath","parentSchemaPath","permissions","readOnly","readOnlyFromParent","operation","length","t0","t1","t2","filter","Boolean","t3","join","t4","t5","field","i","parentName","includes","split","hasReadPermission","name","read","isReadOnly","admin","hasOperationPermission","indexPath","path","schemaPath","index","_jsx","clientFieldConfig","undefined","children","map"],"sources":["../../../src/forms/RenderFields/index.tsx"],"sourcesContent":["'use client'\n\nimport { fieldIsHiddenOrDisabled, getFieldPaths } from 'payload/shared'\nimport React from 'react'\n\nimport type { RenderFieldsProps } from './types.js'\n\nimport { RenderIfInViewport } from '../../elements/RenderIfInViewport/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport './index.scss'\nimport { RenderField } from './RenderField.js'\n\nconst baseClass = 'render-fields'\n\nexport { RenderFieldsProps as Props }\n\nexport const RenderFields: React.FC<RenderFieldsProps> = (props) => {\n const {\n className,\n fields,\n forceRender,\n margins,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n permissions,\n readOnly: readOnlyFromParent,\n } = props\n\n const operation = useOperation()\n\n if (fields && fields.length > 0) {\n return (\n <RenderIfInViewport\n className={[\n baseClass,\n className,\n margins && `${baseClass}--margins-${margins}`,\n margins === false && `${baseClass}--margins-none`,\n ]\n .filter(Boolean)\n .join(' ')}\n forceRender={forceRender}\n >\n {fields.map((field, i) => {\n // For sidebar fields in the main fields array, `field` will be `null`, and visa versa\n // This is to keep the order of the fields consistent and maintain the correct index paths for the main fields (i)\n if (!field || fieldIsHiddenOrDisabled(field)) {\n return null\n }\n\n const parentName = parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath\n\n // If the user cannot read the field, then filter it out\n // This is different from `admin.readOnly` which is executed based on `operation`\n const hasReadPermission =\n permissions === true ||\n permissions?.[parentName] === true ||\n ('name' in field &&\n typeof permissions === 'object' &&\n permissions?.[field.name] &&\n (permissions[field.name] === true ||\n ('read' in permissions[field.name] && permissions[field.name].read)))\n\n if ('name' in field && !hasReadPermission) {\n return null\n }\n\n // `admin.readOnly` displays the value but prevents the field from being edited\n let isReadOnly = readOnlyFromParent || field?.admin?.readOnly\n\n // If parent field is `readOnly: true`, but this field is `readOnly: false`, the field should still be editable\n if (isReadOnly && field.admin?.readOnly === false) {\n isReadOnly = false\n }\n\n // If the user does not have access control to begin with, force it to be read-only\n const hasOperationPermission =\n permissions === true ||\n permissions?.[parentName] === true ||\n ('name' in field &&\n typeof permissions === 'object' &&\n permissions?.[field.name] &&\n (permissions[field.name] === true ||\n (operation in permissions[field.name] && permissions[field.name][operation])))\n\n if ('name' in field && !hasOperationPermission) {\n isReadOnly = true\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: i,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n return (\n <RenderField\n clientFieldConfig={field}\n forceRender={forceRender}\n indexPath={indexPath}\n key={`${path}-${i}`}\n parentPath={parentPath}\n parentSchemaPath={parentSchemaPath}\n path={path}\n permissions={\n permissions === undefined || permissions === null || permissions === true\n ? true\n : 'name' in field\n ? permissions?.[field.name]\n : permissions\n }\n readOnly={isReadOnly}\n schemaPath={schemaPath}\n />\n )\n })}\n </RenderIfInViewport>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAEd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAEd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAEd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAEd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA+pBvF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ObjectIdImport from 'bson-objectid';
|
|
2
|
-
import { deepCopyObjectSimple, fieldAffectsData, fieldHasSubFields, fieldIsSidebar, getFieldPaths, tabHasName } from 'payload/shared';
|
|
2
|
+
import { deepCopyObjectSimple, fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled, fieldIsID, fieldIsSidebar, getFieldPaths, tabHasName } from 'payload/shared';
|
|
3
3
|
import { getFilterOptionsQuery } from './getFilterOptionsQuery.js';
|
|
4
4
|
import { iterateFields } from './iterateFields.js';
|
|
5
5
|
const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
@@ -53,10 +53,8 @@ export const addFieldStatePromise = async args => {
|
|
|
53
53
|
parentSchemaPath
|
|
54
54
|
});
|
|
55
55
|
const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender;
|
|
56
|
-
const isHiddenField = 'hidden' in field && field?.hidden;
|
|
57
|
-
const disabledFromAdmin = field?.admin && 'disabled' in field.admin && field.admin.disabled;
|
|
58
56
|
let fieldPermissions = true;
|
|
59
|
-
if (fieldAffectsData(field) && !(
|
|
57
|
+
if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {
|
|
60
58
|
fieldPermissions = parentPermissions === true ? parentPermissions : deepCopyObjectSimple(parentPermissions?.[field.name]);
|
|
61
59
|
let hasPermission = fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read);
|
|
62
60
|
if (typeof field?.access?.read === 'function') {
|
|
@@ -131,7 +129,7 @@ export const addFieldStatePromise = async args => {
|
|
|
131
129
|
row.id = row?.id || new ObjectId().toHexString();
|
|
132
130
|
if (!omitParents && (!filter || filter(args))) {
|
|
133
131
|
state[parentPath + '.id'] = {
|
|
134
|
-
fieldSchema: includeSchema ? field.fields.find(field =>
|
|
132
|
+
fieldSchema: includeSchema ? field.fields.find(field => fieldIsID(field)) : undefined,
|
|
135
133
|
initialValue: row.id,
|
|
136
134
|
valid: true,
|
|
137
135
|
value: row.id
|
|
@@ -216,7 +214,7 @@ export const addFieldStatePromise = async args => {
|
|
|
216
214
|
row.id = row?.id || new ObjectId().toHexString();
|
|
217
215
|
if (!omitParents && (!filter || filter(args))) {
|
|
218
216
|
state[parentPath + '.id'] = {
|
|
219
|
-
fieldSchema: includeSchema ? block.fields.find(blockField =>
|
|
217
|
+
fieldSchema: includeSchema ? block.fields.find(blockField => fieldIsID(blockField)) : undefined,
|
|
220
218
|
initialValue: row.id,
|
|
221
219
|
valid: true,
|
|
222
220
|
value: row.id
|
|
@@ -526,8 +524,7 @@ export const addFieldStatePromise = async args => {
|
|
|
526
524
|
};
|
|
527
525
|
}
|
|
528
526
|
}
|
|
529
|
-
|
|
530
|
-
if (requiresRender && !isDisabled && renderFieldFn) {
|
|
527
|
+
if (requiresRender && renderFieldFn && !fieldIsHiddenOrDisabled(field)) {
|
|
531
528
|
const fieldState = state[path];
|
|
532
529
|
const fieldConfig = fieldSchemaMap.get(schemaPath);
|
|
533
530
|
if (!fieldConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentPermissions","parentSchemaPath","passesCondition","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","console","warn","indexPath","path","schemaPath","index","requiresRender","isHiddenField","hidden","disabledFromAdmin","admin","disabled","fieldPermissions","name","hasPermission","read","access","doc","siblingData","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","permissions","collapsedRowIDs","collapsed","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","childPermissions","tabPermissions","isDisabled","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsSidebar,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n preferences: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n const isHiddenField = 'hidden' in field && field?.hidden\n const disabledFromAdmin = field?.admin && 'disabled' in field.admin && field.admin.disabled\n\n let fieldPermissions: SanitizedFieldPermissions = true\n if (fieldAffectsData(field) && !(isHiddenField || disabledFromAdmin)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({ doc: fullData, req, siblingData: data })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate = field.validate\n\n const fieldState: FormFieldWithoutComponents = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(\n data?.[field.name] as never,\n {\n ...field,\n id,\n collectionSlug,\n data: fullData,\n jsonError,\n operation,\n preferences,\n req,\n siblingData: data,\n } as any,\n )\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n fieldState.rows = rows\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const parentPath = path + '.' + i\n const rowSchemaPath = schemaPath + '.' + block.slug\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[parentPath + '.blockType'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[parentPath + '.blockName'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: rowSchemaPath,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let childPermissions: SanitizedFieldsPermissions = undefined\n if (tabHasName(tab)) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n } else {\n childPermissions = parentPermissions\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentPassesCondition: passesCondition,\n parentPath: tabHasName(tab) ? tabPath : parentPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n\n const isDisabled = field?.admin && 'disabled' in field.admin && field.admin.disabled\n\n if (requiresRender && !isDisabled && renderFieldFn) {\n const fieldState = state[path]\n\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!fieldState) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState,\n formState: state,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentPermissions","parentSchemaPath","passesCondition","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","console","warn","indexPath","path","schemaPath","index","requiresRender","fieldPermissions","name","hasPermission","read","access","doc","siblingData","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","permissions","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","childPermissions","tabPermissions","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsSidebar,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n preferences: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({ doc: fullData, req, siblingData: data })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate = field.validate\n\n const fieldState: FormFieldWithoutComponents = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(\n data?.[field.name] as never,\n {\n ...field,\n id,\n collectionSlug,\n data: fullData,\n jsonError,\n operation,\n preferences,\n req,\n siblingData: data,\n } as any,\n )\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => fieldIsID(field))\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n fieldState.rows = rows\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const parentPath = path + '.' + i\n const rowSchemaPath = schemaPath + '.' + block.slug\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[parentPath + '.blockType'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[parentPath + '.blockName'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: rowSchemaPath,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let childPermissions: SanitizedFieldsPermissions = undefined\n if (tabHasName(tab)) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n } else {\n childPermissions = parentPermissions\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentPassesCondition: passesCondition,\n parentPath: tabHasName(tab) ? tabPath : parentPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n\n if (requiresRender && renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldState = state[path]\n\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!fieldState) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState,\n formState: state,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"AAcA,OAAOA,cAAA,MAAoB;AAC3B,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,EACvBC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,UAAU,QACL;AAIP,SAASC,qBAAqB,QAAQ;AACtC,SAASC,aAAa,QAAQ;AAE9B,MAAMC,QAAA,GAAYX,cAAA,CAAeY,OAAO,IACtCZ,cAAA;AA0DF;;;;AAIA,OAAO,MAAMa,oBAAA,GAAuB,MAAOC,IAAA;EACzC,MAAM;IACJC,EAAE;IACFC,oBAAA,EAAsBC,uBAAuB;IAC7CC,kBAAA,GAAqB,KAAK;IAC1BC,oBAAoB;IACpBC,cAAc;IACdC,IAAI;IACJC,KAAK;IACLC,UAAU;IACVC,cAAc;IACdC,MAAM;IACNC,cAAA,GAAiB,KAAK;IACtBC,QAAQ;IACRC,aAAA,GAAgB,KAAK;IACrBC,WAAA,GAAc,KAAK;IACnBC,SAAS;IACTC,eAAe;IACfC,UAAU;IACVC,iBAAiB;IACjBC,gBAAgB;IAChBC,eAAe;IACfC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfC,aAAa;IACbC,GAAG;IACHC,mBAAA,GAAsB,KAAK;IAC3BC,cAAA,GAAiB,KAAK;IACtBC;EAAK,CACN,GAAG7B,IAAA;EAEJ,IAAI,CAACA,IAAA,CAAKK,oBAAoB,IAAIL,IAAA,CAAKyB,aAAa,EAAE;IACpDK,OAAA,CAAQC,IAAI,CACV;EAEJ;EAEA,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAU,CAAE,GAAGzC,aAAA,CAAc;IACpDe,KAAA;IACA2B,KAAA,EAAO1B,UAAA;IACPQ,eAAA,EAAiB,UAAUT,KAAA,GAAQ,KAAKS,eAAA;IACxCC,UAAA;IACAE;EACF;EAEA,MAAMgB,cAAA,GAAiBZ,eAAA,IAAmBD,iBAAA,GAAoBU,IAAA,CAAK,EAAEG,cAAA;EAErE,IAAIC,gBAAA,GAA8C;EAElD,IAAIjD,gBAAA,CAAiBoB,KAAA,KAAU,CAAClB,uBAAA,CAAwBkB,KAAA,GAAQ;IAC9D6B,gBAAA,GACElB,iBAAA,KAAsB,OAClBA,iBAAA,GACAhC,oBAAA,CAAqBgC,iBAAA,GAAoBX,KAAA,CAAM8B,IAAI,CAAC;IAE1D,IAAIC,aAAA,GACFF,gBAAA,KAAqB,QAAQlD,oBAAA,CAAqBkD,gBAAA,EAAkBG,IAAA;IAEtE,IAAI,OAAOhC,KAAA,EAAOiC,MAAA,EAAQD,IAAA,KAAS,YAAY;MAC7CD,aAAA,GAAgB,MAAM/B,KAAA,CAAMiC,MAAM,CAACD,IAAI,CAAC;QAAEE,GAAA,EAAK7B,QAAA;QAAUa,GAAA;QAAKiB,WAAA,EAAapC;MAAK;IAClF,OAAO;MACLgC,aAAA,GAAgB;IAClB;IAEA,IAAI,CAACA,aAAA,EAAe;MAClB;IACF;IAEA,MAAMK,QAAA,GAAWpC,KAAA,CAAMoC,QAAQ;IAE/B,MAAMC,UAAA,GAAyC;MAC7CC,UAAA,EAAY,EAAE;MACdC,WAAA,EAAajC,aAAA,GAAgBN,KAAA,GAAQwC,SAAA;MACrCC,YAAA,EAAcD,SAAA;MACdE,SAAA,EAAW1D,cAAA,CAAegB,KAAA;MAC1Ba,eAAA;MACA8B,KAAA,EAAO;MACPC,KAAA,EAAOJ;IACT;IAEA,IAAIK,gBAAA,GAAkC;IAEtC,IAAI,OAAOT,QAAA,KAAa,cAAc,CAAChB,cAAA,IAAkBP,eAAA,EAAiB;MACxE,IAAIiC,SAAA;MAEJ,IAAI9C,KAAA,CAAM+C,IAAI,KAAK,UAAU,OAAOhD,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,KAAK,UAAU;QACjE,IAAI;UACFkB,IAAA,CAAKC,KAAK,CAAClD,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC;QAC7B,EAAE,OAAOoB,CAAA,EAAG;UACVJ,SAAA,GAAYI,CAAA;QACd;MACF;MAEAL,gBAAA,GAAmB,MAAMT,QAAA,CACvBrC,IAAA,GAAOC,KAAA,CAAM8B,IAAI,CAAC,EAClB;QACE,GAAG9B,KAAK;QACRP,EAAA;QACAK,cAAA;QACAC,IAAA,EAAMM,QAAA;QACNyC,SAAA;QACAtC,SAAA;QACAM,WAAA;QACAI,GAAA;QACAiB,WAAA,EAAapC;MACf;IAEJ;IAEA,MAAML,oBAAA,GAAwByD,SAAA;MAC5B,IAAI,OAAOxD,uBAAA,KAA4B,YAAY;QACjDA,uBAAA,CAAwBwD,SAAA;MAC1B;MAEA,IAAI,CAACd,UAAA,CAAWC,UAAU,CAACc,QAAQ,CAACD,SAAA,GAAY;QAC9Cd,UAAA,CAAWC,UAAU,CAACe,IAAI,CAACF,SAAA;QAC3Bd,UAAA,CAAWM,KAAK,GAAG;MACrB;IACF;IAEA,IAAI,OAAOE,gBAAA,KAAqB,UAAU;MACxCR,UAAA,CAAWiB,YAAY,GAAGT,gBAAA;MAC1BR,UAAA,CAAWM,KAAK,GAAG;MACnBjD,oBAAA,CAAqB+B,IAAA;IACvB,OAAO;MACLY,UAAA,CAAWM,KAAK,GAAG;IACrB;IAEA,QAAQ3C,KAAA,CAAM+C,IAAI;MAChB,KAAK;QAAS;UACZ,MAAMQ,UAAA,GAAaC,KAAA,CAAMC,OAAO,CAAC1D,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,IAAI/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,GAAG,EAAE;UAE1E,MAAM;YAAE4B,QAAQ;YAAEC;UAAI,CAAE,GAAGJ,UAAA,CAAWK,MAAM,CAC1C,CAACC,GAAA,EAAKC,GAAA,EAAKC,CAAA;YACT,MAAMrD,UAAA,GAAae,IAAA,GAAO,MAAMsC,CAAA;YAChCD,GAAA,CAAIrE,EAAE,GAAGqE,GAAA,EAAKrE,EAAA,IAAM,IAAIJ,QAAA,GAAW2E,WAAW;YAE9C,IAAI,CAACzD,WAAA,KAAgB,CAACJ,MAAA,IAAUA,MAAA,CAAOX,IAAA,CAAI,GAAI;cAC7C6B,KAAK,CAACX,UAAA,GAAa,MAAM,GAAG;gBAC1B6B,WAAA,EAAajC,aAAA,GACTN,KAAA,CAAMiE,MAAM,CAACC,IAAI,CAAElE,KAAA,IAAUjB,SAAA,CAAUiB,KAAA,KACvCwC,SAAA;gBACJC,YAAA,EAAcqB,GAAA,CAAIrE,EAAE;gBACpBkD,KAAA,EAAO;gBACPC,KAAA,EAAOkB,GAAA,CAAIrE;cACb;YACF;YAEAoE,GAAA,CAAIH,QAAQ,CAACL,IAAI,CACfjE,aAAA,CAAc;cACZK,EAAA;cACAC,oBAAA;cACAE,kBAAA,EAAoBI,KAAA,CAAMmE,SAAS,IAAIvE,kBAAA;cACvCC,oBAAA;cACAC,cAAA;cACAC,IAAA,EAAM+D,GAAA;cACNG,MAAA,EAAQjE,KAAA,CAAMiE,MAAM;cACpB/D,cAAA;cACAC,MAAA;cACAC,cAAA;cACAC,QAAA;cACAC,aAAA;cACAC,WAAA;cACAC,SAAA;cACAC,eAAA,EAAiB;cACjB2D,qBAAA,EAAuBvD,eAAA;cACvBH,UAAA;cACAE,gBAAA,EAAkBc,UAAA;cAClB2C,WAAA,EACExC,gBAAA,KAAqB,OAAOA,gBAAA,GAAmBA,gBAAA,EAAkBoC,MAAA,IAAU,CAAC;cAC9EnD,WAAA;cACAC,iBAAA;cACAC,eAAA,EAAiBY,cAAA;cACjBX,aAAA;cACAC,GAAA;cACAC,mBAAA;cACAC,cAAA;cACAC;YACF;YAGF,MAAMiD,eAAA,GAAkBxD,WAAA,EAAamD,MAAA,GAASxC,IAAA,CAAK,EAAE8C,SAAA;YAErDV,GAAA,CAAIF,IAAI,CAACN,IAAI,CAAC;cACZ5D,EAAA,EAAIqE,GAAA,CAAIrE,EAAE;cACV8E,SAAA,EACED,eAAA,KAAoB9B,SAAA,GAChBxC,KAAA,CAAMwE,KAAK,CAACC,aAAa,GACzBH,eAAA,CAAgBlB,QAAQ,CAACU,GAAA,CAAIrE,EAAE;YACvC;YAEA,OAAOoE,GAAA;UACT,GACA;YACEH,QAAA,EAAU,EAAE;YACZC,IAAA,EAAM;UACR;UAGF;UACA,MAAMe,OAAA,CAAQC,GAAG,CAACjB,QAAA;UAElBrB,UAAA,CAAWsB,IAAI,GAAGA,IAAA;UAElB;UACA;UACAtB,UAAA,CAAWT,cAAc,GAAG;UAE5B;UACA,IAAI7B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,KAAK,MAAM;YAC7BO,UAAA,CAAWO,KAAK,GAAG;YACnBP,UAAA,CAAWI,YAAY,GAAG;UAC5B,OAAO;YACLJ,UAAA,CAAWO,KAAK,GAAGxC,cAAA,GAAiBmD,UAAA,GAAaA,UAAA,CAAWqB,MAAM;YAClEvC,UAAA,CAAWI,YAAY,GAAGrC,cAAA,GAAiBmD,UAAA,GAAaA,UAAA,CAAWqB,MAAM;YAEzE,IAAIrB,UAAA,CAAWqB,MAAM,GAAG,GAAG;cACzBvC,UAAA,CAAWwC,eAAe,GAAG;YAC/B;UACF;UAEA;UACA,IAAI,CAACtE,WAAA,KAAgB,CAACJ,MAAA,IAAUA,MAAA,CAAOX,IAAA,CAAI,GAAI;YAC7C6B,KAAK,CAACI,IAAA,CAAK,GAAGY,UAAA;UAChB;UAEA;QACF;MAEA,KAAK;QAAU;UACb,MAAMyC,WAAA,GAActB,KAAA,CAAMC,OAAO,CAAC1D,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,IAAI/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,GAAG,EAAE;UAE3E,MAAM;YAAE4B,QAAQ;YAAEqB;UAAW,CAAE,GAAGD,WAAA,CAAYlB,MAAM,CAClD,CAACC,GAAA,EAAKC,GAAA,EAAKC,CAAA;YACT,MAAMiB,KAAA,GAAQhF,KAAA,CAAMiF,MAAM,CAACf,IAAI,CAAEgB,SAAA,IAAcA,SAAA,CAAUC,IAAI,KAAKrB,GAAA,CAAIoB,SAAS;YAC/E,IAAI,CAACF,KAAA,EAAO;cACV,MAAM,IAAII,KAAA,CACR,oBAAoBtB,GAAA,CAAIoB,SAAS,8GAA8GxD,UAAA,GAAa;YAEhK;YAEA,MAAMhB,UAAA,GAAae,IAAA,GAAO,MAAMsC,CAAA;YAChC,MAAMsB,aAAA,GAAgB3D,UAAA,GAAa,MAAMsD,KAAA,CAAMG,IAAI;YAEnD,IAAIH,KAAA,EAAO;cACTlB,GAAA,CAAIrE,EAAE,GAAGqE,GAAA,EAAKrE,EAAA,IAAM,IAAIJ,QAAA,GAAW2E,WAAW;cAE9C,IAAI,CAACzD,WAAA,KAAgB,CAACJ,MAAA,IAAUA,MAAA,CAAOX,IAAA,CAAI,GAAI;gBAC7C6B,KAAK,CAACX,UAAA,GAAa,MAAM,GAAG;kBAC1B6B,WAAA,EAAajC,aAAA,GACT0E,KAAA,CAAMf,MAAM,CAACC,IAAI,CAAEoB,UAAA,IAAevG,SAAA,CAAUuG,UAAA,KAC5C9C,SAAA;kBACJC,YAAA,EAAcqB,GAAA,CAAIrE,EAAE;kBACpBkD,KAAA,EAAO;kBACPC,KAAA,EAAOkB,GAAA,CAAIrE;gBACb;gBAEA4B,KAAK,CAACX,UAAA,GAAa,aAAa,GAAG;kBACjC6B,WAAA,EAAajC,aAAA,GACT0E,KAAA,CAAMf,MAAM,CAACC,IAAI,CACdoB,UAAA,IAAe,UAAUA,UAAA,IAAcA,UAAA,CAAWxD,IAAI,KAAK,eAE9DU,SAAA;kBACJC,YAAA,EAAcqB,GAAA,CAAIoB,SAAS;kBAC3BvC,KAAA,EAAO;kBACPC,KAAA,EAAOkB,GAAA,CAAIoB;gBACb;gBAEA7D,KAAK,CAACX,UAAA,GAAa,aAAa,GAAG;kBACjC6B,WAAA,EAAajC,aAAA,GACT0E,KAAA,CAAMf,MAAM,CAACC,IAAI,CACdoB,UAAA,IAAe,UAAUA,UAAA,IAAcA,UAAA,CAAWxD,IAAI,KAAK,eAE9DU,SAAA;kBACJC,YAAA,EAAcqB,GAAA,CAAIyB,SAAS;kBAC3B5C,KAAA,EAAO;kBACPC,KAAA,EAAOkB,GAAA,CAAIyB;gBACb;cACF;cAEA1B,GAAA,CAAIH,QAAQ,CAACL,IAAI,CACfjE,aAAA,CAAc;gBACZK,EAAA;gBACAC,oBAAA;gBACAE,kBAAA,EAAoBI,KAAA,CAAMmE,SAAS,IAAIvE,kBAAA;gBACvCC,oBAAA;gBACAC,cAAA;gBACAC,IAAA,EAAM+D,GAAA;gBACNG,MAAA,EAAQe,KAAA,CAAMf,MAAM;gBACpB/D,cAAA;gBACAC,MAAA;gBACAC,cAAA;gBACAC,QAAA;gBACAC,aAAA;gBACAC,WAAA;gBACAC,SAAA;gBACAC,eAAA,EAAiB;gBACjB2D,qBAAA,EAAuBvD,eAAA;gBACvBH,UAAA;gBACAE,gBAAA,EAAkByE,aAAA;gBAClBhB,WAAA,EACExC,gBAAA,KAAqB,OACjBA,gBAAA,GACAlB,iBAAA,GAAoBX,KAAA,CAAM8B,IAAI,CAAC,EAAEmD,MAAA,GAASD,KAAA,CAAMG,IAAI,CAAC,KAAK,OACxD,OACAxE,iBAAA,GAAoBX,KAAA,CAAM8B,IAAI,CAAC,EAAEmD,MAAA,GAASD,KAAA,CAAMG,IAAI,CAAC,EAAElB,MAAA,IAAU,CAAC;gBAC1EnD,WAAA;gBACAC,iBAAA;gBACAC,eAAA,EAAiBY,cAAA;gBACjBX,aAAA;gBACAC,GAAA;gBACAC,mBAAA;gBACAC,cAAA;gBACAC;cACF;cAGF,MAAMiD,eAAA,GAAkBxD,WAAA,EAAamD,MAAA,GAASxC,IAAA,CAAK,EAAE8C,SAAA;cAErDV,GAAA,CAAIkB,WAAW,CAAC1B,IAAI,CAAC;gBACnB5D,EAAA,EAAIqE,GAAA,CAAIrE,EAAE;gBACVyF,SAAA,EAAWpB,GAAA,CAAIoB,SAAS;gBACxBX,SAAA,EACED,eAAA,KAAoB9B,SAAA,GAChBxC,KAAA,CAAMwE,KAAK,CAACC,aAAa,GACzBH,eAAA,CAAgBlB,QAAQ,CAACU,GAAA,CAAIrE,EAAE;cACvC;YACF;YAEA,OAAOoE,GAAA;UACT,GACA;YACEH,QAAA,EAAU,EAAE;YACZqB,WAAA,EAAa;UACf;UAGF,MAAML,OAAA,CAAQC,GAAG,CAACjB,QAAA;UAElB;UACA,IAAI3D,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,KAAK,MAAM;YAC7BO,UAAA,CAAWO,KAAK,GAAG;YACnBP,UAAA,CAAWI,YAAY,GAAG;UAC5B,OAAO;YACLJ,UAAA,CAAWO,KAAK,GAAGxC,cAAA,GAAiB0E,WAAA,GAAcA,WAAA,CAAYF,MAAM;YACpEvC,UAAA,CAAWI,YAAY,GAAGrC,cAAA,GAAiB0E,WAAA,GAAcA,WAAA,CAAYF,MAAM;YAE3E,IAAIE,WAAA,CAAYF,MAAM,GAAG,GAAG;cAC1BvC,UAAA,CAAWwC,eAAe,GAAG;YAC/B;UACF;UAEAxC,UAAA,CAAWsB,IAAI,GAAGoB,WAAA;UAElB;UACA;UACA1C,UAAA,CAAWT,cAAc,GAAG;UAE5B;UACA,IAAI,CAACrB,WAAA,KAAgB,CAACJ,MAAA,IAAUA,MAAA,CAAOX,IAAA,CAAI,GAAI;YAC7C6B,KAAK,CAACI,IAAA,CAAK,GAAGY,UAAA;UAChB;UAEA;QACF;MAEA,KAAK;QAAS;UACZ,IAAI,CAAClC,MAAA,IAAUA,MAAA,CAAOX,IAAA,GAAO;YAC3B6C,UAAA,CAAWwC,eAAe,GAAG;YAC7BxD,KAAK,CAACI,IAAA,CAAK,GAAGY,UAAA;UAChB;UAEA,MAAMjD,aAAA,CAAc;YAClBK,EAAA;YACAC,oBAAA;YACAE,kBAAA,EAAoBI,KAAA,CAAMmE,SAAS,IAAIvE,kBAAA;YACvCC,oBAAA;YACAC,cAAA;YACAC,IAAA,EAAMA,IAAA,GAAOC,KAAA,CAAM8B,IAAI,CAAC,IAAI,CAAC;YAC7BmC,MAAA,EAAQjE,KAAA,CAAMiE,MAAM;YACpB/D,cAAA;YACAC,MAAA;YACAC,cAAA;YACAC,QAAA;YACAC,aAAA;YACAC,WAAA;YACAC,SAAA;YACAC,eAAA,EAAiB;YACjB2D,qBAAA,EAAuBvD,eAAA;YACvBH,UAAA,EAAYe,IAAA;YACZb,gBAAA,EAAkBc,UAAA;YAClB2C,WAAA,EACE,OAAOxC,gBAAA,KAAqB,YAAYA,gBAAA,GAAmBA,gBAAA,EAAkBoC,MAAA;YAC/EnD,WAAA;YACAC,iBAAA;YACAC,eAAA;YACAC,aAAA;YACAC,GAAA;YACAC,mBAAA;YACAC,cAAA;YACAC;UACF;UAEA;QACF;MACA,KAAK;MACL,KAAK;QAAU;UACb,IAAIrB,KAAA,CAAMwF,aAAa,EAAE;YACvB,IAAI,OAAOxF,KAAA,CAAMwF,aAAa,KAAK,UAAU;cAC3C,IAAI,OAAOxF,KAAA,CAAMyF,UAAU,KAAK,UAAU;gBACxCpD,UAAA,CAAWmD,aAAa,GAAG;kBACzB,CAACxF,KAAA,CAAMyF,UAAU,GAAGzF,KAAA,CAAMwF;gBAC5B;cACF,OAAO;gBACLnD,UAAA,CAAWmD,aAAa,GAAGxF,KAAA,CAAMyF,UAAU,CAAC7B,MAAM,CAAC,CAACC,GAAA,EAAK6B,QAAA;kBACvD7B,GAAG,CAAC6B,QAAA,CAAS,GAAG1F,KAAA,CAAMwF,aAAa;kBACnC,OAAO3B,GAAA;gBACT,GAAG,CAAC;cACN;YACF;YAEA,IAAI,OAAO7D,KAAA,CAAMwF,aAAa,KAAK,YAAY;cAC7C,MAAMG,KAAA,GAAQ,MAAMxG,qBAAA,CAAsBa,KAAA,CAAMwF,aAAa,EAAE;gBAC7D/F,EAAA;gBACAM,IAAA,EAAMM,QAAA;gBACNoF,UAAA,EAAYzF,KAAA,CAAMyF,UAAU;gBAC5BtD,WAAA,EAAapC,IAAA;gBACb6F,IAAA,EAAM1E,GAAA,CAAI0E;cACZ;cAEAvD,UAAA,CAAWmD,aAAa,GAAGG,KAAA;YAC7B;UACF;UAEA,IAAI3F,KAAA,CAAM6F,OAAO,EAAE;YACjB,MAAMC,iBAAA,GAAoBtC,KAAA,CAAMC,OAAO,CAAC1D,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,IACpD/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,CAACiE,GAAG,CAAEC,YAAA;cACpB,IAAIxC,KAAA,CAAMC,OAAO,CAACzD,KAAA,CAAMyF,UAAU,GAAG;gBACnC,OAAO;kBACLA,UAAA,EAAYO,YAAA,CAAaP,UAAU;kBACnC7C,KAAA,EACEoD,YAAA,CAAapD,KAAK,IAAI,OAAOoD,YAAA,CAAapD,KAAK,KAAK,WAChDoD,YAAA,CAAapD,KAAK,EAAEnD,EAAA,GACpBuG,YAAA,CAAapD;gBACrB;cACF;cACA,IAAI,OAAOoD,YAAA,KAAiB,YAAYA,YAAA,KAAiB,MAAM;gBAC7D,OAAOA,YAAA,CAAavG,EAAE;cACxB;cACA,OAAOuG,YAAA;YACT,KACAxD,SAAA;YAEJH,UAAA,CAAWO,KAAK,GAAGkD,iBAAA;YACnBzD,UAAA,CAAWI,YAAY,GAAGqD,iBAAA;UAC5B,OAAO,IAAItC,KAAA,CAAMC,OAAO,CAACzD,KAAA,CAAMyF,UAAU,GAAG;YAC1C,IACE1F,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,IAChB,OAAO/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,KAAK,YAC5B,gBAAgB/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,IAChC,WAAW/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,EAC3B;cACA,MAAMc,KAAA,GACJ,OAAO7C,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,EAAEc,KAAA,KAAU,YACnC7C,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,EAAEc,KAAA,IAClB,QAAQ7C,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,CAACc,KAAK,GAC1B7C,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,CAACc,KAAK,CAACnD,EAAE,GACzBM,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,CAACc,KAAK;cAC5B,MAAMkD,iBAAA,GAAoB;gBACxBL,UAAA,EAAY1F,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,EAAE2D,UAAA;gBAC9B7C;cACF;cACAP,UAAA,CAAWO,KAAK,GAAGkD,iBAAA;cACnBzD,UAAA,CAAWI,YAAY,GAAGqD,iBAAA;YAC5B;UACF,OAAO;YACL,MAAMA,iBAAA,GACJ/F,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,IAAI,OAAO/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,KAAK,YAAY,QAAQ/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,GAChF/B,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC,CAACrC,EAAE,GACnBM,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC;YACtBO,UAAA,CAAWO,KAAK,GAAGkD,iBAAA;YACnBzD,UAAA,CAAWI,YAAY,GAAGqD,iBAAA;UAC5B;UAEA,IAAI,CAAC3F,MAAA,IAAUA,MAAA,CAAOX,IAAA,GAAO;YAC3B6B,KAAK,CAACI,IAAA,CAAK,GAAGY,UAAA;UAChB;UAEA;QACF;MAEA;QAAS;UACPA,UAAA,CAAWO,KAAK,GAAG7C,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC;UACnCO,UAAA,CAAWI,YAAY,GAAG1C,IAAI,CAACC,KAAA,CAAM8B,IAAI,CAAC;UAE1C;UACA,IAAI,CAAC3B,MAAA,IAAUA,MAAA,CAAOX,IAAA,GAAO;YAC3B6B,KAAK,CAACI,IAAA,CAAK,GAAGY,UAAA;UAChB;UAEA;QACF;IACF;EACF,OAAO,IAAIxD,iBAAA,CAAkBmB,KAAA,KAAU,CAACpB,gBAAA,CAAiBoB,KAAA,GAAQ;IAC/D;IAEA,IAAI,CAACG,MAAA,IAAUA,MAAA,CAAOX,IAAA,GAAO;MAC3B6B,KAAK,CAACI,IAAA,CAAK,GAAG;QACZoD,eAAA,EAAiB;QACjBvC,UAAA,EAAY,EAAE;QACdG,YAAA,EAAcD,SAAA;QACd3B,eAAA;QACA8B,KAAA,EAAO;QACPC,KAAA,EAAOJ;MACT;IACF;IAEA,MAAMpD,aAAA,CAAc;MAClBK,EAAA;MACA;MACAC,oBAAA,EAAsBC,uBAAA;MACtBC,kBAAA,EAAoBI,KAAA,CAAMmE,SAAS,IAAIvE,kBAAA;MACvCC,oBAAA;MACAC,cAAA;MACAC,IAAA;MACAkE,MAAA,EAAQjE,KAAA,CAAMiE,MAAM;MACpB/D,cAAA;MACAC,MAAA;MACAC,cAAA;MACAC,QAAA;MACAC,aAAA;MACAC,WAAA;MACAC,SAAA;MACAC,eAAA,EAAiBe,SAAA;MACjB4C,qBAAA,EAAuBvD,eAAA;MACvBH,UAAA;MACAE,gBAAA;MACAyD,WAAA,EAAa1D,iBAAA;MACbG,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAC,mBAAA;MACAC,cAAA;MACAC;IACF;EACF,OAAO,IAAIrB,KAAA,CAAM+C,IAAI,KAAK,QAAQ;IAChC,MAAMW,QAAA,GAAW1D,KAAA,CAAMiG,IAAI,CAACF,GAAG,CAAC,CAACG,GAAA,EAAKC,QAAA;MACpC,MAAMC,UAAA,GAAalH,UAAA,CAAWgH,GAAA;MAE9B,MAAM;QACJ1E,SAAA,EAAW6E,YAAY;QACvB5E,IAAA,EAAM6E,OAAO;QACb5E,UAAA,EAAY6E;MAAa,CAC1B,GAAGtH,aAAA,CAAc;QAChBe,KAAA,EAAO;UACL,GAAGkG,GAAG;UACNnD,IAAA,EAAM;QACR;QACApB,KAAA,EAAOwE,QAAA;QACP1F,eAAA,EAAiBe,SAAA;QACjBd,UAAA;QACAE;MACF;MAEA,IAAI4F,gBAAA,GAA+ChE,SAAA;MACnD,IAAItD,UAAA,CAAWgH,GAAA,GAAM;QACnB,IAAIvF,iBAAA,KAAsB,MAAM;UAC9B6F,gBAAA,GAAmB;QACrB,OAAO;UACL,MAAMC,cAAA,GAAiB9F,iBAAA,GAAoBuF,GAAA,CAAIpE,IAAI,CAAC;UACpD,IAAI2E,cAAA,KAAmB,MAAM;YAC3BD,gBAAA,GAAmB;UACrB,OAAO;YACLA,gBAAA,GAAmBC,cAAA,EAAgBxC,MAAA;UACrC;QACF;MACF,OAAO;QACLuC,gBAAA,GAAmB7F,iBAAA;MACrB;MAEA,OAAOvB,aAAA,CAAc;QACnBK,EAAA;QACAC,oBAAA,EAAsBC,uBAAA;QACtBC,kBAAA,EAAoBsG,GAAA,CAAI/B,SAAS,IAAIvE,kBAAA;QACrCC,oBAAA;QACAC,cAAA;QACAC,IAAA,EAAMqG,UAAA,GAAarG,IAAA,GAAOmG,GAAA,CAAIpE,IAAI,CAAC,IAAI,CAAC,IAAI/B,IAAA;QAC5CkE,MAAA,EAAQiC,GAAA,CAAIjC,MAAM;QAClB/D,cAAA;QACAC,MAAA;QACAC,cAAA;QACAC,QAAA;QACAC,aAAA;QACAC,WAAA;QACAC,SAAA;QACAC,eAAA,EAAiBvB,UAAA,CAAWgH,GAAA,IAAO,KAAKG,YAAA;QACxCjC,qBAAA,EAAuBvD,eAAA;QACvBH,UAAA,EAAYxB,UAAA,CAAWgH,GAAA,IAAOI,OAAA,GAAU5F,UAAA;QACxCE,gBAAA,EAAkB1B,UAAA,CAAWgH,GAAA,IAAOK,aAAA,GAAgB3F,gBAAA;QACpDyD,WAAA,EAAamC,gBAAA;QACb1F,WAAA;QACAC,iBAAA;QACAC,eAAA;QACAC,aAAA;QACAC,GAAA;QACAC,mBAAA;QACAC,cAAA;QACAC;MACF;IACF;IAEA,MAAMqD,OAAA,CAAQC,GAAG,CAACjB,QAAA;EACpB,OAAO,IAAI1D,KAAA,CAAM+C,IAAI,KAAK,MAAM;IAC9B,IAAI,CAAC5C,MAAA,IAAUA,MAAA,CAAOX,IAAA,GAAO;MAC3B6B,KAAK,CAACI,IAAA,CAAK,GAAG;QACZoD,eAAA,EAAiB;QACjBvC,UAAA,EAAY,EAAE;QACdC,WAAA,EAAajC,aAAA,GAAgBN,KAAA,GAAQwC,SAAA;QACrCC,YAAA,EAAcD,SAAA;QACdE,SAAA,EAAW1D,cAAA,CAAegB,KAAA;QAC1Ba,eAAA;QACA8B,KAAA,EAAO;QACPC,KAAA,EAAOJ;MACT;IACF;EACF;EAEA,IAAIZ,cAAA,IAAkBX,aAAA,IAAiB,CAACnC,uBAAA,CAAwBkB,KAAA,GAAQ;IACtE,MAAMqC,UAAA,GAAahB,KAAK,CAACI,IAAA,CAAK;IAE9B,MAAMiF,WAAA,GAAcxG,cAAA,CAAeyG,GAAG,CAACjF,UAAA;IAEvC,IAAI,CAACgF,WAAA,EAAa;MAChB,IAAIhF,UAAA,CAAWkF,QAAQ,CAAC,eAAe;QACrC;MACF,OAAO;QACL,MAAM,IAAIxB,KAAA,CAAM,8BAA8B1D,UAAA,EAAY;MAC5D;IACF;IAEA,IAAI,CAACW,UAAA,EAAY;MACf;MACA;MACA;IACF;IAEApB,aAAA,CAAc;MACZxB,EAAA;MACAI,oBAAA;MACAC,cAAA;MACAC,IAAA,EAAMM,QAAA;MACNqG,WAAA,EAAaA,WAAA;MACbxG,cAAA;MACAmC,UAAA;MACAwE,SAAA,EAAWxF,KAAA;MACXG,SAAA;MACAhB,SAAA;MACAE,UAAA;MACAE,gBAAA;MACAa,IAAA;MACA4C,WAAA,EAAaxC,gBAAA;MACbf,WAAA;MACAgG,kBAAA,EAAoB/F,iBAAA,GAAoBU,IAAA,CAAK;MAC7CP,GAAA;MACAQ,UAAA;MACAS,WAAA,EAAapC;IACf;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcnD,eAAO,MAAM,WAAW,EAAE,iBAoOzB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
3
|
import { createClientField, MissingEditorProp } from 'payload';
|
|
4
|
+
import { fieldIsHiddenOrDisabled } from 'payload/shared';
|
|
4
5
|
import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js';
|
|
5
6
|
// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir
|
|
6
7
|
import { FieldDescription } from '../../exports/client/index.js';
|
|
@@ -31,6 +32,9 @@ export const renderField = ({
|
|
|
31
32
|
i18n: req.i18n,
|
|
32
33
|
importMap: req.payload.importMap
|
|
33
34
|
});
|
|
35
|
+
if (fieldIsHiddenOrDisabled(clientField)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
34
38
|
const clientProps = {
|
|
35
39
|
customComponents: fieldState?.customComponents || {},
|
|
36
40
|
field: clientField,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","FieldComponent","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // 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 fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","FieldComponent","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // 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 fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEd,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAKxE,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,
|
|
1
|
+
{"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEd,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAKxE,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CA8KtC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTableState.js","names":["dequal","formatErrors","getClientConfig","renderFilters","renderTable","buildTableStateHandler","args","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","i18n","config","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","importMap","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { getClientConfig } from './getClientConfig.js'\nimport { renderFilters, renderTable } from './renderTable.js'\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: {\n ...(preferencesResult?.value || {}),\n columns,\n },\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"AASA,SAASA,MAAM,QAAQ;AACvB,SAASC,YAAY,QAAQ;AAK7B,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,EAAEC,WAAW,QAAQ;AA0B3C,OAAO,MAAMC,sBAAA,GAAyB,MACpCC,IAAA;EAEA,MAAM;IAAEC;EAAG,CAAE,GAAGD,IAAA;EAEhB,IAAI;IACF,MAAME,GAAA,GAAM,MAAMC,eAAA,CAAgBH,IAAA;IAClC,OAAOE,GAAA;EACT,EAAE,OAAOE,GAAA,EAAK;IACZH,GAAA,CAAII,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MAAEH,GAAA;MAAKI,GAAA,EAAK;IAAyC;IAE9E,IAAIJ,GAAA,CAAIK,OAAO,KAAK,8CAA8C;MAChE,OAAO;QACLA,OAAA,EAASL,GAAA,CAAIK;MACf;IACF;IAEA,IAAIL,GAAA,CAAIK,OAAO,KAAK,gBAAgB;MAClC,OAAO;IACT;IAEA,OAAOd,YAAA,CAAaS,GAAA;EACtB;AACF;AAEA,OAAO,MAAMD,eAAA,GAAkB,MAC7BH,IAAA;EAEA,MAAM;IACJU,cAAc;IACdC,OAAO;IACPC,IAAA,EAAMC,YAAY;IAClBC,mBAAmB;IACnBC,KAAK;IACLC,cAAc;IACdf,GAAG;IACHA,GAAA,EAAK;MACHgB,IAAI;MACJZ,OAAO;MACPA,OAAA,EAAS;QAAEa;MAAM,CAAE;MACnBC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGpB,IAAA;EAEJ,MAAMqB,gBAAA,GAAmBF,IAAA,EAAMG,UAAA;EAE/B,MAAMC,aAAA,GAAgBL,MAAA,CAAOM,KAAK,CAACL,IAAI;EAEvC;EACA,IAAIE,gBAAA,EAAkB;IACpB,MAAMI,mBAAA,GAAsBpB,OAAA,CAAQqB,WAAW,CAACL,gBAAA,CAAiB,CAACH,MAAM,CAACS,MAAM,EAAEH,KAAA;IAEjF;IACA,IAAIC,mBAAA,EAAqB;MACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;QAAExB;MAAI;MAEvD,IAAI,CAAC2B,cAAA,EAAgB;QACnB,MAAM,IAAIC,KAAA,CAAM;MAClB;MACA;IACF,OAAO,IAAIN,aAAA,KAAkBF,gBAAA,EAAkB;MAC7C,MAAM,IAAIQ,KAAA,CAAM;IAClB;EACF,OAAO;IACL,MAAMC,QAAA,GAAW,MAAMzB,OAAA,CAAQ0B,IAAI,CAAC;MAClCT,UAAA,EAAYC,aAAA;MACZS,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,UAAA,EAAY;IACd;IAEA;IACA,IAAIJ,QAAA,CAASlB,IAAI,CAACuB,MAAM,EAAE;MACxB,MAAM,IAAIN,KAAA,CAAM;IAClB;EACF;EAEA,MAAMO,YAAA,GAAexC,eAAA,CAAgB;IACnCsB,MAAA;IACAD,IAAA;IACAoB,SAAA,EAAWhC,OAAA,CAAQgC;EACrB;EAEA,IAAIC,gBAAA;EACJ,IAAIC,sBAAA;EAEJ,IAAItC,GAAA,CAAII,OAAO,CAACqB,WAAW,CAAChB,cAAA,CAAe,EAAE;IAC3C4B,gBAAA,GAAmBrC,GAAA,CAAII,OAAO,CAACqB,WAAW,CAAChB,cAAA,CAAe,CAACQ,MAAM;IACjEqB,sBAAA,GAAyBH,YAAA,CAAaV,WAAW,CAACK,IAAI,CACnDT,UAAA,IAAeA,UAAA,CAAWkB,IAAI,KAAK9B,cAAA;EAExC;EAEA;EACA,MAAM+B,cAAA,GAAiB,GAAG/B,cAAA,OAAqB;EAE/C,MAAMgC,iBAAA,GAAoB,MAAMrC,OAAA,CAC7B0B,IAAI,CAAC;IACJT,UAAA,EAAY;IACZU,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZS,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQL;QACV;MACF,GACA;QACE,mBAAmB;UACjBK,MAAA,EAAQ3B,IAAA,CAAKG;QACf;MACF,GACA;QACE,cAAc;UACZwB,MAAA,EAAQ3B,IAAA,CAAK4B;QACf;MACF;IAEJ;EACF,GACCC,IAAI,CAAE9C,GAAA,IAAQA,GAAA,CAAIU,IAAI,CAAC,EAAE,IAAI;IAAEmC,EAAA,EAAI;IAAME,KAAA,EAAO,CAAC;EAAE;EAEtD,IAAIC,QAAA,GAAWR,iBAAA,CAAkBO,KAAK;EAEtC,IAAI,CAACP,iBAAA,CAAkBK,EAAE,IAAI,CAACrD,MAAA,CAAOiB,OAAA,EAAS+B,iBAAA,EAAmB/B,OAAA,GAAU;IACzE,MAAMwC,eAAA,GAAkB;MACtB7B,UAAA,EAAY;MACZ8B,IAAA,EAAM;QACJP,GAAA,EAAKJ,cAAA;QACLtB,IAAA,EAAM;UACJG,UAAA,EAAYH,IAAA,CAAKG,UAAU;UAC3B2B,KAAA,EAAO9B,IAAA,CAAK4B;QACd;QACAE,KAAA,EAAO;UACL,IAAIP,iBAAA,EAAmBO,KAAA,IAAS,CAAC,CAAC;UAClCtC;QACF;MACF;MACAqB,KAAA,EAAO;MACP/B;IACF;IAEA,IAAIyC,iBAAA,CAAkBK,EAAE,EAAE;MACxBG,QAAA,GAAW,MAAM7C,OAAA,CACdgD,MAAM,CAAC;QACN,GAAGF,eAAe;QAClBJ,EAAA,EAAIL,iBAAA,CAAkBK;MACxB,IACEC,IAAA,CAAM9C,GAAA,IAAQA,GAAA,CAAI+C,KAAK;IAC7B,OAAO;MACLC,QAAA,GAAW,MAAM7C,OAAA,CAAQiD,MAAM,CAACH,eAAA,GAAkBH,IAAA,CAAM9C,GAAA,IAAQA,GAAA,CAAI+C,KAAK;IAC3E;EACF;EAEA,MAAMM,MAAA,GAASjB,gBAAA,CAAiBiB,MAAM;EAEtC,IAAI3C,IAAA,GAAOC,YAAA;EACX,IAAIuC,IAAA;EAEJ;EAEA,IAAI,CAACxC,IAAA,IAAQG,KAAA,EAAO;IAClBqC,IAAA,GAAO,MAAM/C,OAAA,CAAQ0B,IAAI,CAAC;MACxBT,UAAA,EAAYZ,cAAA;MACZsB,KAAA,EAAO;MACPC,KAAA,EAAOlB,KAAA,EAAOkB,KAAA,GAAQuB,QAAA,CAASzC,KAAA,CAAMkB,KAAK,EAAE,MAAMwB,SAAA;MAClDC,IAAA,EAAM3C,KAAA,EAAO2C,IAAA,GAAOF,QAAA,CAASzC,KAAA,CAAM2C,IAAI,EAAE,MAAMD,SAAA;MAC/CE,IAAA,EAAM5C,KAAA,EAAO4C,IAAA;MACbhB,KAAA,EAAO5B,KAAA,EAAO4B;IAChB;IAEA/B,IAAA,GAAOwC,IAAA,CAAKxC,IAAI;EAClB;EAEA,MAAM;IAAEgD,WAAW;IAAEC;EAAK,CAAE,GAAG/D,WAAA,CAAY;IACzCwC,gBAAA,EAAkBC,sBAAA;IAClBuB,iBAAA,EAAmBL,SAAA;IACnB9C,OAAA;IACAC,IAAA;IACAE,mBAAA;IACAyC,MAAA;IACAtC,IAAA,EAAMhB,GAAA,CAAIgB,IAAI;IACdZ,OAAA;IACAW,cAAA;IACAI,eAAA;IACA2C,UAAA,EAAYzB,gBAAA,CAAiBd,KAAK,CAACuC;EACrC;EAEA,MAAMC,eAAA,GAAkBnE,aAAA,CAAc0D,MAAA,EAAQtD,GAAA,CAAII,OAAO,CAACgC,SAAS;EAEnE,OAAO;IACLe,IAAA;IACAa,WAAA,EAAaf,QAAA;IACbc,eAAA;IACAE,KAAA,EAAON,WAAA;IACPC;EACF;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildTableState.js","names":["dequal","formatErrors","getClientConfig","renderFilters","renderTable","buildTableStateHandler","args","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","i18n","config","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","importMap","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { getClientConfig } from './getClientConfig.js'\nimport { renderFilters, renderTable } from './renderTable.js'\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: {\n ...(preferencesResult?.value || {}),\n columns,\n },\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"AASA,SAASA,MAAM,QAAQ;AACvB,SAASC,YAAY,QAAQ;AAK7B,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,EAAEC,WAAW,QAAQ;AA0B3C,OAAO,MAAMC,sBAAA,GAAyB,MACpCC,IAAA;EAEA,MAAM;IAAEC;EAAG,CAAE,GAAGD,IAAA;EAEhB,IAAI;IACF,MAAME,GAAA,GAAM,MAAMC,eAAA,CAAgBH,IAAA;IAClC,OAAOE,GAAA;EACT,EAAE,OAAOE,GAAA,EAAK;IACZH,GAAA,CAAII,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MAAEH,GAAA;MAAKI,GAAA,EAAK;IAAyC;IAE9E,IAAIJ,GAAA,CAAIK,OAAO,KAAK,8CAA8C;MAChE,OAAO;QACLA,OAAA,EAASL,GAAA,CAAIK;MACf;IACF;IAEA,IAAIL,GAAA,CAAIK,OAAO,KAAK,gBAAgB;MAClC,OAAO;IACT;IAEA,OAAOd,YAAA,CAAaS,GAAA;EACtB;AACF;AAEA,OAAO,MAAMD,eAAA,GAAkB,MAC7BH,IAAA;EAEA,MAAM;IACJU,cAAc;IACdC,OAAO;IACPC,IAAA,EAAMC,YAAY;IAClBC,mBAAmB;IACnBC,KAAK;IACLC,cAAc;IACdf,GAAG;IACHA,GAAA,EAAK;MACHgB,IAAI;MACJZ,OAAO;MACPA,OAAA,EAAS;QAAEa;MAAM,CAAE;MACnBC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGpB,IAAA;EAEJ,MAAMqB,gBAAA,GAAmBF,IAAA,EAAMG,UAAA;EAE/B,MAAMC,aAAA,GAAgBL,MAAA,CAAOM,KAAK,CAACL,IAAI;EAEvC;EACA,IAAIE,gBAAA,EAAkB;IACpB,MAAMI,mBAAA,GAAsBpB,OAAA,CAAQqB,WAAW,CAACL,gBAAA,CAAiB,CAACH,MAAM,CAACS,MAAM,EAAEH,KAAA;IAEjF;IACA,IAAIC,mBAAA,EAAqB;MACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;QAAExB;MAAI;MAEvD,IAAI,CAAC2B,cAAA,EAAgB;QACnB,MAAM,IAAIC,KAAA,CAAM;MAClB;MAEA;IACF,OAAO,IAAIN,aAAA,KAAkBF,gBAAA,EAAkB;MAC7C,MAAM,IAAIQ,KAAA,CAAM;IAClB;EACF,OAAO;IACL,MAAMC,QAAA,GAAW,MAAMzB,OAAA,CAAQ0B,IAAI,CAAC;MAClCT,UAAA,EAAYC,aAAA;MACZS,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,UAAA,EAAY;IACd;IAEA;IACA,IAAIJ,QAAA,CAASlB,IAAI,CAACuB,MAAM,EAAE;MACxB,MAAM,IAAIN,KAAA,CAAM;IAClB;EACF;EAEA,MAAMO,YAAA,GAAexC,eAAA,CAAgB;IACnCsB,MAAA;IACAD,IAAA;IACAoB,SAAA,EAAWhC,OAAA,CAAQgC;EACrB;EAEA,IAAIC,gBAAA;EACJ,IAAIC,sBAAA;EAEJ,IAAItC,GAAA,CAAII,OAAO,CAACqB,WAAW,CAAChB,cAAA,CAAe,EAAE;IAC3C4B,gBAAA,GAAmBrC,GAAA,CAAII,OAAO,CAACqB,WAAW,CAAChB,cAAA,CAAe,CAACQ,MAAM;IACjEqB,sBAAA,GAAyBH,YAAA,CAAaV,WAAW,CAACK,IAAI,CACnDT,UAAA,IAAeA,UAAA,CAAWkB,IAAI,KAAK9B,cAAA;EAExC;EAEA;EACA,MAAM+B,cAAA,GAAiB,GAAG/B,cAAA,OAAqB;EAE/C,MAAMgC,iBAAA,GAAoB,MAAMrC,OAAA,CAC7B0B,IAAI,CAAC;IACJT,UAAA,EAAY;IACZU,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZS,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQL;QACV;MACF,GACA;QACE,mBAAmB;UACjBK,MAAA,EAAQ3B,IAAA,CAAKG;QACf;MACF,GACA;QACE,cAAc;UACZwB,MAAA,EAAQ3B,IAAA,CAAK4B;QACf;MACF;IAEJ;EACF,GACCC,IAAI,CAAE9C,GAAA,IAAQA,GAAA,CAAIU,IAAI,CAAC,EAAE,IAAI;IAAEmC,EAAA,EAAI;IAAME,KAAA,EAAO,CAAC;EAAE;EAEtD,IAAIC,QAAA,GAAWR,iBAAA,CAAkBO,KAAK;EAEtC,IAAI,CAACP,iBAAA,CAAkBK,EAAE,IAAI,CAACrD,MAAA,CAAOiB,OAAA,EAAS+B,iBAAA,EAAmB/B,OAAA,GAAU;IACzE,MAAMwC,eAAA,GAAkB;MACtB7B,UAAA,EAAY;MACZ8B,IAAA,EAAM;QACJP,GAAA,EAAKJ,cAAA;QACLtB,IAAA,EAAM;UACJG,UAAA,EAAYH,IAAA,CAAKG,UAAU;UAC3B2B,KAAA,EAAO9B,IAAA,CAAK4B;QACd;QACAE,KAAA,EAAO;UACL,IAAIP,iBAAA,EAAmBO,KAAA,IAAS,CAAC,CAAC;UAClCtC;QACF;MACF;MACAqB,KAAA,EAAO;MACP/B;IACF;IAEA,IAAIyC,iBAAA,CAAkBK,EAAE,EAAE;MACxBG,QAAA,GAAW,MAAM7C,OAAA,CACdgD,MAAM,CAAC;QACN,GAAGF,eAAe;QAClBJ,EAAA,EAAIL,iBAAA,CAAkBK;MACxB,IACEC,IAAA,CAAM9C,GAAA,IAAQA,GAAA,CAAI+C,KAAK;IAC7B,OAAO;MACLC,QAAA,GAAW,MAAM7C,OAAA,CAAQiD,MAAM,CAACH,eAAA,GAAkBH,IAAA,CAAM9C,GAAA,IAAQA,GAAA,CAAI+C,KAAK;IAC3E;EACF;EAEA,MAAMM,MAAA,GAASjB,gBAAA,CAAiBiB,MAAM;EAEtC,IAAI3C,IAAA,GAAOC,YAAA;EACX,IAAIuC,IAAA;EAEJ;EAEA,IAAI,CAACxC,IAAA,IAAQG,KAAA,EAAO;IAClBqC,IAAA,GAAO,MAAM/C,OAAA,CAAQ0B,IAAI,CAAC;MACxBT,UAAA,EAAYZ,cAAA;MACZsB,KAAA,EAAO;MACPC,KAAA,EAAOlB,KAAA,EAAOkB,KAAA,GAAQuB,QAAA,CAASzC,KAAA,CAAMkB,KAAK,EAAE,MAAMwB,SAAA;MAClDC,IAAA,EAAM3C,KAAA,EAAO2C,IAAA,GAAOF,QAAA,CAASzC,KAAA,CAAM2C,IAAI,EAAE,MAAMD,SAAA;MAC/CE,IAAA,EAAM5C,KAAA,EAAO4C,IAAA;MACbhB,KAAA,EAAO5B,KAAA,EAAO4B;IAChB;IAEA/B,IAAA,GAAOwC,IAAA,CAAKxC,IAAI;EAClB;EAEA,MAAM;IAAEgD,WAAW;IAAEC;EAAK,CAAE,GAAG/D,WAAA,CAAY;IACzCwC,gBAAA,EAAkBC,sBAAA;IAClBuB,iBAAA,EAAmBL,SAAA;IACnB9C,OAAA;IACAC,IAAA;IACAE,mBAAA;IACAyC,MAAA;IACAtC,IAAA,EAAMhB,GAAA,CAAIgB,IAAI;IACdZ,OAAA;IACAW,cAAA;IACAI,eAAA;IACA2C,UAAA,EAAYzB,gBAAA,CAAiBd,KAAK,CAACuC;EACrC;EAEA,MAAMC,eAAA,GAAkBnE,aAAA,CAAc0D,MAAA,EAAQtD,GAAA,CAAII,OAAO,CAACgC,SAAS;EAEnE,OAAO;IACLe,IAAA;IACAa,WAAA,EAAaf,QAAA;IACbc,eAAA;IACAE,KAAA,EAAON,WAAA;IACPC;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAGhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAkHD,eAAO,MAAM,yBAAyB,SAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAGhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAkHD,eAAO,MAAM,yBAAyB,SAAgB,sBAAsB,0EAiB3E,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,sBAAsB,0CAgHpE,CAAA"}
|