@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
|
@@ -15,15 +15,13 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
15
15
|
|
|
16
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
17
|
|
|
18
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
-
|
|
20
|
-
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
21
|
-
|
|
22
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
23
19
|
|
|
24
|
-
var
|
|
20
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
21
|
+
|
|
22
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
25
23
|
|
|
26
|
-
var _Dialog = require("
|
|
24
|
+
var _Dialog = require("../Dialog");
|
|
27
25
|
|
|
28
26
|
var _form = require("@webiny/form");
|
|
29
27
|
|
|
@@ -39,286 +37,145 @@ var _AppearanceTab = _interopRequireDefault(require("./EditFieldDialog/Appearanc
|
|
|
39
37
|
|
|
40
38
|
var _PredefinedValues = _interopRequireDefault(require("./EditFieldDialog/PredefinedValues"));
|
|
41
39
|
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
var _Grid = require("@webiny/ui/Grid");
|
|
45
|
-
|
|
46
|
-
var _Typography = require("@webiny/ui/Typography");
|
|
47
|
-
|
|
48
|
-
var _Elevation = require("@webiny/ui/Elevation");
|
|
40
|
+
var _ValidatorsList = require("./EditFieldDialog/ValidatorsList");
|
|
49
41
|
|
|
50
|
-
var
|
|
42
|
+
var _Button = require("@webiny/ui/Button");
|
|
51
43
|
|
|
52
|
-
var
|
|
44
|
+
var _hooks = require("../../hooks");
|
|
53
45
|
|
|
54
|
-
var
|
|
46
|
+
var _ModelFieldProvider = require("../ModelFieldProvider");
|
|
55
47
|
|
|
56
|
-
var
|
|
48
|
+
var _ValidationsSection = require("./EditFieldDialog/ValidationsSection");
|
|
57
49
|
|
|
58
|
-
var
|
|
50
|
+
var _getValidators = require("./EditFieldDialog/getValidators");
|
|
59
51
|
|
|
60
|
-
var
|
|
52
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
61
53
|
|
|
62
54
|
var t = _i18n.i18n.namespace("app-headless-cms/admin/components/editor");
|
|
63
55
|
|
|
64
|
-
var
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
}, "label:dialogBody;");
|
|
70
|
-
|
|
71
|
-
var getValidators = function getValidators(fieldPlugin, key) {
|
|
72
|
-
var defaultValidators = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
56
|
+
var FullScreenDialog = /*#__PURE__*/(0, _styled.default)(_Dialog.Dialog, {
|
|
57
|
+
label: "FullScreenDialog",
|
|
58
|
+
target: "eoy63ui0"
|
|
59
|
+
})("width:100vw;height:100vh;.mdc-dialog__surface{width:100%;max-width:100% !important;max-height:100% !important;.webiny-ui-dialog__content{max-width:100% !important;max-height:100% !important;width:100vw;height:calc(100vh - 155px);overflow:scroll !important;}}");
|
|
73
60
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
var allowedValidators = fieldPlugin.field[key] || defaultValidators;
|
|
61
|
+
function setupState(field, fieldPlugin, contentModel) {
|
|
62
|
+
var clonedField = (0, _cloneDeep.default)(field);
|
|
77
63
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
64
|
+
if (!clonedField.renderer || !clonedField.renderer.name) {
|
|
65
|
+
var _plugins$byType$filte = _plugins.plugins.byType("cms-editor-field-renderer").filter(function (item) {
|
|
66
|
+
return item.renderer.canUse({
|
|
67
|
+
field: field,
|
|
68
|
+
fieldPlugin: fieldPlugin
|
|
69
|
+
});
|
|
70
|
+
}),
|
|
71
|
+
_plugins$byType$filte2 = (0, _slicedToArray2.default)(_plugins$byType$filte, 1),
|
|
72
|
+
renderPlugin = _plugins$byType$filte2[0];
|
|
73
|
+
|
|
74
|
+
if (renderPlugin) {
|
|
75
|
+
clonedField.renderer = {
|
|
76
|
+
name: renderPlugin.renderer.rendererName
|
|
87
77
|
};
|
|
88
78
|
}
|
|
89
|
-
|
|
90
|
-
return null;
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
var filteredValidators = mappedValidators.filter(Boolean);
|
|
94
|
-
return filteredValidators
|
|
95
|
-
/**
|
|
96
|
-
* We can safely cast because we are filtering in previous step.
|
|
97
|
-
*/
|
|
98
|
-
.sort(function (a, b) {
|
|
99
|
-
if (!a.optional && b.optional) {
|
|
100
|
-
return -1;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (a.optional && !b.optional) {
|
|
104
|
-
return 1;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return 0;
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
var getListValidators = function getListValidators(fieldPlugin) {
|
|
112
|
-
return getValidators(fieldPlugin, "listValidators", ["minLength", "maxLength"]);
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
var getFieldValidators = function getFieldValidators(fieldPlugin) {
|
|
116
|
-
return getValidators(fieldPlugin, "validators");
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
var fieldEditorDialog = /*#__PURE__*/(0, _emotion.css)({
|
|
120
|
-
width: "100vw",
|
|
121
|
-
height: "100vh",
|
|
122
|
-
".mdc-dialog__surface": {
|
|
123
|
-
maxWidth: "100% !important",
|
|
124
|
-
maxHeight: "100% !important",
|
|
125
|
-
".webiny-ui-dialog__content": {
|
|
126
|
-
maxWidth: "100% !important",
|
|
127
|
-
maxHeight: "100% !important",
|
|
128
|
-
width: "100vw",
|
|
129
|
-
height: "calc(100vh - 155px)",
|
|
130
|
-
paddingTop: "0 !important"
|
|
131
|
-
}
|
|
132
79
|
}
|
|
133
|
-
}, "label:fieldEditorDialog;");
|
|
134
|
-
|
|
135
|
-
var EditFieldDialog = function EditFieldDialog(_ref2) {
|
|
136
|
-
var field = _ref2.field,
|
|
137
|
-
_onSubmit = _ref2.onSubmit,
|
|
138
|
-
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
139
|
-
|
|
140
|
-
var _useState = (0, _react.useState)(null),
|
|
141
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
142
|
-
current = _useState2[0],
|
|
143
|
-
setCurrent = _useState2[1];
|
|
144
|
-
|
|
145
|
-
var _useFieldEditor = (0, _useFieldEditor2.useFieldEditor)(),
|
|
146
|
-
getFieldPlugin = _useFieldEditor.getFieldPlugin;
|
|
147
|
-
|
|
148
|
-
var _useContentModelEdito = (0, _useContentModelEditor.useContentModelEditor)(),
|
|
149
|
-
contentModel = _useContentModelEdito.data,
|
|
150
|
-
setContentModelData = _useContentModelEdito.setData;
|
|
151
|
-
|
|
152
|
-
var _useState3 = (0, _react.useState)(false),
|
|
153
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
154
|
-
isTitleField = _useState4[0],
|
|
155
|
-
setIsTitleField = _useState4[1];
|
|
156
|
-
|
|
157
|
-
(0, _react.useEffect)(function () {
|
|
158
|
-
if (!field) {
|
|
159
|
-
setCurrent(field);
|
|
160
|
-
setIsTitleField(false);
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
80
|
|
|
164
|
-
|
|
81
|
+
return {
|
|
82
|
+
shadowField: clonedField,
|
|
83
|
+
isTitleField: contentModel.titleFieldId === field.fieldId
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var EditFieldDialog = function EditFieldDialog(props) {
|
|
88
|
+
var _useModelField = (0, _hooks.useModelField)(),
|
|
89
|
+
field = _useModelField.field,
|
|
90
|
+
fieldPlugin = _useModelField.fieldPlugin;
|
|
91
|
+
|
|
92
|
+
var _useModelEditor = (0, _hooks.useModelEditor)(),
|
|
93
|
+
contentModel = _useModelEditor.data,
|
|
94
|
+
setContentModelData = _useModelEditor.setData;
|
|
95
|
+
|
|
96
|
+
var _useState = (0, _react.useState)(setupState(field, fieldPlugin, contentModel)),
|
|
97
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
98
|
+
_useState2$ = _useState2[0],
|
|
99
|
+
shadowField = _useState2$.shadowField,
|
|
100
|
+
isTitleField = _useState2$.isTitleField;
|
|
101
|
+
|
|
102
|
+
var headerTitle = t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Field Settings - {fieldTypeLabel}"])))({
|
|
103
|
+
fieldTypeLabel: fieldPlugin.field.label
|
|
104
|
+
});
|
|
165
105
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
106
|
+
var onSubmit = function onSubmit(data, form) {
|
|
107
|
+
/**
|
|
108
|
+
* In case title field `fieldId` changed, we need to update the title field on the model itself.
|
|
109
|
+
*/
|
|
110
|
+
if (isTitleField && contentModel.titleFieldId !== data.fieldId) {
|
|
111
|
+
setContentModelData(function (prev) {
|
|
112
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
|
|
113
|
+
titleFieldId: data.fieldId
|
|
170
114
|
});
|
|
171
|
-
})
|
|
172
|
-
_plugins$byType$filte2 = (0, _slicedToArray2.default)(_plugins$byType$filte, 1),
|
|
173
|
-
renderPlugin = _plugins$byType$filte2[0];
|
|
174
|
-
|
|
175
|
-
if (renderPlugin) {
|
|
176
|
-
clonedField.renderer = {
|
|
177
|
-
name: renderPlugin.renderer.rendererName
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
if (contentModel.titleFieldId === field.fieldId) {
|
|
183
|
-
setIsTitleField(true);
|
|
184
|
-
} else if (isTitleField === true) {
|
|
185
|
-
setIsTitleField(false);
|
|
115
|
+
});
|
|
186
116
|
}
|
|
187
117
|
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
var onClose = (0, _react.useCallback)(function () {
|
|
191
|
-
setCurrent(null);
|
|
192
|
-
props.onClose();
|
|
193
|
-
}, []);
|
|
194
|
-
var render = null;
|
|
195
|
-
var headerTitle = t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Field Settings"])));
|
|
118
|
+
props.onSubmit(data, form);
|
|
119
|
+
};
|
|
196
120
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
225
|
-
label: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["
|
|
226
|
-
}, /*#__PURE__*/_react.default.createElement(_GeneralTab.default, {
|
|
227
|
-
form: form,
|
|
228
|
-
field: form.data,
|
|
229
|
-
fieldPlugin: fieldPlugin
|
|
230
|
-
})), /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
231
|
-
label: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Predefined Values"]))),
|
|
121
|
+
return /*#__PURE__*/_react.default.createElement(FullScreenDialog, {
|
|
122
|
+
preventOutsideDismiss: true,
|
|
123
|
+
open: true,
|
|
124
|
+
onClose: props.onClose,
|
|
125
|
+
"data-testid": "cms-editor-edit-fields-dialog"
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, null, headerTitle), /*#__PURE__*/_react.default.createElement(_form.Form, {
|
|
127
|
+
data: shadowField,
|
|
128
|
+
onSubmit: onSubmit
|
|
129
|
+
}, function (_ref) {
|
|
130
|
+
var shadowField = _ref.data,
|
|
131
|
+
submit = _ref.submit;
|
|
132
|
+
var individualValidation = (0, _getValidators.getFieldValidators)(shadowField, fieldPlugin);
|
|
133
|
+
var hasValidators = individualValidation.validators.length > 0;
|
|
134
|
+
var showValidatorsTab = shadowField.multipleValues || individualValidation.validators.length > 0;
|
|
135
|
+
var predefinedValuesTabEnabled = fieldPlugin.field.allowPredefinedValues && shadowField.predefinedValues && shadowField.predefinedValues.enabled;
|
|
136
|
+
var listValidation = (0, _getValidators.getListValidators)(shadowField, fieldPlugin);
|
|
137
|
+
return (
|
|
138
|
+
/*#__PURE__*/
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* We're using the `shadowField` as the new context, because we want all changes by form inputs
|
|
142
|
+
* to immediately be propagated to all dialog components.
|
|
143
|
+
*/
|
|
144
|
+
_react.default.createElement(_ModelFieldProvider.ModelFieldProvider, {
|
|
145
|
+
field: shadowField
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, null, /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
147
|
+
label: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["General"])))
|
|
148
|
+
}, /*#__PURE__*/_react.default.createElement(_GeneralTab.default, null)), /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
149
|
+
label: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Predefined Values"]))),
|
|
232
150
|
disabled: !predefinedValuesTabEnabled
|
|
233
|
-
}, predefinedValuesTabEnabled && /*#__PURE__*/_react.default.createElement(_PredefinedValues.default, {
|
|
234
|
-
|
|
235
|
-
field: form.data,
|
|
236
|
-
fieldPlugin: fieldPlugin
|
|
237
|
-
})), showValidatorsTab ? /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
151
|
+
}, predefinedValuesTabEnabled && /*#__PURE__*/_react.default.createElement(_PredefinedValues.default, null)), /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
152
|
+
visible: showValidatorsTab,
|
|
238
153
|
label: "Validators",
|
|
239
154
|
"data-testid": "cms.editor.field.tabs.validators"
|
|
240
|
-
},
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
251
|
-
field: current,
|
|
252
|
-
name: "listValidation",
|
|
253
|
-
validators: getListValidators(fieldPlugin),
|
|
254
|
-
form: form
|
|
255
|
-
})))), /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
256
|
-
span: 12
|
|
257
|
-
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
258
|
-
use: "headline5"
|
|
259
|
-
}, "Individual value validators"), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
260
|
-
use: "body2"
|
|
261
|
-
}, "These validators are applied to each value in the list.")), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
262
|
-
span: 12
|
|
263
|
-
}, /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
264
|
-
z: 2
|
|
265
|
-
}, /*#__PURE__*/_react.default.createElement(_ValidatorsTab.default, {
|
|
266
|
-
field: current,
|
|
267
|
-
form: form,
|
|
155
|
+
}, shadowField.multipleValues ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ValidationsSection.ValidationsSection, {
|
|
156
|
+
validators: listValidation.validators,
|
|
157
|
+
fieldKey: "listValidators",
|
|
158
|
+
title: listValidation.title || "List validators",
|
|
159
|
+
description: listValidation.description || "These validators are applied to the entire list of values."
|
|
160
|
+
}), hasValidators ? /*#__PURE__*/_react.default.createElement(_ValidationsSection.ValidationsSection, {
|
|
161
|
+
fieldKey: "validators",
|
|
162
|
+
validators: individualValidation.validators,
|
|
163
|
+
title: individualValidation.title || "Individual value validators",
|
|
164
|
+
description: individualValidation.description || "These validators are applied to each value in the list."
|
|
165
|
+
}) : null) : null, !shadowField.multipleValues && hasValidators ? /*#__PURE__*/_react.default.createElement(_ValidatorsList.ValidatorsList, {
|
|
268
166
|
name: "validation",
|
|
269
|
-
validators:
|
|
270
|
-
})
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
name: "validation",
|
|
274
|
-
validators: getFieldValidators(fieldPlugin)
|
|
275
|
-
}) : null) : null, /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
276
|
-
label: t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Appearance"])))
|
|
277
|
-
}, /*#__PURE__*/_react.default.createElement(_AppearanceTab.default, {
|
|
278
|
-
form: form,
|
|
279
|
-
field: form.data // TODO @ts-refactor verify that this actually worked? There was no fieldPlugin in AppearanceTab props
|
|
280
|
-
// @ts-ignore
|
|
281
|
-
,
|
|
282
|
-
fieldPlugin: fieldPlugin
|
|
283
|
-
})))), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
|
|
167
|
+
validators: individualValidation.validators
|
|
168
|
+
}) : null), /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
169
|
+
label: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Appearance"])))
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement(_AppearanceTab.default, null)))), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
|
|
284
171
|
"data-testid": "cms.editor.field.settings.cancel",
|
|
285
|
-
onClick: onClose
|
|
286
|
-
}, t(
|
|
172
|
+
onClick: props.onClose
|
|
173
|
+
}, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
287
174
|
"data-testid": "cms.editor.field.settings.save",
|
|
288
|
-
onClick:
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
if (isTitleField && contentModel.titleFieldId !== form.data.fieldId) {
|
|
293
|
-
setContentModelData(function (prev) {
|
|
294
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
|
|
295
|
-
titleFieldId: form.data.fieldId
|
|
296
|
-
});
|
|
297
|
-
}).then(function () {
|
|
298
|
-
form.submit(ev);
|
|
299
|
-
}).catch(function (ex) {
|
|
300
|
-
console.error(ex.message);
|
|
301
|
-
});
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Or just continue as usually
|
|
306
|
-
*/
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
form.submit(ev);
|
|
310
|
-
}
|
|
311
|
-
}, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Save Field"]))))));
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
return /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
|
|
316
|
-
preventOutsideDismiss: true,
|
|
317
|
-
open: !!current,
|
|
318
|
-
onClose: onClose,
|
|
319
|
-
"data-testid": "cms-editor-edit-fields-dialog",
|
|
320
|
-
className: fieldEditorDialog
|
|
321
|
-
}, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, null, headerTitle), render);
|
|
175
|
+
onClick: submit
|
|
176
|
+
}, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Save Field"]))))))
|
|
177
|
+
);
|
|
178
|
+
}));
|
|
322
179
|
};
|
|
323
180
|
|
|
324
181
|
var _default = EditFieldDialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","namespace","dialogBody","css","width","height","getValidators","fieldPlugin","key","defaultValidators","mappedValidators","plugins","byType","map","validator","allowedValidators","field","includes","name","optional","filteredValidators","filter","Boolean","sort","a","b","getListValidators","getFieldValidators","fieldEditorDialog","maxWidth","maxHeight","paddingTop","EditFieldDialog","onSubmit","props","useState","current","setCurrent","useFieldEditor","getFieldPlugin","useContentModelEditor","contentModel","data","setContentModelData","setData","isTitleField","setIsTitleField","useEffect","clonedField","renderer","item","canUse","renderPlugin","rendererName","titleFieldId","fieldId","onClose","useCallback","render","headerTitle","type","invariant","fieldTypeLabel","label","form","hasValidators","Array","isArray","validators","length","showValidatorsTab","multipleValues","predefinedValuesTabEnabled","allowPredefinedValues","predefinedValues","enabled","ev","prev","then","submit","catch","ex","console","error","message"],"sources":["EditFieldDialog.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport { cloneDeep } from \"lodash\";\nimport { css } from \"emotion\";\nimport { Dialog, DialogContent, DialogTitle, DialogActions } from \"@webiny/ui/Dialog\";\nimport { Form } from \"@webiny/form\";\nimport { Tabs, Tab } from \"@webiny/ui/Tabs\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CmsEditorField,\n CmsEditorFieldRendererPlugin,\n CmsEditorFieldTypePlugin,\n CmsEditorFieldValidatorPlugin\n} from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport GeneralTab from \"./EditFieldDialog/GeneralTab\";\nimport AppearanceTab from \"./EditFieldDialog/AppearanceTab\";\nimport PredefinedValues from \"./EditFieldDialog/PredefinedValues\";\nimport ValidatorsTab from \"./EditFieldDialog/ValidatorsTab\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { useFieldEditor } from \"~/admin/components/FieldEditor/useFieldEditor\";\nimport invariant from \"invariant\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/components/editor\");\n\nconst dialogBody = css({\n \"&.webiny-ui-dialog__content\": {\n width: 875,\n height: 450\n }\n});\n\ninterface EditFieldDialogProps {\n field: CmsEditorField | null;\n onClose: () => void;\n onSubmit: (data: CmsEditorField) => void;\n}\n\ninterface Validator {\n optional: boolean;\n validator: CmsEditorFieldValidatorPlugin[\"validator\"];\n}\nconst getValidators = (\n fieldPlugin: CmsEditorFieldTypePlugin,\n /**\n * We only have validators and listValidators, thats why the strict string types\n */\n key: \"validators\" | \"listValidators\",\n defaultValidators: string[] = []\n): Validator[] => {\n const mappedValidators = plugins\n .byType<CmsEditorFieldValidatorPlugin>(\"cms-editor-field-validator\")\n .map(({ validator }) => {\n const allowedValidators = fieldPlugin.field[key] || defaultValidators;\n if (allowedValidators.includes(validator.name)) {\n return {\n optional: true,\n validator\n };\n } else if (allowedValidators.includes(`!${validator.name}`)) {\n return {\n optional: false,\n validator\n };\n }\n\n return null;\n });\n\n const filteredValidators = mappedValidators.filter(Boolean) as Validator[];\n\n return (\n filteredValidators\n /**\n * We can safely cast because we are filtering in previous step.\n */\n .sort((a: Validator, b: Validator) => {\n if (!a.optional && b.optional) {\n return -1;\n }\n\n if (a.optional && !b.optional) {\n return 1;\n }\n\n return 0;\n }) as Validator[]\n );\n};\n\nconst getListValidators = (fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators(fieldPlugin, \"listValidators\", [\"minLength\", \"maxLength\"]);\n};\n\nconst getFieldValidators = (fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators(fieldPlugin, \"validators\");\n};\n\nconst fieldEditorDialog = css({\n width: \"100vw\",\n height: \"100vh\",\n \".mdc-dialog__surface\": {\n maxWidth: \"100% !important\",\n maxHeight: \"100% !important\",\n \".webiny-ui-dialog__content\": {\n maxWidth: \"100% !important\",\n maxHeight: \"100% !important\",\n width: \"100vw\",\n height: \"calc(100vh - 155px)\",\n paddingTop: \"0 !important\"\n }\n }\n});\n\nconst EditFieldDialog: React.FC<EditFieldDialogProps> = ({ field, onSubmit, ...props }) => {\n const [current, setCurrent] = useState<CmsEditorField | null>(null);\n const { getFieldPlugin } = useFieldEditor();\n const { data: contentModel, setData: setContentModelData } = useContentModelEditor();\n\n const [isTitleField, setIsTitleField] = useState<boolean>(false);\n\n useEffect((): void => {\n if (!field) {\n setCurrent(field);\n setIsTitleField(false);\n return;\n }\n\n const clonedField = cloneDeep(field);\n\n if (!clonedField.renderer || !clonedField.renderer.name) {\n const [renderPlugin] = plugins\n .byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\")\n .filter(item => item.renderer.canUse({ field }));\n\n if (renderPlugin) {\n clonedField.renderer = { name: renderPlugin.renderer.rendererName };\n }\n }\n if (contentModel.titleFieldId === field.fieldId) {\n setIsTitleField(true);\n } else if (isTitleField === true) {\n setIsTitleField(false);\n }\n setCurrent(clonedField);\n }, [field]);\n\n const onClose = useCallback((): void => {\n setCurrent(null);\n props.onClose();\n }, []);\n\n let render = null;\n let headerTitle = t`Field Settings`;\n\n if (current) {\n /**\n * Something must be very wrong for field plugin to be missing.\n */\n const fieldPlugin = getFieldPlugin(current.type) as CmsEditorFieldTypePlugin;\n /**\n * We will throw error because of that.\n */\n invariant(fieldPlugin, `Missing field plugin for type \"${current.type}\".`);\n\n headerTitle = t`Field Settings - {fieldTypeLabel}`({\n fieldTypeLabel: fieldPlugin.field.label\n });\n\n render = (\n <Form\n data={current}\n onSubmit={data => {\n /**\n * We know that data is CmsEditorField.\n */\n return onSubmit(data as unknown as CmsEditorField);\n }}\n >\n {form => {\n const hasValidators =\n Array.isArray(fieldPlugin.field.validators) &&\n fieldPlugin.field.validators.length > 0;\n\n const showValidatorsTab =\n form.data.multipleValues ||\n (Array.isArray(fieldPlugin.field.validators) &&\n fieldPlugin.field.validators.length > 0);\n\n const predefinedValuesTabEnabled =\n fieldPlugin.field.allowPredefinedValues &&\n form.data.predefinedValues &&\n form.data.predefinedValues.enabled;\n\n return (\n <>\n <DialogContent className={dialogBody}>\n <Tabs>\n <Tab label={t`General`}>\n <GeneralTab\n form={form}\n field={form.data as CmsEditorField}\n fieldPlugin={fieldPlugin}\n />\n </Tab>\n <Tab\n label={t`Predefined Values`}\n disabled={!predefinedValuesTabEnabled}\n >\n {predefinedValuesTabEnabled && (\n <PredefinedValues\n form={form}\n field={form.data as CmsEditorField}\n fieldPlugin={fieldPlugin}\n />\n )}\n </Tab>\n\n {showValidatorsTab ? (\n <Tab\n label={\"Validators\"}\n data-testid={\"cms.editor.field.tabs.validators\"}\n >\n {form.data.multipleValues ? (\n <>\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline5\"}>\n List validators\n </Typography>\n <br />\n <Typography use={\"body2\"}>\n These validators are applied to the\n entire list of values.\n </Typography>\n </Cell>\n <Cell span={12}>\n <Elevation z={2}>\n <ValidatorsTab\n field={current}\n name={\"listValidation\"}\n validators={getListValidators(\n fieldPlugin\n )}\n form={form}\n />\n </Elevation>\n </Cell>\n </Grid>\n\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline5\"}>\n Individual value validators\n </Typography>\n <br />\n <Typography use={\"body2\"}>\n These validators are applied to each\n value in the list.\n </Typography>\n </Cell>\n <Cell span={12}>\n <Elevation z={2}>\n <ValidatorsTab\n field={current}\n form={form}\n name={\"validation\"}\n validators={getFieldValidators(\n fieldPlugin\n )}\n />\n </Elevation>\n </Cell>\n </Grid>\n </>\n ) : null}\n\n {!form.data.multipleValues && hasValidators ? (\n <ValidatorsTab\n field={current}\n form={form}\n name={\"validation\"}\n validators={getFieldValidators(fieldPlugin)}\n />\n ) : null}\n </Tab>\n ) : null}\n <Tab label={t`Appearance`}>\n <AppearanceTab\n form={form}\n field={form.data as CmsEditorField}\n // TODO @ts-refactor verify that this actually worked? There was no fieldPlugin in AppearanceTab props\n // @ts-ignore\n fieldPlugin={fieldPlugin}\n />\n </Tab>\n </Tabs>\n </DialogContent>\n <DialogActions>\n <ButtonDefault\n data-testid=\"cms.editor.field.settings.cancel\"\n onClick={onClose}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"cms.editor.field.settings.save\"\n onClick={ev => {\n /**\n * In case title field fieldID changed, we need to change it in the model data as well.\n */\n if (\n isTitleField &&\n contentModel.titleFieldId !== form.data.fieldId\n ) {\n setContentModelData(prev => {\n return {\n ...prev,\n titleFieldId: form.data.fieldId\n };\n })\n .then(() => {\n form.submit(ev);\n })\n .catch(ex => {\n console.error(ex.message);\n });\n return;\n }\n /**\n * Or just continue as usually\n */\n form.submit(ev);\n }}\n >{t`Save Field`}</ButtonPrimary>\n </DialogActions>\n </>\n );\n }}\n </Form>\n );\n }\n\n return (\n <Dialog\n preventOutsideDismiss\n open={!!current}\n onClose={onClose}\n data-testid={\"cms-editor-edit-fields-dialog\"}\n className={fieldEditorDialog}\n >\n <DialogTitle>{headerTitle}</DialogTitle>\n {render}\n </Dialog>\n );\n};\n\nexport default EditFieldDialog;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["t","i18n","namespace","FullScreenDialog","styled","Dialog","setupState","field","fieldPlugin","contentModel","clonedField","cloneDeep","renderer","name","plugins","byType","filter","item","canUse","renderPlugin","rendererName","shadowField","isTitleField","titleFieldId","fieldId","EditFieldDialog","props","useModelField","useModelEditor","data","setContentModelData","setData","useState","headerTitle","fieldTypeLabel","label","onSubmit","form","prev","onClose","submit","individualValidation","getFieldValidators","hasValidators","validators","length","showValidatorsTab","multipleValues","predefinedValuesTabEnabled","allowPredefinedValues","predefinedValues","enabled","listValidation","getListValidators","title","description"],"sources":["EditFieldDialog.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport styled from \"@emotion/styled\";\nimport { Dialog, DialogContent, DialogTitle, DialogActions } from \"~/admin/components/Dialog\";\nimport { Form, FormOnSubmit } from \"@webiny/form\";\nimport { Tabs, Tab } from \"@webiny/ui/Tabs\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CmsEditorContentModel,\n CmsModelField,\n CmsEditorFieldRendererPlugin,\n CmsEditorFieldTypePlugin\n} from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport GeneralTab from \"./EditFieldDialog/GeneralTab\";\nimport AppearanceTab from \"./EditFieldDialog/AppearanceTab\";\nimport PredefinedValues from \"./EditFieldDialog/PredefinedValues\";\nimport { ValidatorsList } from \"./EditFieldDialog/ValidatorsList\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { useModelField, useModelEditor } from \"~/admin/hooks\";\nimport { ModelFieldProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { ValidationsSection } from \"~/admin/components/FieldEditor/EditFieldDialog/ValidationsSection\";\nimport { getFieldValidators, getListValidators } from \"./EditFieldDialog/getValidators\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/components/editor\");\n\nconst FullScreenDialog = styled(Dialog)`\n width: 100vw;\n height: 100vh;\n .mdc-dialog__surface {\n width: 100%;\n max-width: 100% !important;\n max-height: 100% !important;\n .webiny-ui-dialog__content {\n max-width: 100% !important;\n max-height: 100% !important;\n width: 100vw;\n height: calc(100vh - 155px);\n overflow: scroll !important;\n }\n }\n`;\n\nfunction setupState(\n field: CmsModelField,\n fieldPlugin: CmsEditorFieldTypePlugin,\n contentModel: CmsEditorContentModel\n): EditFieldState {\n const clonedField = cloneDeep(field);\n\n if (!clonedField.renderer || !clonedField.renderer.name) {\n const [renderPlugin] = plugins\n .byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\")\n .filter(item => item.renderer.canUse({ field, fieldPlugin }));\n\n if (renderPlugin) {\n clonedField.renderer = { name: renderPlugin.renderer.rendererName };\n }\n }\n\n return {\n shadowField: clonedField,\n isTitleField: contentModel.titleFieldId === field.fieldId\n };\n}\n\ninterface EditFieldState {\n shadowField: CmsModelField;\n isTitleField: boolean;\n}\n\ninterface EditFieldDialogProps {\n onClose: () => void;\n onSubmit: FormOnSubmit<CmsModelField>;\n}\n\nconst EditFieldDialog: React.FC<EditFieldDialogProps> = props => {\n const { field, fieldPlugin } = useModelField();\n const { data: contentModel, setData: setContentModelData } = useModelEditor();\n const [{ shadowField, isTitleField }] = useState<EditFieldState>(\n setupState(field, fieldPlugin, contentModel)\n );\n\n const headerTitle = t`Field Settings - {fieldTypeLabel}`({\n fieldTypeLabel: fieldPlugin.field.label\n });\n\n const onSubmit: FormOnSubmit<CmsModelField> = (data, form) => {\n /**\n * In case title field `fieldId` changed, we need to update the title field on the model itself.\n */\n if (isTitleField && contentModel.titleFieldId !== data.fieldId) {\n setContentModelData(prev => {\n return {\n ...prev,\n titleFieldId: data.fieldId\n };\n });\n }\n\n props.onSubmit(data, form);\n };\n\n return (\n <FullScreenDialog\n preventOutsideDismiss\n open={true}\n onClose={props.onClose}\n data-testid={\"cms-editor-edit-fields-dialog\"}\n >\n <DialogTitle>{headerTitle}</DialogTitle>\n <Form<CmsModelField> data={shadowField} onSubmit={onSubmit}>\n {({ data: shadowField, submit }) => {\n const individualValidation = getFieldValidators(shadowField, fieldPlugin);\n\n const hasValidators = individualValidation.validators.length > 0;\n\n const showValidatorsTab =\n shadowField.multipleValues || individualValidation.validators.length > 0;\n\n const predefinedValuesTabEnabled =\n fieldPlugin.field.allowPredefinedValues &&\n shadowField.predefinedValues &&\n shadowField.predefinedValues.enabled;\n\n const listValidation = getListValidators(shadowField, fieldPlugin);\n\n return (\n /**\n * We're using the `shadowField` as the new context, because we want all changes by form inputs\n * to immediately be propagated to all dialog components.\n */\n <ModelFieldProvider field={shadowField}>\n <DialogContent>\n <Tabs>\n <Tab label={t`General`}>\n <GeneralTab />\n </Tab>\n <Tab\n label={t`Predefined Values`}\n disabled={!predefinedValuesTabEnabled}\n >\n {predefinedValuesTabEnabled && <PredefinedValues />}\n </Tab>\n\n <Tab\n visible={showValidatorsTab}\n label={\"Validators\"}\n data-testid={\"cms.editor.field.tabs.validators\"}\n >\n {shadowField.multipleValues ? (\n <>\n <ValidationsSection\n validators={listValidation.validators}\n fieldKey={\"listValidators\"}\n title={\n listValidation.title || \"List validators\"\n }\n description={\n listValidation.description ||\n \"These validators are applied to the entire list of values.\"\n }\n />\n\n {hasValidators ? (\n <ValidationsSection\n fieldKey={\"validators\"}\n validators={individualValidation.validators}\n title={\n individualValidation.title ||\n \"Individual value validators\"\n }\n description={\n individualValidation.description ||\n \"These validators are applied to each value in the list.\"\n }\n />\n ) : null}\n </>\n ) : null}\n\n {!shadowField.multipleValues && hasValidators ? (\n <ValidatorsList\n name={\"validation\"}\n validators={individualValidation.validators}\n />\n ) : null}\n </Tab>\n <Tab label={t`Appearance`}>\n <AppearanceTab />\n </Tab>\n </Tabs>\n </DialogContent>\n <DialogActions>\n <ButtonDefault\n data-testid=\"cms.editor.field.settings.cancel\"\n onClick={props.onClose}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"cms.editor.field.settings.save\"\n onClick={submit}\n >{t`Save Field`}</ButtonPrimary>\n </DialogActions>\n </ModelFieldProvider>\n );\n }}\n </Form>\n </FullScreenDialog>\n );\n};\n\nexport default EditFieldDialog;\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { CmsModelField } from "../../../types";
|
|
3
3
|
export interface FieldProps {
|
|
4
|
-
field:
|
|
5
|
-
onDelete: (field:
|
|
6
|
-
onEdit: (field:
|
|
7
|
-
parent?:
|
|
4
|
+
field: CmsModelField;
|
|
5
|
+
onDelete: (field: CmsModelField) => void;
|
|
6
|
+
onEdit: (field: CmsModelField) => void;
|
|
7
|
+
parent?: CmsModelField;
|
|
8
8
|
}
|
|
9
9
|
declare const _default: React.NamedExoticComponent<FieldProps>;
|
|
10
10
|
export default _default;
|
|
@@ -27,7 +27,7 @@ var _Button = require("@webiny/ui/Button");
|
|
|
27
27
|
|
|
28
28
|
var _Typography = require("@webiny/ui/Typography");
|
|
29
29
|
|
|
30
|
-
var _edit = require("
|
|
30
|
+
var _edit = require("@material-design-icons/svg/outlined/edit.svg");
|
|
31
31
|
|
|
32
32
|
var _delete = require("../../icons/delete.svg");
|
|
33
33
|
|
|
@@ -47,9 +47,9 @@ var _i18n = require("@webiny/app/i18n");
|
|
|
47
47
|
|
|
48
48
|
var _useSnackbar2 = require("@webiny/app-admin/hooks/useSnackbar");
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _hooks = require("../../hooks");
|
|
51
51
|
|
|
52
|
-
var
|
|
52
|
+
var _useModelFieldEditor2 = require("./useModelFieldEditor");
|
|
53
53
|
|
|
54
54
|
var _appAdmin = require("@webiny/app-admin");
|
|
55
55
|
|
|
@@ -101,6 +101,10 @@ var menuStyles = /*#__PURE__*/(0, _emotion.css)({
|
|
|
101
101
|
pointerEvents: "none"
|
|
102
102
|
}
|
|
103
103
|
}, "label:menuStyles;");
|
|
104
|
+
var FieldExtra = /*#__PURE__*/(0, _styled.default)("div", {
|
|
105
|
+
label: "FieldExtra",
|
|
106
|
+
target: "erv8xml4"
|
|
107
|
+
})("padding:10px 0 10px;:empty{display:none;}");
|
|
104
108
|
var allowedTitleFieldTypes = ["text", "number"];
|
|
105
109
|
|
|
106
110
|
var isFieldAllowedToBeTitle = function isFieldAllowedToBeTitle(field, parent) {
|
|
@@ -121,13 +125,13 @@ var Field = function Field(props) {
|
|
|
121
125
|
var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
|
|
122
126
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
123
127
|
|
|
124
|
-
var
|
|
125
|
-
setData =
|
|
126
|
-
data =
|
|
128
|
+
var _useModelEditor = (0, _hooks.useModelEditor)(),
|
|
129
|
+
setData = _useModelEditor.setData,
|
|
130
|
+
data = _useModelEditor.data;
|
|
127
131
|
|
|
128
|
-
var
|
|
129
|
-
getFieldPlugin =
|
|
130
|
-
getFieldRendererPlugin =
|
|
132
|
+
var _useModelFieldEditor = (0, _useModelFieldEditor2.useModelFieldEditor)(),
|
|
133
|
+
getFieldPlugin = _useModelFieldEditor.getFieldPlugin,
|
|
134
|
+
getFieldRendererPlugin = _useModelFieldEditor.getFieldRendererPlugin;
|
|
131
135
|
|
|
132
136
|
var _useConfirmationDialo = (0, _appAdmin.useConfirmationDialog)({
|
|
133
137
|
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Warning - You are trying to delete a locked field!"]))),
|
|
@@ -191,19 +195,20 @@ var Field = function Field(props) {
|
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
var rendererPlugin = getFieldRendererPlugin(field.renderer.name);
|
|
198
|
+
var canEdit = fieldPlugin.field.canEditSettings !== false;
|
|
194
199
|
var isTitleField = data && field.fieldId === data.titleFieldId && !parent;
|
|
195
200
|
var info = [rendererPlugin === null || rendererPlugin === void 0 ? void 0 : rendererPlugin.renderer.name, field.multipleValues ? "multiple values" : null, isTitleField ? "entry title" : null].filter(Boolean).join(", ");
|
|
196
201
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(FieldContainer, null, /*#__PURE__*/_react.default.createElement(Info, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
197
202
|
use: "subtitle1"
|
|
198
203
|
}, field.label), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
199
204
|
use: "caption"
|
|
200
|
-
}, fieldPlugin.field.label, " ", field.multipleValues && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(LowerCase, null, "(", info, ")"))), /*#__PURE__*/_react.default.createElement(Actions, null, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
205
|
+
}, fieldPlugin.field.label, " ", field.multipleValues && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(LowerCase, null, "(", info, ")"))), /*#__PURE__*/_react.default.createElement(Actions, null, canEdit ? /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
201
206
|
"data-testid": "cms.editor.edit-field",
|
|
202
207
|
icon: /*#__PURE__*/_react.default.createElement(_edit.ReactComponent, null),
|
|
203
208
|
onClick: function onClick() {
|
|
204
209
|
return onEdit(field);
|
|
205
210
|
}
|
|
206
|
-
}), /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
|
|
211
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
|
|
207
212
|
className: menuStyles,
|
|
208
213
|
handle: /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
209
214
|
icon: /*#__PURE__*/_react.default.createElement(_more_vert.ReactComponent, null)
|
|
@@ -221,9 +226,7 @@ var Field = function Field(props) {
|
|
|
221
226
|
onClick: onDelete
|
|
222
227
|
}, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
223
228
|
icon: /*#__PURE__*/_react.default.createElement(_delete.ReactComponent, null)
|
|
224
|
-
})), t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Delete"]))))))), /*#__PURE__*/_react.default.createElement(
|
|
225
|
-
className: "field-extra"
|
|
226
|
-
}, fieldPlugin.field.render && fieldPlugin.field.render({
|
|
229
|
+
})), t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Delete"]))))))), /*#__PURE__*/_react.default.createElement(FieldExtra, null, fieldPlugin.field.render && fieldPlugin.field.render({
|
|
227
230
|
field: field,
|
|
228
231
|
data: data,
|
|
229
232
|
setData: setData
|