@payloadcms/ui 3.0.0-alpha.49 → 3.0.0-alpha.50
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/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -43
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +2 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +2 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +13 -4
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +31 -112
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +0 -2
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +3 -25
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +39 -12
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +2 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +0 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +7 -6
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +5 -9
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts +3 -0
- package/dist/elements/Nav/index.client.d.ts.map +1 -0
- package/dist/elements/Nav/index.client.js +77 -0
- package/dist/elements/Nav/index.client.js.map +1 -0
- package/dist/elements/Nav/index.d.ts +3 -7
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +4 -66
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts +1 -0
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +6 -4
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +4 -6
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -65
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
- package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
- package/dist/elements/Publish/index.d.ts +4 -2
- package/dist/elements/Publish/index.d.ts.map +1 -1
- package/dist/elements/Publish/index.js +15 -25
- package/dist/elements/Publish/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +4 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +2 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/Save/index.d.ts +4 -2
- package/dist/elements/Save/index.d.ts.map +1 -1
- package/dist/elements/Save/index.js +7 -14
- package/dist/elements/Save/index.js.map +1 -1
- package/dist/elements/SaveDraft/index.d.ts +1 -2
- package/dist/elements/SaveDraft/index.d.ts.map +1 -1
- package/dist/elements/SaveDraft/index.js +33 -42
- package/dist/elements/SaveDraft/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +3 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +5 -6
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -5
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +4 -3
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +4 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
- package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +8 -4
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +1 -0
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
- package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
- package/dist/elements/TableColumns/filterFields.d.ts +3 -0
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
- package/dist/elements/TableColumns/filterFields.js +27 -0
- package/dist/elements/TableColumns/filterFields.js.map +1 -0
- package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
- package/dist/elements/TableColumns/getInitialColumns.js +48 -0
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
- package/dist/elements/TableColumns/index.d.ts +2 -2
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +11 -7
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +6 -0
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +32 -16
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +2 -6
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +4 -4
- package/dist/elements/Translation/index.d.ts.map +1 -1
- package/dist/elements/Translation/index.js +12 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +45 -61
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +134 -55
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +2 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +3 -3
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +23 -8
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -3
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +0 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +17 -5
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +3 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +6 -2
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +8 -3
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +2 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +4 -3
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +7 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +7 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +0 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +9 -8
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/HiddenInput/index.d.ts +1 -0
- package/dist/fields/HiddenInput/index.d.ts.map +1 -1
- package/dist/fields/HiddenInput/index.js +4 -2
- package/dist/fields/HiddenInput/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +8 -4
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +7 -2
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +0 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +5 -2
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +15 -10
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +7 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +45 -14
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +3 -1
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -0
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +2 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +0 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +8 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +0 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +2 -2
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +4 -1
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +3 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +4 -1
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +3 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +10 -8
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +6 -2
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -2
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldDescription/index.d.ts +1 -2
- package/dist/forms/FieldDescription/index.d.ts.map +1 -1
- package/dist/forms/FieldDescription/index.js.map +1 -1
- package/dist/forms/FieldError/index.js +1 -1
- package/dist/forms/FieldError/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.d.ts.map +1 -1
- package/dist/forms/FieldLabel/index.js +4 -4
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.scss +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +5 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -8
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +37 -20
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +1 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
- package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
- package/dist/forms/Form/mergeErrorPaths.js +29 -0
- package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
- package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +36 -19
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +8 -2
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -0
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +12 -4
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +3 -3
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +1 -0
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
- package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js +10 -2
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +32 -12
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +1 -0
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
- package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +10 -2
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +4 -2
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +3 -2
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +5 -6
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/ClientFunction/index.d.ts.map +1 -1
- package/dist/providers/ClientFunction/index.js +27 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +120 -96
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +12 -13
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/EntityVisibility/index.d.ts +16 -0
- package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
- package/dist/providers/EntityVisibility/index.js +25 -0
- package/dist/providers/EntityVisibility/index.js.map +1 -0
- package/dist/providers/ListInfo/index.d.ts +0 -1
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js +2 -7
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/templates/Default/index.d.ts +2 -7
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +10 -12
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/buildComponentMap.d.ts +1 -1
- package/dist/utilities/buildComponentMap.d.ts.map +1 -1
- package/dist/utilities/buildComponentMap.js +1 -1
- package/dist/utilities/buildComponentMap.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts +10 -0
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
- package/dist/utilities/flattenFieldMap.js +33 -0
- package/dist/utilities/flattenFieldMap.js.map +1 -0
- package/dist/utilities/getFormState.d.ts +2 -0
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +8 -3
- package/dist/utilities/getFormState.js.map +1 -1
- package/package.json +10 -4
- package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
- package/dist/elements/TableColumns/buildColumns.js.map +0 -1
- package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
- package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/reducer.js +0 -78
- package/dist/elements/WhereBuilder/reducer.js.map +0 -1
- package/dist/forms/FieldDescription/types.d.ts +0 -8
- package/dist/forms/FieldDescription/types.d.ts.map +0 -1
- package/dist/forms/FieldDescription/types.js +0 -3
- package/dist/forms/FieldDescription/types.js.map +0 -1
- package/dist/hooks/useAdminThumbnail.d.ts +0 -3
- package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
- package/dist/hooks/useAdminThumbnail.js +0 -8
- package/dist/hooks/useAdminThumbnail.js.map +0 -1
- package/dist/hooks/useThumbnail.d.ts +0 -3
- package/dist/hooks/useThumbnail.d.ts.map +0 -1
- package/dist/hooks/useThumbnail.js +0 -45
- package/dist/hooks/useThumbnail.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */ import ObjectIdImport from 'bson-objectid';
|
|
2
2
|
import { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types';
|
|
3
|
-
import { getDefaultValue } from 'payload/utilities';
|
|
4
3
|
import { getFilterOptionsQuery } from './getFilterOptionsQuery.js';
|
|
5
4
|
import { iterateFields } from './iterateFields.js';
|
|
6
5
|
const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
@@ -8,28 +7,19 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
8
7
|
* Flattens the fields schema and fields data.
|
|
9
8
|
* The output is the field path (e.g. array.0.name) mapped to a FormField object.
|
|
10
9
|
*/ export const addFieldStatePromise = async (args)=>{
|
|
11
|
-
const { id, anyParentLocalized = false, data,
|
|
10
|
+
const { id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized = false, data, field, fieldIndex, filter, forceFullValue = false, fullData, includeSchema = false, omitParents = false, operation, passesCondition, path, preferences, req, skipConditionChecks = false, skipValidation = false, state } = args;
|
|
12
11
|
if (fieldAffectsData(field)) {
|
|
13
|
-
const validate =
|
|
12
|
+
const validate = field.validate;
|
|
14
13
|
const fieldState = {
|
|
15
|
-
errorPaths:
|
|
14
|
+
errorPaths: [],
|
|
16
15
|
fieldSchema: includeSchema ? field : undefined,
|
|
17
16
|
initialValue: undefined,
|
|
18
17
|
passesCondition,
|
|
19
18
|
valid: true,
|
|
20
19
|
value: undefined
|
|
21
20
|
};
|
|
22
|
-
const valueWithDefault = await getDefaultValue({
|
|
23
|
-
defaultValue: field.defaultValue,
|
|
24
|
-
locale: req.locale,
|
|
25
|
-
user: req.user,
|
|
26
|
-
value: data?.[field.name]
|
|
27
|
-
});
|
|
28
|
-
if (data?.[field.name]) {
|
|
29
|
-
data[field.name] = valueWithDefault;
|
|
30
|
-
}
|
|
31
21
|
let validationResult = true;
|
|
32
|
-
if (typeof validate === 'function' && !skipValidation) {
|
|
22
|
+
if (typeof validate === 'function' && !skipValidation && passesCondition) {
|
|
33
23
|
let jsonError;
|
|
34
24
|
if (field.type === 'json' && typeof data[field.name] === 'string') {
|
|
35
25
|
try {
|
|
@@ -49,19 +39,26 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
49
39
|
jsonError
|
|
50
40
|
});
|
|
51
41
|
}
|
|
42
|
+
const addErrorPathToParent = (errorPath)=>{
|
|
43
|
+
if (typeof addErrorPathToParentArg === 'function') {
|
|
44
|
+
addErrorPathToParentArg(errorPath);
|
|
45
|
+
}
|
|
46
|
+
if (!fieldState.errorPaths.includes(errorPath)) {
|
|
47
|
+
fieldState.errorPaths.push(errorPath);
|
|
48
|
+
fieldState.valid = false;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
52
51
|
if (typeof validationResult === 'string') {
|
|
53
52
|
fieldState.errorMessage = validationResult;
|
|
54
53
|
fieldState.valid = false;
|
|
55
|
-
|
|
56
|
-
// It will sometimes lead to inconsistencies across re-renders
|
|
57
|
-
parentErrorPaths.add(`${path}${field.name}`);
|
|
54
|
+
addErrorPathToParent(`${path}${field.name}`);
|
|
58
55
|
} else {
|
|
59
56
|
fieldState.valid = true;
|
|
60
57
|
}
|
|
61
58
|
switch(field.type){
|
|
62
59
|
case 'array':
|
|
63
60
|
{
|
|
64
|
-
const arrayValue = Array.isArray(
|
|
61
|
+
const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : [];
|
|
65
62
|
const { promises, rowMetadata } = arrayValue.reduce((acc, row, i)=>{
|
|
66
63
|
const rowPath = `${path}${field.name}.${i}.`;
|
|
67
64
|
row.id = row?.id || new ObjectId().toHexString();
|
|
@@ -75,9 +72,9 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
75
72
|
}
|
|
76
73
|
acc.promises.push(iterateFields({
|
|
77
74
|
id,
|
|
75
|
+
addErrorPathToParent,
|
|
78
76
|
anyParentLocalized: field.localized || anyParentLocalized,
|
|
79
77
|
data: row,
|
|
80
|
-
errorPaths: fieldState.errorPaths,
|
|
81
78
|
fields: field.fields,
|
|
82
79
|
filter,
|
|
83
80
|
forceFullValue,
|
|
@@ -96,8 +93,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
96
93
|
const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed;
|
|
97
94
|
acc.rowMetadata.push({
|
|
98
95
|
id: row.id,
|
|
99
|
-
collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id)
|
|
100
|
-
errorPaths: fieldState.errorPaths
|
|
96
|
+
collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id)
|
|
101
97
|
});
|
|
102
98
|
return acc;
|
|
103
99
|
}, {
|
|
@@ -106,7 +102,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
106
102
|
});
|
|
107
103
|
await Promise.all(promises);
|
|
108
104
|
// Add values to field state
|
|
109
|
-
if (
|
|
105
|
+
if (data[field.name] === null) {
|
|
110
106
|
fieldState.value = null;
|
|
111
107
|
fieldState.initialValue = null;
|
|
112
108
|
} else {
|
|
@@ -125,7 +121,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
125
121
|
}
|
|
126
122
|
case 'blocks':
|
|
127
123
|
{
|
|
128
|
-
const blocksValue = Array.isArray(
|
|
124
|
+
const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : [];
|
|
129
125
|
const { promises, rowMetadata } = blocksValue.reduce((acc, row, i)=>{
|
|
130
126
|
const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
|
|
131
127
|
const rowPath = `${path}${field.name}.${i}.`;
|
|
@@ -153,9 +149,9 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
153
149
|
}
|
|
154
150
|
acc.promises.push(iterateFields({
|
|
155
151
|
id,
|
|
152
|
+
addErrorPathToParent,
|
|
156
153
|
anyParentLocalized: field.localized || anyParentLocalized,
|
|
157
154
|
data: row,
|
|
158
|
-
errorPaths: fieldState.errorPaths,
|
|
159
155
|
fields: block.fields,
|
|
160
156
|
filter,
|
|
161
157
|
forceFullValue,
|
|
@@ -175,8 +171,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
175
171
|
acc.rowMetadata.push({
|
|
176
172
|
id: row.id,
|
|
177
173
|
blockType: row.blockType,
|
|
178
|
-
collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id)
|
|
179
|
-
errorPaths: fieldState.errorPaths
|
|
174
|
+
collapsed: collapsedRowIDs === undefined ? field.admin.initCollapsed : collapsedRowIDs.includes(row.id)
|
|
180
175
|
});
|
|
181
176
|
}
|
|
182
177
|
return acc;
|
|
@@ -186,7 +181,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
186
181
|
});
|
|
187
182
|
await Promise.all(promises);
|
|
188
183
|
// Add values to field state
|
|
189
|
-
if (
|
|
184
|
+
if (data[field.name] === null) {
|
|
190
185
|
fieldState.value = null;
|
|
191
186
|
fieldState.initialValue = null;
|
|
192
187
|
} else {
|
|
@@ -205,11 +200,15 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
205
200
|
}
|
|
206
201
|
case 'group':
|
|
207
202
|
{
|
|
203
|
+
if (!filter || filter(args)) {
|
|
204
|
+
fieldState.disableFormData = true;
|
|
205
|
+
state[`${path}${field.name}`] = fieldState;
|
|
206
|
+
}
|
|
208
207
|
await iterateFields({
|
|
209
208
|
id,
|
|
209
|
+
addErrorPathToParent,
|
|
210
210
|
anyParentLocalized: field.localized || anyParentLocalized,
|
|
211
211
|
data: data?.[field.name] || {},
|
|
212
|
-
errorPaths: parentErrorPaths,
|
|
213
212
|
fields: field.fields,
|
|
214
213
|
filter,
|
|
215
214
|
forceFullValue,
|
|
@@ -240,7 +239,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
240
239
|
fieldState.filterOptions = query;
|
|
241
240
|
}
|
|
242
241
|
if (field.hasMany) {
|
|
243
|
-
const relationshipValue = Array.isArray(
|
|
242
|
+
const relationshipValue = Array.isArray(data[field.name]) ? data[field.name].map((relationship)=>{
|
|
244
243
|
if (Array.isArray(field.relationTo)) {
|
|
245
244
|
return {
|
|
246
245
|
relationTo: relationship.relationTo,
|
|
@@ -255,17 +254,17 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
255
254
|
fieldState.value = relationshipValue;
|
|
256
255
|
fieldState.initialValue = relationshipValue;
|
|
257
256
|
} else if (Array.isArray(field.relationTo)) {
|
|
258
|
-
if (
|
|
259
|
-
const value = typeof
|
|
257
|
+
if (data[field.name] && typeof data[field.name] === 'object' && 'relationTo' in data[field.name] && 'value' in data[field.name]) {
|
|
258
|
+
const value = typeof data[field.name]?.value === 'object' && data[field.name]?.value && 'id' in data[field.name].value ? data[field.name].value.id : data[field.name].value;
|
|
260
259
|
const relationshipValue = {
|
|
261
|
-
relationTo:
|
|
260
|
+
relationTo: data[field.name]?.relationTo,
|
|
262
261
|
value
|
|
263
262
|
};
|
|
264
263
|
fieldState.value = relationshipValue;
|
|
265
264
|
fieldState.initialValue = relationshipValue;
|
|
266
265
|
}
|
|
267
266
|
} else {
|
|
268
|
-
const relationshipValue =
|
|
267
|
+
const relationshipValue = data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name] ? data[field.name].id : data[field.name];
|
|
269
268
|
fieldState.value = relationshipValue;
|
|
270
269
|
fieldState.initialValue = relationshipValue;
|
|
271
270
|
}
|
|
@@ -286,7 +285,7 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
286
285
|
});
|
|
287
286
|
fieldState.filterOptions = query;
|
|
288
287
|
}
|
|
289
|
-
const relationshipValue =
|
|
288
|
+
const relationshipValue = data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name] ? data[field.name].id : data[field.name];
|
|
290
289
|
fieldState.value = relationshipValue;
|
|
291
290
|
fieldState.initialValue = relationshipValue;
|
|
292
291
|
if (!filter || filter(args)) {
|
|
@@ -296,8 +295,8 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
296
295
|
}
|
|
297
296
|
default:
|
|
298
297
|
{
|
|
299
|
-
fieldState.value =
|
|
300
|
-
fieldState.initialValue =
|
|
298
|
+
fieldState.value = data[field.name];
|
|
299
|
+
fieldState.initialValue = data[field.name];
|
|
301
300
|
// Add field to state
|
|
302
301
|
if (!filter || filter(args)) {
|
|
303
302
|
state[`${path}${field.name}`] = fieldState;
|
|
@@ -307,11 +306,22 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
307
306
|
}
|
|
308
307
|
} else if (fieldHasSubFields(field)) {
|
|
309
308
|
// Handle field types that do not use names (row, etc)
|
|
309
|
+
if (!filter || filter(args)) {
|
|
310
|
+
state[`${path}_index-${fieldIndex}`] = {
|
|
311
|
+
disableFormData: true,
|
|
312
|
+
errorPaths: [],
|
|
313
|
+
initialValue: undefined,
|
|
314
|
+
passesCondition,
|
|
315
|
+
valid: true,
|
|
316
|
+
value: undefined
|
|
317
|
+
};
|
|
318
|
+
}
|
|
310
319
|
await iterateFields({
|
|
311
320
|
id,
|
|
321
|
+
// passthrough parent functionality
|
|
322
|
+
addErrorPathToParent: addErrorPathToParentArg,
|
|
312
323
|
anyParentLocalized: field.localized || anyParentLocalized,
|
|
313
324
|
data,
|
|
314
|
-
errorPaths: parentErrorPaths,
|
|
315
325
|
fields: field.fields,
|
|
316
326
|
filter,
|
|
317
327
|
forceFullValue,
|
|
@@ -328,11 +338,14 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
328
338
|
state
|
|
329
339
|
});
|
|
330
340
|
} else if (field.type === 'tabs') {
|
|
331
|
-
const promises = field.tabs.map((tab)=>
|
|
341
|
+
const promises = field.tabs.map((tab)=>{
|
|
342
|
+
const isNamedTab = tabHasName(tab);
|
|
343
|
+
return iterateFields({
|
|
332
344
|
id,
|
|
345
|
+
// passthrough parent functionality
|
|
346
|
+
addErrorPathToParent: addErrorPathToParentArg,
|
|
333
347
|
anyParentLocalized: tab.localized || anyParentLocalized,
|
|
334
|
-
data:
|
|
335
|
-
errorPaths: parentErrorPaths,
|
|
348
|
+
data: isNamedTab ? data?.[tab.name] || {} : data,
|
|
336
349
|
fields: tab.fields,
|
|
337
350
|
filter,
|
|
338
351
|
forceFullValue,
|
|
@@ -341,14 +354,26 @@ const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
|
341
354
|
omitParents,
|
|
342
355
|
operation,
|
|
343
356
|
parentPassesCondition: passesCondition,
|
|
344
|
-
path:
|
|
357
|
+
path: isNamedTab ? `${path}${tab.name}.` : path,
|
|
345
358
|
preferences,
|
|
346
359
|
req,
|
|
347
360
|
skipConditionChecks,
|
|
348
361
|
skipValidation,
|
|
349
362
|
state
|
|
350
|
-
})
|
|
363
|
+
});
|
|
364
|
+
});
|
|
351
365
|
await Promise.all(promises);
|
|
366
|
+
} else if (field.type === 'ui') {
|
|
367
|
+
if (!filter || filter(args)) {
|
|
368
|
+
state[`${path}_index-${fieldIndex}`] = {
|
|
369
|
+
disableFormData: true,
|
|
370
|
+
errorPaths: [],
|
|
371
|
+
initialValue: undefined,
|
|
372
|
+
passesCondition,
|
|
373
|
+
valid: true,
|
|
374
|
+
value: undefined
|
|
375
|
+
};
|
|
376
|
+
}
|
|
352
377
|
}
|
|
353
378
|
};
|
|
354
379
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n Data,\n FormField,\n FormState,\n NonPresentationalField,\n PayloadRequest,\n} from 'payload/types'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types'\nimport { getDefaultValue } from 'payload/utilities'\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 /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n errorPaths: Set<string>\n field: NonPresentationalField\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 passesCondition: boolean\n path: string\n preferences: {\n [key: string]: unknown\n }\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: FormState\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 anyParentLocalized = false,\n data,\n errorPaths: parentErrorPaths,\n field,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = operation === 'update' ? field.validate : undefined\n\n const fieldState: FormField = {\n errorPaths: new Set(),\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n const valueWithDefault = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale: req.locale,\n user: req.user,\n value: data?.[field.name],\n })\n\n if (data?.[field.name]) {\n data[field.name] = valueWithDefault\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n })\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n // TODO: this is unpredictable, need to figure out why\n // It will sometimes lead to inconsistencies across re-renders\n parentErrorPaths.add(`${path}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(valueWithDefault) ? valueWithDefault : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}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 anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n errorPaths: fieldState.errorPaths,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n errorPaths: fieldState.errorPaths,\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 (valueWithDefault === 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 fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(valueWithDefault) ? valueWithDefault : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}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[`${rowPath}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[`${rowPath}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 anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n errorPaths: fieldState.errorPaths,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.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 errorPaths: fieldState.errorPaths,\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 (valueWithDefault === 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 // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n await iterateFields({\n id,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n errorPaths: parentErrorPaths,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\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 if (field.hasMany) {\n const relationshipValue = Array.isArray(valueWithDefault)\n ? valueWithDefault.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 valueWithDefault &&\n typeof valueWithDefault === 'object' &&\n 'relationTo' in valueWithDefault &&\n 'value' in valueWithDefault\n ) {\n const value =\n typeof valueWithDefault?.value === 'object' &&\n valueWithDefault?.value &&\n 'id' in valueWithDefault.value\n ? valueWithDefault.value.id\n : valueWithDefault.value\n const relationshipValue = {\n relationTo: valueWithDefault?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault\n ? valueWithDefault.id\n : valueWithDefault\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\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 const relationshipValue =\n valueWithDefault && typeof valueWithDefault === 'object' && 'id' in valueWithDefault\n ? valueWithDefault.id\n : valueWithDefault\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = valueWithDefault\n fieldState.initialValue = valueWithDefault\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n await iterateFields({\n id,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n errorPaths: parentErrorPaths,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) =>\n iterateFields({\n id,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: tabHasName(tab) ? data?.[tab.name] : data,\n errorPaths: parentErrorPaths,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: tabHasName(tab) ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n await Promise.all(promises)\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getDefaultValue","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","anyParentLocalized","data","errorPaths","parentErrorPaths","field","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","undefined","fieldState","Set","fieldSchema","initialValue","valid","value","valueWithDefault","defaultValue","locale","user","name","validationResult","jsonError","type","JSON","parse","e","siblingData","errorMessage","add","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","push","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","includes","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","hasMany","relationshipValue","map","relationship","tabs","tab"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Data, Field, FormField, FormState, PayloadRequest } from 'payload/types'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types'\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: (path: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n field: Field\n fieldIndex: number\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 passesCondition: boolean\n path: string\n preferences: {\n [key: string]: unknown\n }\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: FormState\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 data,\n field,\n fieldIndex,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = field.validate\n\n const fieldState: FormField = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\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] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\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}${field.name}`)\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, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}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 data: row,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.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 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 ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = 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) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}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[`${rowPath}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[`${rowPath}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 data: row,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.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 // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[`${path}${field.name}`] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\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 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}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\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 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 if (!filter || filter(args)) {\n state[`${path}${field.name}`] = 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}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\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 data,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) => {\n const isNamedTab = tabHasName(tab)\n\n return iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: isNamedTab ? `${path}${tab.name}.` : path,\n preferences,\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}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","field","fieldIndex","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","valid","value","validationResult","jsonError","type","name","JSON","parse","e","siblingData","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","user","hasMany","relationshipValue","map","relationship","tabs","tab","isNamedTab"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Data, Field as FieldSchema, PayloadRequest } from 'payload/types';
|
|
2
|
+
type Args = {
|
|
3
|
+
data: Data;
|
|
4
|
+
fields: FieldSchema[];
|
|
5
|
+
id?: number | string;
|
|
6
|
+
req: PayloadRequest;
|
|
7
|
+
siblingData: Data;
|
|
8
|
+
};
|
|
9
|
+
export declare const calculateDefaultValues: ({ id, data, fields, req }: Args) => Promise<Data>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/E,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,sBAAsB,8BAAqC,IAAI,KAAG,QAAQ,IAAI,CAU1F,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { iterateFields } from './iterateFields.js';
|
|
2
|
+
export const calculateDefaultValues = async ({ id, data, fields, req })=>{
|
|
3
|
+
await iterateFields({
|
|
4
|
+
id,
|
|
5
|
+
data,
|
|
6
|
+
fields,
|
|
7
|
+
req,
|
|
8
|
+
siblingData: data
|
|
9
|
+
});
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/index.ts"],"sourcesContent":["import type { Data, Field as FieldSchema, PayloadRequest } from 'payload/types'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n data: Data\n fields: FieldSchema[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const calculateDefaultValues = async ({ id, data, fields, req }: Args): Promise<Data> => {\n await iterateFields({\n id,\n data,\n fields,\n req,\n siblingData: data,\n })\n\n return data\n}\n"],"names":["iterateFields","calculateDefaultValues","id","data","fields","req","siblingData"],"mappings":"AAEA,SAASA,aAAa,QAAQ,qBAAoB;AAUlD,OAAO,MAAMC,yBAAyB,OAAO,EAAEC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAQ;IAC1E,MAAML,cAAc;QAClBE;QACAC;QACAC;QACAC;QACAC,aAAaH;IACf;IAEA,OAAOA;AACT,EAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Data, Field, PayloadRequest, TabAsField } from 'payload/types';
|
|
2
|
+
type Args<T> = {
|
|
3
|
+
data: T;
|
|
4
|
+
fields: (Field | TabAsField)[];
|
|
5
|
+
id?: number | string;
|
|
6
|
+
req: PayloadRequest;
|
|
7
|
+
siblingData: Data;
|
|
8
|
+
};
|
|
9
|
+
export declare const iterateFields: <T>({ id, data, fields, req, siblingData, }: Args<T>) => Promise<void>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=iterateFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI5E,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,aAAa,+CAMvB,KAAK,CAAC,CAAC,KAAG,QAAQ,IAAI,CAcxB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defaultValuePromise } from './promise.js';
|
|
2
|
+
export const iterateFields = async ({ id, data, fields, req, siblingData })=>{
|
|
3
|
+
const promises = [];
|
|
4
|
+
fields.forEach((field)=>{
|
|
5
|
+
promises.push(defaultValuePromise({
|
|
6
|
+
id,
|
|
7
|
+
data,
|
|
8
|
+
field,
|
|
9
|
+
req,
|
|
10
|
+
siblingData
|
|
11
|
+
}));
|
|
12
|
+
});
|
|
13
|
+
await Promise.all(promises);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=iterateFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, TabAsField } from 'payload/types'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n req: PayloadRequest\n siblingData: Data\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n req,\n siblingData,\n}: Args<T>): Promise<void> => {\n const promises = []\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n req,\n siblingData,\n }),\n )\n })\n await Promise.all(promises)\n}\n"],"names":["defaultValuePromise","iterateFields","id","data","fields","req","siblingData","promises","forEach","field","push","Promise","all"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,eAAc;AAUlD,OAAO,MAAMC,gBAAgB,OAAU,EACrCC,EAAE,EACFC,IAAI,EACJC,MAAM,EACNC,GAAG,EACHC,WAAW,EACH;IACR,MAAMC,WAAW,EAAE;IACnBH,OAAOI,OAAO,CAAC,CAACC;QACdF,SAASG,IAAI,CACXV,oBAAoB;YAClBE;YACAC;YACAM;YACAJ;YACAC;QACF;IAEJ;IACA,MAAMK,QAAQC,GAAG,CAACL;AACpB,EAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Data } from 'payload/types';
|
|
2
|
+
import { type Field, type PayloadRequest, type TabAsField } from 'payload/types';
|
|
3
|
+
type Args<T> = {
|
|
4
|
+
data: T;
|
|
5
|
+
field: Field | TabAsField;
|
|
6
|
+
id?: number | string;
|
|
7
|
+
req: PayloadRequest;
|
|
8
|
+
siblingData: Data;
|
|
9
|
+
};
|
|
10
|
+
export declare const defaultValuePromise: <T>({ id, data, field, req, siblingData, }: Args<T>) => Promise<void>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=promise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/buildStateFromSchema/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EACL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,UAAU,EAGhB,MAAM,eAAe,CAAA;AAKtB,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,mBAAmB,8CAM7B,KAAK,CAAC,CAAC,KAAG,QAAQ,IAAI,CAqIxB,CAAA"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { fieldAffectsData, tabHasName } from 'payload/types';
|
|
2
|
+
import { getDefaultValue } from 'payload/utilities';
|
|
3
|
+
import { iterateFields } from './iterateFields.js';
|
|
4
|
+
export const defaultValuePromise = async ({ id, data, field, req, siblingData })=>{
|
|
5
|
+
if (fieldAffectsData(field)) {
|
|
6
|
+
if (typeof siblingData[field.name] === 'undefined' && typeof field.defaultValue !== 'undefined') {
|
|
7
|
+
siblingData[field.name] = await getDefaultValue({
|
|
8
|
+
defaultValue: field.defaultValue,
|
|
9
|
+
locale: req.locale,
|
|
10
|
+
user: req.user,
|
|
11
|
+
value: siblingData[field.name]
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
// Traverse subfields
|
|
16
|
+
switch(field.type){
|
|
17
|
+
case 'group':
|
|
18
|
+
{
|
|
19
|
+
if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {};
|
|
20
|
+
const groupData = siblingData[field.name];
|
|
21
|
+
await iterateFields({
|
|
22
|
+
id,
|
|
23
|
+
data,
|
|
24
|
+
fields: field.fields,
|
|
25
|
+
req,
|
|
26
|
+
siblingData: groupData
|
|
27
|
+
});
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
case 'array':
|
|
31
|
+
{
|
|
32
|
+
const rows = siblingData[field.name];
|
|
33
|
+
if (Array.isArray(rows)) {
|
|
34
|
+
const promises = [];
|
|
35
|
+
rows.forEach((row)=>{
|
|
36
|
+
promises.push(iterateFields({
|
|
37
|
+
id,
|
|
38
|
+
data,
|
|
39
|
+
fields: field.fields,
|
|
40
|
+
req,
|
|
41
|
+
siblingData: row
|
|
42
|
+
}));
|
|
43
|
+
});
|
|
44
|
+
await Promise.all(promises);
|
|
45
|
+
}
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case 'blocks':
|
|
49
|
+
{
|
|
50
|
+
const rows = siblingData[field.name];
|
|
51
|
+
if (Array.isArray(rows)) {
|
|
52
|
+
const promises = [];
|
|
53
|
+
rows.forEach((row)=>{
|
|
54
|
+
const blockTypeToMatch = row.blockType;
|
|
55
|
+
const block = field.blocks.find((blockType)=>blockType.slug === blockTypeToMatch);
|
|
56
|
+
if (block) {
|
|
57
|
+
row.blockType = blockTypeToMatch;
|
|
58
|
+
promises.push(iterateFields({
|
|
59
|
+
id,
|
|
60
|
+
data,
|
|
61
|
+
fields: block.fields,
|
|
62
|
+
req,
|
|
63
|
+
siblingData: row
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
await Promise.all(promises);
|
|
68
|
+
}
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case 'row':
|
|
72
|
+
case 'collapsible':
|
|
73
|
+
{
|
|
74
|
+
await iterateFields({
|
|
75
|
+
id,
|
|
76
|
+
data,
|
|
77
|
+
fields: field.fields,
|
|
78
|
+
req,
|
|
79
|
+
siblingData
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case 'tab':
|
|
84
|
+
{
|
|
85
|
+
let tabSiblingData;
|
|
86
|
+
if (tabHasName(field)) {
|
|
87
|
+
if (typeof siblingData[field.name] !== 'object') siblingData[field.name] = {};
|
|
88
|
+
tabSiblingData = siblingData[field.name];
|
|
89
|
+
} else {
|
|
90
|
+
tabSiblingData = siblingData;
|
|
91
|
+
}
|
|
92
|
+
await iterateFields({
|
|
93
|
+
id,
|
|
94
|
+
data,
|
|
95
|
+
fields: field.fields,
|
|
96
|
+
req,
|
|
97
|
+
siblingData: tabSiblingData
|
|
98
|
+
});
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case 'tabs':
|
|
102
|
+
{
|
|
103
|
+
await iterateFields({
|
|
104
|
+
id,
|
|
105
|
+
data,
|
|
106
|
+
fields: field.tabs.map((tab)=>({
|
|
107
|
+
...tab,
|
|
108
|
+
type: 'tab'
|
|
109
|
+
})),
|
|
110
|
+
req,
|
|
111
|
+
siblingData
|
|
112
|
+
});
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
default:
|
|
116
|
+
{
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=promise.js.map
|