@webiny/app-headless-cms 5.24.0-beta.0 → 5.25.0-beta.1
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 -2
- 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.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.map +1 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
- package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -1
- 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 -3
- 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.js.map +1 -0
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
- 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.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 -8
- 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.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.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 +9 -3
- package/admin/plugins/icons.js.map +1 -0
- 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 -1
- 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.js.map +1 -0
- package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
- package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
- 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.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 -1
- 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 -1
- 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.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 +25 -24
- package/types.d.ts +41 -7
- package/types.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["numberInputs.tsx"],"names":["React","get","Input","i18n","ReactComponent","DeleteIcon","DynamicSection","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","bind","index","value","onChange","appendValue","number","icon","onClick","removeValue"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AAEA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,cAAc,IAAIC,UAA3B;AACA,OAAOC,cAAP;AAEA,IAAMC,CAAC,GAAGJ,IAAI,CAACK,EAAL,CAAQ,oCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,yCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,eADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,kFAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,8GAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aACIA,KAAK,CAACN,IAAN,KAAe,QAAf,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,QAAQ,EAAE,kBAAAC,KAAK,EAAI;AACf,mBAAOF,IAAI,CAACC,KAAL,CAAWE,QAAX,CAAoBD,KAApB,CAAP;AACH,WAJL;AAKI,UAAA,SAAS,MALb;AAMI,UAAA,OAAO,EAAE;AAAA,mBAAMF,IAAI,CAACJ,KAAL,CAAWQ,WAAX,CAAuB,EAAvB,CAAN;AAAA,WANb;AAOI,UAAA,KAAK,EAAEjB,CAAC,qFAAD,CAAkB;AAAEkB,YAAAA,MAAM,EAAEJ,KAAK,GAAG;AAAlB,WAAlB,CAPX;AAQI,UAAA,IAAI,EAAC,QART;AASI,UAAA,YAAY,EACRA,KAAK,GAAG,CAAR,IAAa;AACTK,YAAAA,IAAI,eAAE,oBAAC,UAAD,OADG;AAETC,YAAAA,OAAO,EAAE;AAAA,qBAAMP,IAAI,CAACJ,KAAL,CAAWY,WAAX,CAAuBP,KAAvB,CAAN;AAAA;AAFA;AAVrB,WADH;AAAA,OADL,CADJ;AAsBH;AAlCK;AAH+B,CAA7C;AAyCA,eAAeZ,MAAf","sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport DynamicSection from \"../DynamicSection\";\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-number-inputs\",\n renderer: {\n rendererName: \"number-inputs\",\n name: t`Number Inputs`,\n description: t`Renders a simple list of number inputs.`,\n canUse({ field }) {\n return (\n field.type === \"number\" &&\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 onChange={value => {\n return bind.index.onChange(value);\n }}\n autoFocus\n onEnter={() => bind.field.appendValue(\"\")}\n label={t`Value {number}`({ number: index + 1 })}\n type=\"number\"\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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["StyledComponents.ts"],"names":["css","fieldsWrapperStyle","dynamicSectionTitleStyle","dynamicSectionGridStyle","fieldsGridStyle"],"mappings":"AAAA,SAASA,GAAT,QAAoB,SAApB;AAEA,OAAO,IAAMC,kBAAkB,gBAAGD,GAAH,0JAAxB;AASP,OAAO,IAAME,wBAAwB,gBAAGF,GAAH,mDAA9B;AAIP,OAAO,IAAMG,uBAAuB,gBAAGH,GAAH,4EAA7B;AAMP,OAAO,IAAMI,eAAe,gBAAGJ,GAAH,yDAArB","sourcesContent":["import { css } from \"emotion\";\n\nexport const fieldsWrapperStyle = css`\n border-left: 2px solid var(--mdc-theme-on-background);\n padding-left: 16px;\n\n &:focus-within {\n border-color: var(--mdc-theme-primary);\n }\n`;\n\nexport const dynamicSectionTitleStyle = css`\n margin-top: 24px;\n`;\n\nexport const dynamicSectionGridStyle = css`\n & > .mdc-layout-grid__inner {\n grid-gap: 8px;\n }\n`;\n\nexport const fieldsGridStyle = css`\n &.mdc-layout-grid {\n padding: 8px;\n }\n`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["singleObject","multipleObjects"],"mappings":"AAAA,OAAOA,YAAP;AACA,OAAOC,eAAP;AAEA,eAAe,CAACD,YAAD,EAAeC,eAAf,CAAf","sourcesContent":["import singleObject from \"./singleObject\";\nimport multipleObjects from \"./multipleObjects\";\n\nexport default [singleObject, multipleObjects];\n"]}
|
|
@@ -23,7 +23,7 @@ var plugin = {
|
|
|
23
23
|
description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders a set of fields."]))),
|
|
24
24
|
canUse: function canUse(_ref) {
|
|
25
25
|
var field = _ref.field;
|
|
26
|
-
return field.type === "object" && field.multipleValues;
|
|
26
|
+
return field.type === "object" && !!field.multipleValues;
|
|
27
27
|
},
|
|
28
28
|
render: function render(props) {
|
|
29
29
|
var field = props.field,
|
|
@@ -46,12 +46,12 @@ var plugin = {
|
|
|
46
46
|
index = _ref2.index;
|
|
47
47
|
return /*#__PURE__*/React.createElement(Accordion, {
|
|
48
48
|
title: "".concat(props.field.label, " #").concat(index + 1),
|
|
49
|
-
action: index > 0
|
|
49
|
+
action: index > 0 ? /*#__PURE__*/React.createElement(IconButton, {
|
|
50
50
|
icon: /*#__PURE__*/React.createElement(DeleteIcon, null),
|
|
51
51
|
onClick: function onClick() {
|
|
52
52
|
return bind.field.removeValue(index);
|
|
53
53
|
}
|
|
54
|
-
}) // Open first Accordion by default
|
|
54
|
+
}) : null // Open first Accordion by default
|
|
55
55
|
,
|
|
56
56
|
defaultValue: index === 0
|
|
57
57
|
}, /*#__PURE__*/React.createElement(Cell, {
|
|
@@ -61,8 +61,8 @@ var plugin = {
|
|
|
61
61
|
Bind: Bind
|
|
62
62
|
}, bind.index, {
|
|
63
63
|
contentModel: contentModel,
|
|
64
|
-
fields: field.settings.fields,
|
|
65
|
-
layout: field.settings.layout,
|
|
64
|
+
fields: (field.settings || {}).fields || [],
|
|
65
|
+
layout: (field.settings || {}).layout || [],
|
|
66
66
|
gridClassName: fieldsGridStyle
|
|
67
67
|
}))));
|
|
68
68
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["multipleObjects.tsx"],"names":["React","i18n","DynamicSection","Fields","ReactComponent","DeleteIcon","IconButton","Cell","FormElementMessage","Typography","Accordion","fieldsWrapperStyle","dynamicSectionTitleStyle","dynamicSectionGridStyle","fieldsGridStyle","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","contentModel","value","label","length","helpText","Bind","bind","index","removeValue","settings","fields","layout"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport DynamicSection from \"../DynamicSection\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/close.svg\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport Accordion from \"~/admin/plugins/fieldRenderers/Accordion\";\nimport {\n fieldsWrapperStyle,\n dynamicSectionTitleStyle,\n dynamicSectionGridStyle,\n fieldsGridStyle\n} from \"./StyledComponents\";\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-objects\",\n renderer: {\n rendererName: \"objects\",\n name: t`Objects`,\n description: t`Renders a set of fields.`,\n canUse({ field }) {\n return field.type === \"object\" && !!field.multipleValues;\n },\n render(props) {\n const { field, contentModel } = props;\n\n return (\n <DynamicSection\n {...props}\n emptyValue={{}}\n showLabel={false}\n renderTitle={value => (\n <Cell span={12} className={dynamicSectionTitleStyle}>\n <Typography use={\"headline5\"}>\n {`${field.label} ${value.length ? `(${value.length})` : \"\"}`}\n </Typography>\n {field.helpText && (\n <FormElementMessage>{field.helpText}</FormElementMessage>\n )}\n </Cell>\n )}\n gridClassName={dynamicSectionGridStyle}\n >\n {({ Bind, bind, index }) => (\n <Accordion\n title={`${props.field.label} #${index + 1}`}\n action={\n index > 0 ? (\n <IconButton\n icon={<DeleteIcon />}\n onClick={() => bind.field.removeValue(index)}\n />\n ) : null\n }\n // Open first Accordion by default\n defaultValue={index === 0}\n >\n <Cell span={12} className={fieldsWrapperStyle}>\n <Fields\n Bind={Bind}\n {...bind.index}\n contentModel={contentModel}\n fields={(field.settings || {}).fields || []}\n layout={(field.settings || {}).layout || []}\n gridClassName={fieldsGridStyle}\n />\n </Cell>\n </Accordion>\n )}\n </DynamicSection>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -26,6 +26,7 @@ var plugin = {
|
|
|
26
26
|
getBind = _ref2.getBind,
|
|
27
27
|
contentModel = _ref2.contentModel;
|
|
28
28
|
var Bind = getBind();
|
|
29
|
+
var settings = field.settings || {};
|
|
29
30
|
return /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
|
|
30
31
|
span: 12
|
|
31
32
|
}, /*#__PURE__*/React.createElement(SimpleFormHeader, {
|
|
@@ -36,8 +37,8 @@ var plugin = {
|
|
|
36
37
|
}, /*#__PURE__*/React.createElement(Fields, {
|
|
37
38
|
Bind: Bind,
|
|
38
39
|
contentModel: contentModel,
|
|
39
|
-
fields:
|
|
40
|
-
layout:
|
|
40
|
+
fields: settings.fields || [],
|
|
41
|
+
layout: settings.layout || []
|
|
41
42
|
})));
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["singleObject.tsx"],"names":["React","i18n","Fields","SimpleFormHeader","Grid","Cell","FormElementMessage","fieldsWrapperStyle","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","getBind","contentModel","Bind","settings","label","helpText","fields","layout"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AAEA,SAASC,MAAT;AACA,SAASC,gBAAT,QAAiC,yCAAjC;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,SAASC,kBAAT,QAAmC,+BAAnC;AACA,SAASC,kBAAT;AAEA,IAAMC,CAAC,GAAGP,IAAI,CAACQ,EAAL,CAAQ,oCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,kCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,QADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,2EAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,+FAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aAAOA,KAAK,CAACN,IAAN,KAAe,QAAf,IAA2B,CAACM,KAAK,CAACC,cAAzC;AACH,KANK;AAONC,IAAAA,MAPM,yBAOmC;AAAA,UAAhCF,KAAgC,SAAhCA,KAAgC;AAAA,UAAzBG,OAAyB,SAAzBA,OAAyB;AAAA,UAAhBC,YAAgB,SAAhBA,YAAgB;AACrC,UAAMC,IAAI,GAAGF,OAAO,EAApB;AAEA,UAAMG,QAAQ,GAAGN,KAAK,CAACM,QAAN,IAAkB,EAAnC;AAEA,0BACI,oBAAC,IAAD,qBACI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE;AAAZ,sBACI,oBAAC,gBAAD;AAAkB,QAAA,KAAK,EAAEN,KAAK,CAACO;AAA/B,QADJ,EAEKP,KAAK,CAACQ,QAAN,iBACG,oBAAC,kBAAD,QAAqBR,KAAK,CAACQ,QAA3B,CAHR,CADJ,eAOI,oBAAC,IAAD;AAAM,QAAA,IAAI,EAAE,EAAZ;AAAgB,QAAA,SAAS,EAAElB;AAA3B,sBACI,oBAAC,MAAD;AACI,QAAA,IAAI,EAAEe,IADV;AAEI,QAAA,YAAY,EAAED,YAFlB;AAGI,QAAA,MAAM,EAAEE,QAAQ,CAACG,MAAT,IAAmB,EAH/B;AAII,QAAA,MAAM,EAAEH,QAAQ,CAACI,MAAT,IAAmB;AAJ/B,QADJ,CAPJ,CADJ;AAkBH;AA9BK;AAH+B,CAA7C;AAqCA,eAAejB,MAAf","sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { SimpleFormHeader } from \"@webiny/app-admin/components/SimpleForm\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { fieldsWrapperStyle } from \"./StyledComponents\";\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-object\",\n renderer: {\n rendererName: \"object\",\n name: t`Object`,\n description: t`Renders a set of fields.`,\n canUse({ field }) {\n return field.type === \"object\" && !field.multipleValues;\n },\n render({ field, getBind, contentModel }) {\n const Bind = getBind();\n\n const settings = field.settings || {};\n\n return (\n <Grid>\n <Cell span={12}>\n <SimpleFormHeader title={field.label} />\n {field.helpText && (\n <FormElementMessage>{field.helpText}</FormElementMessage>\n )}\n </Cell>\n <Cell span={12} className={fieldsWrapperStyle}>\n <Fields\n Bind={Bind}\n contentModel={contentModel}\n fields={settings.fields || []}\n layout={settings.layout || []}\n />\n </Cell>\n </Grid>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -16,19 +16,25 @@ var plugin = {
|
|
|
16
16
|
description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Renders radio buttons, allowing selection of a single value."]))),
|
|
17
17
|
canUse: function canUse(_ref) {
|
|
18
18
|
var field = _ref.field;
|
|
19
|
-
return !field.multipleValues && get(field, "predefinedValues.enabled");
|
|
19
|
+
return !field.multipleValues && !!get(field, "predefinedValues.enabled");
|
|
20
20
|
},
|
|
21
21
|
render: function render(_ref2) {
|
|
22
22
|
var field = _ref2.field,
|
|
23
23
|
getBind = _ref2.getBind;
|
|
24
24
|
var Bind = getBind();
|
|
25
|
-
|
|
25
|
+
|
|
26
|
+
var _ref3 = field.predefinedValues || {
|
|
27
|
+
options: []
|
|
28
|
+
},
|
|
29
|
+
_ref3$values = _ref3.values,
|
|
30
|
+
options = _ref3$values === void 0 ? [] : _ref3$values;
|
|
31
|
+
|
|
26
32
|
return /*#__PURE__*/React.createElement(Bind, null, /*#__PURE__*/React.createElement(RadioGroup, {
|
|
27
33
|
label: field.label,
|
|
28
34
|
description: field.helpText
|
|
29
|
-
}, function (
|
|
30
|
-
var onChange =
|
|
31
|
-
getValue =
|
|
35
|
+
}, function (_ref4) {
|
|
36
|
+
var onChange = _ref4.onChange,
|
|
37
|
+
getValue = _ref4.getValue;
|
|
32
38
|
return /*#__PURE__*/React.createElement(React.Fragment, null, options.map(function (option, index) {
|
|
33
39
|
var value = field.type === "number" ? Number(option.value) : option.value;
|
|
34
40
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["radioButtons.tsx"],"names":["React","get","i18n","Radio","RadioGroup","t","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","getBind","Bind","predefinedValues","options","values","label","helpText","onChange","getValue","map","option","index","value","Number","String"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AAEA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,KAAT,EAAgBC,UAAhB,QAAkC,kBAAlC;AAEA,IAAMC,CAAC,GAAGH,IAAI,CAACI,EAAL,CAAQ,oCAAR,CAAV;AAEA,IAAMC,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,yCAFmC;AAGzCC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,YAAY,EAAE,eADR;AAENF,IAAAA,IAAI,EAAEJ,CAAF,kFAFE;AAGNO,IAAAA,WAAW,EAAEP,CAAF,mIAHL;AAINQ,IAAAA,MAJM,wBAIY;AAAA,UAATC,KAAS,QAATA,KAAS;AACd,aAAO,CAACA,KAAK,CAACC,cAAP,IAAyB,CAAC,CAACd,GAAG,CAACa,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,kBAAiCH,KAAK,CAACK,gBAAN,IAA0B;AACvDC,QAAAA,OAAO,EAAE;AAD8C,OAA3D;AAAA,+BAAQC,MAAR;AAAA,UAAgBD,OAAhB,6BAA0B,EAA1B;;AAIA,0BACI,oBAAC,IAAD,qBACI,oBAAC,UAAD;AAAY,QAAA,KAAK,EAAEN,KAAK,CAACQ,KAAzB;AAAgC,QAAA,WAAW,EAAER,KAAK,CAACS;AAAnD,SACK;AAAA,YAAGC,QAAH,SAAGA,QAAH;AAAA,YAAaC,QAAb,SAAaA,QAAb;AAAA,4BACG,oBAAC,KAAD,CAAO,QAAP,QACKL,OAAO,CAACM,GAAR,CAAY,UAACC,MAAD,EAASC,KAAT,EAAmB;AAC5B,cAAMC,KAAK,GACPf,KAAK,CAACN,IAAN,KAAe,QAAf,GACMsB,MAAM,CAACH,MAAM,CAACE,KAAR,CADZ,GAEMF,MAAM,CAACE,KAHjB;AAIA,8BACI;AAAK,YAAA,GAAG,EAAEE,MAAM,CAACJ,MAAM,CAACE,KAAR,CAAN,GAAuBD;AAAjC,0BACI,oBAAC,KAAD;AACI,YAAA,KAAK,EAAED,MAAM,CAACL,KADlB;AAEI,YAAA,KAAK,EAAEG,QAAQ,CAACI,KAAD,CAFnB;AAGI,YAAA,QAAQ,EAAEL,QAAQ,CAACK,KAAD;AAHtB,YADJ,CADJ;AASH,SAdA,CADL,CADH;AAAA,OADL,CADJ,CADJ;AAyBH;AAvCK;AAH+B,CAA7C;AA8CA,eAAetB,MAAf","sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Radio, RadioGroup } from \"@webiny/ui/Radio\";\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-radio-buttons\",\n renderer: {\n rendererName: \"radio-buttons\",\n name: t`Radio Buttons`,\n description: t`Renders radio buttons, 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 options: []\n };\n\n return (\n <Bind>\n <RadioGroup label={field.label} description={field.helpText}>\n {({ onChange, getValue }) => (\n <React.Fragment>\n {options.map((option, index) => {\n const value =\n field.type === \"number\"\n ? Number(option.value)\n : option.value;\n return (\n <div key={String(option.value) + index}>\n <Radio\n label={option.label}\n value={getValue(value)}\n onChange={onChange(value)}\n />\n </div>\n );\n })}\n </React.Fragment>\n )}\n </RadioGroup>\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { CmsEditorField } from "../../../../../types";
|
|
3
|
+
import { BindComponentRenderProp } from "@webiny/form";
|
|
3
4
|
interface ContentEntriesAutocompleteProps {
|
|
4
|
-
bind:
|
|
5
|
+
bind: BindComponentRenderProp;
|
|
5
6
|
field: CmsEditorField;
|
|
6
7
|
}
|
|
7
8
|
declare const ContentEntriesAutocomplete: React.FC<ContentEntriesAutocompleteProps>;
|
|
@@ -61,8 +61,6 @@ var ContentEntriesAutocomplete = function ContentEntriesAutocomplete(_ref) {
|
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
if (renderNewEntryModal) {
|
|
64
|
-
// TODO @ts-refactor
|
|
65
|
-
// TODO @ashutosh check out that second entry in onChange and check which type does on change accept as second entry
|
|
66
64
|
return /*#__PURE__*/React.createElement(NewRefEntryFormDialog, {
|
|
67
65
|
modelId: refModelId,
|
|
68
66
|
onChange: function onChange(entry) {
|
|
@@ -72,7 +70,7 @@ var ContentEntriesAutocomplete = function ContentEntriesAutocomplete(_ref) {
|
|
|
72
70
|
renderItem: renderItem,
|
|
73
71
|
onChange: _onChange,
|
|
74
72
|
loading: loading,
|
|
75
|
-
value: value
|
|
73
|
+
value: value || undefined,
|
|
76
74
|
options: options,
|
|
77
75
|
label: field.label,
|
|
78
76
|
description: /*#__PURE__*/React.createElement(React.Fragment, null, field.helpText, entryInfo),
|
|
@@ -87,7 +85,7 @@ var ContentEntriesAutocomplete = function ContentEntriesAutocomplete(_ref) {
|
|
|
87
85
|
renderItem: renderItem,
|
|
88
86
|
onChange: _onChange,
|
|
89
87
|
loading: loading,
|
|
90
|
-
value: value
|
|
88
|
+
value: value || undefined,
|
|
91
89
|
options: options,
|
|
92
90
|
label: field.label,
|
|
93
91
|
description: /*#__PURE__*/React.createElement(React.Fragment, null, field.helpText, entryInfo),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentEntriesAutocomplete.tsx"],"names":["React","debounce","NewRefEntryFormDialog","NewEntryButton","AutoComplete","i18n","Link","useNewRefEntry","useReference","renderItem","createEntryUrl","t","ns","unpublishedLabel","publishedLabel","ContentEntriesAutocomplete","bind","field","options","setSearch","value","loading","onChange","entryInfo","published","link","publishItLink","here","renderNewEntryModal","refModelId","helpText","entry","undefined","label","search"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport debounce from \"lodash/debounce\";\nimport NewRefEntryFormDialog, { NewEntryButton } from \"./NewRefEntryFormDialog\";\nimport { AutoComplete } from \"@webiny/ui/AutoComplete\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Link } from \"@webiny/react-router\";\nimport { useNewRefEntry } from \"../hooks/useNewRefEntry\";\nimport { useReference } from \"./useReference\";\nimport { renderItem } from \"./renderItem\";\nimport { createEntryUrl } from \"./createEntryUrl\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst unpublishedLabel = t`Selected content entry is not published. Make sure to {publishItLink} before publishing the main content entry.`;\nconst publishedLabel = t`Selected content entry is published. You can view it {here}.`;\n\ninterface ContentEntriesAutocompleteProps {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\nconst ContentEntriesAutocomplete: React.FC<ContentEntriesAutocompleteProps> = ({ bind, field }) => {\n const { options, setSearch, value, loading, onChange } = useReference({\n bind,\n field\n });\n\n let entryInfo: string | null = null;\n if (value && !value.published) {\n const link = createEntryUrl(value);\n entryInfo = unpublishedLabel({ publishItLink: <Link to={link}>{t`publish it`}</Link> });\n } else if (value) {\n const link = createEntryUrl(value);\n entryInfo = publishedLabel({\n here: <Link to={link}>{t`here`}</Link>\n });\n }\n const { renderNewEntryModal, refModelId, helpText } = useNewRefEntry({ field });\n\n /*\n * Wrap AutoComplete input in NewRefEntry modal.\n */\n if (renderNewEntryModal) {\n return (\n <NewRefEntryFormDialog\n modelId={refModelId}\n onChange={entry => onChange(entry, entry as any)}\n >\n <AutoComplete\n {...bind}\n renderItem={renderItem}\n onChange={onChange}\n loading={loading}\n value={value || undefined}\n options={options}\n label={field.label}\n description={\n <>\n {field.helpText}\n {entryInfo}\n </>\n }\n onInput={debounce(search => setSearch(search), 250)}\n noResultFound={<NewEntryButton />}\n />\n </NewRefEntryFormDialog>\n );\n }\n\n return (\n <AutoComplete\n {...bind}\n renderItem={renderItem}\n onChange={onChange}\n loading={loading}\n value={value || undefined}\n options={options}\n label={field.label}\n description={\n <>\n {field.helpText}\n {entryInfo}\n </>\n }\n onInput={debounce(search => setSearch(search), 250)}\n noResultFound={helpText}\n />\n );\n};\n\nexport default ContentEntriesAutocomplete;\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { CmsEditorField } from "../../../../../types";
|
|
3
|
+
import { BindComponentRenderProp } from "@webiny/form";
|
|
3
4
|
interface ContentEntriesMultiAutocompleteProps {
|
|
4
|
-
bind:
|
|
5
|
+
bind: BindComponentRenderProp;
|
|
5
6
|
field: CmsEditorField;
|
|
6
7
|
}
|
|
7
8
|
declare const ContentEntriesMultiAutocomplete: React.FC<ContentEntriesMultiAutocompleteProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentEntriesMultiAutoComplete.tsx"],"names":["React","useCallback","debounce","MultiAutoComplete","Link","i18n","useReferences","renderItem","NewRefEntryFormDialog","NewEntryButton","useNewRefEntry","t","ns","warn","ContentEntriesMultiAutocomplete","bind","field","options","setSearch","entries","loading","onChange","renderNewEntryModal","refModelId","helpText","entryWarning","entry","index","id","modelId","name","published","encodeURIComponent","warning","filter","item","length","map","refEntryOnChange","value","label"],"mappings":"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","sourcesContent":["import React, { useCallback } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { MultiAutoComplete } from \"@webiny/ui/AutoComplete\";\nimport { Link } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReferencedCmsEntry, useReferences } from \"./useReferences\";\nimport { renderItem } from \"./renderItem\";\nimport NewRefEntryFormDialog, { NewEntryButton } from \"./NewRefEntryFormDialog\";\nimport { useNewRefEntry } from \"../hooks/useNewRefEntry\";\nimport { CmsEditorField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst warn = t`Before publishing the main content entry, make sure you publish the following referenced entries: {entries}`;\n\ninterface ContentEntriesMultiAutocompleteProps {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\nconst ContentEntriesMultiAutocomplete: React.FC<ContentEntriesMultiAutocompleteProps> = ({\n bind,\n field\n}) => {\n const { options, setSearch, entries, loading, onChange } = useReferences({ bind, field });\n\n const { renderNewEntryModal, refModelId, helpText } = useNewRefEntry({ field });\n\n const entryWarning = (entry: ReferencedCmsEntry, index: number): React.ReactElement | null => {\n const { id, modelId, name, published } = entry;\n if (published) {\n return null;\n }\n return (\n <React.Fragment key={id}>\n {index > 0 && \", \"}\n <Link to={`/cms/content-entries/${modelId}?id=${encodeURIComponent(id)}`}>\n {name}\n </Link>\n </React.Fragment>\n );\n };\n\n let warning = entries.filter(item => item.published === false);\n if (warning.length) {\n warning = warn({\n entries: <>{warning.map(entryWarning)}</>\n });\n }\n\n const refEntryOnChange = useCallback(\n // TODO @ts-refactor figure out which type is this\n value => {\n /**\n * Append new selected entry at the end of existing entries.\n */\n onChange([...entries, value]);\n },\n [onChange, entries]\n );\n\n if (renderNewEntryModal) {\n return (\n <NewRefEntryFormDialog modelId={refModelId} onChange={refEntryOnChange}>\n <MultiAutoComplete\n {...bind}\n renderItem={renderItem}\n renderListItemLabel={renderItem}\n useMultipleSelectionList\n onChange={onChange}\n loading={loading}\n value={entries}\n options={options}\n label={field.label}\n onInput={debounce(setSearch, 250)}\n description={\n <>\n {field.helpText}\n {warning}\n </>\n }\n noResultFound={<NewEntryButton />}\n />\n </NewRefEntryFormDialog>\n );\n }\n\n return (\n <MultiAutoComplete\n {...bind}\n renderItem={renderItem}\n renderListItemLabel={renderItem}\n useMultipleSelectionList\n onChange={onChange}\n loading={loading}\n value={entries}\n options={options}\n label={field.label}\n onInput={debounce(setSearch, 250)}\n description={\n <>\n {field.helpText}\n {warning}\n </>\n }\n noResultFound={helpText}\n />\n );\n};\n\nexport default ContentEntriesMultiAutocomplete;\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare const ReferenceMultipleModelsHelpText: () => JSX.Element;
|
|
3
|
-
|
|
3
|
+
interface MissingEntryHelpTextProps {
|
|
4
4
|
refModelId: string;
|
|
5
|
-
}
|
|
5
|
+
}
|
|
6
|
+
declare const MissingEntryHelpText: React.FC<MissingEntryHelpTextProps>;
|
|
6
7
|
export default MissingEntryHelpText;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["MissingEntryHelpText.tsx"],"names":["React","styled","Typography","Link","createNewEntryUrl","i18n","t","ns","missingEntryLabel","referenceMultipleModelsLabel","HelpTextTypography","ReferenceMultipleModelsHelpText","MissingEntryHelpText","refModelId","newEntryLink"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,UAAT,QAA2B,uBAA3B;AACA,SAASC,IAAT,QAAqB,sBAArB;AACA,SAASC,iBAAT;AACA,SAASC,IAAT,QAAqB,kBAArB;AAEA,IAAMC,CAAC,GAAGD,IAAI,CAACE,EAAL,CAAQ,mCAAR,CAAV;AAEA,IAAMC,iBAAiB,GAAGF,CAAH,sOAAvB;AAGA,IAAMG,4BAA4B,GAAGH,CAAH,mTAAlC;AAIA,IAAMI,kBAAkB,gBAAGT,MAAH,CAAUC,UAAV;AAAA;AAAA;AAAA,6FAAxB;AAOA,OAAO,IAAMS,+BAA+B,GAAG,SAAlCA,+BAAkC,GAAM;AACjD,sBAAO,oBAAC,kBAAD;AAAoB,IAAA,GAAG,EAAE;AAAzB,KAAqCF,4BAArC,CAAP;AACH,CAFM;;AAOP,IAAMG,oBAAyD,GAAG,SAA5DA,oBAA4D,OAAoB;AAAA,MAAjBC,UAAiB,QAAjBA,UAAiB;AAClF,sBACI,oBAAC,kBAAD;AAAoB,IAAA,GAAG,EAAE;AAAzB,KACKL,iBAAiB,CAAC;AACfM,IAAAA,YAAY,eACR,oBAAC,IAAD;AAAM,MAAA,EAAE,EAAEV,iBAAiB,CAACS,UAAD,CAA3B;AAAyC,MAAA,MAAM,EAAE;AAAjD,OAA4DP,CAA5D;AAFW,GAAD,CADtB,CADJ;AASH,CAVD;;AAYA,eAAeM,oBAAf","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Link } from \"@webiny/react-router\";\nimport { createNewEntryUrl } from \"./createEntryUrl\";\nimport { i18n } from \"@webiny/app/i18n\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst missingEntryLabel = t`If you can't find the intended reference value in the target model,\n please close this dialog and populate the {newEntryLink} in the target model first.`;\n\nconst referenceMultipleModelsLabel = t`The creation of reference values from within this view is only supported\n when a single reference model is selected. To reference values from multiple models,\n please make sure the referenced values exist before setting the reference.`;\n\nconst HelpTextTypography = styled(Typography)`\n & {\n display: inline-block;\n color: var(--mdc-theme-text-secondary-on-background) !important;\n }\n`;\n\nexport const ReferenceMultipleModelsHelpText = () => {\n return <HelpTextTypography use={\"caption\"}>{referenceMultipleModelsLabel}</HelpTextTypography>;\n};\n\ninterface MissingEntryHelpTextProps {\n refModelId: string;\n}\nconst MissingEntryHelpText: React.FC<MissingEntryHelpTextProps> = ({ refModelId }) => {\n return (\n <HelpTextTypography use={\"caption\"}>\n {missingEntryLabel({\n newEntryLink: (\n <Link to={createNewEntryUrl(refModelId)} target={\"_blank\"}>{t`entry`}</Link>\n )\n })}\n </HelpTextTypography>\n );\n};\n\nexport default MissingEntryHelpText;\n"]}
|
|
@@ -33,7 +33,12 @@ var EntryForm = function EntryForm(_ref) {
|
|
|
33
33
|
|
|
34
34
|
return /*#__PURE__*/React.createElement(ContentEntryForm, {
|
|
35
35
|
contentModel: contentModel,
|
|
36
|
-
onSubmit:
|
|
36
|
+
onSubmit: function onSubmit(data) {
|
|
37
|
+
/**
|
|
38
|
+
* We know that data is CmsEditorContentEntry.
|
|
39
|
+
*/
|
|
40
|
+
return onCreate(data);
|
|
41
|
+
},
|
|
37
42
|
onForm: function onForm(form) {
|
|
38
43
|
return setFormRef(form);
|
|
39
44
|
},
|
|
@@ -47,8 +52,8 @@ var DialogSaveButton = function DialogSaveButton() {
|
|
|
47
52
|
form = _useContentEntry2.form;
|
|
48
53
|
|
|
49
54
|
return /*#__PURE__*/React.createElement(DialogButton, {
|
|
50
|
-
onClick: function onClick() {
|
|
51
|
-
return form.current.submit();
|
|
55
|
+
onClick: function onClick(ev) {
|
|
56
|
+
return form.current.submit(ev);
|
|
52
57
|
}
|
|
53
58
|
}, t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Save"]))));
|
|
54
59
|
};
|
|
@@ -76,7 +81,7 @@ var NewRefEntryFormDialog = function NewRefEntryFormDialog(_ref2) {
|
|
|
76
81
|
children = _ref2.children,
|
|
77
82
|
onChange = _ref2.onChange;
|
|
78
83
|
|
|
79
|
-
var _useState = useState(),
|
|
84
|
+
var _useState = useState(null),
|
|
80
85
|
_useState2 = _slicedToArray(_useState, 2),
|
|
81
86
|
contentModel = _useState2[0],
|
|
82
87
|
setContentModel = _useState2[1];
|
|
@@ -111,6 +116,11 @@ var NewRefEntryFormDialog = function NewRefEntryFormDialog(_ref2) {
|
|
|
111
116
|
return setOpen(false);
|
|
112
117
|
}, []);
|
|
113
118
|
var onCreate = useCallback(function (entry) {
|
|
119
|
+
if (!contentModel) {
|
|
120
|
+
setOpen(false);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
114
124
|
onChange(_objectSpread(_objectSpread({}, entry), {}, {
|
|
115
125
|
/*
|
|
116
126
|
* Format data for AutoComplete.
|
|
@@ -119,10 +129,6 @@ var NewRefEntryFormDialog = function NewRefEntryFormDialog(_ref2) {
|
|
|
119
129
|
modelId: contentModel.modelId,
|
|
120
130
|
modelName: contentModel.name
|
|
121
131
|
}));
|
|
122
|
-
/*
|
|
123
|
-
Close the modal
|
|
124
|
-
*/
|
|
125
|
-
|
|
126
132
|
setOpen(false);
|
|
127
133
|
}, [onChange, contentModel]);
|
|
128
134
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NewRefEntryFormDialog.tsx"],"names":["React","useCallback","useState","get","css","styled","Dialog","DialogActions","DialogButton","DialogCancel","DialogContent","DialogTitle","ButtonDefault","ButtonIcon","useSnackbar","i18n","ReactComponent","AddIcon","Provider","ContentEntriesProvider","ContentEntryProvider","ContentEntryForm","useQuery","GET_CONTENT_MODEL","useContentEntry","useNewRefEntryDialog","t","ns","dialogContentStyles","dialogContainerStyles","EntryForm","onCreate","setFormRef","contentModel","data","form","DialogSaveButton","ev","current","submit","DefaultButton","NewEntryButton","setOpen","NewRefEntryFormDialog","modelId","children","onChange","setContentModel","showSnackbar","skip","variables","onCompleted","contentModelData","open","hideDialog","entry","published","modelName","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport {\n Dialog,\n DialogActions,\n DialogButton,\n DialogCancel,\n DialogContent,\n DialogTitle\n} from \"@webiny/ui/Dialog\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { Provider as ContentEntriesProvider } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { Provider as ContentEntryProvider } from \"~/admin/views/contentEntries/ContentEntry/ContentEntryContext\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm\";\nimport { useQuery } from \"~/admin/hooks\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n} from \"~/admin/graphql/contentModels\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { useNewRefEntryDialog } from \"../hooks/useNewRefEntryDialog\";\nimport { CmsEditorContentEntry, CmsModel } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst dialogContentStyles = css`\n width: 786px;\n`;\n\nconst dialogContainerStyles = css`\n /*\n* By default, a Dialog component has the \"z-index\" value of 20.\n* As we are rendering the content entry form in a \"Dialog\", the File Manager view triggered by a \"file\" field\n* will render below the source form, rendering it useless for the user.\n*\n* To fix that issue, we're setting the \"z-index\" CSS property for this particular Dialog to less than 18,\n* which is the \"z-index\" value assigned to File Manager view, so that it will render below the File Manager view as expected.\n*/\n\n &.mdc-dialog {\n z-index: 17;\n }\n`;\n\ninterface EntryFormProps {\n onCreate: (entry: CmsEditorContentEntry) => void;\n}\nconst EntryForm: React.FC<EntryFormProps> = ({ onCreate }) => {\n const { setFormRef, contentModel } = useContentEntry();\n\n return (\n <ContentEntryForm\n contentModel={contentModel}\n onSubmit={data => {\n /**\n * We know that data is CmsEditorContentEntry.\n */\n return onCreate(data as unknown as CmsEditorContentEntry);\n }}\n onForm={form => setFormRef(form)}\n entry={{}}\n addEntryToListCache={false}\n />\n );\n};\n\nconst DialogSaveButton: React.FC = () => {\n const { form } = useContentEntry();\n\n return <DialogButton onClick={ev => form.current.submit(ev)}>{t`Save`}</DialogButton>;\n};\n\nconst DefaultButton = styled(ButtonDefault)`\n margin-left: 32px;\n`;\n\nexport const NewEntryButton = () => {\n const { setOpen } = useNewRefEntryDialog();\n return (\n <DefaultButton small={true} onClick={() => setOpen(true)}>\n <ButtonIcon icon={<AddIcon />} />\n {t`New Entry`}\n </DefaultButton>\n );\n};\n\ninterface NewRefEntryProps {\n modelId: string;\n children: React.ReactElement;\n onChange: (entry: CmsEditorContentEntry) => void;\n}\n\nconst NewRefEntryFormDialog: React.FC<NewRefEntryProps> = ({ modelId, children, onChange }) => {\n const [contentModel, setContentModel] = useState<CmsModel | null>(null);\n\n const { showSnackbar } = useSnackbar();\n\n useQuery<GetCmsModelQueryResponse, GetCmsModelQueryVariables>(GET_CONTENT_MODEL, {\n skip: !modelId,\n variables: { modelId },\n onCompleted: data => {\n const contentModelData: CmsModel | null = get(data, \"getContentModel.data\");\n if (contentModelData) {\n setContentModel(contentModelData);\n return;\n }\n\n showSnackbar(\n t`Could not load content for model \"{modelId}\". Redirecting...`({\n modelId\n })\n );\n }\n });\n\n const { open, setOpen } = useNewRefEntryDialog();\n const hideDialog = useCallback(() => setOpen(false), []);\n\n const onCreate = useCallback(\n (entry: CmsEditorContentEntry) => {\n if (!contentModel) {\n setOpen(false);\n return;\n }\n onChange({\n ...entry,\n /*\n * Format data for AutoComplete.\n */\n published: get(entry, \"meta.status\") === \"published\",\n modelId: contentModel.modelId,\n modelName: contentModel.name\n });\n setOpen(false);\n },\n [onChange, contentModel]\n );\n\n if (!contentModel) {\n return children;\n }\n\n return (\n <ContentEntriesProvider\n contentModel={contentModel}\n key={contentModel.modelId}\n insideDialog={true}\n >\n <ContentEntryProvider isNewEntry={() => true} getContentId={() => null}>\n <Dialog open={open} onClose={hideDialog} className={dialogContainerStyles}>\n <DialogTitle>\n {t`New {modelName} Entry`({ modelName: contentModel.name })}\n </DialogTitle>\n <DialogContent className={dialogContentStyles}>\n <EntryForm onCreate={onCreate} />\n </DialogContent>\n <DialogActions>\n <DialogCancel>{t`Cancel`}</DialogCancel>\n <DialogSaveButton />\n </DialogActions>\n </Dialog>\n {children}\n </ContentEntryProvider>\n </ContentEntriesProvider>\n );\n};\n\nexport default NewRefEntryFormDialog;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["createEntryUrl.ts"],"names":["createEntryUrl","modelId","id","encodeURIComponent","createNewEntryUrl"],"mappings":"AAKA,OAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAmD;AAAA,MAAhDC,OAAgD,QAAhDA,OAAgD;AAAA,MAAvCC,EAAuC,QAAvCA,EAAuC;AAC7E,wCAA+BD,OAA/B,iBAA6CE,kBAAkB,CAACD,EAAD,CAA/D;AACH,CAFM;AAIP,OAAO,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAACH,OAAD,EAA6B;AAC1D,wCAA+BA,OAA/B;AACH,CAFM","sourcesContent":["export interface CreateEntryUrlParams {\n id: string;\n modelId: string;\n}\n\nexport const createEntryUrl = ({ modelId, id }: CreateEntryUrlParams): string => {\n return `/cms/content-entries/${modelId}?id=${encodeURIComponent(id)}`;\n};\n\nexport const createNewEntryUrl = (modelId: string): string => {\n return `/cms/content-entries/${modelId}?new=true`;\n};\n"]}
|
|
@@ -5,11 +5,12 @@ interface CmsEntry extends Pick<CmsEditorContentEntry, "id" | "title" | "status"
|
|
|
5
5
|
interface Options {
|
|
6
6
|
(item: CmsEntry): Record<string, string>;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export interface OptionItem {
|
|
9
9
|
id: string;
|
|
10
10
|
modelId: string;
|
|
11
11
|
modelName: string;
|
|
12
|
-
name:
|
|
12
|
+
name: string;
|
|
13
13
|
published: boolean;
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
|
+
export declare const getOptions: (entries?: CmsEntry[], extraOptions?: Options | undefined) => OptionItem[];
|
|
15
16
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
export var getOptions = function getOptions() {
|
|
3
3
|
var entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
4
|
-
var extraOptions = arguments.length > 1
|
|
4
|
+
var extraOptions = arguments.length > 1 ? arguments[1] : undefined;
|
|
5
5
|
return entries.map(function (item) {
|
|
6
6
|
var name = item.title;
|
|
7
7
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getOptions.ts"],"names":["getOptions","entries","extraOptions","map","item","name","title","extraData","id","modelId","model","modelName","published","status","filter","Boolean"],"mappings":";AAiBA,OAAO,IAAMA,UAAU,GAAG,SAAbA,UAAa,GAAoE;AAAA,MAAnEC,OAAmE,uEAA7C,EAA6C;AAAA,MAAzCC,YAAyC;AAC1F,SAAOD,OAAO,CACTE,GADE,CACE,UAAAC,IAAI,EAAI;AACT,QAAMC,IAAI,GAAGD,IAAI,CAACE,KAAlB;;AAEA,QAAI,CAACD,IAAL,EAAW;AACP,aAAO,IAAP;AACH;;AAED,QAAME,SAAS,GAAG,OAAOL,YAAP,KAAwB,UAAxB,GAAqCA,YAAY,CAACE,IAAD,CAAjD,GAA0D,EAA5E;AAEA;AACII,MAAAA,EAAE,EAAEJ,IAAI,CAACI,EADb;AAEIC,MAAAA,OAAO,EAAEL,IAAI,CAACM,KAAL,CAAWD,OAFxB;AAGIE,MAAAA,SAAS,EAAEP,IAAI,CAACM,KAAL,CAAWL,IAH1B;AAIIA,MAAAA,IAAI,EAAEA,IAJV;AAKIO,MAAAA,SAAS,EAAER,IAAI,CAACS,MAAL,KAAgB;AAL/B,OAMON,SANP;AAQH,GAlBE,EAmBFO,MAnBE,CAmBKC,OAnBL,CAAP;AAoBH,CArBM","sourcesContent":["import { CmsEditorContentEntry, CmsModel } from \"~/types\";\n\ninterface CmsEntry extends Pick<CmsEditorContentEntry, \"id\" | \"title\" | \"status\"> {\n model: Pick<CmsModel, \"modelId\" | \"name\">;\n}\ninterface Options {\n (item: CmsEntry): Record<string, string>;\n}\n\nexport interface OptionItem {\n id: string;\n modelId: string;\n modelName: string;\n name: string;\n published: boolean;\n}\n\nexport const getOptions = (entries: CmsEntry[] = [], extraOptions?: Options): OptionItem[] => {\n return entries\n .map(item => {\n const name = item.title;\n\n if (!name) {\n return null;\n }\n\n const extraData = typeof extraOptions === \"function\" ? extraOptions(item) : {};\n\n return {\n id: item.id,\n modelId: item.model.modelId,\n modelName: item.model.name,\n name: name,\n published: item.status === \"published\",\n ...extraData\n };\n })\n .filter(Boolean) as OptionItem[];\n};\n"]}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import { CmsErrorResponse,
|
|
2
|
-
/**
|
|
3
|
-
* #########################
|
|
4
|
-
* Common response
|
|
5
|
-
*/
|
|
6
|
-
export interface CmsEntryQueryResponseDataEntry {
|
|
7
|
-
id: string;
|
|
8
|
-
status: "published" | "draft";
|
|
9
|
-
title: string;
|
|
10
|
-
model: Pick<CmsModel, "modelId" | "name">;
|
|
11
|
-
}
|
|
1
|
+
import { CmsErrorResponse, CmsLatestContentEntry } from "../../../../../types";
|
|
12
2
|
/**
|
|
13
3
|
* #########################
|
|
14
4
|
* Common variables
|
|
@@ -23,7 +13,7 @@ export interface CmsEntryGetEntryVariable {
|
|
|
23
13
|
*/
|
|
24
14
|
export interface CmsEntrySearchQueryResponse {
|
|
25
15
|
content: {
|
|
26
|
-
data:
|
|
16
|
+
data: CmsLatestContentEntry[];
|
|
27
17
|
error?: CmsErrorResponse;
|
|
28
18
|
};
|
|
29
19
|
}
|
|
@@ -39,7 +29,7 @@ export declare const SEARCH_CONTENT_ENTRIES: import("graphql").DocumentNode;
|
|
|
39
29
|
*/
|
|
40
30
|
export interface CmsEntryGetListResponse {
|
|
41
31
|
content: {
|
|
42
|
-
data:
|
|
32
|
+
data: CmsLatestContentEntry[];
|
|
43
33
|
error?: CmsErrorResponse;
|
|
44
34
|
};
|
|
45
35
|
}
|
|
@@ -53,7 +43,7 @@ export declare const GET_CONTENT_ENTRIES: import("graphql").DocumentNode;
|
|
|
53
43
|
*/
|
|
54
44
|
export interface CmsEntryGetQueryResponse {
|
|
55
45
|
content: {
|
|
56
|
-
data:
|
|
46
|
+
data: CmsLatestContentEntry;
|
|
57
47
|
error?: CmsErrorResponse;
|
|
58
48
|
};
|
|
59
49
|
}
|
|
@@ -6,7 +6,7 @@ import gql from "graphql-tag";
|
|
|
6
6
|
var fields = "\ndata {\n id\n status\n title\n model {\n modelId\n name\n }\n}\nerror {\n code\n message\n data\n}";
|
|
7
7
|
/**
|
|
8
8
|
* #########################
|
|
9
|
-
* Common
|
|
9
|
+
* Common variables
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
export var SEARCH_CONTENT_ENTRIES = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query CmsSearchContentEntries($modelIds: [ID!]!, $query: String!, $limit: Int) {\n content: searchContentEntries(modelIds: $modelIds, query: $query, limit: $limit) {\n ", "\n }\n }\n"])), fields);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["graphql.ts"],"names":["gql","fields","SEARCH_CONTENT_ENTRIES","GET_CONTENT_ENTRIES","GET_CONTENT_ENTRY","GET_CONTENT_MODELS"],"mappings":";;;;AAAA,OAAOA,GAAP,MAAgB,aAAhB;AAGA,IAAMC,MAAM,+IAAZ;AAgBA;AACA;AACA;AACA;;AAsBA,OAAO,IAAMC,sBAAsB,GAAGF,GAAH,8RAGrBC,MAHqB,CAA5B;AAOP;AACA;AACA;AACA;;AAWA,OAAO,IAAME,mBAAmB,GAAGH,GAAH,2OAGlBC,MAHkB,CAAzB;AAQP;AACA;AACA;AACA;;AAWA,OAAO,IAAMG,iBAAiB,GAAGJ,GAAH,8NAGhBC,MAHgB,CAAvB;AAQP,OAAO,IAAMI,kBAAkB,GAAGL,GAAH,mPAAxB","sourcesContent":["import gql from \"graphql-tag\";\nimport { CmsErrorResponse, CmsLatestContentEntry } from \"~/types\";\n\nconst fields = `\ndata {\n id\n status\n title\n model {\n modelId\n name\n }\n}\nerror {\n code\n message\n data\n}`;\n\n/**\n * #########################\n * Common variables\n */\nexport interface CmsEntryGetEntryVariable {\n modelId: string;\n id: string;\n}\n\n/**\n * #########################\n * Search Entries Query Response\n */\n\nexport interface CmsEntrySearchQueryResponse {\n content: {\n data: CmsLatestContentEntry[];\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntrySearchQueryVariables {\n modelIds: string[];\n query: string;\n limit?: number;\n}\nexport const SEARCH_CONTENT_ENTRIES = gql`\n query CmsSearchContentEntries($modelIds: [ID!]!, $query: String!, $limit: Int) {\n content: searchContentEntries(modelIds: $modelIds, query: $query, limit: $limit) {\n ${fields}\n }\n }\n`;\n/**\n * #########################\n * Get Entries Query Response\n */\n\nexport interface CmsEntryGetListResponse {\n content: {\n data: CmsLatestContentEntry[];\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryGetListVariables {\n entries: CmsEntryGetEntryVariable[];\n}\nexport const GET_CONTENT_ENTRIES = gql`\n query CmsGetContentEntries($entries: [CmsModelEntryInput!]!) {\n content: getContentEntries(entries: $entries) {\n ${fields}\n }\n }\n`;\n\n/**\n * #########################\n * Get Entry Query Response\n */\nexport interface CmsEntryGetQueryResponse {\n content: {\n data: CmsLatestContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryGetQueryVariables {\n entry: CmsEntryGetEntryVariable;\n}\n\nexport const GET_CONTENT_ENTRY = gql`\n query CmsGetContentEntry($entry: CmsModelEntryInput!) {\n content: getContentEntry(entry: $entry) {\n ${fields}\n }\n }\n`;\n\nexport const GET_CONTENT_MODELS = gql`\n query CmsGetContentModels {\n listContentModels {\n data {\n modelId\n titleFieldId\n }\n }\n }\n`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderItem.tsx"],"names":["React","styled","Typography","createEntryUrl","Link","ModelId","color","renderItem","props","name","modelName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,UAAT,QAA2B,uBAA3B;AACA,SAASC,cAAT;AACA,SAASC,IAAT,QAAqB,sBAArB;AAEA,IAAMC,OAAO,gBAAGJ,MAAH,CAAU,MAAV;AAAA;AAAA;AAAA,GAAkB;AAC3BK,EAAAA,KAAK,EAAE;AADoB,CAAlB,CAAb;AAUA,OAAO,IAAMC,UAA2B,GAAG,SAA9BA,UAA8B,CAAAC,KAAK,EAAI;AAChD,sBACI,oBAAC,UAAD;AAAY,IAAA,GAAG,EAAE;AAAjB,kBACI,oBAAC,IAAD;AAAM,IAAA,EAAE,EAAEL,cAAc,CAACK,KAAD;AAAxB,KAAkCA,KAAK,CAACC,IAAxC,CADJ,eAEI,+BAFJ,eAGI,oBAAC,OAAD,mBAAiBD,KAAK,CAACE,SAAvB,CAHJ,CADJ;AAOH,CARM","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { createEntryUrl } from \"~/admin/plugins/fieldRenderers/ref/components/createEntryUrl\";\nimport { Link } from \"@webiny/react-router\";\n\nconst ModelId = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\nexport interface Props {\n name: string;\n modelName: string;\n modelId: string;\n id: string;\n}\nexport const renderItem: React.FC<Props> = props => {\n return (\n <Typography use={\"body2\"}>\n <Link to={createEntryUrl(props)}>{props.name}</Link>\n <br />\n <ModelId>Model: {props.modelName}</ModelId>\n </Typography>\n );\n};\n"]}
|
|
@@ -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,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CmsEditorField } from "../../../../../types";
|
|
3
|
+
import { BindComponentRenderProp } from "@webiny/form";
|
|
3
4
|
export interface ReferencedCmsEntry {
|
|
4
5
|
id: string;
|
|
5
6
|
modelId: string;
|
|
@@ -8,7 +9,7 @@ export interface ReferencedCmsEntry {
|
|
|
8
9
|
name: string;
|
|
9
10
|
}
|
|
10
11
|
interface UseReferencesParams {
|
|
11
|
-
bind:
|
|
12
|
+
bind: BindComponentRenderProp;
|
|
12
13
|
field: CmsEditorField;
|
|
13
14
|
}
|
|
14
15
|
export declare const useReferences: ({ bind, field }: UseReferencesParams) => {
|
|
@@ -16,12 +17,6 @@ export declare const useReferences: ({ bind, field }: UseReferencesParams) => {
|
|
|
16
17
|
loading: boolean;
|
|
17
18
|
setSearch: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
18
19
|
entries: ReferencedCmsEntry[];
|
|
19
|
-
options:
|
|
20
|
-
id: string;
|
|
21
|
-
modelId: string;
|
|
22
|
-
modelName: string;
|
|
23
|
-
name: any;
|
|
24
|
-
published: boolean;
|
|
25
|
-
}[];
|
|
20
|
+
options: import("./getOptions").OptionItem[];
|
|
26
21
|
};
|
|
27
22
|
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
|
|