@webiny/app-headless-cms 5.24.0 → 5.25.0-beta.2
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.d.ts +4 -3
- package/HeadlessCMS.js.map +1 -0
- package/admin/components/ContentEntryForm/ContentEntryForm.js +27 -6
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -0
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +18 -2
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -0
- package/admin/components/ContentEntryForm/Fields.d.ts +1 -2
- package/admin/components/ContentEntryForm/Fields.js +1 -1
- package/admin/components/ContentEntryForm/Fields.js.map +1 -0
- package/admin/components/ContentEntryForm/Label.js.map +1 -0
- package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +1 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -0
- package/admin/components/ContentEntryForm/functions/createValidators.d.ts +2 -1
- package/admin/components/ContentEntryForm/functions/createValidators.js +8 -5
- package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -0
- package/admin/components/ContentEntryForm/functions/getValue.d.ts +4 -3
- package/admin/components/ContentEntryForm/functions/getValue.js +0 -1
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -0
- package/admin/components/ContentEntryForm/functions/setValue.d.ts +4 -3
- package/admin/components/ContentEntryForm/functions/setValue.js +0 -1
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -0
- package/admin/components/ContentEntryForm/useBind.d.ts +3 -7
- package/admin/components/ContentEntryForm/useBind.js +6 -0
- package/admin/components/ContentEntryForm/useBind.js.map +1 -0
- package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +2 -4
- package/admin/components/ContentEntryForm/useContentEntryForm.js +75 -26
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -0
- package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -0
- package/admin/components/ContentModelEditor/Context.d.ts +9 -7
- package/admin/components/ContentModelEditor/Context.js +158 -36
- package/admin/components/ContentModelEditor/Context.js.map +1 -0
- package/admin/components/ContentModelEditor/Editor.d.ts +1 -1
- package/admin/components/ContentModelEditor/Editor.js +5 -3
- package/admin/components/ContentModelEditor/Editor.js.map +1 -0
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -0
- package/admin/components/ContentModelEditor/Header.js.map +1 -0
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -0
- package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -0
- package/admin/components/DragPreview.js +6 -1
- package/admin/components/DragPreview.js.map +1 -0
- package/admin/components/Draggable.js.map +1 -0
- package/admin/components/DropZone/Center.js.map +1 -0
- package/admin/components/DropZone/Horizontal.js +1 -1
- package/admin/components/DropZone/Horizontal.js.map +1 -0
- package/admin/components/DropZone/Vertical.js +1 -1
- package/admin/components/DropZone/Vertical.js.map +1 -0
- package/admin/components/DropZone/index.js.map +1 -0
- package/admin/components/Droppable.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +14 -4
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +5 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +9 -4
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +13 -6
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +2 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +2 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +0 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog.d.ts +1 -1
- package/admin/components/FieldEditor/EditFieldDialog.js +35 -18
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -0
- package/admin/components/FieldEditor/Field.js +2 -2
- package/admin/components/FieldEditor/Field.js.map +1 -0
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -0
- package/admin/components/FieldEditor/FieldEditorContext.d.ts +9 -9
- package/admin/components/FieldEditor/FieldEditorContext.js +43 -15
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -0
- package/admin/components/FieldEditor/Styled.d.ts +2 -3
- package/admin/components/FieldEditor/Styled.js.map +1 -0
- package/admin/components/FieldEditor/index.js.map +1 -0
- package/admin/components/FieldEditor/useFieldEditor.js.map +1 -0
- package/admin/components/FieldEditor/utils/deleteField.d.ts +5 -5
- package/admin/components/FieldEditor/utils/deleteField.js +4 -0
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -0
- package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
- package/admin/components/FieldEditor/utils/getFieldPosition.js +3 -2
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -0
- package/admin/components/FieldEditor/utils/index.js.map +1 -0
- package/admin/components/FieldEditor/utils/moveField.d.ts +2 -2
- package/admin/components/FieldEditor/utils/moveField.js +3 -1
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -0
- package/admin/components/FieldEditor/utils/moveRow.js.map +1 -0
- package/admin/constants/statusLabels.js.map +1 -0
- package/admin/contexts/Cms/NetworkError.js.map +1 -0
- package/admin/contexts/Cms/index.js +22 -7
- package/admin/contexts/Cms/index.js.map +1 -0
- package/admin/elements/ContentGroupMenuElement.js.map +1 -0
- package/admin/elements/ContentModelMenuElement.js.map +1 -0
- package/admin/elements/NothingToShowElement.js.map +1 -0
- package/admin/graphql/contentEntries.d.ts +8 -8
- package/admin/graphql/contentEntries.js.map +1 -0
- package/admin/graphql/contentModels.d.ts +2 -2
- package/admin/graphql/contentModels.js.map +1 -0
- package/admin/graphql/createFieldsList.js.map +1 -0
- package/admin/hooks/index.js.map +1 -0
- package/admin/hooks/useApolloClient.js.map +1 -0
- package/admin/hooks/useCms.js.map +1 -0
- package/admin/hooks/useLazyQuery.d.ts +2 -1
- package/admin/hooks/useLazyQuery.js.map +1 -0
- package/admin/hooks/useMutation.d.ts +2 -1
- package/admin/hooks/useMutation.js.map +1 -0
- package/admin/hooks/usePermission.js +20 -19
- package/admin/hooks/usePermission.js.map +1 -0
- package/admin/hooks/useQuery.d.ts +2 -2
- package/admin/hooks/useQuery.js.map +1 -0
- package/admin/hooks/useQueryLocale.d.ts +2 -2
- package/admin/hooks/useQueryLocale.js.map +1 -0
- package/admin/menus/CmsMenuLoader.js.map +1 -0
- package/admin/menus/ContentGroupsMenuItems.js +1 -1
- package/admin/menus/ContentGroupsMenuItems.js.map +1 -0
- package/admin/menus/GlobalSearchPlugins.d.ts +0 -1
- package/admin/menus/GlobalSearchPlugins.js +1 -1
- package/admin/menus/GlobalSearchPlugins.js.map +1 -0
- package/admin/menus/NothingToShowElement.js.map +1 -0
- package/admin/plugins/apiInformation/index.js +3 -3
- package/admin/plugins/apiInformation/index.js.map +1 -0
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -0
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -0
- package/admin/plugins/editor/defaultBar/BackButton.js +4 -2
- package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
- package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -2
- package/admin/plugins/editor/defaultBar/Divider.js.map +1 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +11 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +2 -2
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -0
- package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -0
- package/admin/plugins/editor/defaultBar/Name/Name.js +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -0
- package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +3 -4
- package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -0
- package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -0
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +37 -32
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -0
- package/admin/plugins/editor/defaultBar/index.d.ts +0 -1
- package/admin/plugins/editor/defaultBar/index.js.map +1 -0
- package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +0 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
- package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +0 -1
- package/admin/plugins/editor/formSettings/components/GroupSelect.js +1 -1
- package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -0
- package/admin/plugins/editor/formSettings/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/Accordion.d.ts +1 -1
- package/admin/plugins/fieldRenderers/Accordion.js +1 -1
- package/admin/plugins/fieldRenderers/Accordion.js.map +1 -0
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +7 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +7 -4
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -0
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +0 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -0
- package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/checkboxes.js +11 -6
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +40 -9
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +74 -18
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +72 -16
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +4 -4
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +15 -10
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +3 -3
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/File.d.ts +4 -4
- package/admin/plugins/fieldRenderers/file/File.js +9 -3
- package/admin/plugins/fieldRenderers/file/File.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/fileField.js +4 -4
- package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/fileFields.js +10 -5
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/utils.d.ts +0 -1
- package/admin/plugins/fieldRenderers/file/utils.js +2 -2
- package/admin/plugins/fieldRenderers/file/utils.js.map +1 -0
- package/admin/plugins/fieldRenderers/longText/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/longText/longText.js +0 -1
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -0
- package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -0
- package/admin/plugins/fieldRenderers/number/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/number/numberInput.js +0 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -0
- package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -0
- package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -0
- package/admin/plugins/fieldRenderers/object/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/object/multipleObjects.js +5 -5
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -0
- package/admin/plugins/fieldRenderers/object/singleObject.js +3 -2
- package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -0
- package/admin/plugins/fieldRenderers/radioButtons.js +11 -5
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +2 -4
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.d.ts +3 -2
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +14 -8
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +4 -3
- package/admin/plugins/fieldRenderers/ref/components/getOptions.js +1 -1
- package/admin/plugins/fieldRenderers/ref/components/getOptions.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -14
- package/admin/plugins/fieldRenderers/ref/components/graphql.js +1 -1
- package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +6 -11
- package/admin/plugins/fieldRenderers/ref/components/useReference.js +4 -3
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +3 -9
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js +1 -2
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -3
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +6 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/refInput.js +0 -1
- package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -2
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -0
- package/admin/plugins/fieldRenderers/richText/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +5 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -0
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +9 -3
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -0
- package/admin/plugins/fieldRenderers/select.js +28 -7
- package/admin/plugins/fieldRenderers/select.js.map +1 -0
- package/admin/plugins/fieldRenderers/text/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/text/textInput.js +0 -1
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -0
- package/admin/plugins/fieldRenderers/text/textInputs.js +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -0
- package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
- package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -0
- package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +0 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.js +5 -3
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -0
- package/admin/plugins/fieldValidators/dateGte.js +1 -1
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -0
- package/admin/plugins/fieldValidators/dateLte.js +1 -1
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -0
- package/admin/plugins/fieldValidators/gte.js.map +1 -0
- package/admin/plugins/fieldValidators/in.js.map +1 -0
- package/admin/plugins/fieldValidators/lte.js.map +1 -0
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -0
- package/admin/plugins/fieldValidators/minLength.js.map +1 -0
- package/admin/plugins/fieldValidators/pattern.js +6 -0
- package/admin/plugins/fieldValidators/pattern.js.map +1 -0
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -0
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -0
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -0
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -0
- package/admin/plugins/fieldValidators/required.js.map +1 -0
- package/admin/plugins/fieldValidators/unique.js.map +1 -0
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -0
- package/admin/plugins/fields/boolean.js.map +1 -0
- package/admin/plugins/fields/dateTime.js.map +1 -0
- package/admin/plugins/fields/file.js +2 -2
- package/admin/plugins/fields/file.js.map +1 -0
- package/admin/plugins/fields/longText.js.map +1 -0
- package/admin/plugins/fields/number.js.map +1 -0
- package/admin/plugins/fields/object/ObjectFields.js +2 -2
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -0
- package/admin/plugins/fields/object.js +1 -1
- package/admin/plugins/fields/object.js.map +1 -0
- package/admin/plugins/fields/ref.js +5 -5
- package/admin/plugins/fields/ref.js.map +1 -0
- package/admin/plugins/fields/richText.js.map +1 -0
- package/admin/plugins/fields/text.js.map +1 -0
- package/admin/plugins/getObjectId.js.map +1 -0
- package/admin/plugins/icons.js +10 -3
- package/admin/plugins/icons.js.map +1 -0
- package/admin/plugins/index.d.ts +0 -1
- package/admin/plugins/index.js.map +1 -0
- package/admin/plugins/install.js +11 -7
- package/admin/plugins/install.js.map +1 -0
- package/admin/plugins/permissionRenderer/CmsPermissions.js +14 -9
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +2 -2
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +7 -6
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +2 -2
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +7 -6
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +2 -2
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +7 -6
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +1 -1
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js +13 -1
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +1 -2
- package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/types.js.map +1 -0
- package/admin/plugins/permissionRenderer/components/useCmsData.js +4 -6
- package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -0
- package/admin/plugins/permissionRenderer/index.js.map +1 -0
- package/admin/plugins/routes.js.map +1 -0
- package/admin/plugins/transformers/dateTransformer.js +20 -24
- package/admin/plugins/transformers/dateTransformer.js.map +1 -0
- package/admin/plugins/transformers/index.js.map +1 -0
- package/admin/plugins/transformers/numberTransformer.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +1 -1
- package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +2 -2
- package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +2 -2
- package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -0
- package/admin/plugins/upgrades/5.19.0/types.js.map +1 -0
- package/admin/plugins/upgrades/v5.0.0.d.ts +0 -1
- package/admin/plugins/upgrades/v5.0.0.js.map +1 -0
- package/admin/plugins/upgrades/v5.19.0.d.ts +0 -1
- package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
- package/admin/plugins/upgrades/v5.5.0.d.ts +0 -1
- package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
- package/admin/plugins/upgrades/v5.8.0.d.ts +0 -1
- package/admin/plugins/upgrades/v5.8.0.js.map +1 -0
- package/admin/plugins/validators/dateGte.js.map +1 -0
- package/admin/plugins/validators/dateLte.js.map +1 -0
- package/admin/plugins/validators/gte.js.map +1 -0
- package/admin/plugins/validators/in.js.map +1 -0
- package/admin/plugins/validators/lte.js.map +1 -0
- package/admin/plugins/validators/maxLength.js.map +1 -0
- package/admin/plugins/validators/minLength.js.map +1 -0
- package/admin/plugins/validators/pattern.js.map +1 -0
- package/admin/plugins/validators/patternPlugins/email.js.map +1 -0
- package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -0
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/admin/plugins/validators/patternPlugins/url.js.map +1 -0
- package/admin/plugins/validators/required.js.map +1 -0
- package/admin/plugins/validators/timeGte.js.map +1 -0
- package/admin/plugins/validators/timeLte.js.map +1 -0
- package/admin/plugins/validators/unique.js.map +1 -0
- package/admin/plugins/welcomeScreenWidget.js.map +1 -0
- package/admin/views/contentEntries/ContentEntries.js +2 -2
- package/admin/views/contentEntries/ContentEntries.js.map +1 -0
- package/admin/views/contentEntries/ContentEntriesContext.js +13 -4
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -0
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +10 -7
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +85 -4
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +4 -2
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/cache.js +19 -23
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +15 -8
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -2
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +8 -7
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +2 -2
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +2 -2
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -1
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/useRevision.js +105 -47
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry.js.map +1 -0
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -2
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -4
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -0
- package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -0
- package/admin/views/contentModelGroups/ContentModelGroups.js +4 -3
- package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -0
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +6 -3
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -0
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +23 -8
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -0
- package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -0
- package/admin/views/contentModelGroups/IconPicker.js +11 -3
- package/admin/views/contentModelGroups/IconPicker.js.map +1 -0
- package/admin/views/contentModelGroups/graphql.js.map +1 -0
- package/admin/views/contentModels/CloneContentModelDialog.js +25 -34
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -0
- package/admin/views/contentModels/ContentModelEditor.js +2 -2
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -0
- package/admin/views/contentModels/ContentModels.js +5 -4
- package/admin/views/contentModels/ContentModels.js.map +1 -0
- package/admin/views/contentModels/ContentModelsDataList.js +9 -2
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -0
- package/admin/views/contentModels/NewContentModelDialog.js +17 -3
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -0
- package/admin/views/contentModels/cache.js +38 -12
- package/admin/views/contentModels/cache.js.map +1 -0
- package/admin/views/contentModels/types.js.map +1 -0
- package/admin/views/utils.js.map +1 -0
- package/admin/viewsGraphql.js.map +1 -0
- package/index.js.map +1 -0
- package/package.json +26 -25
- package/types.d.ts +41 -7
- package/types.js.map +1 -0
|
@@ -1,21 +1,16 @@
|
|
|
1
|
+
import { OptionItem } from "./getOptions";
|
|
1
2
|
import { CmsEditorField } from "../../../../../types";
|
|
2
|
-
|
|
3
|
-
id: string;
|
|
4
|
-
modelId: string;
|
|
5
|
-
modelName: string;
|
|
6
|
-
published: boolean;
|
|
7
|
-
name: string;
|
|
8
|
-
}
|
|
3
|
+
import { BindComponentRenderProp } from "@webiny/form";
|
|
9
4
|
interface UseReferenceHookArgs {
|
|
10
|
-
bind:
|
|
5
|
+
bind: BindComponentRenderProp;
|
|
11
6
|
field: CmsEditorField;
|
|
12
7
|
}
|
|
13
8
|
interface UseReferenceHookValue {
|
|
14
|
-
onChange: (value: any, entry:
|
|
9
|
+
onChange: (value: any, entry: OptionItem) => void;
|
|
15
10
|
setSearch: (value: string) => void;
|
|
16
|
-
value:
|
|
11
|
+
value: OptionItem | null;
|
|
17
12
|
loading: boolean;
|
|
18
|
-
options:
|
|
13
|
+
options: OptionItem[];
|
|
19
14
|
}
|
|
20
15
|
declare type UseReferenceHook = (args: UseReferenceHookArgs) => UseReferenceHookValue;
|
|
21
16
|
export declare const useReference: UseReferenceHook;
|
|
@@ -76,7 +76,7 @@ export var useReference = function useReference(_ref) {
|
|
|
76
76
|
valueEntry = _useState10[0],
|
|
77
77
|
setValueEntry = _useState10[1];
|
|
78
78
|
|
|
79
|
-
var models = field.settings.models;
|
|
79
|
+
var models = field.settings ? field.settings.models || [] : [];
|
|
80
80
|
var modelsHash = models.join(",");
|
|
81
81
|
var value = bind.value;
|
|
82
82
|
var valueHash = value ? value.id : null;
|
|
@@ -209,10 +209,11 @@ export var useReference = function useReference(_ref) {
|
|
|
209
209
|
setValueEntry(function () {
|
|
210
210
|
return entry;
|
|
211
211
|
});
|
|
212
|
-
|
|
212
|
+
bind.onChange({
|
|
213
213
|
modelId: entry.modelId,
|
|
214
214
|
id: entry.id
|
|
215
215
|
});
|
|
216
|
+
return;
|
|
216
217
|
}
|
|
217
218
|
|
|
218
219
|
setValueEntry(function () {
|
|
@@ -228,7 +229,7 @@ export var useReference = function useReference(_ref) {
|
|
|
228
229
|
var defaultOptions = useMemo(function () {
|
|
229
230
|
return getOptions(Object.values(latestEntries));
|
|
230
231
|
}, [latestEntries]);
|
|
231
|
-
var outputOptions = search ? options : defaultOptions || [];
|
|
232
|
+
var outputOptions = (search && options ? options : defaultOptions) || [];
|
|
232
233
|
|
|
233
234
|
if (valueEntry && outputOptions.some(function (opt) {
|
|
234
235
|
return opt.id === valueEntry.id;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useReference.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","useApolloClient","GQL","getOptions","convertQueryDataToEntryList","data","reduce","collection","entry","id","convertValueEntryToData","model","modelId","name","modelName","status","published","title","convertDataEntryToValue","assignValueEntry","useReference","bind","field","allEntries","client","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntry","setValueEntry","models","settings","modelsHash","join","value","valueHash","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","map","m","content","Object","assign","current","limit","fetchPolicy","then","latestEntryData","GET_CONTENT_ENTRY","res","dataEntry","prev","onChange","options","values","defaultOptions","outputOptions","some","opt","push"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport * as GQL from \"./graphql\";\nimport { getOptions, OptionItem } from \"./getOptions\";\nimport { CmsEditorField, CmsModel } from \"~/types\";\nimport { CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables } from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface DataEntry {\n id: string;\n model: {\n modelId: string;\n name: string;\n };\n status: \"published\" | \"draft\";\n title: string;\n}\n\ninterface UseReferenceHookArgs {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\n\ninterface UseReferenceHookValue {\n onChange: (value: any, entry: OptionItem) => void;\n setSearch: (value: string) => void;\n value: OptionItem | null;\n loading: boolean;\n options: OptionItem[];\n}\n\ntype UseReferenceHook = (args: UseReferenceHookArgs) => UseReferenceHookValue;\n\ntype EntryCollection = Record<string, DataEntry>;\n\nconst convertQueryDataToEntryList = (data: DataEntry[]): EntryCollection => {\n return data.reduce((collection, entry) => {\n collection[entry.id] = entry;\n return collection;\n }, {} as EntryCollection);\n};\n\nconst convertValueEntryToData = (entry: OptionItem): DataEntry => {\n return {\n id: entry.id,\n model: {\n modelId: entry.modelId,\n name: entry.modelName\n },\n status: entry.published ? \"published\" : \"draft\",\n title: entry.name\n };\n};\n\nconst convertDataEntryToValue = (entry: DataEntry): OptionItem => {\n return {\n id: entry.id,\n modelId: entry.model.modelId,\n modelName: entry.model.name,\n published: entry.status === \"published\",\n name: entry.title\n };\n};\n\nconst assignValueEntry = (entry: OptionItem | null, collection: EntryCollection): void => {\n if (!entry) {\n return;\n }\n collection[entry.id] = convertValueEntryToData(entry);\n};\n\nexport const useReference: UseReferenceHook = ({ bind, field }) => {\n const allEntries = useRef<EntryCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<EntryCollection>({});\n const [latestEntries, setLatestEntries] = useState<EntryCollection>({});\n const [valueEntry, setValueEntry] = useState<OptionItem | null>(null);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\" | \"name\"\n >[];\n const modelsHash = models.join(\",\");\n\n const value = bind.value;\n const valueHash = value ? value.id : null;\n\n const searchEntries = async () => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query({\n query: GQL.SEARCH_CONTENT_ENTRIES,\n variables: { modelIds: models.map(m => m.modelId), query: search }\n });\n\n setLoading(false);\n\n const searchEntries = convertQueryDataToEntryList(data.content.data);\n assignValueEntry(valueEntry, searchEntries);\n Object.assign(allEntries.current, searchEntries);\n\n setEntries(searchEntries);\n };\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: GQL.SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: \"__latest__\",\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n const latestEntryData = convertQueryDataToEntryList(data.content.data);\n assignValueEntry(valueEntry, latestEntryData);\n\n setLatestEntries(latestEntryData);\n Object.assign(allEntries.current, latestEntryData);\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!value || !models) {\n setValueEntry(() => null);\n return;\n }\n\n const entry = allEntries.current[valueHash];\n if (entry) {\n // if entry exists set valueEntry to that one so we do not load new one\n setValueEntry(() => {\n return convertDataEntryToValue(entry);\n });\n return;\n }\n\n setLoading(true);\n client\n .query({\n query: GQL.GET_CONTENT_ENTRY,\n variables: { entry: { modelId: value.modelId, id: value.id } }\n })\n .then(res => {\n setLoading(false);\n const dataEntry: DataEntry | null = res.data.content.data;\n if (!dataEntry) {\n return;\n }\n allEntries.current[dataEntry.id] = dataEntry;\n setLatestEntries(prev => {\n return {\n ...prev,\n [dataEntry.id]: dataEntry\n };\n });\n // Calculate a couple of props for the Autocomplete component.\n setValueEntry(() => {\n return convertDataEntryToValue(dataEntry);\n });\n });\n }, [valueHash, modelsHash]);\n\n const onChange = useCallback((value: string, entry: OptionItem) => {\n if (value !== null) {\n setSearch(\"\");\n\n setValueEntry(() => {\n return entry;\n });\n bind.onChange({ modelId: entry.modelId, id: entry.id });\n return;\n }\n\n setValueEntry(() => null);\n bind.onChange(null);\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => getOptions(Object.values(entries)), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => {\n return getOptions(Object.values(latestEntries));\n }, [latestEntries]);\n\n const outputOptions: OptionItem[] = (search && options ? options : defaultOptions) || [];\n\n if (valueEntry && outputOptions.some(opt => opt.id === valueEntry.id) === false) {\n outputOptions.push(valueEntry);\n }\n\n return {\n onChange,\n setSearch,\n value: valueEntry,\n loading,\n options: outputOptions\n };\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { CmsEditorField } from "../../../../../types";
|
|
2
|
+
import { BindComponentRenderProp } from "@webiny/form";
|
|
3
3
|
export interface ReferencedCmsEntry {
|
|
4
4
|
id: string;
|
|
5
5
|
modelId: string;
|
|
@@ -8,7 +8,7 @@ export interface ReferencedCmsEntry {
|
|
|
8
8
|
name: string;
|
|
9
9
|
}
|
|
10
10
|
interface UseReferencesParams {
|
|
11
|
-
bind:
|
|
11
|
+
bind: BindComponentRenderProp;
|
|
12
12
|
field: CmsEditorField;
|
|
13
13
|
}
|
|
14
14
|
export declare const useReferences: ({ bind, field }: UseReferencesParams) => {
|
|
@@ -16,12 +16,6 @@ export declare const useReferences: ({ bind, field }: UseReferencesParams) => {
|
|
|
16
16
|
loading: boolean;
|
|
17
17
|
setSearch: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
18
18
|
entries: ReferencedCmsEntry[];
|
|
19
|
-
options:
|
|
20
|
-
id: string;
|
|
21
|
-
modelId: string;
|
|
22
|
-
modelName: string;
|
|
23
|
-
name: any;
|
|
24
|
-
published: boolean;
|
|
25
|
-
}[];
|
|
19
|
+
options: import("./getOptions").OptionItem[];
|
|
26
20
|
};
|
|
27
21
|
export {};
|
|
@@ -2,7 +2,6 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
-
// TODO @ts-refactor figure out correct bind types and remove any
|
|
6
5
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
7
6
|
import { useApolloClient } from "../../../../hooks";
|
|
8
7
|
import * as GQL from "./graphql";
|
|
@@ -48,7 +47,7 @@ export var useReferences = function useReferences(_ref) {
|
|
|
48
47
|
valueEntries = _useState10[0],
|
|
49
48
|
setValueEntries = _useState10[1];
|
|
50
49
|
|
|
51
|
-
var models = field.settings.models;
|
|
50
|
+
var models = field.settings ? field.settings.models || [] : [];
|
|
52
51
|
var modelsHash = models.join(",");
|
|
53
52
|
var values = bind.value ? bind.value : [];
|
|
54
53
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useReferences.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","useApolloClient","GQL","getOptions","distinctBy","key","array","keys","map","value","filter","index","indexOf","useReferences","bind","field","allEntries","client","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","m","modelId","data","current","content","limit","fetchPolicy","then","length","GET_CONTENT_ENTRIES","res","entry","id","model","modelName","name","published","status","title","onChange","item","options","defaultOptions"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport * as GQL from \"./graphql\";\nimport { getOptions } from \"./getOptions\";\nimport { CmsEditorField, CmsLatestContentEntry, CmsModel } from \"~/types\";\nimport {\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nexport interface ReferencedCmsEntry {\n id: string;\n modelId: string;\n modelName: string;\n published: boolean;\n name: string;\n}\n\nfunction distinctBy(\n key: keyof CmsLatestContentEntry,\n array: CmsLatestContentEntry[]\n): CmsLatestContentEntry[] {\n const keys = array.map(value => value[key]);\n return array.filter((value, index) => keys.indexOf(value[key]) === index);\n}\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const allEntries = useRef<CmsLatestContentEntry[]>([]);\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<CmsLatestContentEntry[]>([]);\n const [latestEntries, setLatestEntries] = useState<CmsLatestContentEntry[]>([]);\n const [valueEntries, setValueEntries] = useState<ReferencedCmsEntry[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: GQL.SEARCH_CONTENT_ENTRIES,\n variables: { modelIds: models.map(m => m.modelId), query: search }\n });\n setLoading(false);\n\n allEntries.current = distinctBy(\"id\", [...allEntries.current, ...data.content.data]);\n setEntries(data.content.data);\n };\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: GQL.SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: \"__latest__\",\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n setLatestEntries(data.content.data);\n allEntries.current = [...data.content.data];\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || !values.length) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GQL.GET_CONTENT_ENTRIES,\n variables: { entries: values }\n })\n .then(res => {\n setLoading(false);\n const entries = res.data.content.data;\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(\n entries.map(entry => ({\n id: entry.id,\n modelId: entry.model.modelId,\n modelName: entry.model.name,\n published: entry.status === \"published\",\n name: entry.title\n }))\n );\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: ReferencedCmsEntry[]) => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(values.map(item => ({ modelId: item.modelId, id: item.id })));\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => getOptions(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => getOptions(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"]}
|
|
@@ -4,11 +4,12 @@ import { Context as ContentEntriesContext } from "../../../../views/contentEntri
|
|
|
4
4
|
import MissingEntryHelpText, { ReferenceMultipleModelsHelpText } from "../components/MissingEntryHelpText";
|
|
5
5
|
export var useNewRefEntry = function useNewRefEntry(_ref) {
|
|
6
6
|
var field = _ref.field;
|
|
7
|
+
var models = (field.settings && field.settings.models ? field.settings.models : null) || [];
|
|
7
8
|
|
|
8
|
-
var
|
|
9
|
-
refModelId =
|
|
9
|
+
var _models = _slicedToArray(models, 1),
|
|
10
|
+
refModelId = _models[0].modelId;
|
|
10
11
|
|
|
11
|
-
var referenceMultipleModels =
|
|
12
|
+
var referenceMultipleModels = models.length > 1;
|
|
12
13
|
var contentEntriesContextValue = useContext(ContentEntriesContext);
|
|
13
14
|
/**
|
|
14
15
|
* We don't wrap the "ContentEntryForm" with "ContentEntriesContextProvider"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useNewRefEntry.tsx"],"names":["React","useContext","Context","ContentEntriesContext","MissingEntryHelpText","ReferenceMultipleModelsHelpText","useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContextValue","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,OAAO,IAAIC,qBAApB;AAEA,OAAOC,oBAAP,IACIC,+BADJ;AAcA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,OAAqD;AAAA,MAAlDC,KAAkD,QAAlDA,KAAkD;AAC/E,MAAMC,MAAM,GAAG,CAACD,KAAK,CAACE,QAAN,IAAkBF,KAAK,CAACE,QAAN,CAAeD,MAAjC,GAA0CD,KAAK,CAACE,QAAN,CAAeD,MAAzD,GAAkE,IAAnE,KAA4E,EAA3F;;AACA,+BAAkCA,MAAlC;AAAA,MAAkBE,UAAlB,cAASC,OAAT;;AACA,MAAMC,uBAAuB,GAAGJ,MAAM,CAACK,MAAP,GAAgB,CAAhD;AAEA,MAAMC,0BAA0B,GAAGb,UAAU,CAACE,qBAAD,CAA7C;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;;AACI,MAAMY,oBAAoB,GAAGD,0BAA0B,KAAK,IAA5D;AAEA;AACJ;AACA;;AACI,MAAIE,mBAAJ;;AAEA,MAAID,oBAAJ,EAA0B;AACtBC,IAAAA,mBAAmB,GAAG,KAAtB;AACH,GAFD,MAEO,IAAIJ,uBAAJ,EAA6B;AAChCI,IAAAA,mBAAmB,GAAG,KAAtB;AACH,GAFM,MAEA;AACH,QAAQC,YAAR,GAAyBH,0BAAzB,CAAQG,YAAR;AACAD,IAAAA,mBAAmB,GAAG,CAACC,YAAvB;AACH;AACD;AACJ;AACA;;;AACI,MAAIC,QAAQ,GAAG,IAAf;;AACA,MAAIN,uBAAJ,EAA6B;AACzBM,IAAAA,QAAQ,gBAAG,oBAAC,+BAAD,OAAX;AACH,GAFD,MAEO;AACHA,IAAAA,QAAQ,gBAAG,oBAAC,oBAAD;AAAsB,MAAA,UAAU,EAAER;AAAlC,MAAX;AACH;;AAED,SAAO;AACHM,IAAAA,mBAAmB,EAAnBA,mBADG;AAEHN,IAAAA,UAAU,EAAVA,UAFG;AAGHQ,IAAAA,QAAQ,EAARA;AAHG,GAAP;AAKH,CA5CM","sourcesContent":["import React, { useContext } from \"react\";\nimport { Context as ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { CmsEditorField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\n\ninterface UseNewRefEntryParams {\n field: CmsEditorField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n const contentEntriesContextValue = useContext(ContentEntriesContext);\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContextValue\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContextValue === null;\n\n /**\n * Set \"renderNewEntryModal\" value.\n */\n let renderNewEntryModal;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else {\n const { insideDialog } = contentEntriesContextValue;\n renderNewEntryModal = !insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText = null;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"]}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import React, { createContext, useContext, useState } from "react";
|
|
3
|
-
export var NewRefEntryDialogContext = /*#__PURE__*/createContext(
|
|
3
|
+
export var NewRefEntryDialogContext = /*#__PURE__*/createContext({
|
|
4
|
+
open: false,
|
|
5
|
+
setOpen: function setOpen() {
|
|
6
|
+
return void 0;
|
|
7
|
+
}
|
|
8
|
+
});
|
|
4
9
|
export var NewRefEntryDialogContextProvider = function NewRefEntryDialogContextProvider(_ref) {
|
|
5
10
|
var children = _ref.children;
|
|
6
11
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useNewRefEntryDialog.tsx"],"names":["React","createContext","useContext","useState","NewRefEntryDialogContext","open","setOpen","NewRefEntryDialogContextProvider","children","useNewRefEntryDialog"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,aAAhB,EAA+BC,UAA/B,EAA2CC,QAA3C,QAA2D,OAA3D;AAOA,OAAO,IAAMC,wBAAwB,gBAAGH,aAAa,CAAgC;AACjFI,EAAAA,IAAI,EAAE,KAD2E;AAEjFC,EAAAA,OAAO,EAAE,mBAAM;AACX,WAAO,KAAK,CAAZ;AACH;AAJgF,CAAhC,CAA9C;AAOP,OAAO,IAAMC,gCAA0C,GAAG,SAA7CA,gCAA6C,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;;AACxE,kBAAwBL,QAAQ,CAAU,KAAV,CAAhC;AAAA;AAAA,MAAOE,IAAP;AAAA,MAAaC,OAAb;;AAEA,sBACI,oBAAC,wBAAD,CAA0B,QAA1B;AACI,IAAA,KAAK,EAAE;AACHD,MAAAA,IAAI,EAAJA,IADG;AAEHC,MAAAA,OAAO,EAAPA;AAFG;AADX,KAMKE,QANL,CADJ;AAUH,CAbM;AAeP,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAqC;AACrE,oBAA0BP,UAAU,CAACE,wBAAD,CAApC;AAAA,MAAQC,IAAR,eAAQA,IAAR;AAAA,MAAcC,OAAd,eAAcA,OAAd;;AACA,SAAO;AACHD,IAAAA,IAAI,EAAJA,IADG;AAEHC,IAAAA,OAAO,EAAPA;AAFG,GAAP;AAIH,CANM","sourcesContent":["import React, { createContext, useContext, useState } from \"react\";\n\nexport interface NewRefEntryDialogContextValue {\n open: boolean;\n setOpen: (value: boolean) => void;\n}\n\nexport const NewRefEntryDialogContext = createContext<NewRefEntryDialogContextValue>({\n open: false,\n setOpen: () => {\n return void 0;\n }\n});\n\nexport const NewRefEntryDialogContextProvider: React.FC = ({ children }) => {\n const [open, setOpen] = useState<boolean>(false);\n\n return (\n <NewRefEntryDialogContext.Provider\n value={{\n open,\n setOpen\n }}\n >\n {children}\n </NewRefEntryDialogContext.Provider>\n );\n};\n\nexport const useNewRefEntryDialog = (): NewRefEntryDialogContextValue => {\n const { open, setOpen } = useContext(NewRefEntryDialogContext);\n return {\n open,\n setOpen\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["refInput","refInputs"],"mappings":"AAAA,OAAOA,QAAP;AACA,OAAOC,SAAP;AAEA,eAAe,CAACD,QAAD,EAAWC,SAAX,CAAf","sourcesContent":["import refInput from \"./refInput\";\nimport refInputs from \"./refInputs\";\n\nexport default [refInput, refInputs];\n"]}
|
|
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2;
|
|
4
4
|
|
|
5
|
-
// TODO @ts-refactor figure out correct bind types and remove any
|
|
6
5
|
import React from "react";
|
|
7
6
|
import { i18n } from "@webiny/app/i18n";
|
|
8
7
|
import ContentEntriesAutocomplete from "./components/ContentEntriesAutocomplete";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["refInput.tsx"],"names":["React","i18n","ContentEntriesAutocomplete","NewRefEntryDialogContextProvider","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","Bind","getBind","bind"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,IAAT,QAAqB,kBAArB;AACA,OAAOC,0BAAP;AACA,SAASC,gCAAT;AAEA,IAAMC,CAAC,GAAGH,IAAI,CAACI,EAAL,CAAQ,mCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,+BAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,WADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,oFAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,4IAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aAAOA,KAAK,CAACN,IAAN,KAAe,KAAf,IAAwB,CAACM,KAAK,CAACC,cAAtC;AACH,KANK;AAONC,IAAAA,MAPM,kBAOCC,KAPD,EAOQ;AACV,UAAMC,IAAI,GAAGD,KAAK,CAACE,OAAN,EAAb;AACA,0BACI,oBAAC,IAAD,QACK,UAAAC,IAAI;AAAA,4BACD,oBAAC,gCAAD,qBACI,oBAAC,0BAAD,oBAAgCH,KAAhC;AAAuC,UAAA,IAAI,EAAEG;AAA7C,WADJ,CADC;AAAA,OADT,CADJ;AASH;AAlBK;AAH+B,CAA7C;AAyBA,eAAeb,MAAf","sourcesContent":["import React from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport ContentEntriesAutocomplete from \"./components/ContentEntriesAutocomplete\";\nimport { NewRefEntryDialogContextProvider } from \"./hooks/useNewRefEntryDialog\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-ref\",\n renderer: {\n rendererName: \"ref-input\",\n name: t`Reference Input`,\n description: t`Renders an auto-complete input, allowing selection of a single value.`,\n canUse({ field }) {\n return field.type === \"ref\" && !field.multipleValues;\n },\n render(props) {\n const Bind = props.getBind();\n return (\n <Bind>\n {bind => (\n <NewRefEntryDialogContextProvider>\n <ContentEntriesAutocomplete {...props} bind={bind} />\n </NewRefEntryDialogContextProvider>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2;
|
|
4
4
|
|
|
5
|
-
// TODO @ts-refactor figure out correct bind types and remove any
|
|
6
5
|
import React from "react";
|
|
7
6
|
import ContentEntriesMultiAutocomplete from "./components/ContentEntriesMultiAutoComplete";
|
|
8
7
|
import { NewRefEntryDialogContextProvider } from "./hooks/useNewRefEntryDialog";
|
|
@@ -22,7 +21,7 @@ var plugin = {
|
|
|
22
21
|
description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders an auto-complete input, allowing selection of multiple values."]))),
|
|
23
22
|
canUse: function canUse(_ref) {
|
|
24
23
|
var field = _ref.field;
|
|
25
|
-
return field.type === "ref" && field.multipleValues;
|
|
24
|
+
return field.type === "ref" && !!field.multipleValues;
|
|
26
25
|
},
|
|
27
26
|
render: function render(props) {
|
|
28
27
|
var Bind = props.getBind();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["refInputs.tsx"],"names":["React","ContentEntriesMultiAutocomplete","NewRefEntryDialogContextProvider","i18n","t","ns","getKey","field","bind","form","data","id","fieldId","plugin","type","name","renderer","rendererName","description","canUse","multipleValues","render","props","Bind","getBind"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,+BAAP;AACA,SAASC,gCAAT;AAEA,SAASC,IAAT,QAAqB,kBAArB;AAGA,IAAMC,CAAC,GAAGD,IAAI,CAACE,EAAL,CAAQ,mCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGF;AACT,SAAOA,IAAI,CAACC,IAAL,CAAUC,IAAV,CAAeC,EAAf,GAAoB,GAApB,GAA0BJ,KAAK,CAACK,OAAvC;AACH,CALD;;AAOA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,sCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,YADR;AAENF,IAAAA,IAAI,EAAEX,CAAF,qFAFE;AAGNc,IAAAA,WAAW,EAAEd,CAAF,6IAHL;AAINe,IAAAA,MAJM,wBAIY;AAAA,UAATZ,KAAS,QAATA,KAAS;AACd,aAAOA,KAAK,CAACO,IAAN,KAAe,KAAf,IAAwB,CAAC,CAACP,KAAK,CAACa,cAAvC;AACH,KANK;AAONC,IAAAA,MAPM,kBAOCC,KAPD,EAOQ;AACV,UAAMC,IAAI,GAAGD,KAAK,CAACE,OAAN,EAAb;AACA,0BACI,oBAAC,IAAD,QACK,UAAAhB,IAAI;AAAA,4BACD,oBAAC,gCAAD,qBACI,oBAAC,+BAAD;AACI,UAAA,GAAG,EAAEF,MAAM,CAACgB,KAAK,CAACf,KAAP,EAAcC,IAAd;AADf,WAEQc,KAFR;AAGI,UAAA,IAAI,EAAEd;AAHV,WADJ,CADC;AAAA,OADT,CADJ;AAaH;AAtBK;AAH+B,CAA7C;AA6BA,eAAeK,MAAf","sourcesContent":["import React from \"react\";\nimport { CmsEditorContentEntry, CmsEditorField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport ContentEntriesMultiAutocomplete from \"./components/ContentEntriesMultiAutoComplete\";\nimport { NewRefEntryDialogContextProvider } from \"./hooks/useNewRefEntryDialog\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst getKey = (\n field: CmsEditorField,\n bind: BindComponentRenderProp<string, CmsEditorContentEntry>\n): string => {\n return bind.form.data.id + \".\" + field.fieldId;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-ref-inputs\",\n renderer: {\n rendererName: \"ref-inputs\",\n name: t`Reference Inputs`,\n description: t`Renders an auto-complete input, allowing selection of multiple values.`,\n canUse({ field }) {\n return field.type === \"ref\" && !!field.multipleValues;\n },\n render(props) {\n const Bind = props.getBind();\n return (\n <Bind>\n {bind => (\n <NewRefEntryDialogContextProvider>\n <ContentEntriesMultiAutocomplete\n key={getKey(props.field, bind as any)}\n {...props}\n bind={bind}\n />\n </NewRefEntryDialogContextProvider>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["richTextInput","richTextInputs"],"mappings":"AAAA,OAAOA,aAAP;AACA,OAAOC,cAAP;AAEA,eAAe,CAACD,aAAD,EAAgBC,cAAhB,CAAf","sourcesContent":["import richTextInput from \"./richTextInput\";\nimport richTextInputs from \"./richTextInputs\";\n\nexport default [richTextInput, richTextInputs];\n"]}
|
|
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2;
|
|
4
4
|
|
|
5
|
-
// TODO @ts-refactor figure out correct bind types and remove any
|
|
6
5
|
import React, { useMemo } from "react";
|
|
7
6
|
import get from "lodash/get";
|
|
8
7
|
import { i18n } from "@webiny/app/i18n";
|
|
@@ -31,6 +30,11 @@ var plugin = {
|
|
|
31
30
|
getBind = _ref2.getBind;
|
|
32
31
|
var Bind = getBind();
|
|
33
32
|
var rteProps = useMemo(function () {
|
|
33
|
+
/**
|
|
34
|
+
* TODO @ts-refactor
|
|
35
|
+
* Missing cms-rte-config plugin type.
|
|
36
|
+
*/
|
|
37
|
+
// @ts-ignore
|
|
34
38
|
return createPropsFromConfig(plugins.byType("cms-rte-config").map(function (pl) {
|
|
35
39
|
return pl.config;
|
|
36
40
|
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["richTextInput.tsx"],"names":["React","useMemo","get","i18n","createPropsFromConfig","RichTextEditor","plugins","t","ns","getKey","field","bind","formId","form","data","id","fieldId","plugin","type","name","renderer","rendererName","description","canUse","multipleValues","render","getBind","Bind","rteProps","byType","map","pl","config","onChange","label","placeholderText","helpText"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,OAAhB,QAA+B,OAA/B;AACA,OAAOC,GAAP,MAAgB,YAAhB;AACA,SAASC,IAAT,QAAqB,kBAArB;AAEA,SAASC,qBAAT,EAAgCC,cAAhC,QAAsD,6CAAtD;AACA,SAASC,OAAT,QAAwB,iBAAxB;AAGA,IAAMC,CAAC,GAAGJ,IAAI,CAACK,EAAL,CAAQ,yCAAR,CAAV;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CACXC,KADW,EAEXC,IAFW,EAGF;AACT,MAAMC,MAAM,GAAGD,IAAI,CAACE,IAAL,CAAUC,IAAV,CAAeC,EAAf,IAAqB,KAApC;AACA,mBAAUH,MAAV,cAAoBF,KAAK,CAACM,OAA1B;AACH,CAND;;AAQA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,qCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,iBADR;AAENF,IAAAA,IAAI,EAAEZ,CAAF,oFAFE;AAGNe,IAAAA,WAAW,EAAEf,CAAF,kGAHL;AAINgB,IAAAA,MAJM,wBAIY;AAAA,UAATb,KAAS,QAATA,KAAS;AACd,aACIA,KAAK,CAACQ,IAAN,KAAe,WAAf,IACA,CAACR,KAAK,CAACc,cADP,IAEA,CAACtB,GAAG,CAACQ,KAAD,EAAQ,0BAAR,CAHR;AAKH,KAVK;AAWNe,IAAAA,MAXM,yBAWqB;AAAA,UAAlBf,KAAkB,SAAlBA,KAAkB;AAAA,UAAXgB,OAAW,SAAXA,OAAW;AACvB,UAAMC,IAAI,GAAGD,OAAO,EAApB;AAEA,UAAME,QAAQ,GAAG3B,OAAO,CAAC,YAAM;AAC3B;AAChB;AACA;AACA;AACgB;AACA,eAAOG,qBAAqB,CAACE,OAAO,CAACuB,MAAR,CAAe,gBAAf,EAAiCC,GAAjC,CAAqC,UAAAC,EAAE;AAAA,iBAAIA,EAAE,CAACC,MAAP;AAAA,SAAvC,CAAD,CAA5B;AACH,OAPuB,EAOrB,EAPqB,CAAxB;AASA,0BACI,oBAAC,IAAD,QACK,UAAArB,IAAI,EAAI;AACL,4BACI,oBAAC,cAAD;AACI,UAAA,GAAG,EAAEF,MAAM,CAACC,KAAD,EAAQC,IAAR;AADf,WAEQiB,QAFR,EAGQjB,IAHR;AAII,UAAA,QAAQ,EAAEA,IAAI,CAACsB,QAJnB;AAKI,UAAA,KAAK,EAAEvB,KAAK,CAACwB,KALjB;AAMI,UAAA,WAAW,EAAExB,KAAK,CAACyB,eANvB;AAOI,UAAA,WAAW,EAAEzB,KAAK,CAAC0B;AAPvB,WADJ;AAWH,OAbL,CADJ;AAiBH;AAxCK;AAH+B,CAA7C;AA+CA,eAAenB,MAAf","sourcesContent":["import React, { useMemo } from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorContentEntry, CmsEditorField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { createPropsFromConfig, RichTextEditor } from \"@webiny/app-admin/components/RichTextEditor\";\nimport { plugins } from \"@webiny/plugins\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/rich-text\");\n\nconst getKey = (\n field: CmsEditorField,\n bind: BindComponentRenderProp<string, CmsEditorContentEntry>\n): string => {\n const formId = bind.form.data.id || \"new\";\n return `${formId}.${field.fieldId}`;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-rich-text\",\n renderer: {\n rendererName: \"rich-text-input\",\n name: t`Rich Text Input`,\n description: t`Renders a rich text editor.`,\n canUse({ field }) {\n return (\n field.type === \"rich-text\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const rteProps = useMemo(() => {\n /**\n * TODO @ts-refactor\n * Missing cms-rte-config plugin type.\n */\n // @ts-ignore\n return createPropsFromConfig(plugins.byType(\"cms-rte-config\").map(pl => pl.config));\n }, []);\n\n return (\n <Bind>\n {bind => {\n return (\n <RichTextEditor\n key={getKey(field, bind as any)}\n {...rteProps}\n {...bind}\n onChange={bind.onChange}\n label={field.label}\n placeholder={field.placeholderText}\n description={field.helpText}\n />\n );\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2;
|
|
4
4
|
|
|
5
|
-
// TODO @ts-refactor figure out correct bind types and remove any
|
|
6
5
|
import React, { useMemo } from "react";
|
|
7
6
|
import get from "lodash/get";
|
|
8
7
|
import { i18n } from "@webiny/app/i18n";
|
|
@@ -15,7 +14,9 @@ import styled from "@emotion/styled";
|
|
|
15
14
|
var t = i18n.ns("app-headless-cms/admin/fields/rich-text");
|
|
16
15
|
|
|
17
16
|
var getKey = function getKey(field, bind, index) {
|
|
18
|
-
var
|
|
17
|
+
var _index, _index$form, _index$form$data;
|
|
18
|
+
|
|
19
|
+
var formId = ((_index = bind.index) === null || _index === void 0 ? void 0 : (_index$form = _index.form) === null || _index$form === void 0 ? void 0 : (_index$form$data = _index$form.data) === null || _index$form$data === void 0 ? void 0 : _index$form$data.id) || "new";
|
|
19
20
|
return "".concat(formId, ".").concat(field.fieldId, ".").concat(index);
|
|
20
21
|
};
|
|
21
22
|
|
|
@@ -47,11 +48,16 @@ var plugin = {
|
|
|
47
48
|
description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders a simple list of rich text editors."]))),
|
|
48
49
|
canUse: function canUse(_ref) {
|
|
49
50
|
var field = _ref.field;
|
|
50
|
-
return field.type === "rich-text" && field.multipleValues && !get(field, "predefinedValues.enabled");
|
|
51
|
+
return field.type === "rich-text" && !!field.multipleValues && !get(field, "predefinedValues.enabled");
|
|
51
52
|
},
|
|
52
53
|
render: function render(props) {
|
|
53
54
|
var field = props.field;
|
|
54
55
|
var rteProps = useMemo(function () {
|
|
56
|
+
/**
|
|
57
|
+
* TODO @ts-refactor
|
|
58
|
+
* Missing cms-rte-config plugin.
|
|
59
|
+
*/
|
|
60
|
+
// @ts-ignore
|
|
55
61
|
return createPropsFromConfig(plugins.byType("cms-rte-config").map(function (pl) {
|
|
56
62
|
return pl.config;
|
|
57
63
|
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["richTextInputs.tsx"],"names":["React","useMemo","get","i18n","ReactComponent","DeleteIcon","DynamicSection","RichTextEditor","createPropsFromConfig","IconButton","plugins","styled","t","ns","getKey","field","bind","index","formId","form","data","id","fieldId","emptyValue","type","textAlign","className","text","EditorWrapper","position","top","right","plugin","name","renderer","rendererName","description","canUse","multipleValues","render","props","rteProps","byType","map","pl","config","removeValue","placeholderText","helpText"],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorField, CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport DynamicSection from \"../DynamicSection\";\nimport { RichTextEditor, createPropsFromConfig } from \"@webiny/app-admin/components/RichTextEditor\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { plugins } from \"@webiny/plugins\";\nimport styled from \"@emotion/styled\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/rich-text\");\n\nconst getKey = (field: CmsEditorField, bind: BindComponentRenderProp, index: number): string => {\n const formId = (bind as any).index?.form?.data?.id || \"new\";\n return `${formId}.${field.fieldId}.${index}`;\n};\n\nconst emptyValue: Record<string, any>[] = [\n {\n type: \"paragraph\",\n data: {\n textAlign: \"left\",\n className: null,\n text: \"\"\n }\n }\n];\n\nconst EditorWrapper = styled(\"div\")({\n position: \"relative\",\n \"> button\": {\n position: \"absolute\",\n top: 5,\n right: 5\n }\n});\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-rich-text-inputs\",\n renderer: {\n rendererName: \"rich-text-inputs\",\n name: t`Rich Text Inputs`,\n description: t`Renders a simple list of rich text editors.`,\n canUse({ field }) {\n return (\n field.type === \"rich-text\" &&\n !!field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render(props) {\n const { field } = props;\n\n const rteProps = useMemo(() => {\n /**\n * TODO @ts-refactor\n * Missing cms-rte-config plugin.\n */\n // @ts-ignore\n return createPropsFromConfig(plugins.byType(\"cms-rte-config\").map(pl => pl.config));\n }, []);\n\n return (\n <DynamicSection {...props} emptyValue={emptyValue}>\n {({ bind, index }) => (\n <EditorWrapper>\n {index > 0 && (\n <IconButton\n icon={<DeleteIcon />}\n onClick={() => bind.field.removeValue(index)}\n />\n )}\n <RichTextEditor\n key={getKey(field, bind, index)}\n {...rteProps}\n {...bind.index}\n label={`Value ${index + 1}`}\n placeholder={field.placeholderText}\n description={field.helpText}\n />\n </EditorWrapper>\n )}\n </DynamicSection>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -7,6 +7,20 @@ import get from "lodash/get";
|
|
|
7
7
|
import { i18n } from "@webiny/app/i18n";
|
|
8
8
|
import { Select } from "@webiny/ui/Select";
|
|
9
9
|
var t = i18n.ns("app-headless-cms/admin/fields/text");
|
|
10
|
+
|
|
11
|
+
var getDefaultValue = function getDefaultValue(initialValue, options) {
|
|
12
|
+
if (initialValue) {
|
|
13
|
+
return initialValue || undefined;
|
|
14
|
+
} else if (!options) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
var selected = options.find(function (option) {
|
|
19
|
+
return !!option.selected;
|
|
20
|
+
});
|
|
21
|
+
return selected ? selected.value : undefined;
|
|
22
|
+
};
|
|
23
|
+
|
|
10
24
|
var plugin = {
|
|
11
25
|
type: "cms-editor-field-renderer",
|
|
12
26
|
name: "cms-editor-field-renderer-select-box",
|
|
@@ -16,18 +30,25 @@ var plugin = {
|
|
|
16
30
|
description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders a select box, allowing selection of a single value."]))),
|
|
17
31
|
canUse: function canUse(_ref) {
|
|
18
32
|
var field = _ref.field;
|
|
19
|
-
return !field.multipleValues && get(field, "predefinedValues.enabled");
|
|
33
|
+
return !field.multipleValues && !!get(field, "predefinedValues.enabled");
|
|
20
34
|
},
|
|
21
35
|
render: function render(_ref2) {
|
|
22
36
|
var field = _ref2.field,
|
|
23
37
|
getBind = _ref2.getBind;
|
|
24
38
|
var Bind = getBind();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
39
|
+
|
|
40
|
+
var _ref3 = field.predefinedValues || {},
|
|
41
|
+
options = _ref3.values;
|
|
42
|
+
|
|
43
|
+
return /*#__PURE__*/React.createElement(Bind, null, function (bind) {
|
|
44
|
+
var value = getDefaultValue(bind.value, options);
|
|
45
|
+
return /*#__PURE__*/React.createElement(Select, Object.assign({}, bind, {
|
|
46
|
+
value: value,
|
|
47
|
+
label: field.label,
|
|
48
|
+
description: field.helpText,
|
|
49
|
+
options: options
|
|
50
|
+
}));
|
|
51
|
+
});
|
|
31
52
|
}
|
|
32
53
|
}
|
|
33
54
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["select.tsx"],"names":["React","get","i18n","Select","t","ns","getDefaultValue","initialValue","options","undefined","selected","find","option","value","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","getBind","Bind","predefinedValues","values","bind","label","helpText"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AACA,SAASC,IAAT,QAAqB,kBAArB;AAKA,SAASC,MAAT,QAAuB,mBAAvB;AAEA,IAAMC,CAAC,GAAGF,IAAI,CAACG,EAAL,CAAQ,oCAAR,CAAV;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,YAAD,EAA+BC,OAA/B,EAA0E;AAC9F,MAAID,YAAJ,EAAkB;AACd,WAAOA,YAAY,IAAIE,SAAvB;AACH,GAFD,MAEO,IAAI,CAACD,OAAL,EAAc;AACjB,WAAOC,SAAP;AACH;;AACD,MAAMC,QAAQ,GAAGF,OAAO,CAACG,IAAR,CAAa,UAAAC,MAAM;AAAA,WAAI,CAAC,CAACA,MAAM,CAACF,QAAb;AAAA,GAAnB,CAAjB;AACA,SAAOA,QAAQ,GAAGA,QAAQ,CAACG,KAAZ,GAAoBJ,SAAnC;AACH,CARD;;AAUA,IAAMK,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,sCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,YADR;AAENF,IAAAA,IAAI,EAAEZ,CAAF,+EAFE;AAGNe,IAAAA,WAAW,EAAEf,CAAF,kIAHL;AAINgB,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aAAO,CAACA,KAAK,CAACC,cAAP,IAAyB,CAAC,CAACrB,GAAG,CAACoB,KAAD,EAAQ,0BAAR,CAArC;AACH,KANK;AAONE,IAAAA,MAPM,yBAOqB;AAAA,UAAlBF,KAAkB,SAAlBA,KAAkB;AAAA,UAAXG,OAAW,SAAXA,OAAW;AACvB,UAAMC,IAAI,GAAGD,OAAO,EAApB;;AAEA,kBAA4BH,KAAK,CAACK,gBAAN,IAA0B,EAAtD;AAAA,UAAgBlB,OAAhB,SAAQmB,MAAR;;AAEA,0BACI,oBAAC,IAAD,QACK,UAAAC,IAAI,EAAI;AACL,YAAMf,KAAK,GAAGP,eAAe,CAACsB,IAAI,CAACf,KAAN,EAAaL,OAAb,CAA7B;AACA,4BACI,oBAAC,MAAD,oBACQoB,IADR;AAEI,UAAA,KAAK,EAAEf,KAFX;AAGI,UAAA,KAAK,EAAEQ,KAAK,CAACQ,KAHjB;AAII,UAAA,WAAW,EAAER,KAAK,CAACS,QAJvB;AAKI,UAAA,OAAO,EAAEtB;AALb,WADJ;AASH,OAZL,CADJ;AAgBH;AA5BK;AAH+B,CAA7C;AAmCA,eAAeM,MAAf","sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CmsEditorFieldPredefinedValuesEntry as Option,\n CmsEditorFieldRendererPlugin\n} from \"~/types\";\nimport { Select } from \"@webiny/ui/Select\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst getDefaultValue = (initialValue?: string | null, options?: Option[]): string | undefined => {\n if (initialValue) {\n return initialValue || undefined;\n } else if (!options) {\n return undefined;\n }\n const selected = options.find(option => !!option.selected);\n return selected ? selected.value : undefined;\n};\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-select-box\",\n renderer: {\n rendererName: \"select-box\",\n name: t`Select Box`,\n description: t`Renders a select box, allowing selection of a single value.`,\n canUse({ field }) {\n return !field.multipleValues && !!get(field, \"predefinedValues.enabled\");\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const { values: options } = field.predefinedValues || {};\n\n return (\n <Bind>\n {bind => {\n const value = getDefaultValue(bind.value, options);\n return (\n <Select\n {...bind}\n value={value}\n label={field.label}\n description={field.helpText}\n options={options}\n />\n );\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["textInput","textInputs"],"mappings":"AAAA,OAAOA,SAAP;AACA,OAAOC,UAAP;AAEA,eAAe,CAACD,SAAD,EAAYC,UAAZ,CAAf","sourcesContent":["import textInput from \"./textInput\";\nimport textInputs from \"./textInputs\";\n\nexport default [textInput, textInputs];\n"]}
|
|
@@ -2,7 +2,6 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2;
|
|
4
4
|
|
|
5
|
-
// TODO @ts-refactor figure out correct bind types and remove any
|
|
6
5
|
import React from "react";
|
|
7
6
|
import { i18n } from "@webiny/app/i18n";
|
|
8
7
|
import { Input } from "@webiny/ui/Input";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["textInput.tsx"],"names":["React","i18n","Input","get","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","getBind","Bind","bind","label","placeholderText","helpText"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AAEA,SAASC,KAAT,QAAsB,kBAAtB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AAEA,IAAMC,CAAC,GAAGH,IAAI,CAACI,EAAL,CAAQ,oCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,gCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,YADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,+EAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,4HAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aACIA,KAAK,CAACN,IAAN,KAAe,MAAf,IACA,CAACM,KAAK,CAACC,cADP,IAEA,CAACX,GAAG,CAACU,KAAD,EAAQ,0BAAR,CAHR;AAKH,KAVK;AAWNE,IAAAA,MAXM,yBAWqB;AAAA,UAAlBF,KAAkB,SAAlBA,KAAkB;AAAA,UAAXG,OAAW,SAAXA,OAAW;AACvB,UAAMC,IAAI,GAAGD,OAAO,EAApB;AAEA,0BACI,oBAAC,IAAD,QACK,UAAAE,IAAI;AAAA,4BACD,oBAAC,KAAD,oBACQA,IADR;AAEI,UAAA,KAAK,EAAEL,KAAK,CAACM,KAFjB;AAGI,UAAA,WAAW,EAAEN,KAAK,CAACO,eAHvB;AAII,UAAA,WAAW,EAAEP,KAAK,CAACQ;AAJvB,WADC;AAAA,OADT,CADJ;AAYH;AA1BK;AAH+B,CAA7C;AAiCA,eAAef,MAAf","sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { Input } from \"@webiny/ui/Input\";\nimport get from \"lodash/get\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-text\",\n renderer: {\n rendererName: \"text-input\",\n name: t`Text Input`,\n description: t`Renders a simple input with its type set to \"text\".`,\n canUse({ field }) {\n return (\n field.type === \"text\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n return (\n <Bind>\n {bind => (\n <Input\n {...bind}\n label={field.label}\n placeholder={field.placeholderText}\n description={field.helpText}\n />\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -18,7 +18,7 @@ var plugin = {
|
|
|
18
18
|
description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders a simple list of text inputs."]))),
|
|
19
19
|
canUse: function canUse(_ref) {
|
|
20
20
|
var field = _ref.field;
|
|
21
|
-
return field.type === "text" && field.multipleValues && !get(field, "predefinedValues.enabled");
|
|
21
|
+
return field.type === "text" && !!field.multipleValues && !get(field, "predefinedValues.enabled");
|
|
22
22
|
},
|
|
23
23
|
render: function render(props) {
|
|
24
24
|
return /*#__PURE__*/React.createElement(DynamicSection, props, function (_ref2) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["textInputs.tsx"],"names":["React","get","i18n","ReactComponent","DeleteIcon","DynamicSection","Input","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","bind","index","appendValue","number","icon","onClick","removeValue"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AACA,SAASC,IAAT,QAAqB,kBAArB;AAEA,SAASC,cAAc,IAAIC,UAA3B;AACA,OAAOC,cAAP;AACA,SAASC,KAAT,QAAsB,kBAAtB;AAEA,IAAMC,CAAC,GAAGL,IAAI,CAACM,EAAL,CAAQ,oCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,uCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,aADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,gFAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,4GAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aACIA,KAAK,CAACN,IAAN,KAAe,MAAf,IACA,CAAC,CAACM,KAAK,CAACC,cADR,IAEA,CAAChB,GAAG,CAACe,KAAD,EAAQ,0BAAR,CAHR;AAKH,KAVK;AAWNE,IAAAA,MAXM,kBAWCC,KAXD,EAWQ;AACV,0BACI,oBAAC,cAAD,EAAoBA,KAApB,EACK;AAAA,YAAGC,IAAH,SAAGA,IAAH;AAAA,YAASC,KAAT,SAASA,KAAT;AAAA,4BACG,oBAAC,KAAD,oBACQD,IAAI,CAACC,KADb;AAEI,UAAA,SAAS,MAFb;AAGI,UAAA,OAAO,EAAE;AAAA,mBAAMD,IAAI,CAACJ,KAAL,CAAWM,WAAX,CAAuB,EAAvB,CAAN;AAAA,WAHb;AAII,UAAA,KAAK,EAAEf,CAAC,qFAAD,CAAkB;AAAEgB,YAAAA,MAAM,EAAEF,KAAK,GAAG;AAAlB,WAAlB,CAJX;AAKI,UAAA,YAAY,EACRA,KAAK,GAAG,CAAR,IAAa;AACTG,YAAAA,IAAI,eAAE,oBAAC,UAAD,OADG;AAETC,YAAAA,OAAO,EAAE;AAAA,qBAAML,IAAI,CAACJ,KAAL,CAAWU,WAAX,CAAuBL,KAAvB,CAAN;AAAA;AAFA;AANrB,WADH;AAAA,OADL,CADJ;AAkBH;AA9BK;AAH+B,CAA7C;AAqCA,eAAeZ,MAAf","sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport DynamicSection from \"../DynamicSection\";\nimport { Input } from \"@webiny/ui/Input\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-text-inputs\",\n renderer: {\n rendererName: \"text-inputs\",\n name: t`Text Inputs`,\n description: t`Renders a simple list of text inputs.`,\n canUse({ field }) {\n return (\n field.type === \"text\" &&\n !!field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render(props) {\n return (\n <DynamicSection {...props}>\n {({ bind, index }) => (\n <Input\n {...bind.index}\n autoFocus\n onEnter={() => bind.field.appendValue(\"\")}\n label={t`Value {number}`({ number: index + 1 })}\n trailingIcon={\n index > 0 && {\n icon: <DeleteIcon />,\n onClick: () => bind.field.removeValue(index)\n }\n }\n />\n )}\n </DynamicSection>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getAvailableValidators: (type?: string) => string[];
|
|
1
|
+
export declare const getAvailableValidators: (type?: string | undefined) => string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["availableValidators.ts"],"names":["getAvailableValidators","type","validators","concat"],"mappings":"AAAA,OAAO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,IAAD,EAA6B;AAC/D,MAAMC,UAAU,GAAG,CAAC,UAAD,CAAnB;;AACA,MAAI,CAACD,IAAL,EAAW;AACP,WAAOC,UAAP;AACH,GAFD,MAEO,IAAID,IAAI,KAAK,MAAb,EAAqB;AACxB,WAAOC,UAAU,CAACC,MAAX,CAAkB,CAAC,SAAD,EAAY,SAAZ,CAAlB,CAAP;AACH;;AACD,SAAOD,UAAU,CAACC,MAAX,CAAkB,CAAC,SAAD,EAAY,SAAZ,CAAlB,CAAP;AACH,CARM","sourcesContent":["export const getAvailableValidators = (type?: string): string[] => {\n const validators = [\"required\"];\n if (!type) {\n return validators;\n } else if (type === \"time\") {\n return validators.concat([\"timeGte\", \"timeLte\"]);\n }\n return validators.concat([\"dateGte\", \"dateLte\"]);\n};\n"]}
|
|
@@ -4,17 +4,19 @@ import { DateTimeWithTimezone } from "../../fieldRenderers/dateTime/DateTimeWith
|
|
|
4
4
|
import { Time } from "../../fieldRenderers/dateTime/Time";
|
|
5
5
|
import { DateOnly } from "../../fieldRenderers/dateTime/DateOnly";
|
|
6
6
|
export var createInputField = function createInputField(field, bind) {
|
|
7
|
-
|
|
7
|
+
var type = field.settings ? field.settings.type : null;
|
|
8
|
+
|
|
9
|
+
if (type === "dateTimeWithoutTimezone") {
|
|
8
10
|
return /*#__PURE__*/React.createElement(DateTimeWithoutTimezone, {
|
|
9
11
|
field: field,
|
|
10
12
|
bind: bind
|
|
11
13
|
});
|
|
12
|
-
} else if (
|
|
14
|
+
} else if (type === "dateTimeWithTimezone") {
|
|
13
15
|
return /*#__PURE__*/React.createElement(DateTimeWithTimezone, {
|
|
14
16
|
field: field,
|
|
15
17
|
bind: bind
|
|
16
18
|
});
|
|
17
|
-
} else if (
|
|
19
|
+
} else if (type === "time") {
|
|
18
20
|
return /*#__PURE__*/React.createElement(Time, {
|
|
19
21
|
field: field,
|
|
20
22
|
bind: bind
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createDateInputField.tsx"],"names":["React","DateTimeWithoutTimezone","DateTimeWithTimezone","Time","DateOnly","createInputField","field","bind","type","settings"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,uBAAT;AACA,SAASC,oBAAT;AACA,SAASC,IAAT;AAEA,SAASC,QAAT;AAGA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAwBC,IAAxB,EAA0D;AACtF,MAAMC,IAAI,GAAGF,KAAK,CAACG,QAAN,GAAiBH,KAAK,CAACG,QAAN,CAAeD,IAAhC,GAAuC,IAApD;;AACA,MAAIA,IAAI,KAAK,yBAAb,EAAwC;AACpC,wBAAO,oBAAC,uBAAD;AAAyB,MAAA,KAAK,EAAEF,KAAhC;AAAuC,MAAA,IAAI,EAAEC;AAA7C,MAAP;AACH,GAFD,MAEO,IAAIC,IAAI,KAAK,sBAAb,EAAqC;AACxC,wBAAO,oBAAC,oBAAD;AAAsB,MAAA,KAAK,EAAEF,KAA7B;AAAoC,MAAA,IAAI,EAAEC;AAA1C,MAAP;AACH,GAFM,MAEA,IAAIC,IAAI,KAAK,MAAb,EAAqB;AACxB,wBAAO,oBAAC,IAAD;AAAM,MAAA,KAAK,EAAEF,KAAb;AAAoB,MAAA,IAAI,EAAEC;AAA1B,MAAP;AACH;;AACD,sBAAO,oBAAC,QAAD;AAAU,IAAA,IAAI,EAAEA,IAAhB;AAAsB,IAAA,KAAK,EAAED;AAA7B,IAAP;AACH,CAVM","sourcesContent":["import React from \"react\";\nimport { DateTimeWithoutTimezone } from \"../../fieldRenderers/dateTime/DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"../../fieldRenderers/dateTime/DateTimeWithTimezone\";\nimport { Time } from \"../../fieldRenderers/dateTime/Time\";\nimport { CmsEditorField } from \"~/types\";\nimport { DateOnly } from \"~/admin/plugins/fieldRenderers/dateTime/DateOnly\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nexport const createInputField = (field: CmsEditorField, bind: BindComponentRenderProp) => {\n const type = field.settings ? field.settings.type : null;\n if (type === \"dateTimeWithoutTimezone\") {\n return <DateTimeWithoutTimezone field={field} bind={bind} />;\n } else if (type === \"dateTimeWithTimezone\") {\n return <DateTimeWithTimezone field={field} bind={bind} />;\n } else if (type === \"time\") {\n return <Time field={field} bind={bind} />;\n }\n return <DateOnly bind={bind} field={field} />;\n};\n"]}
|
|
@@ -16,7 +16,7 @@ export default (function () {
|
|
|
16
16
|
renderSettings: function renderSettings(_ref) {
|
|
17
17
|
var Bind = _ref.Bind,
|
|
18
18
|
field = _ref.field;
|
|
19
|
-
var type = field.settings.type;
|
|
19
|
+
var type = field.settings ? field.settings.type : undefined;
|
|
20
20
|
var availableValidators = getAvailableValidators(type).join(",");
|
|
21
21
|
return /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
|
|
22
22
|
span: 12
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["dateGte.tsx"],"names":["React","Grid","Cell","validation","createInputField","getAvailableValidators","FormElementMessage","type","name","validator","label","description","defaultMessage","renderSettings","Bind","field","settings","undefined","availableValidators","join","bind","value","onChange","create"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA,SAASC,gBAAT;AACA,SAASC,sBAAT;AACA,SAASC,kBAAT,QAAmC,+BAAnC;AAEA,gBAAe;AAAA,SAAsC;AACjDC,IAAAA,IAAI,EAAE,4BAD2C;AAEjDC,IAAAA,IAAI,EAAE,qCAF2C;AAGjDC,IAAAA,SAAS,EAAE;AACPD,MAAAA,IAAI,EAAE,SADC;AAEPE,MAAAA,KAAK,EAAE,gBAFA;AAGPC,MAAAA,WAAW,EAAE,yEAHN;AAIPC,MAAAA,cAAc,+CAJP;AAKPC,MAAAA,cALO,gCAKyB;AAAA,YAAfC,IAAe,QAAfA,IAAe;AAAA,YAATC,KAAS,QAATA,KAAS;AAC5B,YAAMR,IAAI,GAAGQ,KAAK,CAACC,QAAN,GAAiBD,KAAK,CAACC,QAAN,CAAeT,IAAhC,GAAuCU,SAApD;AACA,YAAMC,mBAAmB,GAAGb,sBAAsB,CAACE,IAAD,CAAtB,CAA6BY,IAA7B,CAAkC,GAAlC,CAA5B;AACA,4BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,UAAA,IAAI,EAAE;AAAZ,wBACI,oBAAC,IAAD;AAAM,UAAA,IAAI,EAAE;AAAZ,WACK,UAAAC,IAAI,EAAI;AACL,cAAIA,IAAI,CAACC,KAAL,KAAed,IAAnB,EAAyB;AACrBa,YAAAA,IAAI,CAACE,QAAL,CAAcf,IAAd;AACH;;AACD,8BAAO,yCAAP;AACH,SANL,CADJ,eASI,oBAAC,IAAD;AACI,UAAA,IAAI,EAAE,gBADV;AAEI,UAAA,UAAU,EAAEJ,UAAU,CAACoB,MAAX,CAAkBL,mBAAlB;AAFhB,WAIK,UAAAE,IAAI,EAAI;AACL,8BACI,0CACKhB,gBAAgB,CAACW,KAAD,EAAQK,IAAR,CADrB,eAEI,oBAAC,kBAAD,+DAFJ,CADJ;AAQH,SAbL,CATJ,CADJ,CADJ;AA6BH;AArCM;AAHsC,GAAtC;AAAA,CAAf","sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\nimport { createInputField } from \"./date/createDateInputField\";\nimport { getAvailableValidators } from \"./date/availableValidators\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nexport default (): CmsEditorFieldValidatorPlugin => ({\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-date-gte\",\n validator: {\n name: \"dateGte\",\n label: \"Later or equal\",\n description: \"Entered date/time must be equal or later compared to the provided date.\",\n defaultMessage: `Date/time is earlier than the provided one.`,\n renderSettings({ Bind, field }) {\n const type = field.settings ? field.settings.type : undefined;\n const availableValidators = getAvailableValidators(type).join(\",\");\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.type\"}>\n {bind => {\n if (bind.value !== type) {\n bind.onChange(type);\n }\n return <></>;\n }}\n </Bind>\n <Bind\n name={\"settings.value\"}\n validators={validation.create(availableValidators)}\n >\n {bind => {\n return (\n <>\n {createInputField(field, bind)}\n <FormElementMessage>\n This is the earliest date/time that will be allowed.\n </FormElementMessage>\n </>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n});\n"]}
|
|
@@ -16,7 +16,7 @@ export default (function () {
|
|
|
16
16
|
renderSettings: function renderSettings(_ref) {
|
|
17
17
|
var Bind = _ref.Bind,
|
|
18
18
|
field = _ref.field;
|
|
19
|
-
var type = field.settings.type;
|
|
19
|
+
var type = field.settings ? field.settings.type : undefined;
|
|
20
20
|
var availableValidators = getAvailableValidators(type).join(",");
|
|
21
21
|
return /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
|
|
22
22
|
span: 12
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["dateLte.tsx"],"names":["React","Grid","Cell","validation","createInputField","FormElementMessage","getAvailableValidators","type","name","validator","label","description","defaultMessage","renderSettings","Bind","field","settings","undefined","availableValidators","join","bind","value","onChange","create"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA,SAASC,gBAAT;AACA,SAASC,kBAAT,QAAmC,+BAAnC;AACA,SAASC,sBAAT;AAEA,gBAAe;AAAA,SAAsC;AACjDC,IAAAA,IAAI,EAAE,4BAD2C;AAEjDC,IAAAA,IAAI,EAAE,qCAF2C;AAGjDC,IAAAA,SAAS,EAAE;AACPD,MAAAA,IAAI,EAAE,SADC;AAEPE,MAAAA,KAAK,EAAE,kBAFA;AAGPC,MAAAA,WAAW,EAAE,2EAHN;AAIPC,MAAAA,cAAc,6CAJP;AAKPC,MAAAA,cALO,gCAKyB;AAAA,YAAfC,IAAe,QAAfA,IAAe;AAAA,YAATC,KAAS,QAATA,KAAS;AAC5B,YAAMR,IAAI,GAAGQ,KAAK,CAACC,QAAN,GAAiBD,KAAK,CAACC,QAAN,CAAeT,IAAhC,GAAuCU,SAApD;AACA,YAAMC,mBAAmB,GAAGZ,sBAAsB,CAACC,IAAD,CAAtB,CAA6BY,IAA7B,CAAkC,GAAlC,CAA5B;AACA,4BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,UAAA,IAAI,EAAE;AAAZ,wBACI,oBAAC,IAAD;AAAM,UAAA,IAAI,EAAE;AAAZ,WACK,UAAAC,IAAI,EAAI;AACL,cAAIA,IAAI,CAACC,KAAL,KAAed,IAAnB,EAAyB;AACrBa,YAAAA,IAAI,CAACE,QAAL,CAAcf,IAAd;AACH;;AACD,8BAAO,yCAAP;AACH,SANL,CADJ,eASI,oBAAC,IAAD;AACI,UAAA,IAAI,EAAE,gBADV;AAEI,UAAA,UAAU,EAAEJ,UAAU,CAACoB,MAAX,CAAkBL,mBAAlB;AAFhB,WAIK,UAAAE,IAAI,EAAI;AACL,8BACI,0CACKhB,gBAAgB,CAACW,KAAD,EAAQK,IAAR,CADrB,eAEI,oBAAC,kBAAD,6DAFJ,CADJ;AAQH,SAbL,CATJ,CADJ,CADJ;AA6BH;AArCM;AAHsC,GAAtC;AAAA,CAAf","sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\nimport { createInputField } from \"./date/createDateInputField\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { getAvailableValidators } from \"./date/availableValidators\";\n\nexport default (): CmsEditorFieldValidatorPlugin => ({\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-date-lte\",\n validator: {\n name: \"dateLte\",\n label: \"Earlier or equal\",\n description: \"Entered date/time must be equal or earlier compared to the provided date.\",\n defaultMessage: `Date/time is later than the provided one.`,\n renderSettings({ Bind, field }) {\n const type = field.settings ? field.settings.type : undefined;\n const availableValidators = getAvailableValidators(type).join(\",\");\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.type\"}>\n {bind => {\n if (bind.value !== type) {\n bind.onChange(type);\n }\n return <></>;\n }}\n </Bind>\n <Bind\n name={\"settings.value\"}\n validators={validation.create(availableValidators)}\n >\n {bind => {\n return (\n <>\n {createInputField(field, bind)}\n <FormElementMessage>\n This is the latest date/time that will be allowed.\n </FormElementMessage>\n </>\n );\n }}\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["gte.tsx"],"names":["React","Grid","Cell","Input","validation","plugin","type","name","validator","label","description","defaultMessage","renderSettings","Bind","create"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAGA,IAAMC,MAAqC,GAAG;AAC1CC,EAAAA,IAAI,EAAE,4BADoC;AAE1CC,EAAAA,IAAI,EAAE,gCAFoC;AAG1CC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,KADC;AAEPE,IAAAA,KAAK,EAAE,kBAFA;AAGPC,IAAAA,WAAW,EAAE,qEAHN;AAIPC,IAAAA,cAAc,EAAE,qBAJT;AAKPC,IAAAA,cALO,gCAKkB;AAAA,UAARC,IAAQ,QAARA,IAAQ;AACrB,0BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE;AAAZ,sBACI,oBAAC,IAAD;AACI,QAAA,IAAI,EAAE,gBADV;AAEI,QAAA,UAAU,EAAET,UAAU,CAACU,MAAX,CAAkB,kBAAlB;AAFhB,sBAII,oBAAC,KAAD;AACI,QAAA,IAAI,EAAE,QADV;AAEI,QAAA,KAAK,EAAE,OAFX;AAGI,QAAA,WAAW,EAAE;AAHjB,QAJJ,CADJ,CADJ,CADJ;AAgBH;AAtBM;AAH+B,CAA9C;AA4BA,eAAeT,MAAf","sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsEditorFieldValidatorPlugin = {\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-gte\",\n validator: {\n name: \"gte\",\n label: \"Greater or equal\",\n description: \"Entered value must be equal or greater than the provided max value.\",\n defaultMessage: \"Value is too small.\",\n renderSettings({ Bind }) {\n return (\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"settings.value\"}\n validators={validation.create(\"required,numeric\")}\n >\n <Input\n type={\"number\"}\n label={\"Value\"}\n description={\"This is the greatest value that will be allowed\"}\n />\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n};\nexport default plugin;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["in.tsx"],"names":["React","Grid","Cell","Tags","validation","plugin","type","name","validator","label","description","defaultMessage","renderSettings","Bind","create"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,IAAT,QAAqB,iBAArB;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAGA,IAAMC,MAAqC,GAAG;AAC1CC,EAAAA,IAAI,EAAE,4BADoC;AAE1CC,EAAAA,IAAI,EAAE,+BAFoC;AAG1CC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,IADC;AAEPE,IAAAA,KAAK,EAAE,iBAFA;AAGPC,IAAAA,WAAW,EACP,gGAJG;AAKPC,IAAAA,cAAc,EAAE,uBALT;AAMPC,IAAAA,cANO,gCAMkB;AAAA,UAARC,IAAQ,QAARA,IAAQ;AACrB,0BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE;AAAZ,sBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE,iBAAZ;AAA+B,QAAA,UAAU,EAAET,UAAU,CAACU,MAAX,CAAkB,UAAlB;AAA3C,sBACI,oBAAC,IAAD;AACI,QAAA,KAAK,EAAE,gBADX;AAEI,QAAA,WAAW,EAAE;AAFjB,QADJ,CADJ,CADJ,CADJ;AAYH;AAnBM;AAH+B,CAA9C;AAyBA,eAAeT,MAAf","sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Tags } from \"@webiny/ui/Tags\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsEditorFieldValidatorPlugin = {\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-in\",\n validator: {\n name: \"in\",\n label: \"Specific values\",\n description:\n \"You won't be able to submit the form if the field value is not in the list of specified values\",\n defaultMessage: \"Value is not allowed.\",\n renderSettings({ Bind }) {\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"settings.values\"} validators={validation.create(\"required\")}>\n <Tags\n label={\"Allowed values\"}\n description={\"Hit ENTER to add values\"}\n />\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n};\nexport default plugin;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["lte.tsx"],"names":["React","Grid","Cell","Input","validation","plugin","type","name","validator","label","description","defaultMessage","renderSettings","Bind","create"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAGA,IAAMC,MAAqC,GAAG;AAC1CC,EAAAA,IAAI,EAAE,4BADoC;AAE1CC,EAAAA,IAAI,EAAE,gCAFoC;AAG1CC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,KADC;AAEPE,IAAAA,KAAK,EAAE,kBAFA;AAGPC,IAAAA,WAAW,EAAE,mEAHN;AAIPC,IAAAA,cAAc,EAAE,qBAJT;AAKPC,IAAAA,cALO,gCAKkB;AAAA,UAARC,IAAQ,QAARA,IAAQ;AACrB,0BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE;AAAZ,sBACI,oBAAC,IAAD;AACI,QAAA,IAAI,EAAE,gBADV;AAEI,QAAA,UAAU,EAAET,UAAU,CAACU,MAAX,CAAkB,kBAAlB;AAFhB,sBAII,oBAAC,KAAD;AACI,QAAA,IAAI,EAAE,QADV;AAEI,QAAA,KAAK,EAAE,OAFX;AAGI,QAAA,WAAW,EAAE;AAHjB,QAJJ,CADJ,CADJ,CADJ;AAgBH;AAtBM;AAH+B,CAA9C;AA4BA,eAAeT,MAAf","sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { CmsEditorFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsEditorFieldValidatorPlugin = {\n type: \"cms-editor-field-validator\",\n name: \"cms-editor-field-validator-lte\",\n validator: {\n name: \"lte\",\n label: \"Smaller or equal\",\n description: \"Entered value must be equal or lower than the provided min value.\",\n defaultMessage: \"Value is too great.\",\n renderSettings({ Bind }) {\n return (\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"settings.value\"}\n validators={validation.create(\"required,numeric\")}\n >\n <Input\n type={\"number\"}\n label={\"Value\"}\n description={\"This is the greatest value that will be allowed\"}\n />\n </Bind>\n </Cell>\n </Grid>\n );\n }\n }\n};\nexport default plugin;\n"]}
|