@payloadcms/ui 3.0.0-beta.36 → 3.0.0-beta.38
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/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +1 -0
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +1 -0
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/Card/index.d.ts.map +1 -1
- package/dist/elements/Card/index.js +1 -0
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +1 -0
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.d.ts.map +1 -1
- package/dist/elements/CodeEditor/index.js +1 -0
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.d.ts.map +1 -1
- package/dist/elements/DatePicker/index.js +1 -0
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +2 -0
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +3 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +14 -8
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +1 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +1 -0
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +1 -0
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +1 -0
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.d.ts.map +1 -1
- package/dist/elements/ErrorPill/index.js +1 -0
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +1 -0
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +1 -0
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +1 -0
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +1 -0
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +1 -0
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +1 -0
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +1 -0
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.d.ts.map +1 -1
- package/dist/elements/Pagination/Page/index.js +1 -0
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.d.ts.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +1 -0
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +1 -0
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +1 -0
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +1 -0
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +1 -0
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.d.ts +5 -0
- package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -0
- package/dist/elements/ReactSelect/Input/index.js +17 -0
- package/dist/elements/ReactSelect/Input/index.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.d.ts +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +14 -8
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +1 -0
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +1 -0
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +1 -0
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +1 -0
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +28 -8
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RenderCustomClientComponent/index.d.ts +8 -0
- package/dist/elements/RenderCustomClientComponent/index.d.ts.map +1 -0
- package/dist/elements/RenderCustomClientComponent/index.js +19 -0
- package/dist/elements/RenderCustomClientComponent/index.js.map +1 -0
- package/dist/elements/RenderCustomComponent/index.d.ts +4 -0
- package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +4 -1
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +12 -7
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +1 -0
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SortComplex/index.d.ts.map +1 -1
- package/dist/elements/SortComplex/index.js +1 -0
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -0
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +1 -0
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
- package/dist/elements/TableColumns/filterFields.js +1 -0
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +1 -0
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/Number/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 +106 -73
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +8 -7
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +56 -52
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js +1 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +1 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +6 -6
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +1 -0
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +1 -0
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +6 -6
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +6 -6
- 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 +5 -5
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +5 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +5 -5
- 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 +4 -4
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +5 -3
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +7 -7
- 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 -7
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +6 -4
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +5 -5
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +6 -4
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +5 -5
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +5 -5
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +3 -3
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +3 -3
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +1 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/context.d.ts +3 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/context.js +3 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
- package/dist/forms/Form/getSiblingData.js +1 -0
- package/dist/forms/Form/getSiblingData.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +28 -11
- 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/types.d.ts +2 -0
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +6 -2
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +8 -1
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/Submit/index.d.ts.map +1 -1
- package/dist/forms/Submit/index.js +3 -2
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +5 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +4 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +5 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +4 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +5 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +21 -15
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js +3 -2
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +5 -2
- 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/icons/Plus/index.d.ts.map +1 -1
- package/dist/icons/Plus/index.js +1 -0
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Plus/index.scss +0 -3
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +67 -53
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +4 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Root/index.d.ts +1 -2
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Translation/index.d.ts +1 -5
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts +8 -0
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/index.js +29 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +14 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +75 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/types.d.ts +3 -0
- package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/types.js +3 -0
- package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -0
- package/dist/utilities/buildFormState.d.ts +7 -0
- package/dist/utilities/buildFormState.d.ts.map +1 -0
- package/dist/utilities/buildFormState.js +162 -0
- package/dist/utilities/buildFormState.js.map +1 -0
- package/dist/utilities/getFormState.d.ts +1 -0
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +5 -2
- package/dist/utilities/getFormState.js.map +1 -1
- package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValues.js +1 -0
- package/dist/utilities/reduceFieldsToValues.js.map +1 -1
- package/package.json +16 -6
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema';
|
|
2
|
+
import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues';
|
|
3
|
+
import { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js';
|
|
4
|
+
let cached = global._payload_fieldSchemaMap;
|
|
5
|
+
if (!cached) {
|
|
6
|
+
// eslint-disable-next-line no-multi-assign
|
|
7
|
+
cached = global._payload_fieldSchemaMap = null;
|
|
8
|
+
}
|
|
9
|
+
export const getFieldSchemaMap = (req)=>{
|
|
10
|
+
if (cached && process.env.NODE_ENV !== 'development') {
|
|
11
|
+
return cached;
|
|
12
|
+
}
|
|
13
|
+
cached = buildFieldSchemaMap({
|
|
14
|
+
config: req.payload.config,
|
|
15
|
+
i18n: req.i18n
|
|
16
|
+
});
|
|
17
|
+
return cached;
|
|
18
|
+
};
|
|
19
|
+
export const buildFormState = async ({ req })=>{
|
|
20
|
+
const reqData = req.data;
|
|
21
|
+
const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData;
|
|
22
|
+
const incomingUserSlug = req.user?.collection;
|
|
23
|
+
const adminUserSlug = req.payload.config.admin.user;
|
|
24
|
+
// If we have a user slug, test it against the functions
|
|
25
|
+
if (incomingUserSlug) {
|
|
26
|
+
const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin;
|
|
27
|
+
// Run the admin access function from the config if it exists
|
|
28
|
+
if (adminAccessFunction) {
|
|
29
|
+
const canAccessAdmin = await adminAccessFunction({
|
|
30
|
+
req
|
|
31
|
+
});
|
|
32
|
+
if (!canAccessAdmin) {
|
|
33
|
+
throw new Error('Unauthorized');
|
|
34
|
+
}
|
|
35
|
+
// Match the user collection to the global admin config
|
|
36
|
+
} else if (adminUserSlug !== incomingUserSlug) {
|
|
37
|
+
throw new Error('Unauthorized');
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
const hasUsers = await req.payload.find({
|
|
41
|
+
collection: adminUserSlug,
|
|
42
|
+
depth: 0,
|
|
43
|
+
limit: 1,
|
|
44
|
+
pagination: false
|
|
45
|
+
});
|
|
46
|
+
// If there are users, we should not allow access because of /create-first-user
|
|
47
|
+
if (hasUsers.docs.length) {
|
|
48
|
+
throw new Error('Unauthorized');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const fieldSchemaMap = getFieldSchemaMap(req);
|
|
52
|
+
const id = collectionSlug ? reqData.id : undefined;
|
|
53
|
+
const schemaPathSegments = schemaPath.split('.');
|
|
54
|
+
let fieldSchema;
|
|
55
|
+
if (schemaPathSegments.length === 1) {
|
|
56
|
+
if (req.payload.collections[schemaPath]) {
|
|
57
|
+
fieldSchema = req.payload.collections[schemaPath].config.fields;
|
|
58
|
+
} else {
|
|
59
|
+
fieldSchema = req.payload.config.globals.find((global1)=>global1.slug === schemaPath)?.fields;
|
|
60
|
+
}
|
|
61
|
+
} else if (fieldSchemaMap.has(schemaPath)) {
|
|
62
|
+
fieldSchema = fieldSchemaMap.get(schemaPath);
|
|
63
|
+
}
|
|
64
|
+
if (!fieldSchema) {
|
|
65
|
+
throw new Error('Could not find field schema for given path');
|
|
66
|
+
}
|
|
67
|
+
let docPreferences = reqData.docPreferences;
|
|
68
|
+
let data = reqData.data;
|
|
69
|
+
const promises = {};
|
|
70
|
+
// If the request does not include doc preferences,
|
|
71
|
+
// we should fetch them. This is useful for DocumentInfoProvider
|
|
72
|
+
// as it reduces the amount of client-side fetches necessary
|
|
73
|
+
// when we fetch data for the Edit view
|
|
74
|
+
if (!docPreferences) {
|
|
75
|
+
let preferencesKey;
|
|
76
|
+
if (collectionSlug && id) {
|
|
77
|
+
preferencesKey = `collection-${collectionSlug}-${id}`;
|
|
78
|
+
}
|
|
79
|
+
if (globalSlug) {
|
|
80
|
+
preferencesKey = `global-${globalSlug}`;
|
|
81
|
+
}
|
|
82
|
+
if (preferencesKey) {
|
|
83
|
+
const fetchPreferences = async ()=>{
|
|
84
|
+
const preferencesResult = await req.payload.find({
|
|
85
|
+
collection: 'payload-preferences',
|
|
86
|
+
depth: 0,
|
|
87
|
+
limit: 1,
|
|
88
|
+
where: {
|
|
89
|
+
key: {
|
|
90
|
+
equals: preferencesKey
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value;
|
|
95
|
+
};
|
|
96
|
+
promises.preferences = fetchPreferences();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// If there is a form state,
|
|
100
|
+
// then we can deduce data from that form state
|
|
101
|
+
if (formState) data = reduceFieldsToValues(formState, true);
|
|
102
|
+
// If we do not have data at this point,
|
|
103
|
+
// we can fetch it. This is useful for DocumentInfoProvider
|
|
104
|
+
// to reduce the amount of fetches required
|
|
105
|
+
if (!data) {
|
|
106
|
+
const fetchData = async ()=>{
|
|
107
|
+
let resolvedData;
|
|
108
|
+
if (collectionSlug && id) {
|
|
109
|
+
resolvedData = await req.payload.findByID({
|
|
110
|
+
id,
|
|
111
|
+
collection: collectionSlug,
|
|
112
|
+
depth: 0,
|
|
113
|
+
draft: true,
|
|
114
|
+
fallbackLocale: null,
|
|
115
|
+
locale,
|
|
116
|
+
overrideAccess: false,
|
|
117
|
+
user: req.user
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
if (globalSlug && schemaPath === globalSlug) {
|
|
121
|
+
resolvedData = await req.payload.findGlobal({
|
|
122
|
+
slug: globalSlug,
|
|
123
|
+
depth: 0,
|
|
124
|
+
draft: true,
|
|
125
|
+
fallbackLocale: null,
|
|
126
|
+
locale,
|
|
127
|
+
overrideAccess: false,
|
|
128
|
+
user: req.user
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
data = resolvedData;
|
|
132
|
+
};
|
|
133
|
+
promises.data = fetchData();
|
|
134
|
+
}
|
|
135
|
+
if (Object.keys(promises).length > 0) {
|
|
136
|
+
await Promise.all(Object.values(promises));
|
|
137
|
+
}
|
|
138
|
+
const result = await buildStateFromSchema({
|
|
139
|
+
id,
|
|
140
|
+
data,
|
|
141
|
+
fieldSchema,
|
|
142
|
+
operation,
|
|
143
|
+
preferences: docPreferences || {
|
|
144
|
+
fields: {}
|
|
145
|
+
},
|
|
146
|
+
req
|
|
147
|
+
});
|
|
148
|
+
// Maintain form state of auth / upload fields
|
|
149
|
+
if (collectionSlug && formState) {
|
|
150
|
+
if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {
|
|
151
|
+
result.file = formState.file;
|
|
152
|
+
}
|
|
153
|
+
if (req.payload.collections[collectionSlug]?.config?.auth && !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy) {
|
|
154
|
+
if (formState.password) result.password = formState.password;
|
|
155
|
+
if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password'];
|
|
156
|
+
if (formState.email) result.email = formState.email;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return result;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=buildFormState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { BuildFormStateArgs } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport type {\n DocumentPreferences,\n Field,\n FormState,\n PayloadRequestWithData,\n TypeWithID,\n} from 'payload/types'\n\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\n\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequestWithData): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({\n req,\n}: {\n req: PayloadRequestWithData\n}): Promise<FormState> => {\n const reqData: BuildFormStateArgs = req.data as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.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 req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\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 fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error('Could not find field schema for given path')\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit view\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n key: {\n equals: preferencesKey,\n },\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) data = reduceFieldsToValues(formState, true)\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n\n if (\n req.payload.collections[collectionSlug]?.config?.auth &&\n !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy\n ) {\n if (formState.password) result.password = formState.password\n if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password']\n if (formState.email) result.email = formState.email\n }\n }\n\n return result\n}\n"],"names":["buildStateFromSchema","reduceFieldsToValues","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","auth","disableLocalStrategy","password","email"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAG,QAAQ,SAAS,CAyBpB,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export const getFormState = async (args)=>{
|
|
2
|
-
const { apiRoute, body, onError, serverURL, signal } = args;
|
|
2
|
+
const { apiRoute, body, onError, serverURL, signal, token } = args;
|
|
3
3
|
const res = await fetch(`${serverURL}${apiRoute}/form-state`, {
|
|
4
4
|
body: JSON.stringify(body),
|
|
5
5
|
credentials: 'include',
|
|
6
6
|
headers: {
|
|
7
|
-
'Content-Type': 'application/json'
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
...token ? {
|
|
9
|
+
Authorization: `JWT ${token}`
|
|
10
|
+
} : {}
|
|
8
11
|
},
|
|
9
12
|
method: 'POST',
|
|
10
13
|
signal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { FormState, SanitizedConfig } from 'payload/types'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n}): Promise<FormState> => {\n const { apiRoute, body, onError, serverURL, signal } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as FormState\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return body?.formState\n}\n"],"names":["getFormState","args","apiRoute","body","onError","serverURL","signal","res","fetch","JSON","stringify","credentials","headers","method","json","ok","formState"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { FormState, SanitizedConfig } from 'payload/types'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n token?: string\n}): Promise<FormState> => {\n const { apiRoute, body, onError, serverURL, signal, token } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n ...(token ? { Authorization: `JWT ${token}` } : {}),\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as FormState\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return body?.formState\n}\n"],"names":["getFormState","args","apiRoute","body","onError","serverURL","signal","token","res","fetch","JSON","stringify","credentials","headers","Authorization","method","json","ok","formState"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,OAAO,MAAMA,eAAe,OAAOC;IAQjC,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAGN;IAE9D,MAAMO,MAAM,MAAMC,MAAM,CAAC,EAAEJ,UAAU,EAAEH,SAAS,WAAW,CAAC,EAAE;QAC5DC,MAAMO,KAAKC,SAAS,CAACR;QACrBS,aAAa;QACbC,SAAS;YACP,gBAAgB;YAChB,GAAIN,QAAQ;gBAAEO,eAAe,CAAC,IAAI,EAAEP,MAAM,CAAC;YAAC,IAAI,CAAC,CAAC;QACpD;QACAQ,QAAQ;QACRT;IACF;IAEA,MAAMU,OAAQ,MAAMR,IAAIQ,IAAI;IAE5B,IAAIR,IAAIS,EAAE,EAAE;QACV,OAAOD;IACT,OAAO;QACL,IAAI,OAAOZ,YAAY,YAAY;YACjC,KAAKA,QAAQY;QACf;IACF;IAEA,OAAOb,MAAMe;AACf,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceFieldsToValues.d.ts","sourceRoot":"","sources":["../../src/utilities/reduceFieldsToValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIpD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WACvB,SAAS,cACL,OAAO,0BACK,OAAO,KAC9B,
|
|
1
|
+
{"version":3,"file":"reduceFieldsToValues.d.ts","sourceRoot":"","sources":["../../src/utilities/reduceFieldsToValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIpD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WACvB,SAAS,cACL,OAAO,0BACK,OAAO,KAC9B,IAgBF,CAAA"}
|
|
@@ -8,6 +8,7 @@ const { unflatten: flatleyUnflatten } = flatleyImport;
|
|
|
8
8
|
*
|
|
9
9
|
*/ export const reduceFieldsToValues = (fields, unflatten, ignoreDisableFormData)=>{
|
|
10
10
|
let data = {};
|
|
11
|
+
if (!fields) return data;
|
|
11
12
|
Object.keys(fields).forEach((key)=>{
|
|
12
13
|
if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {
|
|
13
14
|
data[key] = fields[key]?.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/reduceFieldsToValues.ts"],"sourcesContent":["import type { Data, FormState } from 'payload/types'\n\nimport flatleyImport from 'flatley'\nconst { unflatten: flatleyUnflatten } = flatleyImport\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValues = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): Data => {\n let data = {}\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n data[key] = fields[key]?.value\n }\n })\n\n if (unflatten) {\n data = flatleyUnflatten(data, { safe: true })\n }\n\n return data\n}\n"],"names":["flatleyImport","unflatten","flatleyUnflatten","reduceFieldsToValues","fields","ignoreDisableFormData","data","Object","keys","forEach","key","disableFormData","value","safe"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/reduceFieldsToValues.ts"],"sourcesContent":["import type { Data, FormState } from 'payload/types'\n\nimport flatleyImport from 'flatley'\nconst { unflatten: flatleyUnflatten } = flatleyImport\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValues = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): Data => {\n let data = {}\n\n if (!fields) return data\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n data[key] = fields[key]?.value\n }\n })\n\n if (unflatten) {\n data = flatleyUnflatten(data, { safe: true })\n }\n\n return data\n}\n"],"names":["flatleyImport","unflatten","flatleyUnflatten","reduceFieldsToValues","fields","ignoreDisableFormData","data","Object","keys","forEach","key","disableFormData","value","safe"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,mBAAmB,UAAS;AACnC,MAAM,EAAEC,WAAWC,gBAAgB,EAAE,GAAGF;AACxC;;;;;;CAMC,GACD,OAAO,MAAMG,uBAAuB,CAClCC,QACAH,WACAI;IAEA,IAAIC,OAAO,CAAC;IAEZ,IAAI,CAACF,QAAQ,OAAOE;IAEpBC,OAAOC,IAAI,CAACJ,QAAQK,OAAO,CAAC,CAACC;QAC3B,IAAIL,0BAA0B,QAAQ,CAACD,MAAM,CAACM,IAAI,EAAEC,iBAAiB;YACnEL,IAAI,CAACI,IAAI,GAAGN,MAAM,CAACM,IAAI,EAAEE;QAC3B;IACF;IAEA,IAAIX,WAAW;QACbK,OAAOJ,iBAAiBI,MAAM;YAAEO,MAAM;QAAK;IAC7C;IAEA,OAAOP;AACT,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.38",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -111,17 +111,25 @@
|
|
|
111
111
|
"react-image-crop": "10.1.8",
|
|
112
112
|
"react-select": "5.8.0",
|
|
113
113
|
"react-toastify": "10.0.5",
|
|
114
|
+
"scheduler": "0.23.0",
|
|
114
115
|
"use-context-selector": "1.4.1",
|
|
115
116
|
"uuid": "9.0.1",
|
|
116
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
117
|
+
"@payloadcms/translations": "3.0.0-beta.38"
|
|
117
118
|
},
|
|
118
119
|
"devDependencies": {
|
|
120
|
+
"@babel/cli": "^7.24.5",
|
|
121
|
+
"@babel/core": "^7.24.5",
|
|
122
|
+
"@babel/preset-env": "^7.24.5",
|
|
123
|
+
"@babel/preset-react": "^7.24.1",
|
|
124
|
+
"@babel/preset-typescript": "^7.24.1",
|
|
119
125
|
"@types/body-scroll-lock": "^3.1.0",
|
|
120
126
|
"@types/qs": "6.9.7",
|
|
121
127
|
"@types/react": "npm:types-react@19.0.0-beta.2",
|
|
122
128
|
"@types/react-datepicker": "6.2.0",
|
|
123
129
|
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
|
|
124
130
|
"@types/uuid": "8.3.4",
|
|
131
|
+
"babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517",
|
|
132
|
+
"babel-plugin-transform-remove-imports": "^1.7.1",
|
|
125
133
|
"css-loader": "^6.10.0",
|
|
126
134
|
"css-minimizer-webpack-plugin": "^6.0.0",
|
|
127
135
|
"mini-css-extract-plugin": "1.6.2",
|
|
@@ -133,14 +141,14 @@
|
|
|
133
141
|
"terser-webpack-plugin": "^5.3.10",
|
|
134
142
|
"webpack": "^5.78.0",
|
|
135
143
|
"webpack-cli": "^5.1.4",
|
|
136
|
-
"
|
|
137
|
-
"
|
|
144
|
+
"payload": "3.0.0-beta.38",
|
|
145
|
+
"@payloadcms/eslint-config": "1.1.1"
|
|
138
146
|
},
|
|
139
147
|
"peerDependencies": {
|
|
140
148
|
"next": "^15.0.0-rc.0",
|
|
141
149
|
"react": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
|
|
142
150
|
"react-dom": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
|
|
143
|
-
"payload": "3.0.0-beta.
|
|
151
|
+
"payload": "3.0.0-beta.38"
|
|
144
152
|
},
|
|
145
153
|
"engines": {
|
|
146
154
|
"node": ">=18.20.2"
|
|
@@ -151,8 +159,10 @@
|
|
|
151
159
|
},
|
|
152
160
|
"scripts": {
|
|
153
161
|
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
|
|
162
|
+
"build:babel": "babel src --out-dir dist --source-maps --extensions .ts,.js,.tsx,.jsx,.cjs,.mjs",
|
|
163
|
+
"build:reactcompiler": "pnpm copyfiles && pnpm build:babel && pnpm build:types",
|
|
154
164
|
"build:remove-artifact": "rm dist/prod/index.js",
|
|
155
|
-
"build:swc": "swc ./src -d
|
|
165
|
+
"build:swc": "swc ./src -d dist --config-file .swcrc",
|
|
156
166
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
157
167
|
"build:webpack": "webpack --config webpack.config.js",
|
|
158
168
|
"clean": "rimraf {dist,*.tsbuildinfo}",
|