@webiny/app-headless-cms 5.33.5-beta.0 → 5.34.0-beta.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 +4 -0
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.js +35 -32
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/Fields.d.ts +2 -2
- package/admin/components/ContentEntryForm/Fields.js.map +1 -1
- package/admin/components/ContentEntryForm/Label.js +1 -1
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +2 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js +6 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/getValue.d.ts +2 -2
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/setValue.d.ts +2 -2
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.d.ts +2 -2
- package/admin/components/ContentEntryForm/useBind.js +11 -8
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +1 -2
- package/admin/components/ContentEntryForm/useContentEntryForm.js +187 -147
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
- package/admin/components/ContentModelEditor/{Context.d.ts → ContentModelEditorProvider.d.ts} +10 -4
- package/admin/components/ContentModelEditor/{Context.js → ContentModelEditorProvider.js} +60 -116
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -0
- package/admin/components/ContentModelEditor/Editor.js +5 -5
- package/admin/components/ContentModelEditor/Editor.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/ContentModelEditor/PreviewTab.js +3 -3
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
- package/admin/components/ContentModelEditor/index.d.ts +2 -0
- package/admin/components/ContentModelEditor/index.js +31 -0
- package/admin/components/ContentModelEditor/index.js.map +1 -0
- package/admin/components/ContentModelEditor/useModelEditor.d.ts +1 -0
- package/admin/components/ContentModelEditor/{useContentModelEditor.js → useModelEditor.js} +4 -4
- package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.d.ts +0 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.js +0 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.js.map +0 -0
- package/admin/components/Dialog.d.ts +4 -0
- package/admin/components/Dialog.js +32 -0
- package/admin/components/Dialog.js.map +1 -0
- package/admin/components/DropZone/Center.d.ts +2 -1
- package/admin/components/DropZone/Center.js +38 -44
- package/admin/components/DropZone/Center.js.map +1 -1
- package/admin/components/Droppable.d.ts +1 -0
- package/admin/components/Droppable.js +12 -1
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +2 -8
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +20 -9
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +2 -9
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +35 -21
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +2 -9
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +14 -12
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.d.ts +10 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +42 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.d.ts +8 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +227 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.d.ts +13 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +115 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog.d.ts +3 -3
- package/admin/components/FieldEditor/EditFieldDialog.js +117 -260
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/Field.d.ts +5 -5
- package/admin/components/FieldEditor/Field.js +17 -14
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.d.ts +4 -4
- package/admin/components/FieldEditor/FieldEditor.js +85 -31
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.d.ts +16 -16
- package/admin/components/FieldEditor/FieldEditorContext.js +18 -18
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/Styled.js +4 -13
- package/admin/components/FieldEditor/Styled.js.map +1 -1
- package/admin/components/FieldEditor/index.d.ts +1 -1
- package/admin/components/FieldEditor/index.js +3 -3
- package/admin/components/FieldEditor/index.js.map +1 -1
- package/admin/components/FieldEditor/useModelFieldEditor.d.ts +2 -0
- package/admin/components/FieldEditor/useModelFieldEditor.js +20 -0
- package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -0
- package/admin/components/FieldEditor/utils/deleteField.d.ts +2 -2
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveField.d.ts +3 -3
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
- package/admin/components/IconPicker.d.ts +7 -0
- package/admin/{views/contentModelGroups → components}/IconPicker.js +34 -31
- package/admin/components/IconPicker.js.map +1 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +36 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.js +24 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -0
- package/admin/components/ModelFieldProvider/index.d.ts +2 -0
- package/admin/components/ModelFieldProvider/index.js +31 -0
- package/admin/components/ModelFieldProvider/index.js.map +1 -0
- package/admin/components/ModelFieldProvider/useModelField.d.ts +35 -0
- package/admin/components/ModelFieldProvider/useModelField.js +42 -0
- package/admin/components/ModelFieldProvider/useModelField.js.map +1 -0
- package/admin/components/ModelProvider/ModelContext.d.ts +9 -0
- package/admin/components/ModelProvider/ModelContext.js +24 -0
- package/admin/components/ModelProvider/ModelContext.js.map +1 -0
- package/admin/components/ModelProvider/index.d.ts +2 -0
- package/admin/components/ModelProvider/index.js +31 -0
- package/admin/components/ModelProvider/index.js.map +1 -0
- package/admin/components/ModelProvider/useModel.d.ts +9 -0
- package/admin/components/ModelProvider/useModel.js +25 -0
- package/admin/components/ModelProvider/useModel.js.map +1 -0
- package/admin/constants/statusLabels.js +2 -4
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/graphql/contentEntries.d.ts +2 -29
- package/admin/graphql/contentEntries.js +28 -42
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/graphql/contentModels.d.ts +1 -1
- package/admin/graphql/contentModels.js +2 -2
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/graphql/createFieldsList.d.ts +7 -2
- package/admin/graphql/createFieldsList.js +5 -1
- package/admin/graphql/createFieldsList.js.map +1 -1
- package/admin/hooks/index.d.ts +5 -0
- package/admin/hooks/index.js +47 -2
- package/admin/hooks/index.js.map +1 -1
- package/admin/hooks/usePermission.d.ts +0 -2
- package/admin/hooks/usePermission.js +5 -37
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +4 -1
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/arrayUtils.d.ts +12 -0
- package/admin/plugins/arrayUtils.js +53 -0
- package/admin/plugins/arrayUtils.js.map +1 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +4 -4
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +5 -5
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js +4 -4
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -3
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +9 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +3 -3
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +12 -0
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +107 -0
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +11 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +139 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +11 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +68 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +63 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +53 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +6 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +22 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +2 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +66 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +10 -9
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +15 -14
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +2 -2
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.d.ts +2 -2
- package/admin/plugins/fieldValidators/dateGte.js +79 -23
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.d.ts +2 -2
- package/admin/plugins/fieldValidators/dateLte.js +79 -23
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/dynamicZone.d.ts +2 -0
- package/admin/plugins/fieldValidators/dynamicZone.js +215 -0
- package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -0
- package/admin/plugins/fieldValidators/gte.d.ts +2 -2
- package/admin/plugins/fieldValidators/gte.js +44 -5
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.d.ts +2 -2
- package/admin/plugins/fieldValidators/in.js +44 -5
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.d.ts +2 -2
- package/admin/plugins/fieldValidators/lte.js +44 -5
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.d.ts +2 -2
- package/admin/plugins/fieldValidators/maxLength.js +55 -6
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.d.ts +2 -2
- package/admin/plugins/fieldValidators/minLength.js +55 -6
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.d.ts +2 -2
- package/admin/plugins/fieldValidators/pattern.js +129 -60
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/email.js +6 -4
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/url.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/fieldValidators/required.d.ts +2 -2
- package/admin/plugins/fieldValidators/required.js +8 -2
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.d.ts +2 -2
- package/admin/plugins/fieldValidators/unique.js +30 -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 +25 -26
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.d.ts +2 -2
- package/admin/plugins/fields/boolean.js +6 -5
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.d.ts +2 -2
- package/admin/plugins/fields/dateTime.js +58 -48
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +11 -0
- package/admin/plugins/fields/dynamicZone/AddTemplate.js +114 -0
- package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.js +82 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +11 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +127 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +9 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js +174 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.js +26 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -0
- package/admin/plugins/fields/dynamicZone.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone.js +97 -0
- package/admin/plugins/fields/dynamicZone.js.map +1 -0
- package/admin/plugins/fields/file.d.ts +2 -2
- package/admin/plugins/fields/file.js +6 -5
- package/admin/plugins/fields/file.js.map +1 -1
- package/admin/plugins/fields/longText.d.ts +2 -2
- package/admin/plugins/fields/longText.js +4 -3
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.d.ts +2 -2
- package/admin/plugins/fields/number.js +6 -5
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object/ObjectFields.d.ts +2 -2
- package/admin/plugins/fields/object/ObjectFields.js +3 -3
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
- package/admin/plugins/fields/object.d.ts +2 -2
- package/admin/plugins/fields/object.js +9 -4
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref.d.ts +2 -2
- package/admin/plugins/fields/ref.js +108 -100
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.d.ts +2 -2
- package/admin/plugins/fields/richText.js +6 -5
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/text.d.ts +2 -2
- package/admin/plugins/fields/text.js +4 -3
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/index.d.ts +28 -1
- package/admin/plugins/permissionRenderer/CmsPermissions.js +2 -7
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.d.ts +1 -2
- package/admin/plugins/transformers/dateTransformer.js +3 -3
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/dynamicZoneTransformer.d.ts +2 -0
- package/admin/plugins/transformers/dynamicZoneTransformer.js +45 -0
- package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -0
- package/admin/plugins/transformers/index.js +5 -5
- package/admin/plugins/transformers/index.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.d.ts +1 -2
- package/admin/plugins/transformers/numberTransformer.js +3 -3
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +6 -2
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +4 -4
- package/admin/views/contentEntries/ContentEntriesContext.js +1 -9
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +23 -8
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +19 -4
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +60 -60
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +5 -1
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -2
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
- package/admin/views/contentEntries/ContentEntry/useRevision.js +10 -122
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +0 -2
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +27 -14
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js +7 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +2 -2
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.js +4 -17
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +2 -2
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +5 -17
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/viewsGraphql.js +1 -1
- package/admin/viewsGraphql.js.map +1 -1
- package/allPlugins.d.ts +34 -0
- package/allPlugins.js +95 -0
- package/allPlugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +15 -1
- package/index.js.map +1 -1
- package/package.json +29 -29
- package/{types.d.ts → types/index.d.ts} +59 -176
- package/types/index.js +44 -0
- package/types/index.js.map +1 -0
- package/types/model.d.ts +83 -0
- package/{types.js → types/model.js} +0 -0
- package/types/model.js.map +1 -0
- package/types/shared.d.ts +5 -0
- package/types/shared.js +5 -0
- package/types/shared.js.map +1 -0
- package/types/validation.d.ts +70 -0
- package/types/validation.js +5 -0
- package/types/validation.js.map +1 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.d.ts +15 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.js +91 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -0
- package/utils/createTypeName.d.ts +1 -0
- package/utils/createTypeName.js +18 -0
- package/utils/createTypeName.js.map +1 -0
- package/utils/createValidators.d.ts +3 -0
- package/{admin/components/ContentEntryForm/functions → utils}/createValidators.js +37 -16
- package/utils/createValidators.js.map +1 -0
- package/utils/getFetchPolicy.d.ts +6 -0
- package/utils/getFetchPolicy.js +19 -0
- package/utils/getFetchPolicy.js.map +1 -0
- package/utils/getModelTitleFieldId.d.ts +2 -0
- package/utils/getModelTitleFieldId.js +16 -0
- package/utils/getModelTitleFieldId.js.map +1 -0
- package/admin/components/ContentEntryForm/functions/createValidators.d.ts +0 -3
- package/admin/components/ContentEntryForm/functions/createValidators.js.map +0 -1
- package/admin/components/ContentModelEditor/Context.js.map +0 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +0 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.js.map +0 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +0 -15
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +0 -148
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +0 -1
- package/admin/components/FieldEditor/useFieldEditor.d.ts +0 -1
- package/admin/components/FieldEditor/useFieldEditor.js +0 -14
- package/admin/components/FieldEditor/useFieldEditor.js.map +0 -1
- package/admin/plugins/validators/dateGte.d.ts +0 -3
- package/admin/plugins/validators/dateGte.js +0 -68
- package/admin/plugins/validators/dateGte.js.map +0 -1
- package/admin/plugins/validators/dateLte.d.ts +0 -3
- package/admin/plugins/validators/dateLte.js +0 -68
- package/admin/plugins/validators/dateLte.js.map +0 -1
- package/admin/plugins/validators/gte.d.ts +0 -3
- package/admin/plugins/validators/gte.js +0 -57
- package/admin/plugins/validators/gte.js.map +0 -1
- package/admin/plugins/validators/in.d.ts +0 -3
- package/admin/plugins/validators/in.js +0 -57
- package/admin/plugins/validators/in.js.map +0 -1
- package/admin/plugins/validators/lte.d.ts +0 -3
- package/admin/plugins/validators/lte.js +0 -57
- package/admin/plugins/validators/lte.js.map +0 -1
- package/admin/plugins/validators/maxLength.d.ts +0 -3
- package/admin/plugins/validators/maxLength.js +0 -57
- package/admin/plugins/validators/maxLength.js.map +0 -1
- package/admin/plugins/validators/minLength.d.ts +0 -3
- package/admin/plugins/validators/minLength.js +0 -57
- package/admin/plugins/validators/minLength.js.map +0 -1
- package/admin/plugins/validators/pattern.d.ts +0 -3
- package/admin/plugins/validators/pattern.js +0 -77
- package/admin/plugins/validators/pattern.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/email.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/email.js +0 -17
- package/admin/plugins/validators/patternPlugins/email.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/lowerCase.js +0 -17
- package/admin/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/upperCase.js +0 -17
- package/admin/plugins/validators/patternPlugins/upperCase.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/url.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/url.js +0 -17
- package/admin/plugins/validators/patternPlugins/url.js.map +0 -1
- package/admin/plugins/validators/required.d.ts +0 -3
- package/admin/plugins/validators/required.js +0 -21
- package/admin/plugins/validators/required.js.map +0 -1
- package/admin/plugins/validators/timeGte.d.ts +0 -3
- package/admin/plugins/validators/timeGte.js +0 -59
- package/admin/plugins/validators/timeGte.js.map +0 -1
- package/admin/plugins/validators/timeLte.d.ts +0 -3
- package/admin/plugins/validators/timeLte.js +0 -59
- package/admin/plugins/validators/timeLte.js.map +0 -1
- package/admin/plugins/validators/unique.d.ts +0 -7
- package/admin/plugins/validators/unique.js +0 -50
- package/admin/plugins/validators/unique.js.map +0 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +0 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +0 -1
- package/admin/views/contentModelGroups/IconPicker.d.ts +0 -8
- package/admin/views/contentModelGroups/IconPicker.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
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","Array","isArray","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","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 if (Array.isArray(errors) === false || !errors) {\n return;\n }\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.fields);\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
|
+
{"version":3,"names":["convertDefaultValue","field","value","type","Boolean","Number","useEntry","entryFromProps","useState","entry","setEntry","useCms","onEntryRevisionPublish","useEffect","id","next","params","publishRes","meta","useContentEntryForm","useContentEntry","listQueryVariables","useModel","model","useRouter","history","client","useApolloClient","useSnackbar","showSnackbar","invalidFields","setInvalidFields","loading","setLoading","renderPlugins","useMemo","plugins","byType","goToRevision","useCallback","push","modelId","encodeURIComponent","CREATE_CONTENT","createCreateMutation","UPDATE_CONTENT","createUpdateMutation","CREATE_CONTENT_FROM","createCreateFromMutation","useMutation","createMutation","updateMutation","createFromMutation","setInvalidFieldValues","errors","Array","isArray","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","formData","form","variables","data","fetchPolicy","getFetchPolicy","response","content","message","addEntryToListCache","GQLCache","cache","name","onSubmit","updateContent","revision","createContentFrom","newRevision","updateLatestRevisionInListCache","addRevisionToRevisionsCache","onChange","fieldsIds","fields","map","item","pick","gqlData","prepareFormData","isLocked","locked","defaultValues","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","selectedValue","find","selected","filter"],"sources":["useContentEntryForm.ts"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo, useState, useEffect } 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 { useApolloClient, useCms, useModel, useMutation } from \"~/admin/hooks\";\nimport * as GQLCache from \"~/admin/views/contentEntries/ContentEntry/cache\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport { CmsEditorContentEntry, CmsModelField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { plugins } from \"@webiny/plugins\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, 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 entry: Partial<CmsEditorContentEntry>;\n onChange?: FormOnSubmit;\n onSubmit?: FormOnSubmit;\n addEntryToListCache: boolean;\n}\n\nfunction useEntry(entryFromProps: Partial<CmsEditorContentEntry>) {\n // We need to keep track of the entry locally\n const [entry, setEntry] = useState(entryFromProps);\n const { onEntryRevisionPublish } = useCms();\n\n useEffect(() => {\n setEntry(entryFromProps);\n\n if (!entryFromProps.id) {\n return;\n }\n\n return onEntryRevisionPublish(next => async params => {\n const publishRes = await next(params);\n setEntry(entry => {\n return { ...entry, meta: publishRes?.entry?.meta || {} };\n });\n return publishRes;\n });\n }, [entryFromProps, entry.id]);\n\n return entry;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { listQueryVariables } = useContentEntry();\n const { model } = useModel();\n const { history } = useRouter();\n const client = useApolloClient();\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n const entry = useEntry(params.entry);\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/${model.modelId}?id=${encodeURIComponent(id)}`);\n }, []);\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n // LIST_CONTENT: createListQuery(model),\n CREATE_CONTENT: createCreateMutation(model),\n UPDATE_CONTENT: createUpdateMutation(model),\n CREATE_CONTENT_FROM: createCreateFromMutation(model)\n };\n }, [model.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 if (Array.isArray(errors) === false || !errors) {\n return;\n }\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: FormOnSubmit = useCallback(\n async (formData, form) => {\n setLoading(true);\n const response = await createMutation({\n variables: { data: formData },\n fetchPolicy: getFetchPolicy(model)\n });\n\n setLoading(false);\n\n // Finalize \"create\" process\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data: entry, error } = response.data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return;\n }\n resetInvalidFieldValues();\n if (params.addEntryToListCache) {\n GQLCache.addEntryToListCache(model, client.cache, entry, listQueryVariables);\n }\n\n showSnackbar(`${model.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry, form);\n } else {\n goToRevision(entry.id);\n }\n return entry;\n },\n [model.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 fetchPolicy: getFetchPolicy(model)\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 [model.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 fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n showSnackbar(\"Missing data in update callback on Create From Entry Response.\");\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 model,\n client.cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(model, client.cache, newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n\n setLoading(false);\n\n return newRevision;\n },\n [model.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: FormOnSubmit = async (data, form) => {\n const fieldsIds = model.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, model.fields);\n if (!entry.id) {\n return createContent(gqlData, form);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\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 model.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 }, [model.modelId]);\n\n return {\n /**\n * If entry is not set or `entry.id` does not exist, it means it's a 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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"}
|
package/admin/components/ContentModelEditor/{Context.d.ts → ContentModelEditorProvider.d.ts}
RENAMED
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { MutableRefObject } from "react";
|
|
2
2
|
import { ApolloClient } from "apollo-client";
|
|
3
3
|
import { GetCmsModelQueryResponse, UpdateCmsModelMutationResponse } from "../../graphql/contentModels";
|
|
4
|
-
import {
|
|
4
|
+
import { CmsModel } from "../../../types";
|
|
5
5
|
import { FetchResult } from "apollo-link";
|
|
6
|
+
import { TabsImperativeApi } from "@webiny/ui/Tabs";
|
|
6
7
|
export interface ContentModelEditorProviderContext {
|
|
7
8
|
apolloClient: ApolloClient<any>;
|
|
8
|
-
data:
|
|
9
|
+
data: CmsModel;
|
|
10
|
+
contentModel: CmsModel;
|
|
9
11
|
isPristine: boolean;
|
|
10
12
|
getContentModel: (modelId: string) => Promise<FetchResult<GetCmsModelQueryResponse>>;
|
|
11
13
|
saveContentModel: (data?: CmsModel) => Promise<UpdateCmsModelMutationResponse["updateContentModel"]>;
|
|
12
14
|
setData: (setter: (model: CmsModel) => void, saveContentModel?: boolean) => Promise<any>;
|
|
15
|
+
tabsRef: MutableRefObject<TabsImperativeApi | undefined>;
|
|
16
|
+
activeTabIndex: number;
|
|
17
|
+
setActiveTabIndex: (index: number) => void;
|
|
13
18
|
}
|
|
14
|
-
export declare const contentModelEditorContext: React.Context<ContentModelEditorProviderContext>;
|
|
19
|
+
export declare const contentModelEditorContext: React.Context<ContentModelEditorProviderContext | undefined>;
|
|
15
20
|
interface State {
|
|
16
21
|
modelId: string | null;
|
|
17
22
|
isPristine: boolean;
|
|
18
23
|
data: CmsModel;
|
|
24
|
+
activeTabIndex: number;
|
|
19
25
|
}
|
|
20
26
|
interface Action {
|
|
21
27
|
data: Partial<State> | Partial<CmsModel>;
|
|
@@ -9,14 +9,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.contentModelEditorReducer = exports.contentModelEditorContext = exports.ContentModelEditorProvider = void 0;
|
|
11
11
|
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
-
|
|
16
12
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
17
13
|
|
|
18
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
19
15
|
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
19
|
+
|
|
20
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
21
|
|
|
22
22
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
@@ -31,83 +31,9 @@ var _contentModels = require("../../graphql/contentModels");
|
|
|
31
31
|
|
|
32
32
|
var _viewsGraphql = require("../../viewsGraphql");
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
var contentModelEditorContext = /*#__PURE__*/_react.default.createContext({
|
|
36
|
-
apolloClient: null,
|
|
37
|
-
data: null,
|
|
38
|
-
isPristine: false,
|
|
39
|
-
getContentModel: function () {
|
|
40
|
-
var _getContentModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
41
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
42
|
-
while (1) {
|
|
43
|
-
switch (_context.prev = _context.next) {
|
|
44
|
-
case 0:
|
|
45
|
-
return _context.abrupt("return", {
|
|
46
|
-
data: null
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
case 1:
|
|
50
|
-
case "end":
|
|
51
|
-
return _context.stop();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}, _callee);
|
|
55
|
-
}));
|
|
56
|
-
|
|
57
|
-
function getContentModel() {
|
|
58
|
-
return _getContentModel.apply(this, arguments);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return getContentModel;
|
|
62
|
-
}(),
|
|
63
|
-
saveContentModel: function () {
|
|
64
|
-
var _saveContentModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
65
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
66
|
-
while (1) {
|
|
67
|
-
switch (_context2.prev = _context2.next) {
|
|
68
|
-
case 0:
|
|
69
|
-
return _context2.abrupt("return", {
|
|
70
|
-
data: null,
|
|
71
|
-
error: null
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
case 1:
|
|
75
|
-
case "end":
|
|
76
|
-
return _context2.stop();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}, _callee2);
|
|
80
|
-
}));
|
|
81
|
-
|
|
82
|
-
function saveContentModel() {
|
|
83
|
-
return _saveContentModel.apply(this, arguments);
|
|
84
|
-
}
|
|
34
|
+
var _ModelProvider = require("../ModelProvider");
|
|
85
35
|
|
|
86
|
-
|
|
87
|
-
}(),
|
|
88
|
-
setData: function () {
|
|
89
|
-
var _setData = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
|
|
90
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
91
|
-
while (1) {
|
|
92
|
-
switch (_context3.prev = _context3.next) {
|
|
93
|
-
case 0:
|
|
94
|
-
return _context3.abrupt("return", void 0);
|
|
95
|
-
|
|
96
|
-
case 1:
|
|
97
|
-
case "end":
|
|
98
|
-
return _context3.stop();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}, _callee3);
|
|
102
|
-
}));
|
|
103
|
-
|
|
104
|
-
function setData() {
|
|
105
|
-
return _setData.apply(this, arguments);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return setData;
|
|
109
|
-
}()
|
|
110
|
-
});
|
|
36
|
+
var contentModelEditorContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
111
37
|
|
|
112
38
|
exports.contentModelEditorContext = contentModelEditorContext;
|
|
113
39
|
|
|
@@ -177,12 +103,15 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
177
103
|
var _useReducer = (0, _react.useReducer)(contentModelEditorReducer, {
|
|
178
104
|
modelId: modelId || null,
|
|
179
105
|
isPristine: true,
|
|
180
|
-
data: null
|
|
106
|
+
data: null,
|
|
107
|
+
activeTabIndex: 0
|
|
181
108
|
}),
|
|
182
109
|
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
183
110
|
state = _useReducer2[0],
|
|
184
111
|
dispatch = _useReducer2[1];
|
|
185
112
|
|
|
113
|
+
var tabsRef = (0, _react.useRef)();
|
|
114
|
+
|
|
186
115
|
var _useRouter = (0, _reactRouter.useRouter)(),
|
|
187
116
|
history = _useRouter.history;
|
|
188
117
|
|
|
@@ -199,18 +128,18 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
199
128
|
};
|
|
200
129
|
|
|
201
130
|
var saveContentModel = /*#__PURE__*/function () {
|
|
202
|
-
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function
|
|
131
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data) {
|
|
203
132
|
var modelData, response;
|
|
204
|
-
return (0, _regeneratorRuntime2.default)().wrap(function
|
|
133
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
205
134
|
while (1) {
|
|
206
|
-
switch (
|
|
135
|
+
switch (_context.prev = _context.next) {
|
|
207
136
|
case 0:
|
|
208
137
|
if (!data) {
|
|
209
138
|
data = state.data;
|
|
210
139
|
}
|
|
211
140
|
|
|
212
|
-
modelData = (0, _pick.default)(data, ["group", "layout", "fields", "name", "settings", "description", "titleFieldId"]);
|
|
213
|
-
|
|
141
|
+
modelData = (0, _pick.default)(data, ["group", "layout", "fields", "tags", "name", "settings", "description", "titleFieldId"]);
|
|
142
|
+
_context.next = 4;
|
|
214
143
|
return apolloClient.mutate({
|
|
215
144
|
mutation: _contentModels.UPDATE_CONTENT_MODEL,
|
|
216
145
|
variables: {
|
|
@@ -223,50 +152,58 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
223
152
|
});
|
|
224
153
|
|
|
225
154
|
case 4:
|
|
226
|
-
response =
|
|
155
|
+
response = _context.sent;
|
|
227
156
|
setPristine(true);
|
|
228
157
|
|
|
229
158
|
if (!(!response.data || !response.data.updateContentModel)) {
|
|
230
|
-
|
|
159
|
+
_context.next = 8;
|
|
231
160
|
break;
|
|
232
161
|
}
|
|
233
162
|
|
|
234
|
-
return
|
|
163
|
+
return _context.abrupt("return", {
|
|
235
164
|
data: null,
|
|
236
165
|
error: null
|
|
237
166
|
});
|
|
238
167
|
|
|
239
168
|
case 8:
|
|
240
|
-
return
|
|
169
|
+
return _context.abrupt("return", response.data.updateContentModel);
|
|
241
170
|
|
|
242
171
|
case 9:
|
|
243
172
|
case "end":
|
|
244
|
-
return
|
|
173
|
+
return _context.stop();
|
|
245
174
|
}
|
|
246
175
|
}
|
|
247
|
-
},
|
|
176
|
+
}, _callee);
|
|
248
177
|
}));
|
|
249
178
|
|
|
250
179
|
return function saveContentModel(_x) {
|
|
251
180
|
return _ref4.apply(this, arguments);
|
|
252
181
|
};
|
|
253
182
|
}();
|
|
183
|
+
|
|
184
|
+
var setActiveTabIndex = (0, _react.useCallback)(function (activeTabIndex) {
|
|
185
|
+
dispatch({
|
|
186
|
+
type: "state",
|
|
187
|
+
data: {
|
|
188
|
+
activeTabIndex: activeTabIndex
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}, []);
|
|
254
192
|
/**
|
|
255
193
|
* Set form data by providing a callback, which receives a fresh copy of data on which you can work on.
|
|
256
194
|
* Return new data once finished.
|
|
257
195
|
*/
|
|
258
196
|
|
|
259
|
-
|
|
260
197
|
var setData = /*#__PURE__*/function () {
|
|
261
|
-
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function
|
|
198
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(setter) {
|
|
262
199
|
var saveModel,
|
|
263
200
|
data,
|
|
264
|
-
|
|
265
|
-
return (0, _regeneratorRuntime2.default)().wrap(function
|
|
201
|
+
_args2 = arguments;
|
|
202
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
266
203
|
while (1) {
|
|
267
|
-
switch (
|
|
204
|
+
switch (_context2.prev = _context2.next) {
|
|
268
205
|
case 0:
|
|
269
|
-
saveModel =
|
|
206
|
+
saveModel = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
|
|
270
207
|
setPristine(false);
|
|
271
208
|
data = setter(state.data);
|
|
272
209
|
dispatch({
|
|
@@ -275,22 +212,22 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
275
212
|
});
|
|
276
213
|
|
|
277
214
|
if (saveModel) {
|
|
278
|
-
|
|
215
|
+
_context2.next = 6;
|
|
279
216
|
break;
|
|
280
217
|
}
|
|
281
218
|
|
|
282
|
-
return
|
|
219
|
+
return _context2.abrupt("return");
|
|
283
220
|
|
|
284
221
|
case 6:
|
|
285
|
-
|
|
222
|
+
_context2.next = 8;
|
|
286
223
|
return saveContentModel(data);
|
|
287
224
|
|
|
288
225
|
case 8:
|
|
289
226
|
case "end":
|
|
290
|
-
return
|
|
227
|
+
return _context2.stop();
|
|
291
228
|
}
|
|
292
229
|
}
|
|
293
|
-
},
|
|
230
|
+
}, _callee2);
|
|
294
231
|
}));
|
|
295
232
|
|
|
296
233
|
return function setData(_x2) {
|
|
@@ -299,14 +236,14 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
299
236
|
}();
|
|
300
237
|
|
|
301
238
|
var getContentModel = /*#__PURE__*/function () {
|
|
302
|
-
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function
|
|
239
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(modelId) {
|
|
303
240
|
var response, _get, data, error;
|
|
304
241
|
|
|
305
|
-
return (0, _regeneratorRuntime2.default)().wrap(function
|
|
242
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
306
243
|
while (1) {
|
|
307
|
-
switch (
|
|
244
|
+
switch (_context3.prev = _context3.next) {
|
|
308
245
|
case 0:
|
|
309
|
-
|
|
246
|
+
_context3.next = 2;
|
|
310
247
|
return apolloClient.query({
|
|
311
248
|
query: _contentModels.GET_CONTENT_MODEL,
|
|
312
249
|
variables: {
|
|
@@ -315,32 +252,32 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
315
252
|
});
|
|
316
253
|
|
|
317
254
|
case 2:
|
|
318
|
-
response =
|
|
255
|
+
response = _context3.sent;
|
|
319
256
|
_get = (0, _get2.default)(response, "data.getContentModel"), data = _get.data, error = _get.error;
|
|
320
257
|
|
|
321
258
|
if (!error) {
|
|
322
|
-
|
|
259
|
+
_context3.next = 6;
|
|
323
260
|
break;
|
|
324
261
|
}
|
|
325
262
|
|
|
326
|
-
throw new Error(error);
|
|
263
|
+
throw new Error(error.message);
|
|
327
264
|
|
|
328
265
|
case 6:
|
|
329
|
-
|
|
266
|
+
_context3.next = 8;
|
|
330
267
|
return setData(function () {
|
|
331
268
|
return data;
|
|
332
269
|
}, false);
|
|
333
270
|
|
|
334
271
|
case 8:
|
|
335
272
|
setPristine(true);
|
|
336
|
-
return
|
|
273
|
+
return _context3.abrupt("return", response);
|
|
337
274
|
|
|
338
275
|
case 10:
|
|
339
276
|
case "end":
|
|
340
|
-
return
|
|
277
|
+
return _context3.stop();
|
|
341
278
|
}
|
|
342
279
|
}
|
|
343
|
-
},
|
|
280
|
+
}, _callee3);
|
|
344
281
|
}));
|
|
345
282
|
|
|
346
283
|
return function getContentModel(_x3) {
|
|
@@ -360,20 +297,27 @@ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
|
|
|
360
297
|
}, [modelId]);
|
|
361
298
|
var value = (0, _react.useMemo)(function () {
|
|
362
299
|
return {
|
|
300
|
+
// Keeping `data` for compatibility
|
|
363
301
|
data: state.data,
|
|
302
|
+
contentModel: state.data,
|
|
364
303
|
modelId: modelId,
|
|
365
304
|
apolloClient: apolloClient,
|
|
366
305
|
dispatch: dispatch,
|
|
367
306
|
isPristine: state.isPristine,
|
|
368
307
|
getContentModel: getContentModel,
|
|
369
308
|
saveContentModel: saveContentModel,
|
|
370
|
-
setData: setData
|
|
309
|
+
setData: setData,
|
|
310
|
+
tabsRef: tabsRef,
|
|
311
|
+
activeTabIndex: state.activeTabIndex,
|
|
312
|
+
setActiveTabIndex: setActiveTabIndex
|
|
371
313
|
};
|
|
372
314
|
}, [state, apolloClient]);
|
|
373
315
|
var Provider = contentModelEditorContext.Provider;
|
|
374
316
|
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
375
317
|
value: value
|
|
376
|
-
},
|
|
318
|
+
}, /*#__PURE__*/_react.default.createElement(_ModelProvider.ModelProvider, {
|
|
319
|
+
model: value.contentModel
|
|
320
|
+
}, children));
|
|
377
321
|
};
|
|
378
322
|
|
|
379
323
|
exports.ContentModelEditorProvider = ContentModelEditorProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["contentModelEditorContext","React","createContext","undefined","contentModelEditorReducer","prev","action","data","type","cleanupModelDataFields","fields","map","field","predefinedValues","enabled","values","label","value","selected","String","cleanupModelData","ContentModelEditorProvider","children","apolloClient","modelId","useReducer","isPristine","activeTabIndex","state","dispatch","tabsRef","useRef","useRouter","history","useSnackbar","showSnackbar","setPristine","flag","saveContentModel","modelData","pick","mutate","mutation","UPDATE_CONTENT_MODEL","variables","refetchQueries","query","LIST_MENU_CONTENT_GROUPS_MODELS","response","updateContentModel","error","setActiveTabIndex","useCallback","setData","setter","saveModel","getContentModel","GET_CONTENT_MODEL","get","Error","message","useEffect","catch","push","useMemo","contentModel","Provider"],"sources":["ContentModelEditorProvider.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef\n} 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 { CmsModelField, CmsModel } from \"~/types\";\nimport { FetchResult } from \"apollo-link\";\nimport { TabsImperativeApi } from \"@webiny/ui/Tabs\";\nimport { ModelProvider } from \"~/admin/components/ModelProvider\";\n\nexport interface ContentModelEditorProviderContext {\n apolloClient: ApolloClient<any>;\n data: CmsModel;\n contentModel: CmsModel;\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 tabsRef: MutableRefObject<TabsImperativeApi | undefined>;\n activeTabIndex: number;\n setActiveTabIndex: (index: number) => void;\n}\n\nexport const contentModelEditorContext = React.createContext<\n ContentModelEditorProviderContext | undefined\n>(undefined);\n\ntype PickedCmsModel = Pick<\n CmsModel,\n \"layout\" | \"fields\" | \"name\" | \"settings\" | \"description\" | \"titleFieldId\" | \"group\"\n>;\ninterface State {\n modelId: string | null;\n isPristine: boolean;\n data: CmsModel;\n activeTabIndex: number;\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: CmsModelField[]): CmsModelField[] => {\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: PickedCmsModel): PickedCmsModel => {\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 activeTabIndex: 0\n });\n\n const tabsRef = useRef<TabsImperativeApi>();\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: PickedCmsModel = pick(data, [\n \"group\",\n \"layout\",\n \"fields\",\n \"tags\",\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 const setActiveTabIndex = useCallback((activeTabIndex: number) => {\n dispatch({ type: \"state\", data: { activeTabIndex } });\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.message);\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<ContentModelEditorProviderContext>(\n () => ({\n // Keeping `data` for compatibility\n data: state.data,\n contentModel: state.data,\n modelId,\n apolloClient,\n dispatch,\n isPristine: state.isPristine,\n getContentModel,\n saveContentModel,\n setData,\n tabsRef,\n activeTabIndex: state.activeTabIndex,\n setActiveTabIndex\n }),\n [state, apolloClient]\n );\n\n const { Provider } = contentModelEditorContext;\n\n return (\n <Provider value={value}>\n <ModelProvider model={value.contentModel}>{children}</ModelProvider>\n </Provider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ var _Header = _interopRequireDefault(require("./Header"));
|
|
|
47
47
|
|
|
48
48
|
var _DragPreview = _interopRequireDefault(require("../DragPreview"));
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _useModelEditor2 = require("./useModelEditor");
|
|
51
51
|
|
|
52
52
|
var _templateObject;
|
|
53
53
|
|
|
@@ -100,10 +100,10 @@ var formTabs = /*#__PURE__*/(0, _emotion.css)({
|
|
|
100
100
|
}, "label:formTabs;");
|
|
101
101
|
|
|
102
102
|
var Editor = function Editor() {
|
|
103
|
-
var
|
|
104
|
-
data =
|
|
105
|
-
setData =
|
|
106
|
-
isPristine =
|
|
103
|
+
var _useModelEditor = (0, _useModelEditor2.useModelEditor)(),
|
|
104
|
+
data = _useModelEditor.data,
|
|
105
|
+
setData = _useModelEditor.setData,
|
|
106
|
+
isPristine = _useModelEditor.isPristine;
|
|
107
107
|
|
|
108
108
|
var tabsRef = (0, _react.useRef)();
|
|
109
109
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","prompt","ContentContainer","styled","paddingTop","EditContainer","padding","position","LeftBarTitle","borderBottom","display","alignItems","color","titleIcon","css","height","marginRight","LeftBarFieldList","overflow","formTabs","backgroundColor","Editor","
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","prompt","ContentContainer","styled","paddingTop","EditContainer","padding","position","LeftBarTitle","borderBottom","display","alignItems","color","titleIcon","css","height","marginRight","LeftBarFieldList","overflow","formTabs","backgroundColor","Editor","useModelEditor","data","setData","isPristine","tabsRef","useRef","useState","activeTabIndex","setActiveTabIndex","onChange","fields","layout","current","switchTab","e"],"sources":["Editor.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport { Prompt } from \"@webiny/react-router\";\nimport styled from \"@emotion/styled\";\nimport { css } from \"emotion\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { LeftPanel, RightPanel, SplitView } from \"@webiny/app-admin/components/SplitView\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Tab, Tabs, TabsImperativeApi } from \"@webiny/ui/Tabs\";\nimport { ReactComponent as FormIcon } from \"./icons/round-assignment-24px.svg\";\nimport { FieldsSidebar } from \"./FieldsSidebar\";\nimport { FieldEditor } from \"../FieldEditor\";\nimport { PreviewTab } from \"./PreviewTab\";\nimport Header from \"./Header\";\nimport DragPreview from \"../DragPreview\";\nimport { useModelEditor } from \"./useModelEditor\";\nimport { CmsModelField, CmsEditorFieldsLayout } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/editor\");\n\nconst prompt = t`There are some unsaved changes! Are you sure you want to navigate away and discard all changes?`;\n\nconst ContentContainer = styled(\"div\")({\n paddingTop: 65\n});\n\nexport const EditContainer = styled(\"div\")({\n padding: 40,\n position: \"relative\"\n});\n\nconst LeftBarTitle = styled(\"div\")({\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n display: \"flex\",\n alignItems: \"center\",\n padding: 25,\n color: \"var(--mdc-theme-on-surface)\"\n});\n\nconst titleIcon = css({\n height: 24,\n marginRight: 15,\n color: \"var(--mdc-theme-primary)\"\n});\n\nconst LeftBarFieldList = styled(\"div\")({\n padding: 40,\n overflow: \"auto\",\n height: \"calc(100vh - 250px)\"\n});\n\nconst formTabs = css({\n \"&.webiny-ui-tabs\": {\n \".webiny-ui-tabs__tab-bar\": {\n backgroundColor: \"var(--mdc-theme-surface)\"\n }\n }\n});\n\ninterface OnChangeParams {\n fields: CmsModelField[];\n layout: CmsEditorFieldsLayout;\n}\n\nexport const Editor: React.FC = () => {\n const { data, setData, isPristine } = useModelEditor();\n\n const tabsRef = useRef<TabsImperativeApi>();\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0);\n\n const onChange = ({ fields, layout }: OnChangeParams) => {\n setData(data => ({ ...data, fields, layout }));\n };\n\n if (!data) {\n return <CircularProgress label={\"Loading content model...\"} />;\n }\n\n return (\n <div className={\"content-model-editor\"}>\n <Prompt when={!isPristine} message={prompt} />\n <Header />\n <ContentContainer>\n <SplitView>\n <LeftPanel span={4}>\n <LeftBarTitle>\n <Icon className={titleIcon} icon={<FormIcon />} />\n <Typography use={\"headline6\"}>Fields</Typography>\n </LeftBarTitle>\n <LeftBarFieldList>\n <FieldsSidebar\n onFieldDragStart={() => {\n if (!tabsRef.current) {\n return;\n }\n tabsRef.current.switchTab(0);\n }}\n />\n </LeftBarFieldList>\n </LeftPanel>\n <RightPanel span={8}>\n <Tabs\n className={formTabs}\n ref={tabsRef}\n onActivate={e => setActiveTabIndex(e)}\n >\n <Tab label={\"Edit\"} data-testid={\"cms.editor.tab.edit\"}>\n <EditContainer>\n <FieldEditor\n fields={data.fields}\n layout={data.layout || []}\n onChange={onChange}\n />\n </EditContainer>\n </Tab>\n <Tab label={\"Preview\"} data-testid={\"cms.editor.tab.preview\"}>\n <PreviewTab activeTab={activeTabIndex === 1} />\n </Tab>\n </Tabs>\n </RightPanel>\n </SplitView>\n </ContentContainer>\n <DragPreview />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FieldContainer","styled","padding","marginBottom","display","width","backgroundColor","borderRadius","boxSizing","cursor","opacity","transition","FileInfo","FieldLabel","textTransform","lineHeight","color","FieldDescription","fontSize","FieldHandle","marginRight","Field","props","onFieldDragStart","fieldType","type","label","icon","description","drag","FieldsSidebar","fieldTypePlugin","plugins","byType","map","fieldPlugin","field"],"sources":["FieldsSidebar.tsx"],"sourcesContent":["import React, { DragEventHandler } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport styled from \"@emotion/styled\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport Draggable from \"../Draggable\";\nimport {
|
|
1
|
+
{"version":3,"names":["FieldContainer","styled","padding","marginBottom","display","width","backgroundColor","borderRadius","boxSizing","cursor","opacity","transition","FileInfo","FieldLabel","textTransform","lineHeight","color","FieldDescription","fontSize","FieldHandle","marginRight","Field","props","onFieldDragStart","fieldType","type","label","icon","description","drag","FieldsSidebar","fieldTypePlugin","plugins","byType","map","fieldPlugin","field"],"sources":["FieldsSidebar.tsx"],"sourcesContent":["import React, { DragEventHandler } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport styled from \"@emotion/styled\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport Draggable from \"../Draggable\";\nimport { CmsModelFieldTypePlugin } from \"~/types\";\n\nconst FieldContainer = styled(\"div\")({\n padding: \"10px 15px\",\n marginBottom: 20,\n display: \"flex\",\n width: \"100%\",\n backgroundColor: \"var(--mdc-theme-on-background)\",\n borderRadius: 15,\n boxSizing: \"border-box\",\n cursor: \"grab\",\n opacity: 1,\n transition: \"opacity 225ms\",\n \"&:hover\": {\n opacity: 0.8\n },\n \"&:last-child\": {\n marginBottom: 0\n }\n});\n\nconst FileInfo = styled(\"div\")({});\n\nconst FieldLabel = styled(\"div\")({\n textTransform: \"uppercase\",\n lineHeight: \"145%\",\n color: \"var(--mdc-theme-on-surface)\"\n});\n\nconst FieldDescription = styled(\"div\")({\n fontSize: 14,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n});\n\nconst FieldHandle = styled(\"div\")({\n marginRight: 15,\n color: \"var(--mdc-theme-on-surface)\"\n});\n\ninterface FieldProps {\n onFieldDragStart: DragEventHandler;\n fieldType: CmsModelFieldTypePlugin[\"field\"];\n}\nconst Field: React.FC<FieldProps> = props => {\n const {\n onFieldDragStart,\n fieldType: { type, label, icon, description }\n } = props;\n return (\n <Draggable beginDrag={{ type: \"newField\", fieldType: type }}>\n {({ drag }) => (\n <div\n ref={drag}\n style={{ marginBottom: 10 }}\n data-testid={`cms-editor-fields-field-${type}`}\n onDragStart={onFieldDragStart}\n >\n <FieldContainer>\n <FieldHandle>\n <Icon icon={icon as React.ReactElement} />\n </FieldHandle>\n <FileInfo>\n <FieldLabel>{label}</FieldLabel>\n <FieldDescription>{description}</FieldDescription>\n </FileInfo>\n </FieldContainer>\n </div>\n )}\n </Draggable>\n );\n};\n\ninterface FieldsSidebarProps {\n onFieldDragStart: DragEventHandler;\n}\nexport const FieldsSidebar: React.FC<FieldsSidebarProps> = ({ onFieldDragStart }) => {\n const fieldTypePlugin = plugins.byType<CmsModelFieldTypePlugin>(\"cms-editor-field-type\");\n\n return (\n <React.Fragment>\n {fieldTypePlugin.map(fieldPlugin => (\n <Field\n key={fieldPlugin.field.type}\n fieldType={fieldPlugin.field}\n onFieldDragStart={onFieldDragStart}\n />\n ))}\n </React.Fragment>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAGA,IAAMA,cAAc,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACjCC,OAAO,EAAE,WADwB;EAEjCC,YAAY,EAAE,EAFmB;EAGjCC,OAAO,EAAE,MAHwB;EAIjCC,KAAK,EAAE,MAJ0B;EAKjCC,eAAe,EAAE,gCALgB;EAMjCC,YAAY,EAAE,EANmB;EAOjCC,SAAS,EAAE,YAPsB;EAQjCC,MAAM,EAAE,MARyB;EASjCC,OAAO,EAAE,CATwB;EAUjCC,UAAU,EAAE,eAVqB;EAWjC,WAAW;IACPD,OAAO,EAAE;EADF,CAXsB;EAcjC,gBAAgB;IACZP,YAAY,EAAE;EADF;AAdiB,CAAjB,CAApB;AAmBA,IAAMS,QAAQ,oBAAGX,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB,EAAjB,CAAd;AAEA,IAAMY,UAAU,oBAAGZ,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAC7Ba,aAAa,EAAE,WADc;EAE7BC,UAAU,EAAE,MAFiB;EAG7BC,KAAK,EAAE;AAHsB,CAAjB,CAAhB;AAMA,IAAMC,gBAAgB,oBAAGhB,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACnCiB,QAAQ,EAAE,EADyB;EAEnCF,KAAK,EAAE;AAF4B,CAAjB,CAAtB;AAKA,IAAMG,WAAW,oBAAGlB,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAC9BmB,WAAW,EAAE,EADiB;EAE9BJ,KAAK,EAAE;AAFuB,CAAjB,CAAjB;;AASA,IAAMK,KAA2B,GAAG,SAA9BA,KAA8B,CAAAC,KAAK,EAAI;EACzC,IACIC,gBADJ,GAGID,KAHJ,CACIC,gBADJ;EAAA,uBAGID,KAHJ,CAEIE,SAFJ;EAAA,IAEiBC,IAFjB,oBAEiBA,IAFjB;EAAA,IAEuBC,KAFvB,oBAEuBA,KAFvB;EAAA,IAE8BC,IAF9B,oBAE8BA,IAF9B;EAAA,IAEoCC,WAFpC,oBAEoCA,WAFpC;EAIA,oBACI,6BAAC,kBAAD;IAAW,SAAS,EAAE;MAAEH,IAAI,EAAE,UAAR;MAAoBD,SAAS,EAAEC;IAA/B;EAAtB,GACK;IAAA,IAAGI,IAAH,QAAGA,IAAH;IAAA,oBACG;MACI,GAAG,EAAEA,IADT;MAEI,KAAK,EAAE;QAAE1B,YAAY,EAAE;MAAhB,CAFX;MAGI,iDAAwCsB,IAAxC,CAHJ;MAII,WAAW,EAAEF;IAJjB,gBAMI,6BAAC,cAAD,qBACI,6BAAC,WAAD,qBACI,6BAAC,UAAD;MAAM,IAAI,EAAEI;IAAZ,EADJ,CADJ,eAII,6BAAC,QAAD,qBACI,6BAAC,UAAD,QAAaD,KAAb,CADJ,eAEI,6BAAC,gBAAD,QAAmBE,WAAnB,CAFJ,CAJJ,CANJ,CADH;EAAA,CADL,CADJ;AAsBH,CA3BD;;AAgCO,IAAME,aAA2C,GAAG,SAA9CA,aAA8C,QAA0B;EAAA,IAAvBP,gBAAuB,SAAvBA,gBAAuB;;EACjF,IAAMQ,eAAe,GAAGC,gBAAA,CAAQC,MAAR,CAAwC,uBAAxC,CAAxB;;EAEA,oBACI,6BAAC,cAAD,CAAO,QAAP,QACKF,eAAe,CAACG,GAAhB,CAAoB,UAAAC,WAAW;IAAA,oBAC5B,6BAAC,KAAD;MACI,GAAG,EAAEA,WAAW,CAACC,KAAZ,CAAkBX,IAD3B;MAEI,SAAS,EAAEU,WAAW,CAACC,KAF3B;MAGI,gBAAgB,EAAEb;IAHtB,EAD4B;EAAA,CAA/B,CADL,CADJ;AAWH,CAdM"}
|
|
@@ -17,7 +17,7 @@ var _Elevation = require("@webiny/ui/Elevation");
|
|
|
17
17
|
|
|
18
18
|
var _i18n = require("@webiny/app/i18n");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _hooks = require("../../hooks");
|
|
21
21
|
|
|
22
22
|
var _ContentEntryFormPreview = require("../ContentEntryForm/ContentEntryFormPreview");
|
|
23
23
|
|
|
@@ -39,8 +39,8 @@ var style = {
|
|
|
39
39
|
var PreviewTab = function PreviewTab(_ref) {
|
|
40
40
|
var activeTab = _ref.activeTab;
|
|
41
41
|
|
|
42
|
-
var
|
|
43
|
-
data =
|
|
42
|
+
var _useModelEditor = (0, _hooks.useModelEditor)(),
|
|
43
|
+
data = _useModelEditor.data;
|
|
44
44
|
|
|
45
45
|
return /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
46
46
|
z: 1,
|