@webiny/app-headless-cms 5.33.5 → 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":["GeneralTab","field","form","fieldPlugin","Bind","setValue","inputRef","useRef","useContentModelEditor","contentModel","data","useFieldEditor","getField","useEffect","setTimeout","current","focus","afterChangeLabel","useCallback","value","beforeChangeFieldId","baseOnChange","newValue","trim","fieldIdValidator","fieldId","toLowerCase","Error","uniqueFieldIdValidator","existingField","id","additionalSettings","renderSettings","predefinedValuesEnabled","useMemo","allowPredefinedValues","renderPredefinedValues","validation","create","multipleValuesLabel","allowMultipleValues"],"sources":["GeneralTab.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from \"react\";\nimport { camelCase } from \"lodash\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorField, CmsEditorFieldTypePlugin } from \"~/types\";\nimport { FormRenderPropParams } from \"@webiny/form/types\";\n\nimport { useFieldEditor } from \"~/admin/components/FieldEditor\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\ninterface GeneralTabProps {\n field: CmsEditorField;\n form: FormRenderPropParams;\n fieldPlugin: CmsEditorFieldTypePlugin;\n}\n\nconst GeneralTab: React.FC<GeneralTabProps> = ({ field, form, fieldPlugin }) => {\n const { Bind, setValue } = form;\n const inputRef = useRef<HTMLInputElement | null>(null);\n const { data: contentModel } = useContentModelEditor();\n const { getField } = useFieldEditor();\n\n // Had problems with auto-focusing the \"label\" field. A couple of comments on this.\n // 1. It's probably caused by the Tabs component which wraps this component.\n // 2. It seems that the \"autoFocus\" prop on the Input doesn't work. I can't see it attached in the actual DOM.\n // 3. This works, but it's not 100%. Visually, the cursor is frozen, and that's probably caused by a bug / design\n // in the RMWC / Material library. If you were to click somewhere on screen, and then apply focus, then\n // it seems it's behaving correctly. ¯\\_(ツ)_/¯\n useEffect(() => {\n setTimeout(() => {\n if (!inputRef.current) {\n return;\n }\n inputRef.current.focus();\n }, 200);\n }, []);\n\n const afterChangeLabel = useCallback((value: string) => {\n setValue(\"fieldId\", camelCase(value));\n }, []);\n\n const beforeChangeFieldId = useCallback(\n (value: string, baseOnChange: (value: string) => void) => {\n const newValue = value.trim();\n\n baseOnChange(newValue);\n },\n []\n );\n\n const fieldIdValidator = useCallback(fieldId => {\n if (fieldId.trim().toLowerCase() !== \"id\") {\n return true;\n }\n\n throw new Error(`Cannot use \"id\" as Field ID.`);\n }, []);\n\n const uniqueFieldIdValidator = useCallback((fieldId: string) => {\n const existingField = getField({ fieldId });\n if (!existingField) {\n return false;\n }\n\n if (existingField.id === field.id) {\n return true;\n }\n throw new Error(\"Please enter a unique Field ID.\");\n }, []);\n\n let additionalSettings: React.ReactNode | null = null;\n if (typeof fieldPlugin.field.renderSettings === \"function\") {\n additionalSettings = fieldPlugin.field.renderSettings({\n form,\n afterChangeLabel,\n uniqueFieldIdValidator,\n contentModel\n });\n }\n\n const predefinedValuesEnabled = useMemo(\n (): boolean =>\n fieldPlugin.field.allowPredefinedValues &&\n typeof fieldPlugin.field.renderPredefinedValues === \"function\",\n [field.fieldId]\n );\n\n return (\n <>\n <Grid>\n <Cell span={6}>\n <Bind\n name={\"label\"}\n validators={validation.create(\"required\")}\n afterChange={(value: string) => {\n if (field.id) {\n return;\n }\n afterChangeLabel(value);\n }}\n >\n <Input\n label={\"Label\"}\n inputRef={inputRef}\n data-testid=\"cms.editor.field.settings.general.label\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name={\"fieldId\"}\n validators={[\n validation.create(\"required\"),\n uniqueFieldIdValidator,\n fieldIdValidator\n ]}\n beforeChange={beforeChangeFieldId}\n >\n <Input\n label={\"Field ID\"}\n data-testid={`cms.editor.field.settings.general.label-${field.id}`}\n />\n </Bind>\n </Cell>\n\n <Cell span={6}>\n <Bind name={\"multipleValues\"}>\n <Switch\n label={fieldPlugin.field.multipleValuesLabel}\n disabled={!fieldPlugin.field.allowMultipleValues}\n data-testid={`cms.editor.field.settings.general.switch-multiplevalues`}\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind name={\"predefinedValues.enabled\"}>\n <Switch\n label={\"Use predefined values\"}\n disabled={!predefinedValuesEnabled}\n data-testid={`cms.editor.field.settings.general.switch-predefinedvalues`}\n />\n </Bind>\n </Cell>\n\n <Cell span={12}>\n <Bind name={\"helpText\"}>\n <Input\n label={\"Help text\"}\n description={\"Help text (optional)\"}\n data-testid={`cms.editor.field.settings.general.helptext`}\n />\n </Bind>\n </Cell>\n </Grid>\n {additionalSettings}\n </>\n );\n};\n\nexport default GeneralTab;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["GeneralTab","form","useForm","useModelField","field","fieldPlugin","inputRef","useRef","useModelEditor","contentModel","data","useModelFieldEditor","getField","useEffect","setTimeout","current","focus","afterChangeLabel","useCallback","value","setValue","beforeChangeFieldId","baseOnChange","trim","fieldIdValidator","fieldId","toLowerCase","Error","uniqueFieldIdValidator","existingField","id","additionalSettings","renderSettings","predefinedValuesEnabled","useMemo","allowPredefinedValues","renderPredefinedValues","validation","create","multipleValuesLabel","allowMultipleValues","tags"],"sources":["GeneralTab.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useRef, useMemo } from \"react\";\nimport { camelCase } from \"lodash\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { Tags } from \"@webiny/ui/Tags\";\nimport { useForm, Bind } from \"@webiny/form\";\nimport { useModelFieldEditor } from \"~/admin/components/FieldEditor\";\nimport { useModelEditor } from \"~/admin/hooks\";\nimport { useModelField } from \"~/admin/hooks\";\n\nconst GeneralTab = () => {\n const form = useForm();\n const { field, fieldPlugin } = useModelField();\n const inputRef = useRef<HTMLInputElement | null>(null);\n const { data: contentModel } = useModelEditor();\n const { getField } = useModelFieldEditor();\n\n // Had problems with auto-focusing the \"label\" field. A couple of comments on this.\n // 1. It's probably caused by the Tabs component which wraps this component.\n // 2. It seems that the \"autoFocus\" prop on the Input doesn't work. I can't see it attached in the actual DOM.\n // 3. This works, but it's not 100%. Visually, the cursor is frozen, and that's probably caused by a bug / design\n // in the RMWC / Material library. If you were to click somewhere on screen, and then apply focus, then\n // it seems it's behaving correctly. ¯\\_(ツ)_/¯\n useEffect(() => {\n setTimeout(() => {\n if (!inputRef.current) {\n return;\n }\n inputRef.current.focus();\n }, /* The value of 400 was determined by manual testing. */ 400);\n }, []);\n\n const afterChangeLabel = useCallback((value: string) => {\n form.setValue(\"fieldId\", camelCase(value));\n }, []);\n\n const beforeChangeFieldId = useCallback(\n (value: string, baseOnChange: (value: string) => void) => {\n baseOnChange(value.trim());\n },\n []\n );\n\n const fieldIdValidator = useCallback(fieldId => {\n if (fieldId.trim().toLowerCase() !== \"id\") {\n return true;\n }\n\n throw new Error(`Cannot use \"id\" as Field ID.`);\n }, []);\n\n const uniqueFieldIdValidator = useCallback((fieldId: string) => {\n const existingField = getField({ fieldId });\n if (!existingField) {\n return false;\n }\n\n if (existingField.id === field.id) {\n return true;\n }\n throw new Error(\"Please enter a unique Field ID.\");\n }, []);\n\n let additionalSettings: React.ReactNode | null = null;\n if (typeof fieldPlugin.field.renderSettings === \"function\") {\n additionalSettings = fieldPlugin.field.renderSettings({\n afterChangeLabel,\n uniqueFieldIdValidator,\n contentModel\n });\n }\n\n const predefinedValuesEnabled = useMemo(\n (): boolean =>\n fieldPlugin.field.allowPredefinedValues &&\n typeof fieldPlugin.field.renderPredefinedValues === \"function\",\n [field.fieldId]\n );\n\n return (\n <>\n <Grid>\n <Cell span={6}>\n <Bind\n name={\"label\"}\n validators={validation.create(\"required\")}\n afterChange={(value: string) => {\n if (field.id) {\n return;\n }\n afterChangeLabel(value);\n }}\n >\n <Input\n label={\"Label\"}\n inputRef={inputRef}\n data-testid=\"cms.editor.field.settings.general.label\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name={\"fieldId\"}\n validators={[\n validation.create(\"required\"),\n uniqueFieldIdValidator,\n fieldIdValidator\n ]}\n beforeChange={beforeChangeFieldId}\n >\n <Input\n label={\"Field ID\"}\n data-testid={`cms.editor.field.settings.general.label-${field.id}`}\n />\n </Bind>\n </Cell>\n\n <Cell span={6}>\n <Bind name={\"multipleValues\"}>\n <Switch\n label={fieldPlugin.field.multipleValuesLabel}\n disabled={!fieldPlugin.field.allowMultipleValues}\n data-testid={`cms.editor.field.settings.general.switch-multiplevalues`}\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind name={\"predefinedValues.enabled\"}>\n <Switch\n label={\"Use predefined values\"}\n disabled={!predefinedValuesEnabled}\n data-testid={`cms.editor.field.settings.general.switch-predefinedvalues`}\n />\n </Bind>\n </Cell>\n\n <Cell span={12}>\n <Bind name={\"helpText\"}>\n <Input\n label={\"Help text\"}\n description={\"Help text (optional)\"}\n data-testid={`cms.editor.field.settings.general.helptext`}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"tags\"}>\n <Tags\n label={\"Tags\"}\n protectedTags={fieldPlugin.field.tags}\n description={\"Field tags (optional)\"}\n data-testid={`cms.editor.field.settings.general.tags`}\n />\n </Bind>\n </Cell>\n </Grid>\n {additionalSettings}\n </>\n );\n};\n\nexport default GeneralTab;\n"],"mappings":"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"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { FormRenderPropParams } from "@webiny/form";
|
|
4
|
-
export interface PredefinedValuesProps {
|
|
5
|
-
field: CmsEditorField;
|
|
6
|
-
fieldPlugin: CmsEditorFieldTypePlugin;
|
|
7
|
-
form: FormRenderPropParams;
|
|
8
|
-
}
|
|
9
|
-
declare const PredefinedValues: React.FC<PredefinedValuesProps>;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const PredefinedValues: () => JSX.Element;
|
|
10
3
|
export default PredefinedValues;
|
|
@@ -21,12 +21,16 @@ var _getValue = _interopRequireDefault(require("./functions/getValue"));
|
|
|
21
21
|
|
|
22
22
|
var _setValue = _interopRequireDefault(require("./functions/setValue"));
|
|
23
23
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
var _form = require("@webiny/form");
|
|
25
|
+
|
|
26
|
+
var _hooks = require("../../../hooks");
|
|
27
|
+
|
|
28
|
+
var PredefinedValues = function PredefinedValues() {
|
|
29
|
+
var _useModelField = (0, _hooks.useModelField)(),
|
|
30
|
+
field = _useModelField.field,
|
|
31
|
+
fieldPlugin = _useModelField.fieldPlugin;
|
|
32
|
+
|
|
28
33
|
var memoizedBindComponents = (0, _react.useRef)({});
|
|
29
|
-
var BaseFormBind = form.Bind;
|
|
30
34
|
var getBind = (0, _react.useCallback)(function () {
|
|
31
35
|
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
|
|
32
36
|
var memoKey = index;
|
|
@@ -35,10 +39,10 @@ var PredefinedValues = function PredefinedValues(_ref) {
|
|
|
35
39
|
return memoizedBindComponents.current[memoKey];
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
var Bind = function Bind(
|
|
39
|
-
var children =
|
|
40
|
-
name =
|
|
41
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
42
|
+
var Bind = function Bind(_ref) {
|
|
43
|
+
var children = _ref.children,
|
|
44
|
+
name = _ref.name;
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement(_form.Bind, {
|
|
42
46
|
name: "predefinedValues.values"
|
|
43
47
|
}, function (bind) {
|
|
44
48
|
var props = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, bind), {}, {
|
|
@@ -94,9 +98,7 @@ var PredefinedValues = function PredefinedValues(_ref) {
|
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, fieldPlugin.field.renderPredefinedValues({
|
|
97
|
-
|
|
98
|
-
getBind: getBind,
|
|
99
|
-
form: form
|
|
101
|
+
getBind: getBind
|
|
100
102
|
}));
|
|
101
103
|
};
|
|
102
104
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PredefinedValues","
|
|
1
|
+
{"version":3,"names":["PredefinedValues","useModelField","field","fieldPlugin","memoizedBindComponents","useRef","getBind","useCallback","index","memoKey","current","Bind","children","name","bind","props","value","getValue","onChange","setValue","cloneElement","renderPredefinedValues","type"],"sources":["PredefinedValues.tsx"],"sourcesContent":["import React, { useCallback, useRef, cloneElement } from \"react\";\nimport getValue from \"./functions/getValue\";\nimport setValue from \"./functions/setValue\";\nimport { BindComponent, Bind as BaseFormBind } from \"@webiny/form\";\nimport { useModelField } from \"~/admin/hooks\";\n\ninterface MemoizedBindComponents {\n [key: string]: BindComponent;\n}\n\nconst PredefinedValues = () => {\n const { field, fieldPlugin } = useModelField();\n const memoizedBindComponents = useRef<MemoizedBindComponents>({});\n\n const getBind = useCallback((index = -1) => {\n const memoKey = index;\n if (memoizedBindComponents.current[memoKey]) {\n return memoizedBindComponents.current[memoKey];\n }\n\n const Bind: BindComponent = ({ children, name }) => {\n return (\n <BaseFormBind name={\"predefinedValues.values\"}>\n {bind => {\n const props = {\n ...bind,\n value: getValue({ bind, index, name }),\n onChange: async (value: string[]) => {\n await setValue({ value, bind, index, name });\n }\n };\n\n if (typeof children === \"function\") {\n return children(props);\n }\n\n return cloneElement(children as unknown as React.ReactElement, props);\n }}\n </BaseFormBind>\n );\n };\n\n memoizedBindComponents.current[memoKey] = Bind;\n\n return memoizedBindComponents.current[memoKey];\n }, []);\n if (!fieldPlugin.field.renderPredefinedValues) {\n return (\n <>{`Missing \"field.renderPredefinedValues\" method in field type plugin: \"${field.type}\".`}</>\n );\n }\n\n return <>{fieldPlugin.field.renderPredefinedValues({ getBind })}</>;\n};\n\nexport default PredefinedValues;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAMA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;EAC3B,qBAA+B,IAAAC,oBAAA,GAA/B;EAAA,IAAQC,KAAR,kBAAQA,KAAR;EAAA,IAAeC,WAAf,kBAAeA,WAAf;;EACA,IAAMC,sBAAsB,GAAG,IAAAC,aAAA,EAA+B,EAA/B,CAA/B;EAEA,IAAMC,OAAO,GAAG,IAAAC,kBAAA,EAAY,YAAgB;IAAA,IAAfC,KAAe,uEAAP,CAAC,CAAM;IACxC,IAAMC,OAAO,GAAGD,KAAhB;;IACA,IAAIJ,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,CAAJ,EAA6C;MACzC,OAAOL,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,CAAP;IACH;;IAED,IAAME,IAAmB,GAAG,SAAtBA,IAAsB,OAAwB;MAAA,IAArBC,QAAqB,QAArBA,QAAqB;MAAA,IAAXC,IAAW,QAAXA,IAAW;MAChD,oBACI,6BAAC,UAAD;QAAc,IAAI,EAAE;MAApB,GACK,UAAAC,IAAI,EAAI;QACL,IAAMC,KAAK,+DACJD,IADI;UAEPE,KAAK,EAAE,IAAAC,iBAAA,EAAS;YAAEH,IAAI,EAAJA,IAAF;YAAQN,KAAK,EAALA,KAAR;YAAeK,IAAI,EAAJA;UAAf,CAAT,CAFA;UAGPK,QAAQ;YAAA,uGAAE,iBAAOF,KAAP;cAAA;gBAAA;kBAAA;oBAAA;sBAAA;sBAAA,OACA,IAAAG,iBAAA,EAAS;wBAAEH,KAAK,EAALA,KAAF;wBAASF,IAAI,EAAJA,IAAT;wBAAeN,KAAK,EAALA,KAAf;wBAAsBK,IAAI,EAAJA;sBAAtB,CAAT,CADA;;oBAAA;oBAAA;sBAAA;kBAAA;gBAAA;cAAA;YAAA,CAAF;;YAAA;cAAA;YAAA;;YAAA;UAAA;QAHD,EAAX;;QAQA,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;UAChC,OAAOA,QAAQ,CAACG,KAAD,CAAf;QACH;;QAED,oBAAO,IAAAK,mBAAA,EAAaR,QAAb,EAAwDG,KAAxD,CAAP;MACH,CAfL,CADJ;IAmBH,CApBD;;IAsBAX,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,IAA0CE,IAA1C;IAEA,OAAOP,sBAAsB,CAACM,OAAvB,CAA+BD,OAA/B,CAAP;EACH,CA/Be,EA+Bb,EA/Ba,CAAhB;;EAgCA,IAAI,CAACN,WAAW,CAACD,KAAZ,CAAkBmB,sBAAvB,EAA+C;IAC3C,oBACI,8IAA2EnB,KAAK,CAACoB,IAAjF,SADJ;EAGH;;EAED,oBAAO,4DAAGnB,WAAW,CAACD,KAAZ,CAAkBmB,sBAAlB,CAAyC;IAAEf,OAAO,EAAPA;EAAF,CAAzC,CAAH,CAAP;AACH,CA3CD;;eA6CeN,gB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CmsModelFieldValidatorConfigAdapter } from "../../../../utils/CmsModelFieldValidatorConfigAdapter";
|
|
3
|
+
interface ValidatorsSectionProps {
|
|
4
|
+
title: string;
|
|
5
|
+
fieldKey: "validators" | "listValidators";
|
|
6
|
+
description: string;
|
|
7
|
+
validators: CmsModelFieldValidatorConfigAdapter[];
|
|
8
|
+
}
|
|
9
|
+
export declare const ValidationsSection: ({ title, description, fieldKey, validators }: ValidatorsSectionProps) => JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ValidationsSection = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Grid = require("@webiny/ui/Grid");
|
|
13
|
+
|
|
14
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
15
|
+
|
|
16
|
+
var _ValidatorsList = require("./ValidatorsList");
|
|
17
|
+
|
|
18
|
+
var bindTo = {
|
|
19
|
+
validators: "validation",
|
|
20
|
+
listValidators: "listValidation"
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var ValidationsSection = function ValidationsSection(_ref) {
|
|
24
|
+
var title = _ref.title,
|
|
25
|
+
description = _ref.description,
|
|
26
|
+
fieldKey = _ref.fieldKey,
|
|
27
|
+
validators = _ref.validators;
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
29
|
+
span: 12
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
31
|
+
use: "headline5"
|
|
32
|
+
}, title), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
33
|
+
use: "body2"
|
|
34
|
+
}, description)), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
35
|
+
span: 12
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_ValidatorsList.ValidatorsList, {
|
|
37
|
+
name: bindTo[fieldKey],
|
|
38
|
+
validators: validators
|
|
39
|
+
})));
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
exports.ValidationsSection = ValidationsSection;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["bindTo","validators","listValidators","ValidationsSection","title","description","fieldKey"],"sources":["ValidationsSection.tsx"],"sourcesContent":["import React from \"react\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ValidatorsList } from \"./ValidatorsList\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\n\ninterface ValidatorsSectionProps {\n title: string;\n fieldKey: \"validators\" | \"listValidators\";\n description: string;\n validators: CmsModelFieldValidatorConfigAdapter[];\n}\n\nconst bindTo = {\n validators: \"validation\",\n listValidators: \"listValidation\"\n};\n\nexport const ValidationsSection = ({\n title,\n description,\n fieldKey,\n validators\n}: ValidatorsSectionProps) => {\n return (\n <Grid>\n <Cell span={12}>\n <Typography use={\"headline5\"}>{title}</Typography>\n <br />\n <Typography use={\"body2\"}>{description}</Typography>\n </Cell>\n <Cell span={12}>\n <ValidatorsList name={bindTo[fieldKey]} validators={validators} />\n </Cell>\n </Grid>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAUA,IAAMA,MAAM,GAAG;EACXC,UAAU,EAAE,YADD;EAEXC,cAAc,EAAE;AAFL,CAAf;;AAKO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,OAKJ;EAAA,IAJ1BC,KAI0B,QAJ1BA,KAI0B;EAAA,IAH1BC,WAG0B,QAH1BA,WAG0B;EAAA,IAF1BC,QAE0B,QAF1BA,QAE0B;EAAA,IAD1BL,UAC0B,QAD1BA,UAC0B;EAC1B,oBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA+BG,KAA/B,CADJ,eAEI,wCAFJ,eAGI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA2BC,WAA3B,CAHJ,CADJ,eAMI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,8BAAD;IAAgB,IAAI,EAAEL,MAAM,CAACM,QAAD,CAA5B;IAAwC,UAAU,EAAEL;EAApD,EADJ,CANJ,CADJ;AAYH,CAlBM"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CmsModelFieldValidatorConfigAdapter } from "../../../../utils/CmsModelFieldValidatorConfigAdapter";
|
|
3
|
+
interface ValidatorsTabProps {
|
|
4
|
+
name: string;
|
|
5
|
+
validators: CmsModelFieldValidatorConfigAdapter[];
|
|
6
|
+
}
|
|
7
|
+
export declare const ValidatorsList: React.FC<ValidatorsTabProps>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.ValidatorsList = void 0;
|
|
11
|
+
|
|
12
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
|
|
17
|
+
|
|
18
|
+
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _emotion = require("emotion");
|
|
23
|
+
|
|
24
|
+
var _plugins = require("@webiny/plugins");
|
|
25
|
+
|
|
26
|
+
var _Switch = require("@webiny/ui/Switch");
|
|
27
|
+
|
|
28
|
+
var _form = require("@webiny/form");
|
|
29
|
+
|
|
30
|
+
var _Grid = require("@webiny/ui/Grid");
|
|
31
|
+
|
|
32
|
+
var _validation = require("@webiny/validation");
|
|
33
|
+
|
|
34
|
+
var _Input = require("@webiny/ui/Input");
|
|
35
|
+
|
|
36
|
+
var _Accordion = require("@webiny/ui/Accordion");
|
|
37
|
+
|
|
38
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
39
|
+
|
|
40
|
+
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
41
|
+
|
|
42
|
+
var Variable = /*#__PURE__*/(0, _styled.default)("span", {
|
|
43
|
+
label: "Variable",
|
|
44
|
+
target: "e19f04zm0"
|
|
45
|
+
})("font-weight:bold;cursor:pointer;");
|
|
46
|
+
var Comma = /*#__PURE__*/(0, _styled.default)("span", {
|
|
47
|
+
label: "Comma",
|
|
48
|
+
target: "e19f04zm1"
|
|
49
|
+
})("padding-right:5px;");
|
|
50
|
+
var noPadding = /*#__PURE__*/(0, _emotion.css)(".webiny-ui-accordion-item__content{padding:0 !important;}label:noPadding;");
|
|
51
|
+
var gridBottomPadding = /*#__PURE__*/(0, _emotion.css)(":not(:last-child){padding-bottom:0;}label:gridBottomPadding;");
|
|
52
|
+
|
|
53
|
+
var onEnabledChange = function onEnabledChange(params) {
|
|
54
|
+
var data = params.data,
|
|
55
|
+
validationValue = params.validationValue,
|
|
56
|
+
onChangeValidation = params.onChangeValidation,
|
|
57
|
+
validator = params.validator;
|
|
58
|
+
|
|
59
|
+
if (data) {
|
|
60
|
+
var index = validationValue.findIndex(function (item) {
|
|
61
|
+
return item.name === validator.getName();
|
|
62
|
+
});
|
|
63
|
+
onChangeValidation([].concat((0, _toConsumableArray2.default)(validationValue.slice(0, index)), (0, _toConsumableArray2.default)(validationValue.slice(index + 1))));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
onChangeValidation([].concat((0, _toConsumableArray2.default)(validationValue), [{
|
|
68
|
+
name: validator.getName(),
|
|
69
|
+
settings: validator.getDefaultSettings(),
|
|
70
|
+
message: validator.getDefaultMessage()
|
|
71
|
+
}]));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var onFormChange = (0, _debounce2.default)(function (_ref) {
|
|
75
|
+
var data = _ref.data,
|
|
76
|
+
validationValue = _ref.validationValue,
|
|
77
|
+
onChangeValidation = _ref.onChangeValidation,
|
|
78
|
+
validatorIndex = _ref.validatorIndex;
|
|
79
|
+
var newValidationValue = (0, _cloneDeep2.default)(validationValue);
|
|
80
|
+
newValidationValue[validatorIndex] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, newValidationValue[validatorIndex]), (0, _cloneDeep2.default)(data));
|
|
81
|
+
onChangeValidation(newValidationValue);
|
|
82
|
+
}, 200);
|
|
83
|
+
|
|
84
|
+
var renderEmpty = function renderEmpty() {
|
|
85
|
+
return null;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
var getValidatorPlugin = function getValidatorPlugin(name) {
|
|
89
|
+
var plugin = _plugins.plugins.byType("cms-model-field-validator").find(function (plugin) {
|
|
90
|
+
return plugin.validator.name === name;
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
if (!plugin) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return plugin.validator;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var ValidatorItem = function ValidatorItem(_ref2) {
|
|
101
|
+
var validator = _ref2.validator,
|
|
102
|
+
value = _ref2.value,
|
|
103
|
+
_onChange = _ref2.onChange;
|
|
104
|
+
var validatorName = validator.getName();
|
|
105
|
+
var plugin = getValidatorPlugin(validatorName);
|
|
106
|
+
|
|
107
|
+
if (!plugin) {
|
|
108
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var validatorIndex = (value || []).findIndex(function (item) {
|
|
112
|
+
return item.name === validatorName;
|
|
113
|
+
});
|
|
114
|
+
var data = (value || [])[validatorIndex];
|
|
115
|
+
|
|
116
|
+
if (typeof plugin.renderCustomUi === "function") {
|
|
117
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
|
|
118
|
+
key: validatorName
|
|
119
|
+
}, plugin.renderCustomUi());
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var renderSettings = plugin.renderSettings || renderEmpty;
|
|
123
|
+
var actions = !validator.isRequired() ? /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Switch.Switch, {
|
|
124
|
+
label: "Enabled",
|
|
125
|
+
value: validatorIndex >= 0,
|
|
126
|
+
onChange: function onChange() {
|
|
127
|
+
return onEnabledChange({
|
|
128
|
+
data: data,
|
|
129
|
+
validationValue: value,
|
|
130
|
+
onChangeValidation: _onChange,
|
|
131
|
+
validator: validator
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
})) : null;
|
|
135
|
+
var description = [/*#__PURE__*/_react.default.createElement("span", {
|
|
136
|
+
key: "msg"
|
|
137
|
+
}, "This message will be displayed to the user.")];
|
|
138
|
+
var variables = validator.getVariables();
|
|
139
|
+
|
|
140
|
+
if (variables.length) {
|
|
141
|
+
description.push( /*#__PURE__*/_react.default.createElement("span", {
|
|
142
|
+
key: "vars"
|
|
143
|
+
}, "\xA0Available variables:\xA0"));
|
|
144
|
+
|
|
145
|
+
for (var i = 0; i < variables.length; i++) {
|
|
146
|
+
var variable = variables[i];
|
|
147
|
+
description.push( /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
148
|
+
key: variable.name,
|
|
149
|
+
content: variable.description,
|
|
150
|
+
placement: "bottom"
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement(Variable, {
|
|
152
|
+
dangerouslySetInnerHTML: {
|
|
153
|
+
__html: "{".concat(variable.name, "}")
|
|
154
|
+
}
|
|
155
|
+
})));
|
|
156
|
+
|
|
157
|
+
if (i < variables.length - 1) {
|
|
158
|
+
description.push( /*#__PURE__*/_react.default.createElement(Comma, {
|
|
159
|
+
key: "comma-".concat(i)
|
|
160
|
+
}, ","));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
description.push( /*#__PURE__*/_react.default.createElement(Comma, {
|
|
165
|
+
key: "dot"
|
|
166
|
+
}, "."));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
|
|
170
|
+
key: validator.getName(),
|
|
171
|
+
"data-testid": "cms.editor.field-validator.".concat(validator.getName()),
|
|
172
|
+
interactive: false,
|
|
173
|
+
open: !!data,
|
|
174
|
+
title: validator.getLabel(),
|
|
175
|
+
description: validator.getDescription(),
|
|
176
|
+
actions: actions,
|
|
177
|
+
className: noPadding
|
|
178
|
+
}, data && /*#__PURE__*/_react.default.createElement(_form.Form, {
|
|
179
|
+
data: data,
|
|
180
|
+
onChange: function onChange(data) {
|
|
181
|
+
return onFormChange({
|
|
182
|
+
data: data,
|
|
183
|
+
validationValue: value,
|
|
184
|
+
onChangeValidation: _onChange,
|
|
185
|
+
validatorIndex: validatorIndex
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}, function (_ref3) {
|
|
189
|
+
var Bind = _ref3.Bind;
|
|
190
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
|
|
191
|
+
className: gridBottomPadding
|
|
192
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
193
|
+
span: 12
|
|
194
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
195
|
+
name: "message",
|
|
196
|
+
validators: _validation.validation.create("required")
|
|
197
|
+
}, function (bind) {
|
|
198
|
+
return /*#__PURE__*/_react.default.createElement(_Input.Input, Object.assign({}, bind, {
|
|
199
|
+
label: "Message",
|
|
200
|
+
"data-testid": "cms.editfield.validators.required",
|
|
201
|
+
description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, description)
|
|
202
|
+
}));
|
|
203
|
+
}))), renderSettings(validator));
|
|
204
|
+
}));
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
var ValidatorsList = function ValidatorsList(props) {
|
|
208
|
+
var name = props.name,
|
|
209
|
+
validators = props.validators;
|
|
210
|
+
return /*#__PURE__*/_react.default.createElement(_form.Bind, {
|
|
211
|
+
name: name,
|
|
212
|
+
defaultValue: []
|
|
213
|
+
}, function (bind) {
|
|
214
|
+
var value = bind.value,
|
|
215
|
+
onChange = bind.onChange;
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, validators.map(function (validator) {
|
|
217
|
+
return /*#__PURE__*/_react.default.createElement(ValidatorItem, {
|
|
218
|
+
key: validator.getName(),
|
|
219
|
+
value: value,
|
|
220
|
+
onChange: onChange,
|
|
221
|
+
validator: validator
|
|
222
|
+
});
|
|
223
|
+
}));
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
exports.ValidatorsList = ValidatorsList;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Variable","styled","Comma","noPadding","css","gridBottomPadding","onEnabledChange","params","data","validationValue","onChangeValidation","validator","index","findIndex","item","name","getName","slice","settings","getDefaultSettings","message","getDefaultMessage","onFormChange","validatorIndex","newValidationValue","renderEmpty","getValidatorPlugin","plugin","plugins","byType","find","ValidatorItem","value","onChange","validatorName","renderCustomUi","renderSettings","actions","isRequired","description","variables","getVariables","length","push","i","variable","__html","getLabel","getDescription","Bind","validation","create","bind","ValidatorsList","props","validators","map"],"sources":["ValidatorsList.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { css } from \"emotion\";\nimport { cloneDeep, debounce } from \"lodash\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Switch } from \"@webiny/ui/Switch\";\nimport { Form, Bind } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { CmsModelFieldValidator, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\nimport styled from \"@emotion/styled\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nconst Variable = styled.span`\n font-weight: bold;\n cursor: pointer;\n`;\n\nconst Comma = styled.span`\n padding-right: 5px;\n`;\n\nconst noPadding = css`\n .webiny-ui-accordion-item__content {\n padding: 0 !important;\n }\n`;\n\nconst gridBottomPadding = css`\n :not(:last-child) {\n padding-bottom: 0;\n }\n`;\n\ninterface OnChangeValidationCallable {\n (validators: CmsModelFieldValidator[]): void;\n}\n\ninterface OnEnabledChangeParams {\n data: CmsModelFieldValidator;\n validationValue: CmsModelFieldValidator[];\n onChangeValidation: OnChangeValidationCallable;\n validator: CmsModelFieldValidatorConfigAdapter;\n}\n\nconst onEnabledChange = (params: OnEnabledChangeParams): void => {\n const { data, validationValue, onChangeValidation, validator } = params;\n if (data) {\n const index = validationValue.findIndex(item => item.name === validator.getName());\n onChangeValidation([\n ...validationValue.slice(0, index),\n ...validationValue.slice(index + 1)\n ]);\n return;\n }\n onChangeValidation([\n ...validationValue,\n {\n name: validator.getName(),\n settings: validator.getDefaultSettings(),\n message: validator.getDefaultMessage()\n }\n ]);\n};\n\nconst onFormChange = debounce(({ data, validationValue, onChangeValidation, validatorIndex }) => {\n const newValidationValue = cloneDeep(validationValue);\n newValidationValue[validatorIndex] = {\n ...newValidationValue[validatorIndex],\n ...cloneDeep(data)\n };\n onChangeValidation(newValidationValue);\n}, 200);\n\ninterface ValidatorsTabProps {\n name: string;\n validators: CmsModelFieldValidatorConfigAdapter[];\n}\n\nconst renderEmpty = () => null;\n\nconst getValidatorPlugin = (name: string): CmsModelFieldValidatorPlugin[\"validator\"] | null => {\n const plugin = plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .find(plugin => plugin.validator.name === name);\n\n if (!plugin) {\n return null;\n }\n\n return plugin.validator;\n};\n\ninterface ValidatorItemProps {\n validator: CmsModelFieldValidatorConfigAdapter;\n value: any;\n onChange: OnChangeValidationCallable;\n}\n\nconst ValidatorItem = ({ validator, value, onChange }: ValidatorItemProps) => {\n const validatorName = validator.getName();\n\n const plugin = getValidatorPlugin(validatorName);\n if (!plugin) {\n return <></>;\n }\n\n const validatorIndex = ((value || []) as Validator[]).findIndex(\n item => item.name === validatorName\n );\n\n const data = (value || [])[validatorIndex];\n\n if (typeof plugin.renderCustomUi === \"function\") {\n return <Fragment key={validatorName}>{plugin.renderCustomUi()}</Fragment>;\n }\n\n const renderSettings = plugin.renderSettings || renderEmpty;\n\n const actions = !validator.isRequired() ? (\n <AccordionItem.Actions>\n <Switch\n label=\"Enabled\"\n value={validatorIndex >= 0}\n onChange={() =>\n onEnabledChange({\n data,\n validationValue: value,\n onChangeValidation: onChange,\n validator: validator\n })\n }\n />\n </AccordionItem.Actions>\n ) : null;\n\n const description = [<span key={\"msg\"}>This message will be displayed to the user.</span>];\n const variables = validator.getVariables();\n\n if (variables.length) {\n description.push(<span key={\"vars\"}> Available variables: </span>);\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i];\n\n description.push(\n <Tooltip key={variable.name} content={variable.description} placement={\"bottom\"}>\n <Variable dangerouslySetInnerHTML={{ __html: `{${variable.name}}` }} />\n </Tooltip>\n );\n\n if (i < variables.length - 1) {\n description.push(<Comma key={`comma-${i}`}>,</Comma>);\n }\n }\n description.push(<Comma key={\"dot\"}>.</Comma>);\n }\n\n return (\n <AccordionItem\n key={validator.getName()}\n data-testid={`cms.editor.field-validator.${validator.getName()}`}\n interactive={false}\n open={!!data}\n title={validator.getLabel()}\n description={validator.getDescription()}\n actions={actions}\n className={noPadding}\n >\n {data && (\n <Form\n data={data}\n onChange={data =>\n onFormChange({\n data,\n validationValue: value,\n onChangeValidation: onChange,\n validatorIndex\n })\n }\n >\n {({ Bind }) => (\n <>\n <Grid className={gridBottomPadding}>\n <Cell span={12}>\n <Bind\n name={\"message\"}\n validators={validation.create(\"required\")}\n >\n {bind => {\n return (\n <Input\n {...bind}\n label={\"Message\"}\n data-testid=\"cms.editfield.validators.required\"\n description={<>{description}</>}\n />\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n\n {renderSettings(validator)}\n </>\n )}\n </Form>\n )}\n </AccordionItem>\n );\n};\n\nexport const ValidatorsList: React.FC<ValidatorsTabProps> = props => {\n const { name, validators } = props;\n\n return (\n <Bind name={name} defaultValue={[]}>\n {bind => {\n const { value, onChange } = bind;\n return (\n <Accordion>\n {validators.map(validator => {\n return (\n <ValidatorItem\n key={validator.getName()}\n value={value}\n onChange={onChange}\n validator={validator}\n />\n );\n })}\n </Accordion>\n );\n }}\n </Bind>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAEA;;AACA;;AAEA,IAAMA,QAAQ,oBAAGC,eAAH;EAAA;EAAA;AAAA,sCAAd;AAKA,IAAMC,KAAK,oBAAGD,eAAH;EAAA;EAAA;AAAA,wBAAX;AAIA,IAAME,SAAS,oBAAGC,YAAH,8EAAf;AAMA,IAAMC,iBAAiB,oBAAGD,YAAH,iEAAvB;;AAiBA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAACC,MAAD,EAAyC;EAC7D,IAAQC,IAAR,GAAiED,MAAjE,CAAQC,IAAR;EAAA,IAAcC,eAAd,GAAiEF,MAAjE,CAAcE,eAAd;EAAA,IAA+BC,kBAA/B,GAAiEH,MAAjE,CAA+BG,kBAA/B;EAAA,IAAmDC,SAAnD,GAAiEJ,MAAjE,CAAmDI,SAAnD;;EACA,IAAIH,IAAJ,EAAU;IACN,IAAMI,KAAK,GAAGH,eAAe,CAACI,SAAhB,CAA0B,UAAAC,IAAI;MAAA,OAAIA,IAAI,CAACC,IAAL,KAAcJ,SAAS,CAACK,OAAV,EAAlB;IAAA,CAA9B,CAAd;IACAN,kBAAkB,4CACXD,eAAe,CAACQ,KAAhB,CAAsB,CAAtB,EAAyBL,KAAzB,CADW,oCAEXH,eAAe,CAACQ,KAAhB,CAAsBL,KAAK,GAAG,CAA9B,CAFW,GAAlB;IAIA;EACH;;EACDF,kBAAkB,4CACXD,eADW,IAEd;IACIM,IAAI,EAAEJ,SAAS,CAACK,OAAV,EADV;IAEIE,QAAQ,EAAEP,SAAS,CAACQ,kBAAV,EAFd;IAGIC,OAAO,EAAET,SAAS,CAACU,iBAAV;EAHb,CAFc,GAAlB;AAQH,CAlBD;;AAoBA,IAAMC,YAAY,GAAG,wBAAS,gBAAmE;EAAA,IAAhEd,IAAgE,QAAhEA,IAAgE;EAAA,IAA1DC,eAA0D,QAA1DA,eAA0D;EAAA,IAAzCC,kBAAyC,QAAzCA,kBAAyC;EAAA,IAArBa,cAAqB,QAArBA,cAAqB;EAC7F,IAAMC,kBAAkB,GAAG,yBAAUf,eAAV,CAA3B;EACAe,kBAAkB,CAACD,cAAD,CAAlB,+DACOC,kBAAkB,CAACD,cAAD,CADzB,GAEO,yBAAUf,IAAV,CAFP;EAIAE,kBAAkB,CAACc,kBAAD,CAAlB;AACH,CAPoB,EAOlB,GAPkB,CAArB;;AAcA,IAAMC,WAAW,GAAG,SAAdA,WAAc;EAAA,OAAM,IAAN;AAAA,CAApB;;AAEA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACX,IAAD,EAAoE;EAC3F,IAAMY,MAAM,GAAGC,gBAAA,CACVC,MADU,CAC2B,2BAD3B,EAEVC,IAFU,CAEL,UAAAH,MAAM;IAAA,OAAIA,MAAM,CAAChB,SAAP,CAAiBI,IAAjB,KAA0BA,IAA9B;EAAA,CAFD,CAAf;;EAIA,IAAI,CAACY,MAAL,EAAa;IACT,OAAO,IAAP;EACH;;EAED,OAAOA,MAAM,CAAChB,SAAd;AACH,CAVD;;AAkBA,IAAMoB,aAAa,GAAG,SAAhBA,aAAgB,QAAwD;EAAA,IAArDpB,SAAqD,SAArDA,SAAqD;EAAA,IAA1CqB,KAA0C,SAA1CA,KAA0C;EAAA,IAAnCC,SAAmC,SAAnCA,QAAmC;EAC1E,IAAMC,aAAa,GAAGvB,SAAS,CAACK,OAAV,EAAtB;EAEA,IAAMW,MAAM,GAAGD,kBAAkB,CAACQ,aAAD,CAAjC;;EACA,IAAI,CAACP,MAAL,EAAa;IACT,oBAAO,2DAAP;EACH;;EAED,IAAMJ,cAAc,GAAG,CAAES,KAAK,IAAI,EAAX,EAA+BnB,SAA/B,CACnB,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,IAAL,KAAcmB,aAAlB;EAAA,CADe,CAAvB;EAIA,IAAM1B,IAAI,GAAG,CAACwB,KAAK,IAAI,EAAV,EAAcT,cAAd,CAAb;;EAEA,IAAI,OAAOI,MAAM,CAACQ,cAAd,KAAiC,UAArC,EAAiD;IAC7C,oBAAO,6BAAC,eAAD;MAAU,GAAG,EAAED;IAAf,GAA+BP,MAAM,CAACQ,cAAP,EAA/B,CAAP;EACH;;EAED,IAAMC,cAAc,GAAGT,MAAM,CAACS,cAAP,IAAyBX,WAAhD;EAEA,IAAMY,OAAO,GAAG,CAAC1B,SAAS,CAAC2B,UAAV,EAAD,gBACZ,6BAAC,wBAAD,CAAe,OAAf,qBACI,6BAAC,cAAD;IACI,KAAK,EAAC,SADV;IAEI,KAAK,EAAEf,cAAc,IAAI,CAF7B;IAGI,QAAQ,EAAE;MAAA,OACNjB,eAAe,CAAC;QACZE,IAAI,EAAJA,IADY;QAEZC,eAAe,EAAEuB,KAFL;QAGZtB,kBAAkB,EAAEuB,SAHR;QAIZtB,SAAS,EAAEA;MAJC,CAAD,CADT;IAAA;EAHd,EADJ,CADY,GAeZ,IAfJ;EAiBA,IAAM4B,WAAW,GAAG,cAAC;IAAM,GAAG,EAAE;EAAX,iDAAD,CAApB;EACA,IAAMC,SAAS,GAAG7B,SAAS,CAAC8B,YAAV,EAAlB;;EAEA,IAAID,SAAS,CAACE,MAAd,EAAsB;IAClBH,WAAW,CAACI,IAAZ,eAAiB;MAAM,GAAG,EAAE;IAAX,kCAAjB;;IACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,SAAS,CAACE,MAA9B,EAAsCE,CAAC,EAAvC,EAA2C;MACvC,IAAMC,QAAQ,GAAGL,SAAS,CAACI,CAAD,CAA1B;MAEAL,WAAW,CAACI,IAAZ,eACI,6BAAC,gBAAD;QAAS,GAAG,EAAEE,QAAQ,CAAC9B,IAAvB;QAA6B,OAAO,EAAE8B,QAAQ,CAACN,WAA/C;QAA4D,SAAS,EAAE;MAAvE,gBACI,6BAAC,QAAD;QAAU,uBAAuB,EAAE;UAAEO,MAAM,aAAMD,QAAQ,CAAC9B,IAAf;QAAR;MAAnC,EADJ,CADJ;;MAMA,IAAI6B,CAAC,GAAGJ,SAAS,CAACE,MAAV,GAAmB,CAA3B,EAA8B;QAC1BH,WAAW,CAACI,IAAZ,eAAiB,6BAAC,KAAD;UAAO,GAAG,kBAAWC,CAAX;QAAV,OAAjB;MACH;IACJ;;IACDL,WAAW,CAACI,IAAZ,eAAiB,6BAAC,KAAD;MAAO,GAAG,EAAE;IAAZ,OAAjB;EACH;;EAED,oBACI,6BAAC,wBAAD;IACI,GAAG,EAAEhC,SAAS,CAACK,OAAV,EADT;IAEI,oDAA2CL,SAAS,CAACK,OAAV,EAA3C,CAFJ;IAGI,WAAW,EAAE,KAHjB;IAII,IAAI,EAAE,CAAC,CAACR,IAJZ;IAKI,KAAK,EAAEG,SAAS,CAACoC,QAAV,EALX;IAMI,WAAW,EAAEpC,SAAS,CAACqC,cAAV,EANjB;IAOI,OAAO,EAAEX,OAPb;IAQI,SAAS,EAAElC;EARf,GAUKK,IAAI,iBACD,6BAAC,UAAD;IACI,IAAI,EAAEA,IADV;IAEI,QAAQ,EAAE,kBAAAA,IAAI;MAAA,OACVc,YAAY,CAAC;QACTd,IAAI,EAAJA,IADS;QAETC,eAAe,EAAEuB,KAFR;QAGTtB,kBAAkB,EAAEuB,SAHX;QAITV,cAAc,EAAdA;MAJS,CAAD,CADF;IAAA;EAFlB,GAWK;IAAA,IAAG0B,IAAH,SAAGA,IAAH;IAAA,oBACG,yEACI,6BAAC,UAAD;MAAM,SAAS,EAAE5C;IAAjB,gBACI,6BAAC,UAAD;MAAM,IAAI,EAAE;IAAZ,gBACI,6BAAC,IAAD;MACI,IAAI,EAAE,SADV;MAEI,UAAU,EAAE6C,sBAAA,CAAWC,MAAX,CAAkB,UAAlB;IAFhB,GAIK,UAAAC,IAAI,EAAI;MACL,oBACI,6BAAC,YAAD,oBACQA,IADR;QAEI,KAAK,EAAE,SAFX;QAGI,eAAY,mCAHhB;QAII,WAAW,eAAE,4DAAGb,WAAH;MAJjB,GADJ;IAQH,CAbL,CADJ,CADJ,CADJ,EAqBKH,cAAc,CAACzB,SAAD,CArBnB,CADH;EAAA,CAXL,CAXR,CADJ;AAoDH,CA9GD;;AAgHO,IAAM0C,cAA4C,GAAG,SAA/CA,cAA+C,CAAAC,KAAK,EAAI;EACjE,IAAQvC,IAAR,GAA6BuC,KAA7B,CAAQvC,IAAR;EAAA,IAAcwC,UAAd,GAA6BD,KAA7B,CAAcC,UAAd;EAEA,oBACI,6BAAC,UAAD;IAAM,IAAI,EAAExC,IAAZ;IAAkB,YAAY,EAAE;EAAhC,GACK,UAAAqC,IAAI,EAAI;IACL,IAAQpB,KAAR,GAA4BoB,IAA5B,CAAQpB,KAAR;IAAA,IAAeC,QAAf,GAA4BmB,IAA5B,CAAenB,QAAf;IACA,oBACI,6BAAC,oBAAD,QACKsB,UAAU,CAACC,GAAX,CAAe,UAAA7C,SAAS,EAAI;MACzB,oBACI,6BAAC,aAAD;QACI,GAAG,EAAEA,SAAS,CAACK,OAAV,EADT;QAEI,KAAK,EAAEgB,KAFX;QAGI,QAAQ,EAAEC,QAHd;QAII,SAAS,EAAEtB;MAJf,EADJ;IAQH,CATA,CADL,CADJ;EAcH,CAjBL,CADJ;AAqBH,CAxBM"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CmsModelField, CmsEditorFieldTypePlugin, CmsModelFieldValidatorPlugin } from "../../../../types";
|
|
2
|
+
import { CmsModelFieldValidatorConfigAdapter } from "../../../../utils/CmsModelFieldValidatorConfigAdapter";
|
|
3
|
+
export interface Validator {
|
|
4
|
+
optional: boolean;
|
|
5
|
+
validator: CmsModelFieldValidatorPlugin["validator"];
|
|
6
|
+
}
|
|
7
|
+
export interface ValidationSection {
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
validators: CmsModelFieldValidatorConfigAdapter[];
|
|
11
|
+
}
|
|
12
|
+
export declare const getListValidators: (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => ValidationSection;
|
|
13
|
+
export declare const getFieldValidators: (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => ValidationSection;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getListValidators = exports.getFieldValidators = void 0;
|
|
9
|
+
|
|
10
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
11
|
+
|
|
12
|
+
var _plugins = require("@webiny/plugins");
|
|
13
|
+
|
|
14
|
+
var _CmsModelFieldValidatorConfigAdapter = require("../../../../utils/CmsModelFieldValidatorConfigAdapter");
|
|
15
|
+
|
|
16
|
+
var isValidatorDefinition = function isValidatorDefinition(obj) {
|
|
17
|
+
return obj ? !Array.isArray(obj) : false;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
var isValidatorDefinitionFactory = function isValidatorDefinitionFactory(obj) {
|
|
21
|
+
return typeof obj === "function";
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var getValidatorPlugin = function getValidatorPlugin(name) {
|
|
25
|
+
var plugin = _plugins.plugins.byType("cms-model-field-validator").find(function (plugin) {
|
|
26
|
+
return plugin.validator.name === name;
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
if (!plugin) {
|
|
30
|
+
throw new Error("Missing CMS field validator plugin \"".concat(name, "\"!"));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return plugin.validator;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var getValidatorConfigs = function getValidatorConfigs(field, validators) {
|
|
37
|
+
var configs = [];
|
|
38
|
+
|
|
39
|
+
var _iterator = (0, _createForOfIteratorHelper2.default)(validators),
|
|
40
|
+
_step;
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
44
|
+
var validator = _step.value;
|
|
45
|
+
var resolvedValidator = void 0;
|
|
46
|
+
|
|
47
|
+
if (typeof validator === "string") {
|
|
48
|
+
resolvedValidator = getValidatorPlugin(validator);
|
|
49
|
+
} else {
|
|
50
|
+
resolvedValidator = validator;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
configs.push(new _CmsModelFieldValidatorConfigAdapter.CmsModelFieldValidatorConfigAdapter(field, resolvedValidator));
|
|
54
|
+
}
|
|
55
|
+
} catch (err) {
|
|
56
|
+
_iterator.e(err);
|
|
57
|
+
} finally {
|
|
58
|
+
_iterator.f();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return configs;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var getValidators = function getValidators(_ref) {
|
|
65
|
+
var field = _ref.field,
|
|
66
|
+
fieldPlugin = _ref.fieldPlugin,
|
|
67
|
+
key = _ref.key,
|
|
68
|
+
defaultValidators = _ref.defaultValidators;
|
|
69
|
+
var title = "";
|
|
70
|
+
var description = "";
|
|
71
|
+
var fieldValidators = fieldPlugin.field[key];
|
|
72
|
+
|
|
73
|
+
if (isValidatorDefinitionFactory(fieldValidators)) {
|
|
74
|
+
fieldValidators = fieldValidators(field);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
var resolvedValidators;
|
|
78
|
+
|
|
79
|
+
if (isValidatorDefinition(fieldValidators)) {
|
|
80
|
+
title = fieldValidators.title || "";
|
|
81
|
+
description = fieldValidators.description || "";
|
|
82
|
+
resolvedValidators = fieldValidators.validators;
|
|
83
|
+
} else {
|
|
84
|
+
resolvedValidators = fieldValidators;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var validators = getValidatorConfigs(field, resolvedValidators || defaultValidators);
|
|
88
|
+
return {
|
|
89
|
+
title: title,
|
|
90
|
+
description: description,
|
|
91
|
+
validators: validators
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var getListValidators = function getListValidators(field, fieldPlugin) {
|
|
96
|
+
return getValidators({
|
|
97
|
+
field: field,
|
|
98
|
+
fieldPlugin: fieldPlugin,
|
|
99
|
+
key: "listValidators",
|
|
100
|
+
defaultValidators: ["minLength", "maxLength"]
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
exports.getListValidators = getListValidators;
|
|
105
|
+
|
|
106
|
+
var getFieldValidators = function getFieldValidators(field, fieldPlugin) {
|
|
107
|
+
return getValidators({
|
|
108
|
+
field: field,
|
|
109
|
+
fieldPlugin: fieldPlugin,
|
|
110
|
+
key: "validators",
|
|
111
|
+
defaultValidators: []
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
exports.getFieldValidators = getFieldValidators;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isValidatorDefinition","obj","Array","isArray","isValidatorDefinitionFactory","getValidatorPlugin","name","plugin","plugins","byType","find","validator","Error","getValidatorConfigs","field","validators","configs","resolvedValidator","push","CmsModelFieldValidatorConfigAdapter","getValidators","fieldPlugin","key","defaultValidators","title","description","fieldValidators","resolvedValidators","getListValidators","getFieldValidators"],"sources":["getValidators.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport {\n CmsModelField,\n CmsEditorFieldTypePlugin,\n CmsModelFieldValidatorPlugin,\n CmsModelFieldValidatorsGroup,\n CmsModelFieldValidatorConfig,\n CmsModelFieldValidatorsFactory\n} from \"~/types\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\n\nexport interface Validator {\n optional: boolean;\n validator: CmsModelFieldValidatorPlugin[\"validator\"];\n}\n\nconst isValidatorDefinition = (obj: unknown): obj is CmsModelFieldValidatorsGroup => {\n return obj ? !Array.isArray(obj) : false;\n};\n\nconst isValidatorDefinitionFactory = (obj: unknown): obj is CmsModelFieldValidatorsFactory => {\n return typeof obj === \"function\";\n};\n\ninterface GetValidatorsParams {\n field: CmsModelField;\n fieldPlugin: CmsEditorFieldTypePlugin;\n key: \"validators\" | \"listValidators\";\n defaultValidators: string[];\n}\n\nexport interface ValidationSection {\n title?: string;\n description?: string;\n validators: CmsModelFieldValidatorConfigAdapter[];\n}\n\nconst getValidatorPlugin = (name: string) => {\n const plugin = plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .find(plugin => plugin.validator.name === name);\n\n if (!plugin) {\n throw new Error(`Missing CMS field validator plugin \"${name}\"!`);\n }\n\n return plugin.validator as CmsModelFieldValidatorConfig;\n};\n\nconst getValidatorConfigs = (\n field: CmsModelField,\n validators: Array<CmsModelFieldValidatorConfig | string>\n) => {\n const configs: CmsModelFieldValidatorConfigAdapter[] = [];\n\n for (const validator of validators) {\n let resolvedValidator;\n if (typeof validator === \"string\") {\n resolvedValidator = getValidatorPlugin(validator);\n } else {\n resolvedValidator = validator;\n }\n\n configs.push(new CmsModelFieldValidatorConfigAdapter(field, resolvedValidator));\n }\n\n return configs;\n};\n\nconst getValidators = ({\n field,\n fieldPlugin,\n key,\n defaultValidators\n}: GetValidatorsParams): ValidationSection => {\n let title = \"\";\n let description = \"\";\n let fieldValidators = fieldPlugin.field[key];\n\n if (isValidatorDefinitionFactory(fieldValidators)) {\n fieldValidators = fieldValidators(field);\n }\n\n let resolvedValidators: (string | CmsModelFieldValidatorConfig)[] | undefined;\n if (isValidatorDefinition(fieldValidators)) {\n title = fieldValidators.title || \"\";\n description = fieldValidators.description || \"\";\n resolvedValidators = fieldValidators.validators;\n } else {\n resolvedValidators = fieldValidators;\n }\n\n const validators = getValidatorConfigs(field, resolvedValidators || defaultValidators);\n\n return {\n title,\n description,\n validators\n };\n};\n\nexport const getListValidators = (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators({\n field,\n fieldPlugin,\n key: \"listValidators\",\n defaultValidators: [\"minLength\", \"maxLength\"]\n });\n};\n\nexport const getFieldValidators = (field: CmsModelField, fieldPlugin: CmsEditorFieldTypePlugin) => {\n return getValidators({\n field,\n fieldPlugin,\n key: \"validators\",\n defaultValidators: []\n });\n};\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { FormOnSubmit } from "@webiny/form";
|
|
3
|
+
import { CmsModelField } from "../../../types";
|
|
3
4
|
interface EditFieldDialogProps {
|
|
4
|
-
field: CmsEditorField | null;
|
|
5
5
|
onClose: () => void;
|
|
6
|
-
onSubmit:
|
|
6
|
+
onSubmit: FormOnSubmit<CmsModelField>;
|
|
7
7
|
}
|
|
8
8
|
declare const EditFieldDialog: React.FC<EditFieldDialogProps>;
|
|
9
9
|
export default EditFieldDialog;
|