@webiny/app-headless-cms 5.27.0-beta.0 → 5.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HeadlessCMS.js +33 -13
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.js +61 -34
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +41 -18
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
- package/admin/components/ContentEntryForm/Fields.js +22 -9
- package/admin/components/ContentEntryForm/Fields.js.map +1 -1
- package/admin/components/ContentEntryForm/Label.js +23 -9
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/components/ContentEntryForm/RenderFieldElement.js +31 -15
- package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/createValidators.js +23 -8
- package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/getValue.js +11 -2
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/setValue.js +16 -4
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.js +31 -27
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/components/ContentEntryForm/useContentEntryForm.js +77 -52
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/useRenderPlugins.js +14 -5
- package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -1
- package/admin/components/ContentModelEditor/Context.js +73 -43
- package/admin/components/ContentModelEditor/Context.js.map +1 -1
- package/admin/components/ContentModelEditor/Editor.js +85 -50
- package/admin/components/ContentModelEditor/Editor.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js +37 -19
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/ContentModelEditor/Header.js +24 -10
- package/admin/components/ContentModelEditor/Header.js.map +1 -1
- package/admin/components/ContentModelEditor/PreviewTab.js +36 -17
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.js +15 -4
- package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -1
- package/admin/components/DragPreview.js +27 -12
- package/admin/components/DragPreview.js.map +1 -1
- package/admin/components/Draggable.js +22 -8
- package/admin/components/Draggable.js.map +1 -1
- package/admin/components/DropZone/Center.js +26 -12
- package/admin/components/DropZone/Center.js.map +1 -1
- package/admin/components/DropZone/Horizontal.js +31 -17
- package/admin/components/DropZone/Horizontal.js.map +1 -1
- package/admin/components/DropZone/Vertical.js +29 -15
- package/admin/components/DropZone/Vertical.js.map +1 -1
- package/admin/components/DropZone/index.js +31 -4
- package/admin/components/DropZone/index.js.map +1 -1
- package/admin/components/Droppable.js +20 -6
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +50 -27
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +55 -36
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +60 -21
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +50 -32
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +13 -3
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +16 -6
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog.js +105 -69
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/Field.js +86 -51
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.js +66 -40
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.js +51 -27
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/Styled.js +24 -8
- package/admin/components/FieldEditor/Styled.js.map +1 -1
- package/admin/components/FieldEditor/index.js +21 -2
- package/admin/components/FieldEditor/index.js.map +1 -1
- package/admin/components/FieldEditor/useFieldEditor.js +13 -4
- package/admin/components/FieldEditor/useFieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/utils/deleteField.js +19 -5
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.js +11 -2
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/components/FieldEditor/utils/index.js +39 -4
- package/admin/components/FieldEditor/utils/index.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveField.js +30 -20
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveRow.js +19 -6
- package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
- package/admin/constants/statusLabels.js +21 -9
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/contexts/Cms/NetworkError.js +14 -4
- package/admin/contexts/Cms/NetworkError.js.map +1 -1
- package/admin/contexts/Cms/index.js +29 -11
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/elements/ContentGroupMenuElement.js +27 -12
- package/admin/elements/ContentGroupMenuElement.js.map +1 -1
- package/admin/elements/ContentModelMenuElement.js +27 -12
- package/admin/elements/ContentModelMenuElement.js.map +1 -1
- package/admin/elements/NothingToShowElement.js +51 -30
- package/admin/elements/NothingToShowElement.js.map +1 -1
- package/admin/graphql/contentEntries.js +84 -40
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/graphql/contentModels.js +20 -6
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/graphql/createFieldsList.js +19 -6
- package/admin/graphql/createFieldsList.js.map +1 -1
- package/admin/hooks/index.js +68 -6
- package/admin/hooks/index.js.map +1 -1
- package/admin/hooks/useApolloClient.js +13 -3
- package/admin/hooks/useApolloClient.js.map +1 -1
- package/admin/hooks/useCms.js +13 -4
- package/admin/hooks/useCms.js.map +1 -1
- package/admin/hooks/useLazyQuery.js +18 -6
- package/admin/hooks/useLazyQuery.js.map +1 -1
- package/admin/hooks/useMutation.js +18 -6
- package/admin/hooks/useMutation.js.map +1 -1
- package/admin/hooks/usePermission.js +39 -23
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/hooks/useQuery.js +18 -6
- package/admin/hooks/useQuery.js.map +1 -1
- package/admin/hooks/useQueryLocale.js +21 -7
- package/admin/hooks/useQueryLocale.js.map +1 -1
- package/admin/menus/CmsMenuLoader.js +32 -14
- package/admin/menus/CmsMenuLoader.js.map +1 -1
- package/admin/menus/ContentGroupsMenuItems.js +43 -24
- package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
- package/admin/menus/GlobalSearchPlugins.js +31 -15
- package/admin/menus/GlobalSearchPlugins.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +26 -11
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/apiInformation/index.js +17 -5
- package/admin/plugins/apiInformation/index.js.map +1 -1
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +33 -21
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +33 -20
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/editor/defaultBar/BackButton.js +28 -11
- package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +39 -20
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Divider.js +14 -3
- package/admin/plugins/editor/defaultBar/Divider.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +67 -39
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +29 -13
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +30 -10
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/index.js +15 -1
- package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js +47 -30
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/NameStyled.js +22 -7
- package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/index.js +13 -1
- package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +40 -20
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/index.js +32 -15
- package/admin/plugins/editor/defaultBar/index.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +33 -19
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GroupSelect.js +27 -10
- package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
- package/admin/plugins/editor/formSettings/index.js +21 -6
- package/admin/plugins/editor/formSettings/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/Accordion.js +43 -25
- package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +42 -24
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +27 -12
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/index.js +13 -2
- package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/checkboxes.js +30 -15
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +34 -15
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +59 -36
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +50 -30
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js +24 -8
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Select.js +18 -5
- package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Time.js +34 -15
- package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +36 -18
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +47 -26
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/index.js +15 -3
- package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.js +48 -17
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/File.js +34 -16
- package/admin/plugins/fieldRenderers/file/File.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/fileField.js +30 -14
- package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/fileFields.js +54 -33
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/index.js +15 -3
- package/admin/plugins/fieldRenderers/file/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/utils.js +27 -10
- package/admin/plugins/fieldRenderers/file/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/index.js +15 -3
- package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js +27 -12
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js +33 -16
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/index.js +15 -3
- package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js +27 -12
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js +33 -16
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/StyledComponents.js +17 -5
- package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/index.js +15 -3
- package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjects.js +51 -29
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObject.js +35 -17
- package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js +29 -14
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +61 -36
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +58 -35
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +37 -18
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +38 -18
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +87 -53
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +15 -3
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/graphql.js +18 -5
- package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/helpers.js +23 -5
- package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js +42 -19
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/types.js +5 -1
- package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.js +59 -41
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js +60 -41
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +27 -10
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +30 -10
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/index.js +15 -3
- package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInput.js +26 -11
- package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js +25 -11
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/index.js +15 -3
- package/admin/plugins/fieldRenderers/richText/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +32 -15
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +43 -22
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js +26 -12
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/index.js +15 -3
- package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js +27 -12
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js +33 -16
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/date/availableValidators.js +11 -2
- package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.js +27 -11
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.js +32 -15
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.js +32 -15
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/gte.js +23 -9
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.js +23 -9
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.js +23 -9
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.js +23 -9
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.js +23 -9
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.js +40 -22
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.js +8 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +8 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +8 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +8 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +8 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.js +8 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/fieldValidators/required.js +8 -1
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.js +11 -2
- package/admin/plugins/fieldValidators/unique.js.map +1 -1
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +72 -46
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.js +34 -18
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.js +60 -44
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/file.js +33 -17
- package/admin/plugins/fields/file.js.map +1 -1
- package/admin/plugins/fields/longText.js +33 -17
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.js +39 -22
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object/ObjectFields.js +28 -11
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
- package/admin/plugins/fields/object.js +30 -14
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref.js +60 -34
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.js +33 -17
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/text.js +37 -20
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/getObjectId.js +8 -1
- package/admin/plugins/getObjectId.js.map +1 -1
- package/admin/plugins/icons.js +25 -10
- package/admin/plugins/icons.js.map +1 -1
- package/admin/plugins/index.d.ts +1 -1
- package/admin/plugins/index.js +32 -12
- package/admin/plugins/index.js.map +1 -1
- package/admin/plugins/install.js +55 -30
- package/admin/plugins/install.js.map +1 -1
- package/admin/plugins/permissionRenderer/CmsPermissions.js +74 -50
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +70 -46
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +54 -34
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelList.js +38 -20
- package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +71 -46
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +27 -12
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js +44 -23
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/StyledComponents.js +14 -3
- package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/types.js +5 -1
- package/admin/plugins/permissionRenderer/components/types.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/useCmsData.js +43 -22
- package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
- package/admin/plugins/permissionRenderer/index.js +22 -8
- package/admin/plugins/permissionRenderer/index.js.map +1 -1
- package/admin/plugins/routes.js +66 -37
- package/admin/plugins/routes.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.js +24 -11
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/index.js +18 -5
- package/admin/plugins/transformers/index.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.js +11 -2
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js +19 -7
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js +33 -15
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js +23 -9
- package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js +17 -5
- package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js +20 -7
- package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js +17 -5
- package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js +27 -13
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -1
- package/admin/plugins/upgrades/5.19.0/types.js +5 -1
- package/admin/plugins/upgrades/5.19.0/types.js.map +1 -1
- package/admin/plugins/upgrades/v5.0.0.js +58 -33
- package/admin/plugins/upgrades/v5.0.0.js.map +1 -1
- package/admin/plugins/upgrades/v5.19.0.js +118 -82
- package/admin/plugins/upgrades/v5.19.0.js.map +1 -1
- package/admin/plugins/upgrades/v5.5.0.js +58 -33
- package/admin/plugins/upgrades/v5.5.0.js.map +1 -1
- package/admin/plugins/upgrades/v5.8.0.js +58 -33
- package/admin/plugins/upgrades/v5.8.0.js.map +1 -1
- package/admin/plugins/validators/dateGte.js +23 -9
- package/admin/plugins/validators/dateGte.js.map +1 -1
- package/admin/plugins/validators/dateLte.js +23 -9
- package/admin/plugins/validators/dateLte.js.map +1 -1
- package/admin/plugins/validators/gte.js +20 -7
- package/admin/plugins/validators/gte.js.map +1 -1
- package/admin/plugins/validators/in.js +20 -7
- package/admin/plugins/validators/in.js.map +1 -1
- package/admin/plugins/validators/lte.js +20 -7
- package/admin/plugins/validators/lte.js.map +1 -1
- package/admin/plugins/validators/maxLength.js +20 -7
- package/admin/plugins/validators/maxLength.js.map +1 -1
- package/admin/plugins/validators/minLength.js +20 -7
- package/admin/plugins/validators/minLength.js.map +1 -1
- package/admin/plugins/validators/pattern.js +20 -7
- package/admin/plugins/validators/pattern.js.map +1 -1
- package/admin/plugins/validators/patternPlugins/email.js +8 -1
- package/admin/plugins/validators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/validators/patternPlugins/lowerCase.js +8 -1
- package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +8 -1
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/validators/patternPlugins/upperCase.js +8 -1
- package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +8 -1
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/validators/patternPlugins/url.js +8 -1
- package/admin/plugins/validators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/validators/required.js +12 -3
- package/admin/plugins/validators/required.js.map +1 -1
- package/admin/plugins/validators/timeGte.js +22 -8
- package/admin/plugins/validators/timeGte.js.map +1 -1
- package/admin/plugins/validators/timeLte.js +22 -8
- package/admin/plugins/validators/timeLte.js.map +1 -1
- package/admin/plugins/validators/unique.js +18 -6
- package/admin/plugins/validators/unique.js.map +1 -1
- package/admin/plugins/welcomeScreenWidget.js +23 -9
- package/admin/plugins/welcomeScreenWidget.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +57 -31
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.js +43 -21
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +102 -75
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +72 -41
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +95 -67
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList.js +38 -19
- package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +65 -31
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/Header.js +31 -16
- package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +90 -55
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/index.js +33 -14
- package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +47 -26
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +50 -27
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +47 -26
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +45 -24
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +27 -12
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js +19 -7
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.js +57 -36
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +62 -35
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +42 -25
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +29 -9
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +51 -29
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
- package/admin/views/contentEntries/experiment/Property.js +74 -58
- package/admin/views/contentEntries/experiment/Property.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js +13 -4
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +59 -39
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntry.js +13 -4
- package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroups.js +28 -12
- package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +114 -77
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +117 -78
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModelGroups/DelayedOnChange.js +49 -48
- package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -1
- package/admin/views/contentModelGroups/IconPicker.js +56 -33
- package/admin/views/contentModelGroups/IconPicker.js.map +1 -1
- package/admin/views/contentModelGroups/graphql.js +22 -7
- package/admin/views/contentModelGroups/graphql.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.js +104 -71
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +30 -14
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/ContentModels.js +49 -30
- package/admin/views/contentModels/ContentModels.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +144 -108
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +107 -70
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/cache.js +41 -19
- package/admin/views/contentModels/cache.js.map +1 -1
- package/admin/views/contentModels/types.js +5 -1
- package/admin/views/contentModels/types.js.map +1 -1
- package/admin/views/utils.js +16 -4
- package/admin/views/utils.js.map +1 -1
- package/admin/viewsGraphql.js +22 -7
- package/admin/viewsGraphql.js.map +1 -1
- package/index.js +30 -11
- package/index.js.map +1 -1
- package/package.json +22 -22
- package/types.d.ts +3 -3
- package/types.js +5 -1
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useContentEntryForm.ts"],"names":["useCallback","useMemo","useState","pick","useRouter","useSnackbar","createCreateFromMutation","createCreateMutation","createUpdateMutation","useMutation","GQLCache","prepareFormData","useContentEntry","plugins","convertDefaultValue","field","value","type","Boolean","Number","useContentEntryForm","params","listQueryVariables","contentModel","entry","history","showSnackbar","invalidFields","setInvalidFields","loading","setLoading","renderPlugins","byType","goToRevision","id","push","modelId","encodeURIComponent","CREATE_CONTENT","UPDATE_CONTENT","CREATE_CONTENT_FROM","createMutation","updateMutation","createFromMutation","setInvalidFieldValues","errors","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","data","variables","update","cache","response","content","message","addEntryToListCache","name","onSubmit","updateContent","revision","createContentFrom","formData","newRevision","updateLatestRevisionInListCache","addRevisionToRevisionsCache","onChange","form","fieldsIds","fields","map","item","gqlData","meta","isLocked","locked","defaultValues","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","selectedValue","find","selected","filter"],"mappings":"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","sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo, useState } from \"react\";\nimport pick from \"lodash/pick\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport {\n createCreateFromMutation,\n createCreateMutation,\n createUpdateMutation,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n} from \"~/admin/graphql/contentEntries\";\nimport { useMutation } from \"~/admin/hooks\";\nimport * as GQLCache from \"~/admin/views/contentEntries/ContentEntry/cache\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport {\n CmsEditorContentEntry,\n CmsEditorContentModel,\n CmsEditorField,\n CmsEditorFieldRendererPlugin\n} from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { plugins } from \"@webiny/plugins\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsEditorField, value: any): string | number | boolean => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\ninterface InvalidFieldError {\n fieldId: string;\n error: string;\n}\n\ninterface UseContentEntryForm {\n data: Record<string, any>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n onChange: FormOnSubmit;\n onSubmit: FormOnSubmit;\n invalidFields: Record<string, string>;\n renderPlugins: CmsEditorFieldRendererPlugin[];\n}\n\nexport interface UseContentEntryFormParams {\n contentModel: CmsEditorContentModel;\n entry: Partial<CmsEditorContentEntry>;\n onChange?: FormOnSubmit;\n onSubmit?: FormOnSubmit;\n addEntryToListCache: boolean;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { listQueryVariables } = useContentEntry();\n const { contentModel, entry } = params;\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n\n const renderPlugins = useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n\n const goToRevision = useCallback(id => {\n history.push(`/cms/content-entries/${contentModel.modelId}?id=${encodeURIComponent(id)}`);\n }, []);\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n // LIST_CONTENT: createListQuery(contentModel),\n CREATE_CONTENT: createCreateMutation(contentModel),\n UPDATE_CONTENT: createUpdateMutation(contentModel),\n CREATE_CONTENT_FROM: createCreateFromMutation(contentModel)\n };\n }, [contentModel.modelId]);\n\n const [createMutation] = useMutation<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >(CREATE_CONTENT);\n const [updateMutation] = useMutation<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >(UPDATE_CONTENT);\n const [createFromMutation] = useMutation<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >(CREATE_CONTENT_FROM);\n\n /**\n * Note that when passing error.data variable we cast as InvalidFieldError[] because we know it is so.\n */\n const setInvalidFieldValues = (errors?: InvalidFieldError[]): void => {\n const values = (errors || []).reduce((acc, er) => {\n acc[er.fieldId] = er.error;\n return acc;\n }, {} as Record<string, string>);\n setInvalidFields(() => values);\n };\n\n const resetInvalidFieldValues = (): void => {\n setInvalidFields(() => ({}));\n };\n\n const createContent = useCallback(\n async data => {\n setLoading(true);\n const response = await createMutation({\n variables: { data },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data } = response;\n const { data: entry, error } = data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\n \"Missing entry data in update callback on Create Entry Response.\"\n );\n return;\n }\n resetInvalidFieldValues();\n if (params.addEntryToListCache) {\n GQLCache.addEntryToListCache(\n contentModel,\n cache,\n entry,\n listQueryVariables\n );\n }\n }\n });\n setLoading(false);\n\n const { error, data: entry } = response.data?.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return null;\n }\n resetInvalidFieldValues();\n showSnackbar(`${contentModel.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry);\n } else {\n goToRevision(entry.id);\n }\n return entry;\n },\n [contentModel.modelId, listQueryVariables, params.onSubmit, params.addEntryToListCache]\n );\n\n const updateContent = useCallback(\n async (revision, data) => {\n setLoading(true);\n const response = await updateMutation({\n variables: { revision, data }\n });\n setLoading(false);\n if (!response.data) {\n showSnackbar(\"Missing response data on Update Entry Response.\");\n return;\n }\n\n const { error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n\n resetInvalidFieldValues();\n showSnackbar(\"Content saved successfully.\");\n const { data: entry } = response.data.content;\n return entry;\n },\n [contentModel.modelId]\n );\n\n const createContentFrom = useCallback(\n async (revision: string, formData: Record<string, any>) => {\n setLoading(true);\n const response = await createFromMutation({\n variables: { revision, data: formData },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\n \"Missing data in update callback on Create From Entry Response.\"\n );\n return;\n }\n const { data: newRevision, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!newRevision) {\n showSnackbar(\"Missing entry data in update callback on Create From Entry.\");\n return;\n }\n resetInvalidFieldValues();\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n }\n });\n setLoading(false);\n\n if (!response.data) {\n showSnackbar(\"Missing response data on Create From Entry Mutation.\");\n return;\n }\n\n const { data, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n resetInvalidFieldValues();\n\n return data;\n },\n [contentModel.modelId, listQueryVariables]\n );\n\n const onChange: FormOnSubmit = (data, form) => {\n if (!params.onChange) {\n return;\n }\n return params.onChange(data, form);\n };\n\n const onSubmit = async (data: Record<string, any>) => {\n const fieldsIds = contentModel.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, contentModel);\n if (!entry.id) {\n return createContent(gqlData);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\n return createContentFrom(entry.id, gqlData);\n };\n\n const defaultValues = useMemo((): Record<string, any> => {\n const values: Record<string, any> = {};\n /**\n * Assign the default values:\n * * check the settings.defaultValue\n * * check the predefinedValues for selected value\n */\n for (const field of contentModel.fields) {\n /**\n * When checking if defaultValue is set in settings, we do the undefined check because it can be null, 0, empty string, false, etc...\n */\n const { settings, multipleValues = false } = field;\n if (settings && settings.defaultValue !== undefined) {\n /**\n * Special type of field is the boolean one.\n * We MUST set true/false for default value.\n */\n values[field.fieldId] = convertDefaultValue(field, settings.defaultValue);\n continue;\n }\n /**\n * No point in going further if predefined values are not enabled.\n */\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n continue;\n }\n /**\n * When field is not a multiple values one, we find the first possible default selected value and set it as field value.\n */\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(({ selected }) => {\n return !!selected;\n });\n if (selectedValue) {\n values[field.fieldId] = convertDefaultValue(field, selectedValue.value);\n }\n continue;\n }\n /**\n *\n */\n values[field.fieldId] = predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n }\n return values;\n }, [contentModel.modelId]);\n\n return {\n /**\n * If entry is not set or entry.id does not exist, it means that form is for the new entry, so fetch default values.\n */\n data: entry && entry.id ? entry : defaultValues,\n loading,\n setLoading,\n onChange,\n onSubmit,\n invalidFields,\n renderPlugins\n };\n}\n"]}
|
|
1
|
+
{"version":3,"names":["convertDefaultValue","field","value","type","Boolean","Number","useContentEntryForm","params","useContentEntry","listQueryVariables","contentModel","entry","useRouter","history","useSnackbar","showSnackbar","useState","invalidFields","setInvalidFields","loading","setLoading","renderPlugins","useMemo","plugins","byType","goToRevision","useCallback","id","push","modelId","encodeURIComponent","CREATE_CONTENT","createCreateMutation","UPDATE_CONTENT","createUpdateMutation","CREATE_CONTENT_FROM","createCreateFromMutation","useMutation","createMutation","updateMutation","createFromMutation","setInvalidFieldValues","errors","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","data","variables","update","cache","response","content","message","addEntryToListCache","GQLCache","name","onSubmit","updateContent","revision","createContentFrom","formData","newRevision","updateLatestRevisionInListCache","addRevisionToRevisionsCache","onChange","form","fieldsIds","fields","map","item","pick","gqlData","prepareFormData","meta","isLocked","locked","defaultValues","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","selectedValue","find","selected","filter"],"sources":["useContentEntryForm.ts"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo, useState } from \"react\";\nimport pick from \"lodash/pick\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport {\n createCreateFromMutation,\n createCreateMutation,\n createUpdateMutation,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n} from \"~/admin/graphql/contentEntries\";\nimport { useMutation } from \"~/admin/hooks\";\nimport * as GQLCache from \"~/admin/views/contentEntries/ContentEntry/cache\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport {\n CmsEditorContentEntry,\n CmsEditorContentModel,\n CmsEditorField,\n CmsEditorFieldRendererPlugin\n} from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { plugins } from \"@webiny/plugins\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsEditorField, value: any): string | number | boolean => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\ninterface InvalidFieldError {\n fieldId: string;\n error: string;\n}\n\ninterface UseContentEntryForm {\n data: Record<string, any>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n onChange: FormOnSubmit;\n onSubmit: FormOnSubmit;\n invalidFields: Record<string, string>;\n renderPlugins: CmsEditorFieldRendererPlugin[];\n}\n\nexport interface UseContentEntryFormParams {\n contentModel: CmsEditorContentModel;\n entry: Partial<CmsEditorContentEntry>;\n onChange?: FormOnSubmit;\n onSubmit?: FormOnSubmit;\n addEntryToListCache: boolean;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { listQueryVariables } = useContentEntry();\n const { contentModel, entry } = params;\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n\n const renderPlugins = useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n\n const goToRevision = useCallback(id => {\n history.push(`/cms/content-entries/${contentModel.modelId}?id=${encodeURIComponent(id)}`);\n }, []);\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n // LIST_CONTENT: createListQuery(contentModel),\n CREATE_CONTENT: createCreateMutation(contentModel),\n UPDATE_CONTENT: createUpdateMutation(contentModel),\n CREATE_CONTENT_FROM: createCreateFromMutation(contentModel)\n };\n }, [contentModel.modelId]);\n\n const [createMutation] = useMutation<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >(CREATE_CONTENT);\n const [updateMutation] = useMutation<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >(UPDATE_CONTENT);\n const [createFromMutation] = useMutation<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >(CREATE_CONTENT_FROM);\n\n /**\n * Note that when passing error.data variable we cast as InvalidFieldError[] because we know it is so.\n */\n const setInvalidFieldValues = (errors?: InvalidFieldError[]): void => {\n const values = (errors || []).reduce((acc, er) => {\n acc[er.fieldId] = er.error;\n return acc;\n }, {} as Record<string, string>);\n setInvalidFields(() => values);\n };\n\n const resetInvalidFieldValues = (): void => {\n setInvalidFields(() => ({}));\n };\n\n const createContent = useCallback(\n async data => {\n setLoading(true);\n const response = await createMutation({\n variables: { data },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data } = response;\n const { data: entry, error } = data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\n \"Missing entry data in update callback on Create Entry Response.\"\n );\n return;\n }\n resetInvalidFieldValues();\n if (params.addEntryToListCache) {\n GQLCache.addEntryToListCache(\n contentModel,\n cache,\n entry,\n listQueryVariables\n );\n }\n }\n });\n setLoading(false);\n\n const { error, data: entry } = response.data?.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return null;\n }\n resetInvalidFieldValues();\n showSnackbar(`${contentModel.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry);\n } else {\n goToRevision(entry.id);\n }\n return entry;\n },\n [contentModel.modelId, listQueryVariables, params.onSubmit, params.addEntryToListCache]\n );\n\n const updateContent = useCallback(\n async (revision, data) => {\n setLoading(true);\n const response = await updateMutation({\n variables: { revision, data }\n });\n setLoading(false);\n if (!response.data) {\n showSnackbar(\"Missing response data on Update Entry Response.\");\n return;\n }\n\n const { error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n\n resetInvalidFieldValues();\n showSnackbar(\"Content saved successfully.\");\n const { data: entry } = response.data.content;\n return entry;\n },\n [contentModel.modelId]\n );\n\n const createContentFrom = useCallback(\n async (revision: string, formData: Record<string, any>) => {\n setLoading(true);\n const response = await createFromMutation({\n variables: { revision, data: formData },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\n \"Missing data in update callback on Create From Entry Response.\"\n );\n return;\n }\n const { data: newRevision, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!newRevision) {\n showSnackbar(\"Missing entry data in update callback on Create From Entry.\");\n return;\n }\n resetInvalidFieldValues();\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n }\n });\n setLoading(false);\n\n if (!response.data) {\n showSnackbar(\"Missing response data on Create From Entry Mutation.\");\n return;\n }\n\n const { data, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n resetInvalidFieldValues();\n\n return data;\n },\n [contentModel.modelId, listQueryVariables]\n );\n\n const onChange: FormOnSubmit = (data, form) => {\n if (!params.onChange) {\n return;\n }\n return params.onChange(data, form);\n };\n\n const onSubmit = async (data: Record<string, any>) => {\n const fieldsIds = contentModel.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, contentModel);\n if (!entry.id) {\n return createContent(gqlData);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\n return createContentFrom(entry.id, gqlData);\n };\n\n const defaultValues = useMemo((): Record<string, any> => {\n const values: Record<string, any> = {};\n /**\n * Assign the default values:\n * * check the settings.defaultValue\n * * check the predefinedValues for selected value\n */\n for (const field of contentModel.fields) {\n /**\n * When checking if defaultValue is set in settings, we do the undefined check because it can be null, 0, empty string, false, etc...\n */\n const { settings, multipleValues = false } = field;\n if (settings && settings.defaultValue !== undefined) {\n /**\n * Special type of field is the boolean one.\n * We MUST set true/false for default value.\n */\n values[field.fieldId] = convertDefaultValue(field, settings.defaultValue);\n continue;\n }\n /**\n * No point in going further if predefined values are not enabled.\n */\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n continue;\n }\n /**\n * When field is not a multiple values one, we find the first possible default selected value and set it as field value.\n */\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(({ selected }) => {\n return !!selected;\n });\n if (selectedValue) {\n values[field.fieldId] = convertDefaultValue(field, selectedValue.value);\n }\n continue;\n }\n /**\n *\n */\n values[field.fieldId] = predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n }\n return values;\n }, [contentModel.modelId]);\n\n return {\n /**\n * If entry is not set or entry.id does not exist, it means that form is for the new entry, so fetch default values.\n */\n data: entry && entry.id ? entry : defaultValues,\n loading,\n setLoading,\n onChange,\n onSubmit,\n invalidFields,\n renderPlugins\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useRenderPlugins = useRenderPlugins;
|
|
7
|
+
|
|
8
|
+
var _plugins = require("@webiny/plugins");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
function useRenderPlugins() {
|
|
13
|
+
return (0, _react.useMemo)(function () {
|
|
14
|
+
return _plugins.plugins.byType("cms-editor-field-renderer");
|
|
6
15
|
}, []);
|
|
7
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useRenderPlugins","useMemo","plugins","byType"],"sources":["useRenderPlugins.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { useMemo } from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\n\nexport function useRenderPlugins() {\n return useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAGO,SAASA,gBAAT,GAA4B;EAC/B,OAAO,IAAAC,cAAA,EACH;IAAA,OAAMC,gBAAA,CAAQC,MAAR,CAA6C,2BAA7C,CAAN;EAAA,CADG,EAEH,EAFG,CAAP;AAIH"}
|
|
@@ -1,22 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.contentModelEditorReducer = exports.contentModelEditorContext = exports.ContentModelEditorProvider = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
+
|
|
16
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
17
|
+
|
|
18
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
23
|
+
|
|
24
|
+
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
25
|
+
|
|
26
|
+
var _reactRouter = require("@webiny/react-router");
|
|
27
|
+
|
|
28
|
+
var _useSnackbar2 = require("@webiny/app-admin/hooks/useSnackbar");
|
|
29
|
+
|
|
30
|
+
var _contentModels = require("../../graphql/contentModels");
|
|
31
|
+
|
|
32
|
+
var _viewsGraphql = require("../../viewsGraphql");
|
|
33
|
+
|
|
5
34
|
// TODO @ts-refactor verify that types are correct
|
|
6
|
-
|
|
7
|
-
import get from "lodash/get";
|
|
8
|
-
import pick from "lodash/pick";
|
|
9
|
-
import { useRouter } from "@webiny/react-router";
|
|
10
|
-
import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
|
|
11
|
-
import { GET_CONTENT_MODEL, UPDATE_CONTENT_MODEL } from "../../graphql/contentModels";
|
|
12
|
-
import { LIST_MENU_CONTENT_GROUPS_MODELS } from "../../viewsGraphql";
|
|
13
|
-
export var contentModelEditorContext = /*#__PURE__*/React.createContext({
|
|
35
|
+
var contentModelEditorContext = /*#__PURE__*/_react.default.createContext({
|
|
14
36
|
apolloClient: null,
|
|
15
37
|
data: null,
|
|
16
38
|
isPristine: false,
|
|
17
39
|
getContentModel: function () {
|
|
18
|
-
var _getContentModel =
|
|
19
|
-
return
|
|
40
|
+
var _getContentModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
41
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
20
42
|
while (1) {
|
|
21
43
|
switch (_context.prev = _context.next) {
|
|
22
44
|
case 0:
|
|
@@ -39,8 +61,8 @@ export var contentModelEditorContext = /*#__PURE__*/React.createContext({
|
|
|
39
61
|
return getContentModel;
|
|
40
62
|
}(),
|
|
41
63
|
saveContentModel: function () {
|
|
42
|
-
var _saveContentModel =
|
|
43
|
-
return
|
|
64
|
+
var _saveContentModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
65
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
44
66
|
while (1) {
|
|
45
67
|
switch (_context2.prev = _context2.next) {
|
|
46
68
|
case 0:
|
|
@@ -64,8 +86,8 @@ export var contentModelEditorContext = /*#__PURE__*/React.createContext({
|
|
|
64
86
|
return saveContentModel;
|
|
65
87
|
}(),
|
|
66
88
|
setData: function () {
|
|
67
|
-
var _setData =
|
|
68
|
-
return
|
|
89
|
+
var _setData = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
|
|
90
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
69
91
|
while (1) {
|
|
70
92
|
switch (_context3.prev = _context3.next) {
|
|
71
93
|
case 0:
|
|
@@ -86,16 +108,19 @@ export var contentModelEditorContext = /*#__PURE__*/React.createContext({
|
|
|
86
108
|
return setData;
|
|
87
109
|
}()
|
|
88
110
|
});
|
|
89
|
-
|
|
111
|
+
|
|
112
|
+
exports.contentModelEditorContext = contentModelEditorContext;
|
|
113
|
+
|
|
114
|
+
var contentModelEditorReducer = function contentModelEditorReducer(prev, action) {
|
|
90
115
|
var data = action.data,
|
|
91
116
|
type = action.type;
|
|
92
117
|
|
|
93
118
|
switch (type) {
|
|
94
119
|
case "state":
|
|
95
|
-
return
|
|
120
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), data);
|
|
96
121
|
|
|
97
122
|
case "data":
|
|
98
|
-
return
|
|
123
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
|
|
99
124
|
data: data
|
|
100
125
|
});
|
|
101
126
|
|
|
@@ -107,6 +132,9 @@ export var contentModelEditorReducer = function contentModelEditorReducer(prev,
|
|
|
107
132
|
* Cleanup is required because backend always expects string value in predefined values entries
|
|
108
133
|
*/
|
|
109
134
|
|
|
135
|
+
|
|
136
|
+
exports.contentModelEditorReducer = contentModelEditorReducer;
|
|
137
|
+
|
|
110
138
|
var cleanupModelDataFields = function cleanupModelDataFields(fields) {
|
|
111
139
|
return fields.map(function (field) {
|
|
112
140
|
var predefinedValues = field.predefinedValues;
|
|
@@ -117,7 +145,7 @@ var cleanupModelDataFields = function cleanupModelDataFields(fields) {
|
|
|
117
145
|
_ref$values = _ref.values,
|
|
118
146
|
values = _ref$values === void 0 ? [] : _ref$values;
|
|
119
147
|
|
|
120
|
-
return
|
|
148
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
|
|
121
149
|
predefinedValues: {
|
|
122
150
|
enabled: enabled,
|
|
123
151
|
values: values.map(function (_ref2) {
|
|
@@ -136,29 +164,29 @@ var cleanupModelDataFields = function cleanupModelDataFields(fields) {
|
|
|
136
164
|
};
|
|
137
165
|
|
|
138
166
|
var cleanupModelData = function cleanupModelData(data) {
|
|
139
|
-
return
|
|
167
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
|
140
168
|
fields: cleanupModelDataFields(data.fields)
|
|
141
169
|
});
|
|
142
170
|
};
|
|
143
171
|
|
|
144
|
-
|
|
172
|
+
var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
145
173
|
var children = _ref3.children,
|
|
146
174
|
apolloClient = _ref3.apolloClient,
|
|
147
175
|
modelId = _ref3.modelId;
|
|
148
176
|
|
|
149
|
-
var _useReducer = useReducer(contentModelEditorReducer, {
|
|
177
|
+
var _useReducer = (0, _react.useReducer)(contentModelEditorReducer, {
|
|
150
178
|
modelId: modelId || null,
|
|
151
179
|
isPristine: true,
|
|
152
180
|
data: null
|
|
153
181
|
}),
|
|
154
|
-
_useReducer2 =
|
|
182
|
+
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
155
183
|
state = _useReducer2[0],
|
|
156
184
|
dispatch = _useReducer2[1];
|
|
157
185
|
|
|
158
|
-
var _useRouter = useRouter(),
|
|
186
|
+
var _useRouter = (0, _reactRouter.useRouter)(),
|
|
159
187
|
history = _useRouter.history;
|
|
160
188
|
|
|
161
|
-
var _useSnackbar = useSnackbar(),
|
|
189
|
+
var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
|
|
162
190
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
163
191
|
|
|
164
192
|
var setPristine = function setPristine(flag) {
|
|
@@ -171,9 +199,9 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
171
199
|
};
|
|
172
200
|
|
|
173
201
|
var saveContentModel = /*#__PURE__*/function () {
|
|
174
|
-
var _ref4 =
|
|
202
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(data) {
|
|
175
203
|
var modelData, response;
|
|
176
|
-
return
|
|
204
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
|
|
177
205
|
while (1) {
|
|
178
206
|
switch (_context4.prev = _context4.next) {
|
|
179
207
|
case 0:
|
|
@@ -181,16 +209,16 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
181
209
|
data = state.data;
|
|
182
210
|
}
|
|
183
211
|
|
|
184
|
-
modelData =
|
|
212
|
+
modelData = (0, _pick.default)(data, ["group", "layout", "fields", "name", "settings", "description", "titleFieldId"]);
|
|
185
213
|
_context4.next = 4;
|
|
186
214
|
return apolloClient.mutate({
|
|
187
|
-
mutation: UPDATE_CONTENT_MODEL,
|
|
215
|
+
mutation: _contentModels.UPDATE_CONTENT_MODEL,
|
|
188
216
|
variables: {
|
|
189
217
|
modelId: data.modelId,
|
|
190
218
|
data: cleanupModelData(modelData)
|
|
191
219
|
},
|
|
192
220
|
refetchQueries: [{
|
|
193
|
-
query: LIST_MENU_CONTENT_GROUPS_MODELS
|
|
221
|
+
query: _viewsGraphql.LIST_MENU_CONTENT_GROUPS_MODELS
|
|
194
222
|
}]
|
|
195
223
|
});
|
|
196
224
|
|
|
@@ -230,11 +258,11 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
230
258
|
|
|
231
259
|
|
|
232
260
|
var setData = /*#__PURE__*/function () {
|
|
233
|
-
var _ref5 =
|
|
261
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(setter) {
|
|
234
262
|
var saveModel,
|
|
235
263
|
data,
|
|
236
264
|
_args5 = arguments;
|
|
237
|
-
return
|
|
265
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
238
266
|
while (1) {
|
|
239
267
|
switch (_context5.prev = _context5.next) {
|
|
240
268
|
case 0:
|
|
@@ -271,16 +299,16 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
271
299
|
}();
|
|
272
300
|
|
|
273
301
|
var getContentModel = /*#__PURE__*/function () {
|
|
274
|
-
var _ref6 =
|
|
302
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6(modelId) {
|
|
275
303
|
var response, _get, data, error;
|
|
276
304
|
|
|
277
|
-
return
|
|
305
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
|
|
278
306
|
while (1) {
|
|
279
307
|
switch (_context6.prev = _context6.next) {
|
|
280
308
|
case 0:
|
|
281
309
|
_context6.next = 2;
|
|
282
310
|
return apolloClient.query({
|
|
283
|
-
query: GET_CONTENT_MODEL,
|
|
311
|
+
query: _contentModels.GET_CONTENT_MODEL,
|
|
284
312
|
variables: {
|
|
285
313
|
modelId: modelId
|
|
286
314
|
}
|
|
@@ -288,7 +316,7 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
288
316
|
|
|
289
317
|
case 2:
|
|
290
318
|
response = _context6.sent;
|
|
291
|
-
_get =
|
|
319
|
+
_get = (0, _get2.default)(response, "data.getContentModel"), data = _get.data, error = _get.error;
|
|
292
320
|
|
|
293
321
|
if (!error) {
|
|
294
322
|
_context6.next = 6;
|
|
@@ -320,7 +348,7 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
320
348
|
};
|
|
321
349
|
}();
|
|
322
350
|
|
|
323
|
-
useEffect(function () {
|
|
351
|
+
(0, _react.useEffect)(function () {
|
|
324
352
|
if (!modelId) {
|
|
325
353
|
return;
|
|
326
354
|
}
|
|
@@ -330,7 +358,7 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
330
358
|
showSnackbar("Could not load content model with given ID.");
|
|
331
359
|
});
|
|
332
360
|
}, [modelId]);
|
|
333
|
-
var value = useMemo(function () {
|
|
361
|
+
var value = (0, _react.useMemo)(function () {
|
|
334
362
|
return {
|
|
335
363
|
data: state.data,
|
|
336
364
|
modelId: modelId,
|
|
@@ -343,7 +371,9 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
|
|
|
343
371
|
};
|
|
344
372
|
}, [state, apolloClient]);
|
|
345
373
|
var Provider = contentModelEditorContext.Provider;
|
|
346
|
-
return /*#__PURE__*/
|
|
374
|
+
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
347
375
|
value: value
|
|
348
376
|
}, children);
|
|
349
|
-
};
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
exports.ContentModelEditorProvider = ContentModelEditorProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Context.tsx"],"names":["React","useEffect","useMemo","useReducer","get","pick","useRouter","useSnackbar","GET_CONTENT_MODEL","UPDATE_CONTENT_MODEL","LIST_MENU_CONTENT_GROUPS_MODELS","contentModelEditorContext","createContext","apolloClient","data","isPristine","getContentModel","saveContentModel","error","setData","contentModelEditorReducer","prev","action","type","cleanupModelDataFields","fields","map","field","predefinedValues","enabled","values","label","value","selected","String","cleanupModelData","ContentModelEditorProvider","children","modelId","state","dispatch","history","showSnackbar","setPristine","flag","modelData","mutate","mutation","variables","refetchQueries","query","response","updateContentModel","setter","saveModel","Error","catch","push","Provider"],"mappings":"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","sourcesContent":["// TODO @ts-refactor verify that types are correct\nimport React, { useEffect, useMemo, useReducer } from \"react\";\nimport get from \"lodash/get\";\nimport pick from \"lodash/pick\";\nimport { ApolloClient } from \"apollo-client\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables,\n UPDATE_CONTENT_MODEL,\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n} from \"~/admin/graphql/contentModels\";\nimport { LIST_MENU_CONTENT_GROUPS_MODELS } from \"~/admin/viewsGraphql\";\nimport { CmsEditorContentModel, CmsEditorField, CmsModel } from \"~/types\";\nimport { FetchResult } from \"apollo-link\";\n\nexport interface ContentModelEditorProviderContext {\n apolloClient: ApolloClient<any>;\n data: CmsEditorContentModel;\n isPristine: boolean;\n getContentModel: (modelId: string) => Promise<FetchResult<GetCmsModelQueryResponse>>;\n saveContentModel: (\n data?: CmsModel\n ) => Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]>;\n setData: (setter: (model: CmsModel) => void, saveContentModel?: boolean) => Promise<any>;\n}\n\nexport const contentModelEditorContext = React.createContext<ContentModelEditorProviderContext>({\n apolloClient: null as unknown as ApolloClient<any>,\n data: null as unknown as CmsEditorContentModel,\n isPristine: false,\n getContentModel: async () => {\n return {\n data: null\n };\n },\n saveContentModel: async () => {\n return {\n data: null,\n error: null\n };\n },\n setData: async () => {\n return void 0;\n }\n});\n\ntype PickedCmsEditorContentModel = Pick<\n CmsEditorContentModel,\n \"layout\" | \"fields\" | \"name\" | \"settings\" | \"description\" | \"titleFieldId\" | \"group\"\n>;\ninterface State {\n modelId: string | null;\n isPristine: boolean;\n data: CmsModel;\n}\ninterface Action {\n data: Partial<State> | Partial<CmsModel>;\n type: \"state\" | \"data\";\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\nexport const contentModelEditorReducer: Reducer = (prev: State, action: Action): State => {\n const { data, type } = action;\n switch (type) {\n case \"state\":\n return { ...prev, ...data };\n\n case \"data\":\n return { ...prev, data: data as CmsModel };\n default:\n return prev;\n }\n};\n\n/**\n * Cleanup is required because backend always expects string value in predefined values entries\n */\nconst cleanupModelDataFields = (fields: CmsEditorField[]): CmsEditorField[] => {\n return fields.map(field => {\n const { predefinedValues } = field;\n const { enabled = false, values = [] } = predefinedValues || {};\n return {\n ...field,\n predefinedValues: {\n enabled,\n values: values.map(({ label, value, selected }) => {\n return {\n label,\n selected: selected || false,\n value: String(value)\n };\n })\n }\n };\n });\n};\n\nconst cleanupModelData = (data: PickedCmsEditorContentModel): PickedCmsEditorContentModel => {\n return {\n ...data,\n fields: cleanupModelDataFields(data.fields)\n };\n};\n\ninterface ContentModelEditorProviderProps {\n apolloClient: ApolloClient<any>;\n modelId?: string;\n children: React.ReactElement;\n}\n\nexport const ContentModelEditorProvider: React.FC<ContentModelEditorProviderProps> = ({\n children,\n apolloClient,\n modelId\n}) => {\n const [state, dispatch] = useReducer<Reducer>(contentModelEditorReducer, {\n modelId: modelId || null,\n isPristine: true,\n data: null as unknown as CmsModel\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n\n const setPristine = (flag: boolean): void => {\n dispatch({ type: \"state\", data: { isPristine: flag } });\n };\n\n const saveContentModel = async (\n data?: CmsModel\n ): Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]> => {\n if (!data) {\n data = state.data;\n }\n const modelData: PickedCmsEditorContentModel = pick(data, [\n \"group\",\n \"layout\",\n \"fields\",\n \"name\",\n \"settings\",\n \"description\",\n \"titleFieldId\"\n ]);\n const response = await apolloClient.mutate<\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n >({\n mutation: UPDATE_CONTENT_MODEL,\n variables: {\n modelId: data.modelId,\n data: cleanupModelData(modelData)\n },\n refetchQueries: [\n {\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n }\n ]\n });\n\n setPristine(true);\n\n if (!response.data || !response.data.updateContentModel) {\n return {\n data: null,\n error: null\n };\n }\n\n return response.data.updateContentModel;\n };\n\n /**\n * Set form data by providing a callback, which receives a fresh copy of data on which you can work on.\n * Return new data once finished.\n */\n const setData = async (setter: (value: any) => any, saveModel = false): Promise<void> => {\n setPristine(false);\n const data = setter(state.data);\n dispatch({ type: \"data\", data });\n if (!saveModel) {\n return;\n }\n await saveContentModel(data);\n };\n\n const getContentModel = async (\n modelId: string\n ): Promise<FetchResult<GetCmsModelQueryResponse>> => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId\n }\n });\n\n const { data, error } = get(response, \"data.getContentModel\");\n if (error) {\n throw new Error(error);\n }\n\n await setData(() => data, false);\n setPristine(true);\n return response;\n };\n\n useEffect(() => {\n if (!modelId) {\n return;\n }\n getContentModel(modelId).catch(() => {\n history.push(`/cms/content-models`);\n showSnackbar(`Could not load content model with given ID.`);\n });\n }, [modelId]);\n\n const value = useMemo(\n () => ({\n data: state.data,\n modelId,\n apolloClient,\n dispatch,\n isPristine: state.isPristine,\n getContentModel,\n saveContentModel,\n setData\n }),\n [state, apolloClient]\n );\n\n const { Provider } = contentModelEditorContext;\n\n return <Provider value={value}>{children}</Provider>;\n};\n"]}
|
|
1
|
+
{"version":3,"names":["contentModelEditorContext","React","createContext","apolloClient","data","isPristine","getContentModel","saveContentModel","error","setData","contentModelEditorReducer","prev","action","type","cleanupModelDataFields","fields","map","field","predefinedValues","enabled","values","label","value","selected","String","cleanupModelData","ContentModelEditorProvider","children","modelId","useReducer","state","dispatch","useRouter","history","useSnackbar","showSnackbar","setPristine","flag","modelData","pick","mutate","mutation","UPDATE_CONTENT_MODEL","variables","refetchQueries","query","LIST_MENU_CONTENT_GROUPS_MODELS","response","updateContentModel","setter","saveModel","GET_CONTENT_MODEL","get","Error","useEffect","catch","push","useMemo","Provider"],"sources":["Context.tsx"],"sourcesContent":["// TODO @ts-refactor verify that types are correct\nimport React, { useEffect, useMemo, useReducer } from \"react\";\nimport get from \"lodash/get\";\nimport pick from \"lodash/pick\";\nimport { ApolloClient } from \"apollo-client\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables,\n UPDATE_CONTENT_MODEL,\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n} from \"~/admin/graphql/contentModels\";\nimport { LIST_MENU_CONTENT_GROUPS_MODELS } from \"~/admin/viewsGraphql\";\nimport { CmsEditorContentModel, CmsEditorField, CmsModel } from \"~/types\";\nimport { FetchResult } from \"apollo-link\";\n\nexport interface ContentModelEditorProviderContext {\n apolloClient: ApolloClient<any>;\n data: CmsEditorContentModel;\n isPristine: boolean;\n getContentModel: (modelId: string) => Promise<FetchResult<GetCmsModelQueryResponse>>;\n saveContentModel: (\n data?: CmsModel\n ) => Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]>;\n setData: (setter: (model: CmsModel) => void, saveContentModel?: boolean) => Promise<any>;\n}\n\nexport const contentModelEditorContext = React.createContext<ContentModelEditorProviderContext>({\n apolloClient: null as unknown as ApolloClient<any>,\n data: null as unknown as CmsEditorContentModel,\n isPristine: false,\n getContentModel: async () => {\n return {\n data: null\n };\n },\n saveContentModel: async () => {\n return {\n data: null,\n error: null\n };\n },\n setData: async () => {\n return void 0;\n }\n});\n\ntype PickedCmsEditorContentModel = Pick<\n CmsEditorContentModel,\n \"layout\" | \"fields\" | \"name\" | \"settings\" | \"description\" | \"titleFieldId\" | \"group\"\n>;\ninterface State {\n modelId: string | null;\n isPristine: boolean;\n data: CmsModel;\n}\ninterface Action {\n data: Partial<State> | Partial<CmsModel>;\n type: \"state\" | \"data\";\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\nexport const contentModelEditorReducer: Reducer = (prev: State, action: Action): State => {\n const { data, type } = action;\n switch (type) {\n case \"state\":\n return { ...prev, ...data };\n\n case \"data\":\n return { ...prev, data: data as CmsModel };\n default:\n return prev;\n }\n};\n\n/**\n * Cleanup is required because backend always expects string value in predefined values entries\n */\nconst cleanupModelDataFields = (fields: CmsEditorField[]): CmsEditorField[] => {\n return fields.map(field => {\n const { predefinedValues } = field;\n const { enabled = false, values = [] } = predefinedValues || {};\n return {\n ...field,\n predefinedValues: {\n enabled,\n values: values.map(({ label, value, selected }) => {\n return {\n label,\n selected: selected || false,\n value: String(value)\n };\n })\n }\n };\n });\n};\n\nconst cleanupModelData = (data: PickedCmsEditorContentModel): PickedCmsEditorContentModel => {\n return {\n ...data,\n fields: cleanupModelDataFields(data.fields)\n };\n};\n\ninterface ContentModelEditorProviderProps {\n apolloClient: ApolloClient<any>;\n modelId?: string;\n children: React.ReactElement;\n}\n\nexport const ContentModelEditorProvider: React.FC<ContentModelEditorProviderProps> = ({\n children,\n apolloClient,\n modelId\n}) => {\n const [state, dispatch] = useReducer<Reducer>(contentModelEditorReducer, {\n modelId: modelId || null,\n isPristine: true,\n data: null as unknown as CmsModel\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n\n const setPristine = (flag: boolean): void => {\n dispatch({ type: \"state\", data: { isPristine: flag } });\n };\n\n const saveContentModel = async (\n data?: CmsModel\n ): Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]> => {\n if (!data) {\n data = state.data;\n }\n const modelData: PickedCmsEditorContentModel = pick(data, [\n \"group\",\n \"layout\",\n \"fields\",\n \"name\",\n \"settings\",\n \"description\",\n \"titleFieldId\"\n ]);\n const response = await apolloClient.mutate<\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n >({\n mutation: UPDATE_CONTENT_MODEL,\n variables: {\n modelId: data.modelId,\n data: cleanupModelData(modelData)\n },\n refetchQueries: [\n {\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n }\n ]\n });\n\n setPristine(true);\n\n if (!response.data || !response.data.updateContentModel) {\n return {\n data: null,\n error: null\n };\n }\n\n return response.data.updateContentModel;\n };\n\n /**\n * Set form data by providing a callback, which receives a fresh copy of data on which you can work on.\n * Return new data once finished.\n */\n const setData = async (setter: (value: any) => any, saveModel = false): Promise<void> => {\n setPristine(false);\n const data = setter(state.data);\n dispatch({ type: \"data\", data });\n if (!saveModel) {\n return;\n }\n await saveContentModel(data);\n };\n\n const getContentModel = async (\n modelId: string\n ): Promise<FetchResult<GetCmsModelQueryResponse>> => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId\n }\n });\n\n const { data, error } = get(response, \"data.getContentModel\");\n if (error) {\n throw new Error(error);\n }\n\n await setData(() => data, false);\n setPristine(true);\n return response;\n };\n\n useEffect(() => {\n if (!modelId) {\n return;\n }\n getContentModel(modelId).catch(() => {\n history.push(`/cms/content-models`);\n showSnackbar(`Could not load content model with given ID.`);\n });\n }, [modelId]);\n\n const value = useMemo(\n () => ({\n data: state.data,\n modelId,\n apolloClient,\n dispatch,\n isPristine: state.isPristine,\n getContentModel,\n saveContentModel,\n setData\n }),\n [state, apolloClient]\n );\n\n const { Provider } = contentModelEditorContext;\n\n return <Provider value={value}>{children}</Provider>;\n};\n"],"mappings":"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"}
|