@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { ReactElement, ReactNode } from \"react\";\nimport {\n FormAPI,\n BindComponent as BaseBindComponent,\n BindComponentRenderProp as BaseBindComponentRenderProp,\n BindComponentProps as BaseBindComponentProps\n} from \"@webiny/form\";\nimport { IconPrefix, IconName } from \"@fortawesome/fontawesome-svg-core\";\nimport Label from \"~/admin/components/ContentEntryForm/Label\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { DragSource } from \"~/admin/components/FieldEditor/FieldEditorContext\";\nimport {\n CmsModelFieldValidator,\n CmsModelFieldValidatorsGroup,\n CmsModelFieldValidatorsFactory\n} from \"./validation\";\n\nimport { CmsModelField, CmsModel } from \"./model\";\nimport { CmsCreatedBy } from \"~/types/shared\";\n\nexport * from \"./validation\";\nexport * from \"./model\";\nexport * from \"./shared\";\n\ninterface QueryFieldParams {\n model: CmsModel;\n field: CmsModelField;\n}\n\nexport type CmsEditorFieldTypePlugin = CmsModelFieldTypePlugin;\n\nexport interface CmsModelFieldTypePlugin extends Plugin {\n /**\n * a plugin type\n */\n type: \"cms-editor-field-type\";\n field: {\n /**\n * A unique identifier of the field type (text, number, json, myField, ...).\n *\n * ```ts\n * type: \"myField\"\n * ```\n */\n type: string;\n /**\n * A display name for the field.\n *\n * ```ts\n * label: \"Field name\"\n * ```\n */\n label: string;\n /**\n * A list of available validators for the model field.\n *\n * ```ts\n * validators: [\n * \"required\",\n * \"gte\",\n * \"lte\"\n * ]\n * ```\n */\n validators?: string[] | CmsModelFieldValidatorsGroup | CmsModelFieldValidatorsFactory;\n /**\n * A list of available validators when a model field accepts a list (array) of values.\n *\n * ```ts\n * listValidators: [\n * \"minLength\",\n * \"maxLength\"\n * ]\n * ```\n */\n listValidators?: string[] | CmsModelFieldValidatorsGroup | CmsModelFieldValidatorsFactory;\n /**\n * An explanation of the field displayed beneath the label.\n *\n * ```ts\n * description: \"A short description of the field\"\n * ```\n */\n description: string;\n /**\n * A ReactNode to display the icon for the field.\n *\n * ```tsx\n * icon: <MyIconComponent />\n * ```\n */\n icon: React.ReactNode;\n /**\n * Is it allowed to have multiple values in this field?\n *\n * ```ts\n * allowMultipleValues: true\n * ```\n */\n allowMultipleValues: boolean;\n /**\n * Does this field type have a fixed list of values that can be selected?\n *\n * ```ts\n * allowPredefinedValues: false\n * ```\n */\n allowPredefinedValues: boolean;\n /**\n * A ReactNode label when multiple values are enabled.\n */\n multipleValuesLabel: React.ReactNode;\n /**\n * These are default values when the field is first created. This is a representation of the field that is stored in the database.\n *\n * ```ts\n * createField: () => ({\n * type: \"fieldType\",\n * validation: [],\n * renderer: {\n * name: \"fieldTypeRenderer\"\n * }\n * })\n * ```\n */\n createField: () => Pick<CmsModelField, \"type\" | \"validation\" | \"renderer\" | \"settings\">;\n /**\n * If `true` (default), this field will be configurable via a settings dialog.\n * If `false`, a user will not be able to open the settings dialog, not will the dialog be opened on field drop.\n */\n canEditSettings?: boolean;\n /**\n * Determine if a `draggable` can be dropped into this field.\n * NOTE: This is only applicable to nested field types.\n */\n canAccept?(field: CmsModelField, draggable: DragSource): boolean;\n /**\n * If `true` (default), will allow fields to be laid out into columns (next to each other).\n * If `false`, horizontal layout will not be allowed.\n * NOTE: This is only applicable to nested field types.\n */\n allowLayout?: boolean;\n /**\n * A ReactNode that you can add in the section below the help text when creating/editing field.\n *\n * ```tsx\n * renderSettings: (params) => {\n * return <FieldSettingsComponent />;\n * }\n * ```\n */\n renderSettings?: (params: {\n afterChangeLabel: (value: string) => void;\n uniqueFieldIdValidator: (fieldId: string) => void;\n contentModel: CmsModel;\n }) => React.ReactNode;\n /**\n * A ReactNode that renders in the Predefined values tab.\n *\n * ```tsx\n * renderPredefinedValues: (params) => {\n * const {form: {Bind}} = params;\n * return (\n * <Bind name=\"fieldProperty\">\n * <InputComponent />\n * </Bind>\n * );\n * }\n * ```\n */\n renderPredefinedValues?: (params: {\n getBind: (index?: number) => any;\n }) => React.ReactElement;\n /**\n * Object wrapper for GraphQL stuff\n */\n graphql?: {\n /**\n * Define field selection.\n *\n * ```ts\n * graphql: {\n * queryField: `\n * {\n * id\n * title\n * createdOn\n * }\n * `,\n * }\n * ```\n */\n queryField?: string | ((params: QueryFieldParams) => string);\n };\n render?(params: any): React.ReactElement;\n tags?: string[];\n };\n}\n\nexport interface CmsEditorFieldRendererProps {\n field: CmsModelField;\n Label: typeof Label;\n getBind: (index?: number, key?: string) => BindComponent;\n contentModel: CmsModel;\n}\n\nexport interface CmsEditorFieldRendererPlugin extends Plugin {\n /**\n * a plugin type\n */\n type: \"cms-editor-field-renderer\";\n renderer: {\n /**\n * Name of the renderer to match the one from `createField()` method in `CmsEditorFieldTypePlugin`.\n *\n * ```ts\n * renderName: \"myFieldTypeRenderer\"\n * ```\n */\n rendererName: string;\n /**\n * A display name for the field in the UI. It is a `ReactNode` type, so you can use a JSX element.\n *\n * ```tsx\n * name: <MyFieldNameComponent />\n * ```\n */\n name: React.ReactNode;\n /**\n * A description for the field in the UI. Works exactly like the `name` property.\n *\n * ```tsx\n * name: <MyFieldDescriptionComponent />\n * ```\n */\n description: React.ReactNode;\n /**\n * A method that determines if the field can be rendered by this plugin.\n *\n * ```ts\n * canUse({ field }) {\n * return (\n * field.type === \"myType\" && !field.multipleValues\n * );\n * }\n * ```\n */\n canUse(props: { field: CmsModelField; fieldPlugin: CmsEditorFieldTypePlugin }): boolean;\n /**\n * Renders a field in the UI.\n *\n * ```tsx\n * render({ field, getBind }) {\n * const Bind = getBind();\n *\n * return (\n * <Bind>\n * {bind => {\n * return (\n * <Input\n * value={bind.value}\n * onChange={bind.onChange}\n * />\n * )\n * }}\n * </Bind>\n * );\n * }\n * ```\n */\n render(props: CmsEditorFieldRendererProps): React.ReactNode;\n };\n}\n\nexport interface CmsEditorFieldPredefinedValuesEntry {\n label: string;\n value: string;\n selected?: boolean;\n}\n\nexport interface CmsEditorFieldPredefinedValues {\n enabled: boolean;\n values: CmsEditorFieldPredefinedValuesEntry[];\n}\n\nexport interface CmsDynamicZoneTemplate {\n id: string;\n name: string;\n gqlTypeName: string;\n description: string;\n icon: string;\n fields: CmsModelField[];\n layout: string[][];\n validation: CmsModelFieldValidator[];\n}\n\nexport type CmsContentEntryStatusType = \"draft\" | \"published\" | \"unpublished\";\n\nexport interface CmsEditorContentEntry {\n id: string;\n savedOn: string;\n modelId: string;\n createdBy: CmsCreatedBy;\n meta: {\n title: string;\n publishedOn: string;\n locked: boolean;\n status: CmsContentEntryStatusType;\n version: number;\n };\n [key: string]: any;\n}\n\nexport interface CmsContentEntryRevision {\n id: string;\n savedOn: string;\n modelId: string;\n createdBy: CmsCreatedBy;\n meta: {\n title: string;\n publishedOn: string;\n locked: boolean;\n status: CmsContentEntryStatusType;\n version: number;\n };\n}\n\nexport type CmsEditorContentTab = React.FC<{ activeTab: boolean }>;\n\n// ------------------------------------------------------------------------------------------------------------\nexport interface CmsEditorFieldOptionPlugin extends Plugin {\n type: \"cms-editor-field-option\";\n render(): ReactElement;\n}\n\nexport interface CmsContentDetailsPlugin extends Plugin {\n render: (params: any) => ReactNode;\n}\n\nexport interface FieldLayoutPosition {\n row: number;\n index: number | null;\n}\n\nexport interface CmsEditorFormSettingsPlugin extends Plugin {\n type: \"cms-editor-form-settings\";\n title: string;\n description: string;\n icon: React.ReactElement;\n render(props: { Bind: BaseBindComponent; form: FormAPI; formData: any }): React.ReactNode;\n renderHeaderActions?(props: {\n Bind: BaseBindComponent;\n form: FormAPI;\n formData: any;\n }): React.ReactNode;\n}\n\nexport interface CmsIcon {\n /**\n * [ pack, icon ], ex: [\"fab\", \"cog\"]\n */\n id: [IconPrefix, IconName];\n /**\n * Icon name\n */\n name: string;\n /**\n * SVG element\n */\n svg: ReactElement;\n}\n\nexport interface CmsIconsPlugin extends Plugin {\n type: \"cms-icons\";\n getIcons(): CmsIcon[];\n}\n\n/**\n * Transform field value when sending data to the API.\n */\nexport interface CmsFieldValueTransformer<TField extends CmsModelField = CmsModelField>\n extends Plugin {\n /**\n * A plugin type.\n */\n type: \"cms-field-value-transformer\";\n /**\n * A field type for the value transformer. Or a list of field types.\n */\n fieldType: string | string[];\n /**\n * A transformer function that takes a value and returns a new one.\n */\n transform: (value: any, field: TField) => any;\n}\n\n/**\n * Define a custom form layout renderer for a specific content model.\n */\nexport interface CmsContentFormRendererPlugin extends Plugin {\n /**\n * A plugin type.\n */\n type: \"cms-content-form-renderer\";\n /**\n * Content model ID that will use this renderer.\n */\n modelId: string;\n\n /**\n * A function that will render a custom form layout.\n */\n render(props: {\n /**\n * Content model that is being rendered.\n */\n contentModel: CmsModel;\n /**\n * Content entry data handled by the Form element.\n */\n data: Record<string, any>;\n /**\n * A component to bind data to the Form.\n */\n Bind: BindComponent;\n /**\n * Content model fields to render.\n */\n fields: Record<string, React.ReactElement>;\n }): React.ReactNode;\n}\n/**\n * #########################\n * Data types\n * #########################\n */\nexport interface CmsSecurityPermission extends SecurityPermission {\n accessLevel?: \"full\" | \"no\" | \"custom\";\n models?: Record<string, string>;\n groups?: Record<string, string>;\n endpoints?: string[];\n locales?: string[];\n rwd?: string;\n own?: boolean;\n pw?: string;\n}\n\n/**\n * @category GraphQL\n * @category Error\n */\nexport interface CmsErrorResponse {\n message: string;\n code: string;\n data: Record<string, any> | Record<string, any>[];\n}\n/**\n * @category GraphQL\n * @category Meta\n */\nexport interface CmsMetaResponse {\n totalCount: number;\n cursor: string | null;\n hasMoreItems: boolean;\n}\n\n/***\n * ###### FORM ########\n */\nexport interface BindComponentRenderProp extends BaseBindComponentRenderProp {\n parentName: string;\n appendValue: (value: any, index?: number) => void;\n prependValue: (value: any) => void;\n appendValues: (values: any[]) => void;\n removeValue: (index: number) => void;\n moveValueUp: (index: number) => void;\n moveValueDown: (index: number) => void;\n}\n\ninterface BindComponentProps extends Omit<BaseBindComponentProps, \"children\" | \"name\"> {\n name?: string;\n children?: ((props: BindComponentRenderProp) => React.ReactElement) | React.ReactElement;\n}\n\nexport type BindComponent = React.FC<BindComponentProps> & {\n parentName?: string;\n};\n\n/**\n * After RequestReview and RequestChanges was removed, we need an option to add new status filters\n */\nexport interface CmsEntryFilterStatusPlugin extends Plugin {\n type: \"cms.entry.filter.status\";\n label: string;\n value: string;\n}\n"],"mappings":";;;;;;AAsBA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
package/types/model.d.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { CmsModelFieldValidator } from "./validation";
|
|
2
|
+
import { CmsDynamicZoneTemplate, CmsEditorFieldPredefinedValues } from "./index";
|
|
3
|
+
import { CmsCreatedBy } from "./shared";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `CmsModelField` instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare type CmsEditorField<T = unknown> = CmsModelField<T>;
|
|
8
|
+
export declare type CmsModelField<T = unknown> = T & {
|
|
9
|
+
id: string;
|
|
10
|
+
type: string;
|
|
11
|
+
fieldId: CmsEditorFieldId;
|
|
12
|
+
storageId?: string;
|
|
13
|
+
label?: string;
|
|
14
|
+
helpText?: string;
|
|
15
|
+
placeholderText?: string;
|
|
16
|
+
validation?: CmsModelFieldValidator[];
|
|
17
|
+
listValidation?: CmsModelFieldValidator[];
|
|
18
|
+
multipleValues?: boolean;
|
|
19
|
+
predefinedValues?: CmsEditorFieldPredefinedValues;
|
|
20
|
+
settings?: {
|
|
21
|
+
defaultValue?: string | null | undefined;
|
|
22
|
+
defaultSetValue?: string;
|
|
23
|
+
type?: string;
|
|
24
|
+
fields?: CmsModelField<any>[];
|
|
25
|
+
layout?: string[][];
|
|
26
|
+
models?: Pick<CmsModel, "modelId" | "name">[];
|
|
27
|
+
templates?: CmsDynamicZoneTemplate[];
|
|
28
|
+
imagesOnly?: boolean;
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
};
|
|
31
|
+
renderer: {
|
|
32
|
+
name: string;
|
|
33
|
+
};
|
|
34
|
+
tags?: string[];
|
|
35
|
+
};
|
|
36
|
+
export declare type CmsEditorFieldId = string;
|
|
37
|
+
export declare type CmsEditorFieldsLayout = CmsEditorFieldId[][];
|
|
38
|
+
/**
|
|
39
|
+
* @category GraphQL
|
|
40
|
+
* @category Model
|
|
41
|
+
*/
|
|
42
|
+
export declare type CmsEditorContentModel = CmsModel;
|
|
43
|
+
/**
|
|
44
|
+
* @category GraphQL
|
|
45
|
+
* @category Group
|
|
46
|
+
*/
|
|
47
|
+
export interface CmsGroup {
|
|
48
|
+
id: string;
|
|
49
|
+
name: string;
|
|
50
|
+
slug: string;
|
|
51
|
+
icon?: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
contentModels: CmsModel[];
|
|
54
|
+
createdBy: CmsCreatedBy;
|
|
55
|
+
/**
|
|
56
|
+
* Tells if this group is a plugin one (cannot be changed/deleted)
|
|
57
|
+
*/
|
|
58
|
+
plugin?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface CmsModel {
|
|
61
|
+
id: string;
|
|
62
|
+
group: Pick<CmsGroup, "id" | "name">;
|
|
63
|
+
description?: string;
|
|
64
|
+
version: number;
|
|
65
|
+
layout?: CmsEditorFieldsLayout;
|
|
66
|
+
fields: CmsModelField[];
|
|
67
|
+
lockedFields: CmsModelField[];
|
|
68
|
+
name: string;
|
|
69
|
+
modelId: string;
|
|
70
|
+
titleFieldId: string;
|
|
71
|
+
settings: {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
};
|
|
74
|
+
status: string;
|
|
75
|
+
savedOn: string;
|
|
76
|
+
meta: any;
|
|
77
|
+
createdBy: CmsCreatedBy;
|
|
78
|
+
tags: string[];
|
|
79
|
+
/**
|
|
80
|
+
* If model is a plugin one (it cannot be changed/deleted)
|
|
81
|
+
*/
|
|
82
|
+
plugin?: boolean;
|
|
83
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["model.ts"],"sourcesContent":["import { CmsModelFieldValidator } from \"~/types/validation\";\nimport { CmsDynamicZoneTemplate, CmsEditorFieldPredefinedValues } from \"~/types/index\";\nimport { CmsCreatedBy } from \"~/types/shared\";\n\n/**\n * @deprecated Use `CmsModelField` instead.\n */\nexport type CmsEditorField<T = unknown> = CmsModelField<T>;\n\nexport type CmsModelField<T = unknown> = T & {\n id: string;\n type: string;\n fieldId: CmsEditorFieldId;\n storageId?: string;\n label?: string;\n helpText?: string;\n placeholderText?: string;\n validation?: CmsModelFieldValidator[];\n listValidation?: CmsModelFieldValidator[];\n multipleValues?: boolean;\n predefinedValues?: CmsEditorFieldPredefinedValues;\n settings?: {\n defaultValue?: string | null | undefined;\n defaultSetValue?: string;\n type?: string;\n fields?: CmsModelField<any>[];\n layout?: string[][];\n models?: Pick<CmsModel, \"modelId\" | \"name\">[];\n templates?: CmsDynamicZoneTemplate[];\n imagesOnly?: boolean;\n [key: string]: any;\n };\n renderer: {\n name: string;\n };\n tags?: string[];\n};\n\nexport type CmsEditorFieldId = string;\nexport type CmsEditorFieldsLayout = CmsEditorFieldId[][];\n\n/**\n * @category GraphQL\n * @category Model\n */\nexport type CmsEditorContentModel = CmsModel;\n\n/**\n * @category GraphQL\n * @category Group\n */\nexport interface CmsGroup {\n id: string;\n name: string;\n slug: string;\n icon?: string;\n description?: string;\n contentModels: CmsModel[];\n createdBy: CmsCreatedBy;\n /**\n * Tells if this group is a plugin one (cannot be changed/deleted)\n */\n plugin?: boolean;\n}\n\nexport interface CmsModel {\n id: string;\n group: Pick<CmsGroup, \"id\" | \"name\">;\n description?: string;\n version: number;\n layout?: CmsEditorFieldsLayout;\n fields: CmsModelField[];\n lockedFields: CmsModelField[];\n name: string;\n modelId: string;\n titleFieldId: string;\n settings: {\n [key: string]: any;\n };\n status: string;\n savedOn: string;\n meta: any;\n createdBy: CmsCreatedBy;\n tags: string[];\n /**\n * If model is a plugin one (it cannot be changed/deleted)\n */\n plugin?: boolean;\n}\n"],"mappings":""}
|
package/types/shared.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["shared.ts"],"sourcesContent":["export interface CmsCreatedBy {\n id: string;\n displayName: string;\n type: string;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Plugin } from "@webiny/plugins/types";
|
|
3
|
+
import { CmsModelField } from ".";
|
|
4
|
+
import { CmsModelFieldValidatorConfigAdapter } from "../utils/CmsModelFieldValidatorConfigAdapter";
|
|
5
|
+
export interface CmsModelFieldValidatorVariable {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* This interface is used in the validator configuration UI (Field dialog).
|
|
11
|
+
*/
|
|
12
|
+
export interface CmsModelFieldValidatorConfig {
|
|
13
|
+
name: string;
|
|
14
|
+
required?: boolean;
|
|
15
|
+
label?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
defaultMessage?: string;
|
|
18
|
+
defaultSettings?: Record<string, any>;
|
|
19
|
+
variables?: CmsModelFieldValidatorVariable[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* This interface allows you to control the title, description, and validators located in the specific
|
|
23
|
+
* validators group, like `validators` or `listValidators` within the Field dialog.
|
|
24
|
+
*/
|
|
25
|
+
export interface CmsModelFieldValidatorsGroup {
|
|
26
|
+
validators: (string | CmsModelFieldValidatorConfig)[];
|
|
27
|
+
title?: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* This interface allows you to generate validators based on the field configuration.
|
|
32
|
+
*/
|
|
33
|
+
export interface CmsModelFieldValidatorsFactory {
|
|
34
|
+
(field: CmsModelField): string[] | CmsModelFieldValidatorsGroup;
|
|
35
|
+
}
|
|
36
|
+
export interface CmsModelFieldValidator {
|
|
37
|
+
name: string;
|
|
38
|
+
message?: string;
|
|
39
|
+
settings?: any;
|
|
40
|
+
}
|
|
41
|
+
export interface CmsModelFieldValidatorPlugin<T = any> extends Plugin {
|
|
42
|
+
type: "cms-model-field-validator";
|
|
43
|
+
validator: {
|
|
44
|
+
name: string;
|
|
45
|
+
label: string;
|
|
46
|
+
description: string;
|
|
47
|
+
defaultMessage: string;
|
|
48
|
+
variables?: CmsModelFieldValidatorVariable[];
|
|
49
|
+
defaultSettings?: Record<string, any>;
|
|
50
|
+
getVariableValues?: (context: {
|
|
51
|
+
validator: CmsModelFieldValidator;
|
|
52
|
+
}) => Record<string, string>;
|
|
53
|
+
renderSettings?: (config: CmsModelFieldValidatorConfigAdapter) => React.ReactElement;
|
|
54
|
+
renderCustomUi?: () => React.ReactElement;
|
|
55
|
+
validate: (value: T, context: {
|
|
56
|
+
validator: CmsModelFieldValidator;
|
|
57
|
+
field: CmsModelField;
|
|
58
|
+
}) => Promise<any>;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export interface CmsModelFieldRegexValidatorExpressionPlugin extends Plugin {
|
|
62
|
+
type: "cms-model-field-regex-validator-expression";
|
|
63
|
+
pattern: {
|
|
64
|
+
name: string;
|
|
65
|
+
message: string;
|
|
66
|
+
label: string;
|
|
67
|
+
regex: string;
|
|
68
|
+
flags: string;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["validation.ts"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins/types\";\n\nimport { CmsModelField } from \"~/types\";\nimport { CmsModelFieldValidatorConfigAdapter } from \"~/utils/CmsModelFieldValidatorConfigAdapter\";\n\nexport interface CmsModelFieldValidatorVariable {\n name: string;\n description: string;\n}\n\n/**\n * This interface is used in the validator configuration UI (Field dialog).\n */\nexport interface CmsModelFieldValidatorConfig {\n name: string;\n required?: boolean;\n label?: string;\n description?: string;\n defaultMessage?: string;\n defaultSettings?: Record<string, any>;\n variables?: CmsModelFieldValidatorVariable[];\n}\n\n/**\n * This interface allows you to control the title, description, and validators located in the specific\n * validators group, like `validators` or `listValidators` within the Field dialog.\n */\nexport interface CmsModelFieldValidatorsGroup {\n validators: (string | CmsModelFieldValidatorConfig)[];\n title?: string;\n description?: string;\n}\n\n/**\n * This interface allows you to generate validators based on the field configuration.\n */\nexport interface CmsModelFieldValidatorsFactory {\n (field: CmsModelField): string[] | CmsModelFieldValidatorsGroup;\n}\n\nexport interface CmsModelFieldValidator {\n name: string;\n message?: string;\n settings?: any;\n}\n\nexport interface CmsModelFieldValidatorPlugin<T = any> extends Plugin {\n type: \"cms-model-field-validator\";\n validator: {\n name: string;\n label: string;\n description: string;\n defaultMessage: string;\n variables?: CmsModelFieldValidatorVariable[];\n defaultSettings?: Record<string, any>;\n getVariableValues?: (context: {\n validator: CmsModelFieldValidator;\n }) => Record<string, string>;\n renderSettings?: (config: CmsModelFieldValidatorConfigAdapter) => React.ReactElement;\n renderCustomUi?: () => React.ReactElement;\n validate: (\n value: T,\n context: {\n validator: CmsModelFieldValidator;\n field: CmsModelField;\n }\n ) => Promise<any>;\n };\n}\n\nexport interface CmsModelFieldRegexValidatorExpressionPlugin extends Plugin {\n type: \"cms-model-field-regex-validator-expression\";\n pattern: {\n name: string;\n message: string;\n label: string;\n regex: string;\n flags: string;\n };\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CmsModelFieldValidatorConfig, CmsModelField } from "../types";
|
|
2
|
+
export declare class CmsModelFieldValidatorConfigAdapter {
|
|
3
|
+
private field;
|
|
4
|
+
private validator;
|
|
5
|
+
private plugin;
|
|
6
|
+
constructor(field: CmsModelField, validator: CmsModelFieldValidatorConfig);
|
|
7
|
+
isRequired(): boolean;
|
|
8
|
+
getName(): string;
|
|
9
|
+
getLabel(): string;
|
|
10
|
+
getDescription(): string;
|
|
11
|
+
getDefaultMessage(): string;
|
|
12
|
+
getDefaultSettings(): Record<string, any> | undefined;
|
|
13
|
+
getVariables(): import("../types").CmsModelFieldValidatorVariable[];
|
|
14
|
+
getVariableDescription(variableName: string): string | undefined;
|
|
15
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
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.CmsModelFieldValidatorConfigAdapter = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _plugins = require("@webiny/plugins");
|
|
17
|
+
|
|
18
|
+
function getValidator(name) {
|
|
19
|
+
var allValidators = _plugins.plugins.byType("cms-model-field-validator");
|
|
20
|
+
|
|
21
|
+
var plugin = allValidators.find(function (v) {
|
|
22
|
+
return v.validator.name === name;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
if (!plugin) {
|
|
26
|
+
throw Error("Missing \"".concat(name, "\" validator plugin!"));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return plugin.validator;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var CmsModelFieldValidatorConfigAdapter = /*#__PURE__*/function () {
|
|
33
|
+
function CmsModelFieldValidatorConfigAdapter(field, validator) {
|
|
34
|
+
(0, _classCallCheck2.default)(this, CmsModelFieldValidatorConfigAdapter);
|
|
35
|
+
(0, _defineProperty2.default)(this, "field", void 0);
|
|
36
|
+
(0, _defineProperty2.default)(this, "validator", void 0);
|
|
37
|
+
(0, _defineProperty2.default)(this, "plugin", void 0);
|
|
38
|
+
this.field = field;
|
|
39
|
+
this.validator = validator;
|
|
40
|
+
this.plugin = getValidator(validator.name);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
(0, _createClass2.default)(CmsModelFieldValidatorConfigAdapter, [{
|
|
44
|
+
key: "isRequired",
|
|
45
|
+
value: function isRequired() {
|
|
46
|
+
return Boolean(this.validator.required);
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
key: "getName",
|
|
50
|
+
value: function getName() {
|
|
51
|
+
return this.validator.name;
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
key: "getLabel",
|
|
55
|
+
value: function getLabel() {
|
|
56
|
+
return this.validator.label || this.plugin.label;
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "getDescription",
|
|
60
|
+
value: function getDescription() {
|
|
61
|
+
return this.validator.description || this.plugin.description;
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
key: "getDefaultMessage",
|
|
65
|
+
value: function getDefaultMessage() {
|
|
66
|
+
return this.validator.defaultMessage || this.plugin.defaultMessage;
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "getDefaultSettings",
|
|
70
|
+
value: function getDefaultSettings() {
|
|
71
|
+
return this.validator.defaultSettings || this.plugin.defaultSettings;
|
|
72
|
+
}
|
|
73
|
+
}, {
|
|
74
|
+
key: "getVariables",
|
|
75
|
+
value: function getVariables() {
|
|
76
|
+
return this.validator.variables || [];
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "getVariableDescription",
|
|
80
|
+
value: function getVariableDescription(variableName) {
|
|
81
|
+
var variables = this.validator.variables || this.plugin.variables || [];
|
|
82
|
+
var variable = variables.find(function (v) {
|
|
83
|
+
return v.name === variableName;
|
|
84
|
+
});
|
|
85
|
+
return (variable === null || variable === void 0 ? void 0 : variable.description) || "";
|
|
86
|
+
}
|
|
87
|
+
}]);
|
|
88
|
+
return CmsModelFieldValidatorConfigAdapter;
|
|
89
|
+
}();
|
|
90
|
+
|
|
91
|
+
exports.CmsModelFieldValidatorConfigAdapter = CmsModelFieldValidatorConfigAdapter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getValidator","name","allValidators","plugins","byType","plugin","find","v","validator","Error","CmsModelFieldValidatorConfigAdapter","field","Boolean","required","label","description","defaultMessage","defaultSettings","variables","variableName","variable"],"sources":["CmsModelFieldValidatorConfigAdapter.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { CmsModelFieldValidatorConfig, CmsModelField, CmsModelFieldValidatorPlugin } from \"~/types\";\n\nfunction getValidator(name: string) {\n const allValidators = plugins.byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\");\n const plugin = allValidators.find(v => v.validator.name === name);\n if (!plugin) {\n throw Error(`Missing \"${name}\" validator plugin!`);\n }\n return plugin.validator;\n}\n\nexport class CmsModelFieldValidatorConfigAdapter {\n private field: CmsModelField;\n private validator: CmsModelFieldValidatorConfig;\n private plugin: CmsModelFieldValidatorPlugin[\"validator\"];\n\n constructor(field: CmsModelField, validator: CmsModelFieldValidatorConfig) {\n this.field = field;\n this.validator = validator;\n this.plugin = getValidator(validator.name);\n }\n\n isRequired() {\n return Boolean(this.validator.required);\n }\n\n getName() {\n return this.validator.name;\n }\n\n getLabel() {\n return this.validator.label || this.plugin.label;\n }\n\n getDescription() {\n return this.validator.description || this.plugin.description;\n }\n\n getDefaultMessage() {\n return this.validator.defaultMessage || this.plugin.defaultMessage;\n }\n\n getDefaultSettings() {\n return this.validator.defaultSettings || this.plugin.defaultSettings;\n }\n\n getVariables() {\n return this.validator.variables || [];\n }\n\n getVariableDescription(variableName: string): string | undefined {\n const variables = this.validator.variables || this.plugin.variables || [];\n const variable = variables.find(v => v.name === variableName);\n\n return variable?.description || \"\";\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAGA,SAASA,YAAT,CAAsBC,IAAtB,EAAoC;EAChC,IAAMC,aAAa,GAAGC,gBAAA,CAAQC,MAAR,CAA6C,2BAA7C,CAAtB;;EACA,IAAMC,MAAM,GAAGH,aAAa,CAACI,IAAd,CAAmB,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACC,SAAF,CAAYP,IAAZ,KAAqBA,IAAzB;EAAA,CAApB,CAAf;;EACA,IAAI,CAACI,MAAL,EAAa;IACT,MAAMI,KAAK,qBAAaR,IAAb,0BAAX;EACH;;EACD,OAAOI,MAAM,CAACG,SAAd;AACH;;IAEYE,mC;EAKT,6CAAYC,KAAZ,EAAkCH,SAAlC,EAA2E;IAAA;IAAA;IAAA;IAAA;IACvE,KAAKG,KAAL,GAAaA,KAAb;IACA,KAAKH,SAAL,GAAiBA,SAAjB;IACA,KAAKH,MAAL,GAAcL,YAAY,CAACQ,SAAS,CAACP,IAAX,CAA1B;EACH;;;;WAED,sBAAa;MACT,OAAOW,OAAO,CAAC,KAAKJ,SAAL,CAAeK,QAAhB,CAAd;IACH;;;WAED,mBAAU;MACN,OAAO,KAAKL,SAAL,CAAeP,IAAtB;IACH;;;WAED,oBAAW;MACP,OAAO,KAAKO,SAAL,CAAeM,KAAf,IAAwB,KAAKT,MAAL,CAAYS,KAA3C;IACH;;;WAED,0BAAiB;MACb,OAAO,KAAKN,SAAL,CAAeO,WAAf,IAA8B,KAAKV,MAAL,CAAYU,WAAjD;IACH;;;WAED,6BAAoB;MAChB,OAAO,KAAKP,SAAL,CAAeQ,cAAf,IAAiC,KAAKX,MAAL,CAAYW,cAApD;IACH;;;WAED,8BAAqB;MACjB,OAAO,KAAKR,SAAL,CAAeS,eAAf,IAAkC,KAAKZ,MAAL,CAAYY,eAArD;IACH;;;WAED,wBAAe;MACX,OAAO,KAAKT,SAAL,CAAeU,SAAf,IAA4B,EAAnC;IACH;;;WAED,gCAAuBC,YAAvB,EAAiE;MAC7D,IAAMD,SAAS,GAAG,KAAKV,SAAL,CAAeU,SAAf,IAA4B,KAAKb,MAAL,CAAYa,SAAxC,IAAqD,EAAvE;MACA,IAAME,QAAQ,GAAGF,SAAS,CAACZ,IAAV,CAAe,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACN,IAAF,KAAWkB,YAAf;MAAA,CAAhB,CAAjB;MAEA,OAAO,CAAAC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEL,WAAV,KAAyB,EAAhC;IACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createTypeName: (modelId: string) => string;
|
|
@@ -0,0 +1,18 @@
|
|
|
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.createTypeName = void 0;
|
|
9
|
+
|
|
10
|
+
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
|
11
|
+
|
|
12
|
+
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
13
|
+
|
|
14
|
+
var createTypeName = function createTypeName(modelId) {
|
|
15
|
+
return (0, _upperFirst.default)((0, _camelCase.default)(modelId));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.createTypeName = createTypeName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createTypeName","modelId","upperFirst","camelCase"],"sources":["createTypeName.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport camelCase from \"lodash/camelCase\";\n\nexport const createTypeName = (modelId: string): string => {\n return upperFirst(camelCase(modelId));\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,OAAD,EAA6B;EACvD,OAAO,IAAAC,mBAAA,EAAW,IAAAC,kBAAA,EAAUF,OAAV,CAAX,CAAP;AACH,CAFM"}
|
|
@@ -13,7 +13,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
13
|
|
|
14
14
|
var _plugins = require("@webiny/plugins");
|
|
15
15
|
|
|
16
|
-
var createValidators = function createValidators(validation) {
|
|
16
|
+
var createValidators = function createValidators(field, validation) {
|
|
17
17
|
var validatorPlugins = _plugins.plugins.byType("cms-model-field-validator");
|
|
18
18
|
|
|
19
19
|
return validation.reduce(function (collection, item) {
|
|
@@ -27,40 +27,61 @@ var createValidators = function createValidators(validation) {
|
|
|
27
27
|
|
|
28
28
|
var validator = /*#__PURE__*/function () {
|
|
29
29
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(value) {
|
|
30
|
-
var isInvalid, result;
|
|
30
|
+
var isInvalid, message, result, interpolated, getVariableValues, variables;
|
|
31
31
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
32
32
|
while (1) {
|
|
33
33
|
switch (_context.prev = _context.next) {
|
|
34
34
|
case 0:
|
|
35
|
-
|
|
36
|
-
_context.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
message = item.message;
|
|
36
|
+
_context.prev = 1;
|
|
37
|
+
_context.next = 4;
|
|
38
|
+
return validatorPlugin.validator.validate(value, {
|
|
39
|
+
validator: item,
|
|
40
|
+
field: field
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
case 4:
|
|
40
44
|
result = _context.sent;
|
|
41
45
|
isInvalid = result === false;
|
|
42
|
-
_context.next =
|
|
46
|
+
_context.next = 12;
|
|
43
47
|
break;
|
|
44
48
|
|
|
45
|
-
case
|
|
46
|
-
_context.prev =
|
|
47
|
-
_context.t0 = _context["catch"](
|
|
49
|
+
case 8:
|
|
50
|
+
_context.prev = 8;
|
|
51
|
+
_context.t0 = _context["catch"](1);
|
|
48
52
|
isInvalid = true;
|
|
49
53
|
|
|
50
|
-
|
|
54
|
+
if (_context.t0.message && !item.message) {
|
|
55
|
+
message = _context.t0.message;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
case 12:
|
|
51
59
|
if (!isInvalid) {
|
|
52
|
-
_context.next =
|
|
60
|
+
_context.next = 17;
|
|
53
61
|
break;
|
|
54
62
|
}
|
|
55
63
|
|
|
56
|
-
|
|
64
|
+
interpolated = message || "Invalid value.";
|
|
65
|
+
getVariableValues = validatorPlugin.validator.getVariableValues;
|
|
66
|
+
|
|
67
|
+
if (typeof getVariableValues === "function") {
|
|
68
|
+
variables = getVariableValues({
|
|
69
|
+
validator: item
|
|
70
|
+
});
|
|
71
|
+
Object.keys(variables).forEach(function (key) {
|
|
72
|
+
var regex = new RegExp("{".concat(key, "}"), "g");
|
|
73
|
+
interpolated = interpolated.replace(regex, variables[key]);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
57
76
|
|
|
58
|
-
|
|
77
|
+
throw new Error(interpolated);
|
|
78
|
+
|
|
79
|
+
case 17:
|
|
59
80
|
case "end":
|
|
60
81
|
return _context.stop();
|
|
61
82
|
}
|
|
62
83
|
}
|
|
63
|
-
}, _callee, null, [[
|
|
84
|
+
}, _callee, null, [[1, 8]]);
|
|
64
85
|
}));
|
|
65
86
|
|
|
66
87
|
return function validator(_x) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createValidators","field","validation","validatorPlugins","plugins","byType","reduce","collection","item","validatorPlugin","find","plugin","validator","name","validate","value","message","result","isInvalid","interpolated","getVariableValues","variables","Object","keys","forEach","key","regex","RegExp","replace","Error","push"],"sources":["createValidators.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { CmsModelField, CmsModelFieldValidator, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\n\nexport const createValidators = (\n field: CmsModelField,\n validation: CmsModelFieldValidator[]\n): Validator[] => {\n const validatorPlugins = plugins.byType<CmsModelFieldValidatorPlugin>(\n \"cms-model-field-validator\"\n );\n\n return validation.reduce((collection, item) => {\n const validatorPlugin = validatorPlugins.find(\n plugin => plugin.validator.name === item.name\n );\n\n if (!validatorPlugin || typeof validatorPlugin.validator.validate !== \"function\") {\n return collection;\n }\n\n const validator = async (value: any | any[]) => {\n let isInvalid;\n let message = item.message;\n try {\n const result = await validatorPlugin.validator.validate(value, {\n validator: item,\n field\n });\n\n isInvalid = result === false;\n } catch (e) {\n isInvalid = true;\n if (e.message && !item.message) {\n message = e.message;\n }\n }\n\n if (isInvalid) {\n let interpolated = message || \"Invalid value.\";\n\n const getVariableValues = validatorPlugin.validator.getVariableValues;\n if (typeof getVariableValues === \"function\") {\n const variables = getVariableValues({ validator: item });\n\n Object.keys(variables).forEach(key => {\n const regex = new RegExp(`\\{${key}\\}`, \"g\");\n interpolated = interpolated.replace(regex, variables[key]);\n });\n }\n\n throw new Error(interpolated);\n }\n };\n collection.push(validator);\n return collection;\n }, [] as Validator[]);\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAIO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC5BC,KAD4B,EAE5BC,UAF4B,EAGd;EACd,IAAMC,gBAAgB,GAAGC,gBAAA,CAAQC,MAAR,CACrB,2BADqB,CAAzB;;EAIA,OAAOH,UAAU,CAACI,MAAX,CAAkB,UAACC,UAAD,EAAaC,IAAb,EAAsB;IAC3C,IAAMC,eAAe,GAAGN,gBAAgB,CAACO,IAAjB,CACpB,UAAAC,MAAM;MAAA,OAAIA,MAAM,CAACC,SAAP,CAAiBC,IAAjB,KAA0BL,IAAI,CAACK,IAAnC;IAAA,CADc,CAAxB;;IAIA,IAAI,CAACJ,eAAD,IAAoB,OAAOA,eAAe,CAACG,SAAhB,CAA0BE,QAAjC,KAA8C,UAAtE,EAAkF;MAC9E,OAAOP,UAAP;IACH;;IAED,IAAMK,SAAS;MAAA,kGAAG,iBAAOG,KAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEVC,OAFU,GAEAR,IAAI,CAACQ,OAFL;gBAAA;gBAAA;gBAAA,OAIWP,eAAe,CAACG,SAAhB,CAA0BE,QAA1B,CAAmCC,KAAnC,EAA0C;kBAC3DH,SAAS,EAAEJ,IADgD;kBAE3DP,KAAK,EAALA;gBAF2D,CAA1C,CAJX;;cAAA;gBAIJgB,MAJI;gBASVC,SAAS,GAAGD,MAAM,KAAK,KAAvB;gBATU;gBAAA;;cAAA;gBAAA;gBAAA;gBAWVC,SAAS,GAAG,IAAZ;;gBACA,IAAI,YAAEF,OAAF,IAAa,CAACR,IAAI,CAACQ,OAAvB,EAAgC;kBAC5BA,OAAO,GAAG,YAAEA,OAAZ;gBACH;;cAdS;gBAAA,KAiBVE,SAjBU;kBAAA;kBAAA;gBAAA;;gBAkBNC,YAlBM,GAkBSH,OAAO,IAAI,gBAlBpB;gBAoBJI,iBApBI,GAoBgBX,eAAe,CAACG,SAAhB,CAA0BQ,iBApB1C;;gBAqBV,IAAI,OAAOA,iBAAP,KAA6B,UAAjC,EAA6C;kBACnCC,SADmC,GACvBD,iBAAiB,CAAC;oBAAER,SAAS,EAAEJ;kBAAb,CAAD,CADM;kBAGzCc,MAAM,CAACC,IAAP,CAAYF,SAAZ,EAAuBG,OAAvB,CAA+B,UAAAC,GAAG,EAAI;oBAClC,IAAMC,KAAK,GAAG,IAAIC,MAAJ,YAAgBF,GAAhB,QAAyB,GAAzB,CAAd;oBACAN,YAAY,GAAGA,YAAY,CAACS,OAAb,CAAqBF,KAArB,EAA4BL,SAAS,CAACI,GAAD,CAArC,CAAf;kBACH,CAHD;gBAIH;;gBA5BS,MA8BJ,IAAII,KAAJ,CAAUV,YAAV,CA9BI;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAH;;MAAA,gBAATP,SAAS;QAAA;MAAA;IAAA,GAAf;;IAiCAL,UAAU,CAACuB,IAAX,CAAgBlB,SAAhB;IACA,OAAOL,UAAP;EACH,CA5CM,EA4CJ,EA5CI,CAAP;AA6CH,CArDM"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CmsModel } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* For `dynamicZone` we don't want to write to cache, due to problems with Union Fragments normalization.
|
|
4
|
+
* This needs to be resolved better, but the overall direction is to move away from Apollo Client all together.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getFetchPolicy: (model: CmsModel) => "no-cache" | undefined;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFetchPolicy = void 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* For `dynamicZone` we don't want to write to cache, due to problems with Union Fragments normalization.
|
|
10
|
+
* This needs to be resolved better, but the overall direction is to move away from Apollo Client all together.
|
|
11
|
+
*/
|
|
12
|
+
var getFetchPolicy = function getFetchPolicy(model) {
|
|
13
|
+
var hasDynamicZone = model.fields.some(function (field) {
|
|
14
|
+
return field.type === "dynamicZone";
|
|
15
|
+
});
|
|
16
|
+
return hasDynamicZone ? "no-cache" : undefined;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.getFetchPolicy = getFetchPolicy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getFetchPolicy","model","hasDynamicZone","fields","some","field","type","undefined"],"sources":["getFetchPolicy.ts"],"sourcesContent":["import { CmsModel } from \"~/types\";\n\n/**\n * For `dynamicZone` we don't want to write to cache, due to problems with Union Fragments normalization.\n * This needs to be resolved better, but the overall direction is to move away from Apollo Client all together.\n */\nexport const getFetchPolicy = (model: CmsModel) => {\n const hasDynamicZone = model.fields.some(field => field.type === \"dynamicZone\");\n\n return hasDynamicZone ? \"no-cache\" : undefined;\n};\n"],"mappings":";;;;;;;AAEA;AACA;AACA;AACA;AACO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAqB;EAC/C,IAAMC,cAAc,GAAGD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAkB,UAAAC,KAAK;IAAA,OAAIA,KAAK,CAACC,IAAN,KAAe,aAAnB;EAAA,CAAvB,CAAvB;EAEA,OAAOJ,cAAc,GAAG,UAAH,GAAgBK,SAArC;AACH,CAJM"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getModelTitleFieldId = void 0;
|
|
7
|
+
|
|
8
|
+
var getModelTitleFieldId = function getModelTitleFieldId(model) {
|
|
9
|
+
if (!model.titleFieldId || model.titleFieldId === "id") {
|
|
10
|
+
return "";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return model.titleFieldId;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.getModelTitleFieldId = getModelTitleFieldId;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getModelTitleFieldId","model","titleFieldId"],"sources":["getModelTitleFieldId.ts"],"sourcesContent":["import { CmsEditorContentModel } from \"~/types\";\n\nexport const getModelTitleFieldId = (model: CmsEditorContentModel): string => {\n if (!model.titleFieldId || model.titleFieldId === \"id\") {\n return \"\";\n }\n return model.titleFieldId;\n};\n"],"mappings":";;;;;;;AAEO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAA0C;EAC1E,IAAI,CAACA,KAAK,CAACC,YAAP,IAAuBD,KAAK,CAACC,YAAN,KAAuB,IAAlD,EAAwD;IACpD,OAAO,EAAP;EACH;;EACD,OAAOD,KAAK,CAACC,YAAb;AACH,CALM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createValidators","validation","validatorPlugins","plugins","byType","reduce","collection","item","validatorPlugin","find","plugin","validator","name","validate","value","result","isInvalid","Error","message","push"],"sources":["createValidators.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { CmsEditorFieldValidator, CmsModelFieldValidatorPlugin } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\n\nexport const createValidators = (validation: CmsEditorFieldValidator[]): Validator[] => {\n const validatorPlugins = plugins.byType<CmsModelFieldValidatorPlugin>(\n \"cms-model-field-validator\"\n );\n\n return validation.reduce((collection, item) => {\n const validatorPlugin = validatorPlugins.find(\n plugin => plugin.validator.name === item.name\n );\n\n if (!validatorPlugin || typeof validatorPlugin.validator.validate !== \"function\") {\n return collection;\n }\n\n const validator = async (value: string | string[]) => {\n let isInvalid;\n try {\n const result = await validatorPlugin.validator.validate(value, item);\n isInvalid = result === false;\n } catch (e) {\n isInvalid = true;\n }\n\n if (isInvalid) {\n throw new Error(item.message || \"Invalid value.\");\n }\n };\n collection.push(validator);\n return collection;\n }, [] as Validator[]);\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAIO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD,EAAwD;EACpF,IAAMC,gBAAgB,GAAGC,gBAAA,CAAQC,MAAR,CACrB,2BADqB,CAAzB;;EAIA,OAAOH,UAAU,CAACI,MAAX,CAAkB,UAACC,UAAD,EAAaC,IAAb,EAAsB;IAC3C,IAAMC,eAAe,GAAGN,gBAAgB,CAACO,IAAjB,CACpB,UAAAC,MAAM;MAAA,OAAIA,MAAM,CAACC,SAAP,CAAiBC,IAAjB,KAA0BL,IAAI,CAACK,IAAnC;IAAA,CADc,CAAxB;;IAIA,IAAI,CAACJ,eAAD,IAAoB,OAAOA,eAAe,CAACG,SAAhB,CAA0BE,QAAjC,KAA8C,UAAtE,EAAkF;MAC9E,OAAOP,UAAP;IACH;;IAED,IAAMK,SAAS;MAAA,kGAAG,iBAAOG,KAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAGWN,eAAe,CAACG,SAAhB,CAA0BE,QAA1B,CAAmCC,KAAnC,EAA0CP,IAA1C,CAHX;;cAAA;gBAGJQ,MAHI;gBAIVC,SAAS,GAAGD,MAAM,KAAK,KAAvB;gBAJU;gBAAA;;cAAA;gBAAA;gBAAA;gBAMVC,SAAS,GAAG,IAAZ;;cANU;gBAAA,KASVA,SATU;kBAAA;kBAAA;gBAAA;;gBAAA,MAUJ,IAAIC,KAAJ,CAAUV,IAAI,CAACW,OAAL,IAAgB,gBAA1B,CAVI;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAH;;MAAA,gBAATP,SAAS;QAAA;MAAA;IAAA,GAAf;;IAaAL,UAAU,CAACa,IAAX,CAAgBR,SAAhB;IACA,OAAOL,UAAP;EACH,CAxBM,EAwBJ,EAxBI,CAAP;AAyBH,CA9BM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["contentModelEditorContext","React","createContext","apolloClient","data","isPristine","getContentModel","saveContentModel","error","setData","contentModelEditorReducer","prev","action","type","cleanupModelDataFields","fields","map","field","predefinedValues","enabled","values","label","value","selected","String","cleanupModelData","ContentModelEditorProvider","children","modelId","useReducer","state","dispatch","useRouter","history","useSnackbar","showSnackbar","setPristine","flag","modelData","pick","mutate","mutation","UPDATE_CONTENT_MODEL","variables","refetchQueries","query","LIST_MENU_CONTENT_GROUPS_MODELS","response","updateContentModel","setter","saveModel","GET_CONTENT_MODEL","get","Error","useEffect","catch","push","useMemo","Provider"],"sources":["Context.tsx"],"sourcesContent":["// TODO @ts-refactor verify that types are correct\nimport React, { useEffect, useMemo, useReducer } from \"react\";\nimport get from \"lodash/get\";\nimport pick from \"lodash/pick\";\nimport { ApolloClient } from \"apollo-client\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables,\n UPDATE_CONTENT_MODEL,\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n} from \"~/admin/graphql/contentModels\";\nimport { LIST_MENU_CONTENT_GROUPS_MODELS } from \"~/admin/viewsGraphql\";\nimport { CmsEditorContentModel, CmsEditorField, CmsModel } from \"~/types\";\nimport { FetchResult } from \"apollo-link\";\n\nexport interface ContentModelEditorProviderContext {\n apolloClient: ApolloClient<any>;\n data: CmsEditorContentModel;\n isPristine: boolean;\n getContentModel: (modelId: string) => Promise<FetchResult<GetCmsModelQueryResponse>>;\n saveContentModel: (\n data?: CmsModel\n ) => Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]>;\n setData: (setter: (model: CmsModel) => void, saveContentModel?: boolean) => Promise<any>;\n}\n\nexport const contentModelEditorContext = React.createContext<ContentModelEditorProviderContext>({\n apolloClient: null as unknown as ApolloClient<any>,\n data: null as unknown as CmsEditorContentModel,\n isPristine: false,\n getContentModel: async () => {\n return {\n data: null\n };\n },\n saveContentModel: async () => {\n return {\n data: null,\n error: null\n };\n },\n setData: async () => {\n return void 0;\n }\n});\n\ntype PickedCmsEditorContentModel = Pick<\n CmsEditorContentModel,\n \"layout\" | \"fields\" | \"name\" | \"settings\" | \"description\" | \"titleFieldId\" | \"group\"\n>;\ninterface State {\n modelId: string | null;\n isPristine: boolean;\n data: CmsModel;\n}\ninterface Action {\n data: Partial<State> | Partial<CmsModel>;\n type: \"state\" | \"data\";\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\nexport const contentModelEditorReducer: Reducer = (prev: State, action: Action): State => {\n const { data, type } = action;\n switch (type) {\n case \"state\":\n return { ...prev, ...data };\n\n case \"data\":\n return { ...prev, data: data as CmsModel };\n default:\n return prev;\n }\n};\n\n/**\n * Cleanup is required because backend always expects string value in predefined values entries\n */\nconst cleanupModelDataFields = (fields: CmsEditorField[]): CmsEditorField[] => {\n return fields.map(field => {\n const { predefinedValues } = field;\n const { enabled = false, values = [] } = predefinedValues || {};\n return {\n ...field,\n predefinedValues: {\n enabled,\n values: values.map(({ label, value, selected }) => {\n return {\n label,\n selected: selected || false,\n value: String(value)\n };\n })\n }\n };\n });\n};\n\nconst cleanupModelData = (data: PickedCmsEditorContentModel): PickedCmsEditorContentModel => {\n return {\n ...data,\n fields: cleanupModelDataFields(data.fields)\n };\n};\n\ninterface ContentModelEditorProviderProps {\n apolloClient: ApolloClient<any>;\n modelId?: string;\n children: React.ReactElement;\n}\n\nexport const ContentModelEditorProvider: React.FC<ContentModelEditorProviderProps> = ({\n children,\n apolloClient,\n modelId\n}) => {\n const [state, dispatch] = useReducer<Reducer>(contentModelEditorReducer, {\n modelId: modelId || null,\n isPristine: true,\n data: null as unknown as CmsModel\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n\n const setPristine = (flag: boolean): void => {\n dispatch({ type: \"state\", data: { isPristine: flag } });\n };\n\n const saveContentModel = async (\n data?: CmsModel\n ): Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]> => {\n if (!data) {\n data = state.data;\n }\n const modelData: PickedCmsEditorContentModel = pick(data, [\n \"group\",\n \"layout\",\n \"fields\",\n \"name\",\n \"settings\",\n \"description\",\n \"titleFieldId\"\n ]);\n const response = await apolloClient.mutate<\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n >({\n mutation: UPDATE_CONTENT_MODEL,\n variables: {\n modelId: data.modelId,\n data: cleanupModelData(modelData)\n },\n refetchQueries: [\n {\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n }\n ]\n });\n\n setPristine(true);\n\n if (!response.data || !response.data.updateContentModel) {\n return {\n data: null,\n error: null\n };\n }\n\n return response.data.updateContentModel;\n };\n\n /**\n * Set form data by providing a callback, which receives a fresh copy of data on which you can work on.\n * Return new data once finished.\n */\n const setData = async (setter: (value: any) => any, saveModel = false): Promise<void> => {\n setPristine(false);\n const data = setter(state.data);\n dispatch({ type: \"data\", data });\n if (!saveModel) {\n return;\n }\n await saveContentModel(data);\n };\n\n const getContentModel = async (\n modelId: string\n ): Promise<FetchResult<GetCmsModelQueryResponse>> => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId\n }\n });\n\n const { data, error } = get(response, \"data.getContentModel\");\n if (error) {\n throw new Error(error);\n }\n\n await setData(() => data, false);\n setPristine(true);\n return response;\n };\n\n useEffect(() => {\n if (!modelId) {\n return;\n }\n getContentModel(modelId).catch(() => {\n history.push(`/cms/content-models`);\n showSnackbar(`Could not load content model with given ID.`);\n });\n }, [modelId]);\n\n const value = useMemo(\n () => ({\n data: state.data,\n modelId,\n apolloClient,\n dispatch,\n isPristine: state.isPristine,\n getContentModel,\n saveContentModel,\n setData\n }),\n [state, apolloClient]\n );\n\n const { Provider } = contentModelEditorContext;\n\n return <Provider value={value}>{children}</Provider>;\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useContentModelEditor(): import("./Context").ContentModelEditorProviderContext;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useContentModelEditor","context","React","useContext","contentModelEditorContext","Error"],"sources":["useContentModelEditor.ts"],"sourcesContent":["import React from \"react\";\nimport { contentModelEditorContext } from \"./Context\";\n\nexport function useContentModelEditor() {\n const context = React.useContext(contentModelEditorContext);\n if (!context) {\n throw new Error(\"useContentModelEditor must be used within a ContentModelEditorProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,SAASA,qBAAT,GAAiC;EACpC,IAAMC,OAAO,GAAGC,cAAA,CAAMC,UAAN,CAAiBC,kCAAjB,CAAhB;;EACA,IAAI,CAACH,OAAL,EAAc;IACV,MAAM,IAAII,KAAJ,CAAU,wEAAV,CAAN;EACH;;EAED,OAAOJ,OAAP;AACH"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { FormRenderPropParams } from "@webiny/form";
|
|
3
|
-
import { CmsEditorField, CmsEditorFieldValidatorPlugin } from "../../../../types";
|
|
4
|
-
interface ValidatorsTabPropsValidator {
|
|
5
|
-
optional: boolean;
|
|
6
|
-
validator: CmsEditorFieldValidatorPlugin["validator"];
|
|
7
|
-
}
|
|
8
|
-
interface ValidatorsTabProps {
|
|
9
|
-
name: string;
|
|
10
|
-
validators: ValidatorsTabPropsValidator[];
|
|
11
|
-
form: FormRenderPropParams;
|
|
12
|
-
field: CmsEditorField;
|
|
13
|
-
}
|
|
14
|
-
declare const ValidatorsTab: React.FC<ValidatorsTabProps>;
|
|
15
|
-
export default ValidatorsTab;
|