@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentEntryContext.tsx"],"names":["React","useRef","useState","useCallback","useMemo","isEmpty","get","useRouter","useSnackbar","useQuery","useContentEntries","parseIdentifier","createReadQuery","createRevisionsQuery","Context","createContext","createEntry","entry","form","current","submit","canCreate","showEmptyView","tabs","setTabsRef","refetchContent","revisions","setLoading","loading","listQueryVariables","setListQueryVariables","contentModel","sorters","setFormRef","useContentEntryProviderProps","location","query","URLSearchParams","search","isNewEntry","getContentId","Provider","children","formRef","tabsRef","history","showSnackbar","isLoading","contentEntryProviderProps","newEntry","contentId","revisionId","decodeURIComponent","entryId","result","id","READ_CONTENT","modelId","GET_REVISIONS","push","getEntry","variables","revision","skip","onCompleted","data","error","content","message","getRevisions","value","refetch","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useState,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction,\n MutableRefObject\n} from \"react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\nimport { CmsContentEntryRevision, CmsEditorContentEntry, CmsEditorContentModel } from \"~/types\";\nimport { Tabs } from \"@webiny/ui/Tabs\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport {\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n createReadQuery,\n createRevisionsQuery\n} from \"~/admin/graphql/contentEntries\";\n\ninterface ContentEntryContextForm {\n submit: (ev: React.SyntheticEvent) => Promise<CmsEditorContentEntry | null>;\n}\ntype ContentEntryContextFormRef = MutableRefObject<ContentEntryContextForm>;\ntype ContentEntryContextTabsRef = MutableRefObject<Tabs | null>;\nexport interface ContentEntryContext extends ContentEntriesContext {\n createEntry: () => void;\n entry: CmsEditorContentEntry;\n form: ContentEntryContextFormRef;\n setFormRef: (form: { submit: Function }) => void;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n revisions: CmsContentEntryRevision[];\n refetchContent: () => void;\n tabs: ContentEntryContextTabsRef;\n setTabsRef: (tabs: Tabs) => void;\n showEmptyView: boolean;\n}\n\nexport const Context = React.createContext<ContentEntryContext>({\n createEntry: () => {\n return void 0;\n },\n entry: null as unknown as CmsEditorContentEntry,\n form: {\n current: {\n submit: async () => {\n return null;\n }\n }\n },\n canCreate: false,\n showEmptyView: false,\n tabs: {\n current: null\n },\n setTabsRef: () => {\n return void 0;\n },\n refetchContent: () => {\n return void 0;\n },\n revisions: [],\n setLoading: () => {\n return void 0;\n },\n loading: false,\n listQueryVariables: {},\n setListQueryVariables: () => {\n return void 0;\n },\n contentModel: null as unknown as CmsEditorContentModel,\n sorters: [],\n setFormRef: () => {\n return void 0;\n }\n});\n\nexport interface ContentEntryContextProviderProps extends Partial<UseContentEntryProviderProps> {\n children: React.ReactNode;\n}\n\ninterface UseContentEntryProviderProps {\n getContentId: () => string | null;\n isNewEntry: () => boolean;\n}\n\nexport const useContentEntryProviderProps = (): UseContentEntryProviderProps => {\n const { location } = useRouter();\n const query = new URLSearchParams(location.search);\n\n const isNewEntry = (): boolean => {\n return query.get(\"new\") === \"true\";\n };\n\n const getContentId = (): string | null => {\n return query.get(\"id\") || null;\n };\n\n return {\n getContentId,\n isNewEntry\n };\n};\n\nexport const Provider: React.FC<ContentEntryContextProviderProps> = ({\n children,\n isNewEntry,\n getContentId\n}) => {\n const { contentModel, canCreate, listQueryVariables, setListQueryVariables, sorters } =\n useContentEntries();\n\n const formRef = useRef<ContentEntryContextForm>({\n submit: async () => {\n return null;\n }\n });\n const tabsRef = useRef<Tabs | null>(null);\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [isLoading, setLoading] = useState(false);\n\n const contentEntryProviderProps = useContentEntryProviderProps();\n\n const newEntry =\n typeof isNewEntry === \"function\" ? isNewEntry() : contentEntryProviderProps.isNewEntry();\n const contentId =\n typeof getContentId === \"function\"\n ? getContentId()\n : contentEntryProviderProps.getContentId();\n\n const revisionId = contentId ? decodeURIComponent(contentId) : null;\n let entryId = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result ? result.id : null;\n }\n\n const { READ_CONTENT } = useMemo(() => {\n return {\n READ_CONTENT: createReadQuery(contentModel)\n };\n }, [contentModel.modelId]);\n\n const { GET_REVISIONS } = useMemo(() => {\n return {\n GET_REVISIONS: createRevisionsQuery(contentModel)\n };\n }, [contentModel.modelId]);\n\n const setFormRef = useCallback(\n form => {\n formRef.current = form;\n },\n [formRef]\n );\n\n const setTabsRef = useCallback(\n (tabs: Tabs) => {\n tabsRef.current = tabs;\n },\n [tabsRef]\n );\n\n const createEntry = useCallback((): void => {\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true`);\n }, [contentModel.modelId]);\n\n const getEntry = useQuery<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>(READ_CONTENT, {\n variables: {\n revision: contentId ? decodeURIComponent(contentId) : \"\"\n },\n skip: !contentId,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.content;\n if (!error) {\n return;\n }\n history.push(`/cms/content-entries/${contentModel.modelId}`);\n showSnackbar(error.message);\n }\n });\n\n const getRevisions = useQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(GET_REVISIONS, {\n variables: {\n id: entryId as string\n },\n skip: !entryId\n });\n\n const loading = isLoading || getEntry.loading || getRevisions.loading;\n const entry: CmsEditorContentEntry = get(getEntry, \"data.content.data\") || {};\n\n const value = {\n canCreate,\n contentModel,\n createEntry,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n entry,\n form: formRef,\n loading,\n revisions: get(getRevisions, \"data.revisions.data\") || {},\n refetchContent: getEntry.refetch,\n setFormRef,\n setLoading,\n setTabsRef,\n showEmptyView: !newEntry && !loading && isEmpty(entry),\n tabs: tabsRef\n };\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nProvider.displayName = \"ContentEntryProvider\";\n"]}
|
|
@@ -129,9 +129,11 @@ var RevisionListItem = function RevisionListItem(_ref) {
|
|
|
129
129
|
onClick: function onClick() {
|
|
130
130
|
editRevision();
|
|
131
131
|
|
|
132
|
-
if (tabs.current) {
|
|
133
|
-
|
|
132
|
+
if (!tabs.current) {
|
|
133
|
+
return;
|
|
134
134
|
}
|
|
135
|
+
|
|
136
|
+
tabs.current.switchTab(0);
|
|
135
137
|
}
|
|
136
138
|
}, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
|
|
137
139
|
icon: /*#__PURE__*/React.createElement(EditIcon, null)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["RevisionListItem.tsx"],"names":["React","css","TimeAgo","ListItem","ListItemText","ListItemTextPrimary","ListItemTextSecondary","ListItemGraphic","ListItemMeta","IconButton","Icon","MenuItem","Menu","MenuDivider","ConfirmationDialog","Tooltip","ReactComponent","MoreVerticalIcon","LockIcon","BeenHereIcon","GestureIcon","AddIcon","EditIcon","PublishIcon","UnpublishIcon","DeleteIcon","i18n","useRevision","usePermission","useContentEntry","t","ns","primaryColor","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","text","RevisionListItem","revision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","entry","tabs","canEdit","canDelete","canPublish","canUnpublish","tooltipText","version","showConfirmation","title","time","savedOn","id","current","switchTab"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport {\n ListItem,\n ListItemText,\n ListItemTextPrimary,\n ListItemTextSecondary,\n ListItemGraphic,\n ListItemMeta\n} from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { MenuItem, Menu, MenuDivider } from \"@webiny/ui/Menu\";\nimport { ConfirmationDialog } from \"@webiny/ui/ConfirmationDialog\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as LockIcon } from \"~/admin/icons/lock.svg\";\nimport { ReactComponent as BeenHereIcon } from \"~/admin/icons/beenhere.svg\";\nimport { ReactComponent as GestureIcon } from \"~/admin/icons/gesture.svg\";\nimport { ReactComponent as AddIcon } from \"~/admin/icons/add.svg\";\nimport { ReactComponent as EditIcon } from \"~/admin/icons/edit.svg\";\nimport { ReactComponent as PublishIcon } from \"~/admin/icons/publish.svg\";\nimport { ReactComponent as UnpublishIcon } from \"~/admin/icons/unpublish.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useRevision } from \"./useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/content-revisions\");\n\nconst primaryColor = css({ color: \"var(--mdc-theme-primary)\" });\n\nconst revisionsMenu = css({\n width: 250,\n right: -105,\n left: \"auto !important\"\n});\n\nconst getIcon = (rev: CmsEditorContentEntry) => {\n switch (true) {\n case rev.meta.locked && rev.meta.status !== \"published\":\n return {\n icon: <Icon icon={<LockIcon />} data-testid={\"cms.revision.status.locked\"} />,\n text: \"This revision is locked (it has already been published)\"\n };\n case rev.meta.status === \"published\":\n return {\n icon: (\n <Icon\n icon={<BeenHereIcon />}\n className={primaryColor}\n data-testid={\"cms.revision.status.published\"}\n />\n ),\n text: \"This revision is currently published!\"\n };\n default:\n return {\n icon: <Icon icon={<GestureIcon />} data-testid={\"cms.revision.status.draft\"} />,\n text: \"This is a draft\"\n };\n }\n};\n\ninterface RevisionListItemProps {\n revision: CmsEditorContentEntry;\n}\n\nconst RevisionListItem: React.FC<RevisionListItemProps> = ({ revision }) => {\n const { createRevision, deleteRevision, publishRevision, unpublishRevision, editRevision } =\n useRevision({\n revision\n });\n\n const { entry, tabs } = useContentEntry();\n const { canEdit, canDelete, canPublish, canUnpublish } = usePermission();\n const { icon, text: tooltipText } = getIcon(revision);\n\n return (\n <ConfirmationDialog\n title={t`Confirmation required!`}\n message={\n <span>\n {t`You are about to delete revision {revision}. Are you sure you want to continue?`(\n {\n revision: <strong>#{revision.meta.version}</strong>\n }\n )}\n </span>\n }\n >\n {({ showConfirmation }) => (\n <ListItem>\n <ListItemGraphic>\n <Tooltip content={tooltipText} placement={\"bottom\"}>\n {icon}\n </Tooltip>\n </ListItemGraphic>\n <ListItemText>\n <ListItemTextPrimary>{revision.meta.title || t`N/A`}</ListItemTextPrimary>\n <ListItemTextSecondary>\n {t`Last modified {time} (#{version})`({\n time: <TimeAgo datetime={revision.savedOn} />,\n version: revision.meta.version\n })}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <Menu\n handle={<IconButton icon={<MoreVerticalIcon />} />}\n className={revisionsMenu}\n data-testid={\"cms.content-form.revisions.more-options\"}\n >\n {canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => createRevision(revision.id)}\n data-testid={\"cms.revision.create-revision\"}\n >\n <ListItemGraphic>\n <Icon icon={<AddIcon />} />\n </ListItemGraphic>\n {t`New from current`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => {\n editRevision();\n if (!tabs.current) {\n return;\n }\n tabs.current.switchTab(0);\n }}\n >\n <ListItemGraphic>\n <Icon icon={<EditIcon />} />\n </ListItemGraphic>\n {t` Edit`}\n </MenuItem>\n )}\n\n {revision.meta.status !== \"published\" &&\n canPublish(\"cms.contentEntry\") && (\n <MenuItem onClick={() => publishRevision(revision.id)}>\n <ListItemGraphic>\n <Icon icon={<PublishIcon />} />\n </ListItemGraphic>\n {t`Publish`}\n </MenuItem>\n )}\n\n {revision.meta.status === \"published\" &&\n canUnpublish(\"cms.contentEntry\") && (\n <MenuItem\n onClick={() => unpublishRevision(revision.id)}\n data-testid={\"cms.revision.unpublish\"}\n >\n <ListItemGraphic>\n <Icon icon={<UnpublishIcon />} />\n </ListItemGraphic>\n {t`Unpublish`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canDelete(entry, \"cms.contentEntry\") && (\n <div>\n <MenuDivider />\n <MenuItem onClick={() => showConfirmation(deleteRevision)}>\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n {t` Delete`}\n </MenuItem>\n </div>\n )}\n </Menu>\n </ListItemMeta>\n </ListItem>\n )}\n </ConfirmationDialog>\n );\n};\n\nexport default RevisionListItem;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["RevisionsList.tsx"],"names":["React","css","List","Elevation","CircularProgress","i18n","RevisionListItem","useContentEntry","t","ns","style","list","position","margin","display","flexDirection","overflow","maxHeight","borderBottom","nothingToShow","padding","textAlign","RevisionsList","entry","revisions","loading","id","length","map","revision"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,IAAT,QAAqB,iBAArB;AACA,SAASC,SAAT,QAA0B,sBAA1B;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,OAAOC,gBAAP;AACA,SAASC,eAAT;AAEA,IAAMC,CAAC,GAAGH,IAAI,CAACI,EAAL,CAAQ,kEAAR,CAAV;AAEA,IAAMC,KAAK,GAAG;AACVC,EAAAA,IAAI,eAAEV,GAAG,CAAC;AACNW,IAAAA,QAAQ,EAAE,UADJ;AAENC,IAAAA,MAAM,EAAE,EAFF;AAGNC,IAAAA,OAAO,EAAE,MAHH;AAINC,IAAAA,aAAa,EAAE,QAJT;AAKNC,IAAAA,QAAQ,EAAE,MALJ;AAMNC,IAAAA,SAAS,EAAE,qBANL;AAON,gCAA4B;AACxBC,MAAAA,YAAY,EAAE;AADU,KAPtB;AAUN,2CAAuC;AACnCA,MAAAA,YAAY,EAAE;AADqB;AAVjC,GAAD,gBADC;AAeVC,EAAAA,aAAa,eAAElB,GAAG,CAAC;AACfmB,IAAAA,OAAO,EAAE,EADM;AAEfP,IAAAA,MAAM,EAAE,EAFO;AAGfQ,IAAAA,SAAS,EAAE;AAHI,GAAD;AAfR,CAAd;;AAsBA,IAAMC,aAAuB,GAAG,SAA1BA,aAA0B,GAAM;AAClC,yBAAsCf,eAAe,EAArD;AAAA,MAAQgB,KAAR,oBAAQA,KAAR;AAAA,MAAeC,SAAf,oBAAeA,SAAf;AAAA,MAA0BC,OAA1B,oBAA0BA,OAA1B;;AAEA,sBACI,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEf,KAAK,CAACC,IAA5B;AAAkC,IAAA,CAAC,EAAE;AAArC,KACKc,OAAO,iBAAI,oBAAC,gBAAD,OADhB,EAEKF,KAAK,CAACG,EAAN,IAAYF,SAAS,CAACG,MAAtB,gBACG,oBAAC,IAAD;AAAM,IAAA,cAAc,MAApB;AAAqB,IAAA,OAAO,MAA5B;AAA6B,mBAAa;AAA1C,KACKH,SAAS,CAACI,GAAV,CAAc,UAAAC,QAAQ;AAAA,wBACnB,oBAAC,gBAAD;AAAkB,MAAA,QAAQ,EAAEA,QAA5B;AAAsC,MAAA,GAAG,EAAEA,QAAQ,CAACH;AAApD,MADmB;AAAA,GAAtB,CADL,CADH,gBAOG;AAAK,IAAA,SAAS,EAAEhB,KAAK,CAACS;AAAtB,KAAsCX,CAAtC,2FATR,CADJ;AAcH,CAjBD;;AAmBA,eAAec,aAAf","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { List } from \"@webiny/ui/List\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport RevisionListItem from \"./RevisionListItem\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/content-revisions\");\n\nconst style = {\n list: css({\n position: \"relative\",\n margin: 25,\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"auto\",\n maxHeight: \"calc(100vh - 160px)\",\n \".mdc-list .mdc-list-item\": {\n borderBottom: \"1px solid var(--mdc-theme-on-background)\"\n },\n \".mdc-list .mdc-list-item:last-child\": {\n borderBottom: \"none\"\n }\n }),\n nothingToShow: css({\n padding: 20,\n margin: 25,\n textAlign: \"center\"\n })\n};\n\nconst RevisionsList: React.FC = () => {\n const { entry, revisions, loading } = useContentEntry();\n\n return (\n <Elevation className={style.list} z={2}>\n {loading && <CircularProgress />}\n {entry.id && revisions.length ? (\n <List nonInteractive twoLine data-testid={\"cms.content-form.revisions\"}>\n {revisions.map(revision => (\n <RevisionListItem revision={revision} key={revision.id} />\n ))}\n </List>\n ) : (\n <div className={style.nothingToShow}>{t`No revisions to show.`}</div>\n )}\n </Elevation>\n );\n};\n\nexport default RevisionsList;\n"]}
|
|
@@ -37,14 +37,13 @@ export var addEntryToListCache = function addEntryToListCache(model, cache, entr
|
|
|
37
37
|
query: GQL.createListQuery(model),
|
|
38
38
|
variables: variables
|
|
39
39
|
};
|
|
40
|
+
var response = cache.readQuery(gqlParams);
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
content = _cache$readQuery.content;
|
|
43
|
-
|
|
44
|
-
if (!content || !content.data) {
|
|
42
|
+
if (!response || !response.content || !response.content.data) {
|
|
45
43
|
return;
|
|
46
44
|
}
|
|
47
45
|
|
|
46
|
+
var content = response.content;
|
|
48
47
|
cache.writeQuery(_objectSpread(_objectSpread({}, gqlParams), {}, {
|
|
49
48
|
data: {
|
|
50
49
|
content: _objectSpread(_objectSpread({}, content), {}, {
|
|
@@ -63,13 +62,13 @@ export var updateLatestRevisionInListCache = function updateLatestRevisionInList
|
|
|
63
62
|
_revision$id$split2 = _slicedToArray(_revision$id$split, 1),
|
|
64
63
|
uniqueId = _revision$id$split2[0];
|
|
65
64
|
|
|
66
|
-
var
|
|
67
|
-
content = _cache$readQuery2.content;
|
|
65
|
+
var response = cache.readQuery(gqlParams);
|
|
68
66
|
|
|
69
|
-
if (!content || !content.data) {
|
|
67
|
+
if (!response || !response.content || !response.content.data) {
|
|
70
68
|
return;
|
|
71
69
|
}
|
|
72
70
|
|
|
71
|
+
var content = response.content;
|
|
73
72
|
var index = content.data.findIndex(function (item) {
|
|
74
73
|
return item.id.startsWith(uniqueId);
|
|
75
74
|
});
|
|
@@ -90,14 +89,14 @@ export var removeEntryFromListCache = function removeEntryFromListCache(model, c
|
|
|
90
89
|
query: GQL.createListQuery(model),
|
|
91
90
|
variables: variables
|
|
92
91
|
};
|
|
92
|
+
var response = cache.readQuery(gqlParams);
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
content = _cache$readQuery3.content;
|
|
96
|
-
|
|
97
|
-
if (!content || !content.data) {
|
|
94
|
+
if (!response || !response.content || !response.content.data) {
|
|
98
95
|
return;
|
|
99
96
|
}
|
|
100
97
|
|
|
98
|
+
var content = response.content;
|
|
99
|
+
|
|
101
100
|
var _parseIdentifier = parseIdentifier(revision.id),
|
|
102
101
|
entryId = _parseIdentifier.id;
|
|
103
102
|
|
|
@@ -122,14 +121,13 @@ export var removeRevisionFromEntryCache = function removeRevisionFromEntryCache(
|
|
|
122
121
|
id: revision.id.split("#")[0]
|
|
123
122
|
}
|
|
124
123
|
};
|
|
124
|
+
var response = cache.readQuery(gqlParams);
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
revisionsData = _cache$readQuery4.revisions;
|
|
128
|
-
|
|
129
|
-
if (!revisionsData || !revisionsData.data || revisionsData.data.length === 0) {
|
|
126
|
+
if (!response || !response.revisions || !response.revisions.data || response.revisions.data.length === 0) {
|
|
130
127
|
return [];
|
|
131
128
|
}
|
|
132
129
|
|
|
130
|
+
var revisionsData = response.revisions;
|
|
133
131
|
var revisions = revisionsData.data.filter(function (item) {
|
|
134
132
|
return item.id !== revision.id;
|
|
135
133
|
});
|
|
@@ -147,14 +145,13 @@ export var addRevisionToRevisionsCache = function addRevisionToRevisionsCache(mo
|
|
|
147
145
|
id: revision.id.split("#")[0]
|
|
148
146
|
}
|
|
149
147
|
};
|
|
148
|
+
var response = cache.readQuery(gqlParams);
|
|
150
149
|
|
|
151
|
-
|
|
152
|
-
revisions = _cache$readQuery5.revisions;
|
|
153
|
-
|
|
154
|
-
if (!revisions || !revisions.data) {
|
|
150
|
+
if (!response || !response.revisions || !response.revisions.data) {
|
|
155
151
|
return;
|
|
156
152
|
}
|
|
157
153
|
|
|
154
|
+
var revisions = response.revisions;
|
|
158
155
|
cache.writeQuery(_objectSpread(_objectSpread({}, gqlParams), {}, {
|
|
159
156
|
data: {
|
|
160
157
|
revisions: dotProp.set(revisions, "data", [revision].concat(_toConsumableArray(revisions.data)))
|
|
@@ -168,14 +165,13 @@ export var unpublishPreviouslyPublishedRevision = function unpublishPreviouslyPu
|
|
|
168
165
|
id: publishedId.split("#")[0]
|
|
169
166
|
}
|
|
170
167
|
};
|
|
168
|
+
var response = cache.readQuery(gqlParams);
|
|
171
169
|
|
|
172
|
-
|
|
173
|
-
revisions = _cache$readQuery6.revisions;
|
|
174
|
-
|
|
175
|
-
if (!revisions || !revisions.data) {
|
|
170
|
+
if (!response || !response.revisions || !response.revisions.data) {
|
|
176
171
|
return;
|
|
177
172
|
}
|
|
178
173
|
|
|
174
|
+
var revisions = response.revisions;
|
|
179
175
|
var prevPublished = revisions.data.findIndex(function (item) {
|
|
180
176
|
return item.id !== publishedId && item.meta.status === "published";
|
|
181
177
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["cache.ts"],"names":["dotProp","orderBy","GQL","parseIdentifier","sortEntries","list","sort","Array","isArray","console","log","length","sortBy","split","key","value","order","toLowerCase","addEntryToListCache","model","cache","entry","variables","gqlParams","query","createListQuery","response","readQuery","content","data","writeQuery","updateLatestRevisionInListCache","revision","id","uniqueId","index","findIndex","item","startsWith","set","removeEntryFromListCache","entryId","delete","removeRevisionFromEntryCache","createRevisionsQuery","revisions","revisionsData","filter","addRevisionToRevisionsCache","unpublishPreviouslyPublishedRevision","publishedId","prevPublished","meta","status"],"mappings":"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","sourcesContent":["import dotProp from \"dot-prop-immutable\";\nimport orderBy from \"lodash/orderBy\";\nimport { CmsContentEntryRevision, CmsEditorContentEntry, CmsModel } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { DataProxy } from \"apollo-cache\";\nimport {\n CmsEntriesListQueryResponse,\n CmsEntriesListQueryVariables,\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n} from \"~/admin/graphql/contentEntries\";\n\n/*\n * We need to preserve the order of entries with new entry addition\n * because we're not re-fetching the list but updating it directly inside cache.\n * */\nconst sortEntries = (\n list: CmsEditorContentEntry[],\n sort?: string[] | null\n): CmsEditorContentEntry[] => {\n if (!sort) {\n return list;\n } else if (Array.isArray(sort) === false) {\n console.log(\"Sort is not an Array of string.\");\n return list;\n } else if (sort.length === 0) {\n return list;\n }\n const [sortBy] = sort;\n const [key, value] = sortBy.split(\"_\");\n const order = value.toLowerCase() as \"asc\" | \"desc\";\n return orderBy(list, [key], [order]);\n};\n\nexport const addEntryToListCache = (\n model: CmsModel,\n cache: DataProxy,\n entry: CmsEditorContentEntry,\n variables: CmsEntriesListQueryVariables\n): void => {\n const gqlParams = { query: GQL.createListQuery(model), variables };\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: {\n ...content,\n data: sortEntries([entry, ...content.data], variables.sort)\n }\n }\n });\n};\n\nexport const updateLatestRevisionInListCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision,\n variables: CmsEntriesListQueryVariables\n): void => {\n const gqlParams = { query: GQL.createListQuery(model), variables };\n\n const [uniqueId] = revision.id.split(\"#\");\n\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n const index = content.data.findIndex(item => item.id.startsWith(uniqueId));\n if (index === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: dotProp.set(content, `data.${index}`, revision)\n }\n });\n};\n\nexport const removeEntryFromListCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision,\n variables: CmsEntriesListQueryVariables\n): void => {\n // Delete the item from list cache\n const gqlParams = { query: GQL.createListQuery(model), variables };\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n const { id: entryId } = parseIdentifier(revision.id);\n const index = content.data.findIndex(item => item.id.startsWith(entryId));\n if (index === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: dotProp.delete(content, `data.${index}`)\n }\n });\n};\n\nexport const removeRevisionFromEntryCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): CmsContentEntryRevision[] => {\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: { id: revision.id.split(\"#\")[0] }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n if (\n !response ||\n !response.revisions ||\n !response.revisions.data ||\n response.revisions.data.length === 0\n ) {\n return [];\n }\n\n const { revisions: revisionsData } = response;\n\n const revisions = revisionsData.data.filter(item => {\n return item.id !== revision.id;\n });\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions\n }\n });\n\n return revisions;\n};\n\nexport const addRevisionToRevisionsCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): void => {\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: { id: revision.id.split(\"#\")[0] }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response || !response.revisions || !response.revisions.data) {\n return;\n }\n const { revisions } = response;\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions: dotProp.set(revisions, `data`, [revision, ...revisions.data])\n }\n });\n};\n\nexport const unpublishPreviouslyPublishedRevision = (\n model: CmsModel,\n cache: DataProxy,\n publishedId: string\n): void => {\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: { id: publishedId.split(\"#\")[0] }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response || !response.revisions || !response.revisions.data) {\n return;\n }\n const { revisions } = response;\n\n const prevPublished = revisions.data.findIndex(\n item => item.id !== publishedId && item.meta.status === \"published\"\n );\n\n if (prevPublished === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions: dotProp.set(revisions, `data.${prevPublished}.meta.status`, \"unpublished\")\n }\n });\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Header.tsx"],"names":["React","css","renderPlugins","Grid","Cell","classNames","toolbarGrid","borderBottom","headerActions","display","alignItems","headerActionsLeft","justifyContent","headerActionsRight","Header","props"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,aAAT,QAA8B,qBAA9B;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,iBAA3B;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,IAAMC,WAAW,gBAAGL,GAAG,CAAC;AACpBM,EAAAA,YAAY,EAAE;AADM,CAAD,uBAAvB;AAIA,IAAMC,aAAa,gBAAGP,GAAG,CAAC;AACtBQ,EAAAA,OAAO,EAAE,MADa;AAEtBC,EAAAA,UAAU,EAAE;AAFU,CAAD,yBAAzB;AAKA,IAAMC,iBAAiB,gBAAGV,GAAG,CAAC;AAC1BW,EAAAA,cAAc,EAAE;AADU,CAAD,6BAA7B;AAIA,IAAMC,kBAAkB,gBAAGZ,GAAG,CAAC;AAC3BW,EAAAA,cAAc,EAAE;AADW,CAAD,8BAA9B;;AAIA,IAAME,MAAgB,GAAG,SAAnBA,MAAmB,CAAAC,KAAK,EAAI;AAC9B,sBACI,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAET;AAAjB,kBACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE,CAAZ;AAAe,IAAA,SAAS,EAAED,UAAU,CAACG,aAAD,EAAgBK,kBAAhB;AAApC,KACKX,aAAa,CAAC,iCAAD,EAAoCa,KAApC,CADlB,CADJ,eAII,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE,CAAZ;AAAe,IAAA,SAAS,EAAEV,UAAU,CAACG,aAAD,EAAgBG,iBAAhB;AAApC,KACKT,aAAa,CAAC,kCAAD,EAAqCa,KAArC,CADlB,CAJJ,CADJ,CADJ;AAYH,CAbD;;AAeA,eAAeD,MAAf","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { renderPlugins } from \"@webiny/app/plugins\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport classNames from \"classnames\";\n\nconst toolbarGrid = css({\n borderBottom: \"1px solid var(--mdc-theme-on-background)\"\n});\n\nconst headerActions = css({\n display: \"flex\",\n alignItems: \"center\"\n});\n\nconst headerActionsLeft = css({\n justifyContent: \"flex-end\"\n});\n\nconst headerActionsRight = css({\n justifyContent: \"flex-start\"\n});\n\nconst Header: React.FC = props => {\n return (\n <React.Fragment>\n <Grid className={toolbarGrid}>\n <Cell span={4} className={classNames(headerActions, headerActionsRight)}>\n {renderPlugins(\"cms-content-details-header-left\", props)}\n </Cell>\n <Cell span={8} className={classNames(headerActions, headerActionsLeft)}>\n {renderPlugins(\"cms-content-details-header-right\", props)}\n </Cell>\n </Grid>\n </React.Fragment>\n );\n};\n\nexport default Header;\n"]}
|
|
@@ -2,7 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
2
2
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
|
|
5
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
5
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
6
6
|
|
|
7
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
8
|
import React, { useCallback, useMemo } from "react";
|
|
@@ -89,18 +89,25 @@ var ContentFormOptionsMenu = function ContentFormOptionsMenu() {
|
|
|
89
89
|
variables: {
|
|
90
90
|
revision: uniqueId
|
|
91
91
|
},
|
|
92
|
-
update: function update(cache,
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
update: function update(cache, response) {
|
|
93
|
+
if (!response.data) {
|
|
94
|
+
showDialog("Missing response data on Delete Entry Mutation.", {
|
|
95
|
+
title: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Could not delete content"])))
|
|
96
|
+
});
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var error = response.data.content.error;
|
|
95
101
|
|
|
96
102
|
if (error) {
|
|
97
|
-
|
|
98
|
-
title: t(
|
|
103
|
+
showDialog(error.message, {
|
|
104
|
+
title: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Could not delete content"])))
|
|
99
105
|
});
|
|
106
|
+
return;
|
|
100
107
|
}
|
|
101
108
|
|
|
102
109
|
removeEntryFromListCache(contentModel, cache, entry, listQueryVariables);
|
|
103
|
-
showSnackbar(t(
|
|
110
|
+
showSnackbar(t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["{title} was deleted successfully!"])))({
|
|
104
111
|
title: /*#__PURE__*/React.createElement("strong", null, title)
|
|
105
112
|
}));
|
|
106
113
|
history.push("/cms/content-entries/".concat(contentModel.modelId));
|
|
@@ -117,7 +124,7 @@ var ContentFormOptionsMenu = function ContentFormOptionsMenu() {
|
|
|
117
124
|
}
|
|
118
125
|
}, _callee);
|
|
119
126
|
})));
|
|
120
|
-
},
|
|
127
|
+
}, [entry]);
|
|
121
128
|
|
|
122
129
|
if (!canDelete(entry, "cms.contentEntry")) {
|
|
123
130
|
return null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentFormOptionsMenu.tsx"],"names":["React","useCallback","useMemo","css","get","IconButton","Menu","MenuItem","ListItemGraphic","Icon","useRouter","useSnackbar","useDialog","useConfirmationDialog","i18n","createDeleteMutation","usePermission","ReactComponent","MoreVerticalIcon","DeleteIcon","removeEntryFromListCache","useMutation","useContentEntry","t","ns","menuStyles","width","right","left","opacity","pointerEvents","ContentFormOptionsMenu","contentModel","entry","loading","setLoading","listQueryVariables","showSnackbar","history","showDialog","canDelete","DELETE_CONTENT","modelId","deleteContentMutation","title","message","dataTestId","showConfirmation","confirmDelete","id","split","uniqueId","variables","revision","update","cache","response","data","error","content","push"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { css } from \"emotion\";\nimport get from \"lodash/get\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Menu, MenuItem } from \"@webiny/ui/Menu\";\nimport { ListItemGraphic } from \"@webiny/ui/List\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useDialog } from \"@webiny/app-admin/hooks/useDialog\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables,\n createDeleteMutation\n} from \"~/admin/graphql/contentEntries\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { removeEntryFromListCache } from \"../../cache\";\nimport { useMutation } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\n\nconst t = i18n.ns(\n \"app-headless-cms/admin/plugins/content-details/header/content-form-options-menu\"\n);\n\nconst menuStyles = css({\n width: 250,\n right: -105,\n left: \"auto !important\",\n \".disabled\": {\n opacity: 0.5,\n pointerEvents: \"none\"\n }\n});\n\nconst ContentFormOptionsMenu: React.FC = () => {\n const { contentModel, entry, loading, setLoading, listQueryVariables } = useContentEntry();\n const { showSnackbar } = useSnackbar();\n const { history } = useRouter();\n const { showDialog } = useDialog();\n const { canDelete } = usePermission();\n\n const DELETE_CONTENT = useMemo(() => {\n return createDeleteMutation(contentModel);\n }, [contentModel.modelId]);\n\n const [deleteContentMutation] = useMutation<\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables\n >(DELETE_CONTENT);\n\n const title = get(entry, \"meta.title\");\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Delete content entry`,\n message: (\n <p>\n {t`You are about to delete this content entry and all of its revisions!`}\n <br />\n {t`Are you sure you want to permanently delete {title}?`({\n title: <strong>{title}</strong>\n })}\n </p>\n ),\n dataTestId: \"cms.content-form.header.delete-dialog\"\n });\n\n const confirmDelete = useCallback((): void => {\n showConfirmation(async (): Promise<void> => {\n setLoading(true);\n const [uniqueId] = entry.id.split(\"#\");\n await deleteContentMutation({\n variables: { revision: uniqueId },\n update(cache, response) {\n if (!response.data) {\n showDialog(\"Missing response data on Delete Entry Mutation.\", {\n title: t`Could not delete content`\n });\n return;\n }\n const { error } = response.data.content;\n if (error) {\n showDialog(error.message, { title: t`Could not delete content` });\n return;\n }\n\n removeEntryFromListCache(contentModel, cache, entry, listQueryVariables);\n\n showSnackbar(\n t`{title} was deleted successfully!`({ title: <strong>{title}</strong> })\n );\n history.push(`/cms/content-entries/${contentModel.modelId}`);\n }\n });\n\n setLoading(false);\n });\n }, [entry]);\n\n if (!canDelete(entry, \"cms.contentEntry\")) {\n return null;\n }\n\n return (\n <Menu\n className={menuStyles}\n handle={\n <IconButton\n icon={<MoreVerticalIcon />}\n data-testid={\"cms.content-form.header.more-options\"}\n />\n }\n >\n <MenuItem\n onClick={confirmDelete}\n disabled={!entry.id || loading}\n data-testid={\"cms.content-form.header.delete\"}\n >\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n Delete\n </MenuItem>\n </Menu>\n );\n};\n\nexport default ContentFormOptionsMenu;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["React","RevisionSelector","RequestReview","RequestChanges","SaveContentButton","SaveAndPublishButton","ContentFormOptionsMenu","plugins","name","type","render","props"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,gBAAP;AACA,OAAOC,aAAP;AACA,OAAOC,cAAP;AACA,OAAOC,iBAAP;AACA,OAAOC,oBAAP;AACA,OAAOC,sBAAP;AAEA,IAAMC,OAAkC,GAAG,CACvC;AACIC,EAAAA,IAAI,EAAE,uCADV;AAEIC,EAAAA,IAAI,EAAE,iCAFV;AAGIC,EAAAA,MAHJ,kBAGWC,KAHX,EAGkB;AACV,wBAAO,oBAAC,gBAAD,EAAsBA,KAAtB,CAAP;AACH;AALL,CADuC,EAQvC;AACIH,EAAAA,IAAI,EAAE,2CADV;AAEIC,EAAAA,IAAI,EAAE,kCAFV;AAGIC,EAAAA,MAHJ,kBAGWC,KAHX,EAGkB;AACV,wBAAO,oBAAC,aAAD,EAAmBA,KAAnB,CAAP;AACH;AALL,CARuC,EAevC;AACIH,EAAAA,IAAI,EAAE,4CADV;AAEIC,EAAAA,IAAI,EAAE,kCAFV;AAGIC,EAAAA,MAHJ,kBAGWC,KAHX,EAGkB;AACV,wBAAO,oBAAC,cAAD,EAAoBA,KAApB,CAAP;AACH;AALL,CAfuC,EAsBvC;AACIH,EAAAA,IAAI,EAAE,iCADV;AAEIC,EAAAA,IAAI,EAAE,kCAFV;AAGIC,EAAAA,MAHJ,kBAGWC,KAHX,EAGkB;AACV,wBAAO,oBAAC,iBAAD,EAAuBA,KAAvB,CAAP;AACH;AALL,CAtBuC,EA6BvC;AACIH,EAAAA,IAAI,EAAE,6CADV;AAEIC,EAAAA,IAAI,EAAE,kCAFV;AAGIC,EAAAA,MAHJ,kBAGWC,KAHX,EAGkB;AACV,wBAAO,oBAAC,oBAAD,EAA0BA,KAA1B,CAAP;AACH;AALL,CA7BuC,EAoCvC;AACIH,EAAAA,IAAI,EAAE,wCADV;AAEIC,EAAAA,IAAI,EAAE,kCAFV;AAGIC,EAAAA,MAHJ,kBAGWC,KAHX,EAGkB;AACV,wBAAO,oBAAC,sBAAD,EAA4BA,KAA5B,CAAP;AACH;AALL,CApCuC,CAA3C;AA6CA,eAAeJ,OAAf","sourcesContent":["import * as React from \"react\";\nimport { CmsContentDetailsPlugin } from \"~/types\";\nimport RevisionSelector from \"./revisionSelector/RevisionSelector\";\nimport RequestReview from \"./requestReview/RequestReview\";\nimport RequestChanges from \"./requestChanges/RequestChanges\";\nimport SaveContentButton from \"./saveContent/SaveContent\";\nimport SaveAndPublishButton from \"./saveAndPublishContent/SaveAndPublishContent\";\nimport ContentFormOptionsMenu from \"./contentFormOptionsMenu/ContentFormOptionsMenu\";\n\nconst plugins: CmsContentDetailsPlugin[] = [\n {\n name: \"cms-content-details-revision-selector\",\n type: \"cms-content-details-header-left\",\n render(props) {\n return <RevisionSelector {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-request-review\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <RequestReview {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-request-changes\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <RequestChanges {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-save\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <SaveContentButton {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-save-and-publish\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <SaveAndPublishButton {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-option-menu\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <ContentFormOptionsMenu {...props} />;\n }\n }\n];\n\nexport default plugins;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["RequestChanges.tsx"],"names":["React","IconButton","Tooltip","useConfirmationDialog","i18n","ReactComponent","RequestChangesIcon","usePermission","useRevision","useContentEntry","t","ns","RequestChanges","entry","revision","requestChanges","canRequestChange","title","message","showConfirmation","buttonEnabled","id","meta","status"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,qBAAT,QAAsC,+CAAtC;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,cAAc,IAAIC,kBAA3B;AACA,OAAOC,aAAP;AACA,SAASC,WAAT;AACA,SAASC,eAAT;AAEA,IAAMC,CAAC,GAAGN,IAAI,CAACO,EAAL,CAAQ,8DAAR,CAAV;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AACzB,yBAAkBH,eAAe,EAAjC;AAAA,MAAQI,KAAR,oBAAQA,KAAR;;AACA,qBAA2BL,WAAW,CAAC;AAAEM,IAAAA,QAAQ,EAAED;AAAZ,GAAD,CAAtC;AAAA,MAAQE,cAAR,gBAAQA,cAAR;;AACA,uBAA6BR,aAAa,EAA1C;AAAA,MAAQS,gBAAR,kBAAQA,gBAAR;;AAEA,8BAA6Bb,qBAAqB,CAAC;AAC/Cc,IAAAA,KAAK,EAAEP,CAAF,oFAD0C;AAE/CQ,IAAAA,OAAO,eACH,+BAAIR,CAAJ;AAH2C,GAAD,CAAlD;AAAA,MAAQS,gBAAR,yBAAQA,gBAAR;;AAOA,MAAI,CAACH,gBAAgB,CAAC,kBAAD,CAArB,EAA2C;AACvC,WAAO,IAAP;AACH;;AAED,MAAMI,aAAa,GACfP,KAAK,CAACQ,EAAN,KAAaR,KAAK,CAACS,IAAN,CAAWC,MAAX,KAAsB,OAAtB,IAAiCV,KAAK,CAACS,IAAN,CAAWC,MAAX,KAAsB,iBAApE,CADJ;AAGA,sBACI,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,OAAD;AAAS,IAAA,OAAO,EAAEb,CAAF,sFAAhB;AAAsC,IAAA,SAAS,EAAE;AAAjD,kBACI,oBAAC,UAAD;AACI,IAAA,QAAQ,EAAE,CAACU,aADf;AAEI,IAAA,IAAI,eAAE,oBAAC,kBAAD,OAFV;AAGI,IAAA,OAAO,EAAE;AAAA,aACLD,gBAAgB,wEAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACPJ,cAAc,CAACF,KAAK,CAACQ,EAAP,CADP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAD,GADX;AAAA;AAHb,IADJ,CADJ,CADJ;AAeH,CAlCD;;AAoCA,eAAeT,cAAf","sourcesContent":["import React from \"react\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as RequestChangesIcon } from \"./rule-24px.svg\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useRevision } from \"~/admin/views/contentEntries/ContentEntry/useRevision\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/content-details/header/request-review\");\n\nconst RequestChanges = () => {\n const { entry } = useContentEntry();\n const { requestChanges } = useRevision({ revision: entry });\n const { canRequestChange } = usePermission();\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Request Changes`,\n message: (\n <p>{t`You are about to request changes on this content entry. Are you sure you want to continue?`}</p>\n )\n });\n\n if (!canRequestChange(\"cms.contentEntry\")) {\n return null;\n }\n\n const buttonEnabled =\n entry.id && (entry.meta.status === \"draft\" || entry.meta.status === \"reviewRequested\");\n\n return (\n <React.Fragment>\n <Tooltip content={t`Request Changes`} placement={\"top\"}>\n <IconButton\n disabled={!buttonEnabled}\n icon={<RequestChangesIcon />}\n onClick={() =>\n showConfirmation(async () => {\n await requestChanges(entry.id);\n })\n }\n />\n </Tooltip>\n </React.Fragment>\n );\n};\n\nexport default RequestChanges;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["RequestReview.tsx"],"names":["React","useCallback","IconButton","Tooltip","useConfirmationDialog","i18n","ReactComponent","RequestReviewIcon","useRevision","usePermission","useContentEntry","t","ns","RequestReview","entry","revision","requestReview","canRequestReview","title","message","showConfirmation","onClick","id","buttonEnabled","meta","status"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,qBAAT,QAAsC,+CAAtC;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,cAAc,IAAIC,iBAA3B;AACA,SAASC,WAAT;AACA,OAAOC,aAAP;AACA,SAASC,eAAT;AAEA,IAAMC,CAAC,GAAGN,IAAI,CAACO,EAAL,CAAQ,8DAAR,CAAV;;AAEA,IAAMC,aAAuB,GAAG,SAA1BA,aAA0B,GAAM;AAClC,yBAAkBH,eAAe,EAAjC;AAAA,MAAQI,KAAR,oBAAQA,KAAR;;AACA,qBAA0BN,WAAW,CAAC;AAAEO,IAAAA,QAAQ,EAAED;AAAZ,GAAD,CAArC;AAAA,MAAQE,aAAR,gBAAQA,aAAR;;AACA,uBAA6BP,aAAa,EAA1C;AAAA,MAAQQ,gBAAR,kBAAQA,gBAAR;;AAEA,8BAA6Bb,qBAAqB,CAAC;AAC/Cc,IAAAA,KAAK,EAAEP,CAAF,mFAD0C;AAE/CQ,IAAAA,OAAO,eACH,+BAAIR,CAAJ;AAH2C,GAAD,CAAlD;AAAA,MAAQS,gBAAR,yBAAQA,gBAAR;;AAOA,MAAMC,OAAO,GAAGpB,WAAW,CAAC,YAAY;AACpCmB,IAAAA,gBAAgB,wEAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACPJ,aAAa,CAACF,KAAK,CAACQ,EAAP,CADN;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAD,GAAhB;AAGH,GAJ0B,EAIxB,CAACR,KAAK,CAACQ,EAAP,CAJwB,CAA3B;;AAMA,MAAI,CAACL,gBAAgB,CAAC,kBAAD,CAArB,EAA2C;AACvC,WAAO,IAAP;AACH;;AAED,MAAMM,aAAa,GACfT,KAAK,CAACQ,EAAN,KAAaR,KAAK,CAACU,IAAN,CAAWC,MAAX,KAAsB,OAAtB,IAAiCX,KAAK,CAACU,IAAN,CAAWC,MAAX,KAAsB,kBAApE,CADJ;AAGA,sBACI,oBAAC,KAAD,CAAO,QAAP,qBACI,oBAAC,OAAD;AAAS,IAAA,OAAO,EAAEd,CAAF,qFAAhB;AAAqC,IAAA,SAAS,EAAE;AAAhD,kBACI,oBAAC,UAAD;AACI,IAAA,QAAQ,EAAE,CAACY,aADf;AAEI,IAAA,IAAI,eAAE,oBAAC,iBAAD,OAFV;AAGI,IAAA,OAAO,EAAEF;AAHb,IADJ,CADJ,CADJ;AAWH,CApCD;;AAsCA,eAAeR,aAAf","sourcesContent":["import React, { useCallback } from \"react\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as RequestReviewIcon } from \"./emoji_people-24px.svg\";\nimport { useRevision } from \"~/admin/views/contentEntries/ContentEntry/useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/content-details/header/request-review\");\n\nconst RequestReview: React.FC = () => {\n const { entry } = useContentEntry();\n const { requestReview } = useRevision({ revision: entry });\n const { canRequestReview } = usePermission();\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Request Review`,\n message: (\n <p>{t`You are about to request a review of this content entry. Are you sure you want to continue?`}</p>\n )\n });\n\n const onClick = useCallback((): void => {\n showConfirmation(async (): Promise<void> => {\n await requestReview(entry.id);\n });\n }, [entry.id]);\n\n if (!canRequestReview(\"cms.contentEntry\")) {\n return null;\n }\n\n const buttonEnabled =\n entry.id && (entry.meta.status === \"draft\" || entry.meta.status === \"changesRequested\");\n\n return (\n <React.Fragment>\n <Tooltip content={t`Request Review`} placement={\"top\"}>\n <IconButton\n disabled={!buttonEnabled}\n icon={<RequestReviewIcon />}\n onClick={onClick}\n />\n </Tooltip>\n </React.Fragment>\n );\n};\n\nexport default RequestReview;\n"]}
|
|
@@ -24,6 +24,13 @@ var menuStyles = /*#__PURE__*/css({
|
|
|
24
24
|
textAlign: "left"
|
|
25
25
|
}
|
|
26
26
|
}, "label:menuStyles;");
|
|
27
|
+
var defaultRevisions = [{
|
|
28
|
+
id: "new",
|
|
29
|
+
meta: {
|
|
30
|
+
version: 1,
|
|
31
|
+
status: "draft"
|
|
32
|
+
}
|
|
33
|
+
}];
|
|
27
34
|
|
|
28
35
|
var RevisionSelector = function RevisionSelector() {
|
|
29
36
|
var _useContentEntry = useContentEntry(),
|
|
@@ -40,13 +47,7 @@ var RevisionSelector = function RevisionSelector() {
|
|
|
40
47
|
version: _get(entry, "meta.version", 1),
|
|
41
48
|
status: _get(entry, "meta.status", "draft")
|
|
42
49
|
};
|
|
43
|
-
var allRevisions = revisions.length ? revisions :
|
|
44
|
-
id: "new",
|
|
45
|
-
meta: {
|
|
46
|
-
version: 1,
|
|
47
|
-
status: "draft"
|
|
48
|
-
}
|
|
49
|
-
}];
|
|
50
|
+
var allRevisions = revisions.length ? revisions : defaultRevisions;
|
|
50
51
|
return /*#__PURE__*/React.createElement(Menu, {
|
|
51
52
|
className: menuStyles,
|
|
52
53
|
handle: /*#__PURE__*/React.createElement(ButtonDefault, {
|
package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["RevisionSelector.tsx"],"names":["React","css","useRouter","ButtonDefault","Icon","Typography","Menu","MenuItem","ReactComponent","DownButton","useContentEntry","statusLabels","buttonStyle","color","menuStyles","width","right","flexDirection","justifyContent","alignItems","textAlign","defaultRevisions","id","meta","version","status","RevisionSelector","entry","revisions","loading","location","history","query","URLSearchParams","search","currentRevision","allRevisions","length","map","revision","set","encodeURIComponent","push","toString"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { get } from \"lodash\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { ButtonDefault } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Menu, MenuItem } from \"@webiny/ui/Menu\";\nimport { ReactComponent as DownButton } from \"~/admin/icons/round-arrow_drop_down-24px.svg\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport statusLabels from \"~/admin/constants/statusLabels\";\nimport { CmsContentEntryRevision } from \"~/types\";\n\nconst buttonStyle = css({\n \"&.mdc-button\": {\n color: \"var(--mdc-theme-text-primary-on-background) !important\"\n }\n});\n\nconst menuStyles = css({\n width: 150,\n right: 0,\n \".mdc-list-item\": {\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"baseline\",\n textAlign: \"left\"\n }\n});\n\ninterface CmsEntryRevision extends Pick<CmsContentEntryRevision, \"id\"> {\n meta: Pick<CmsContentEntryRevision[\"meta\"], \"version\" | \"status\">;\n}\n\nconst defaultRevisions: CmsEntryRevision[] = [\n {\n id: \"new\",\n meta: {\n version: 1,\n status: \"draft\"\n }\n }\n];\n\nconst RevisionSelector: React.FC = () => {\n const { entry, revisions, loading } = useContentEntry();\n const { location, history } = useRouter();\n const query = new URLSearchParams(location.search);\n\n const currentRevision = {\n version: get(entry, \"meta.version\", 1) as number,\n status: get(entry, \"meta.status\", \"draft\") as CmsContentEntryRevision[\"meta\"][\"status\"]\n };\n\n const allRevisions = revisions.length ? revisions : defaultRevisions;\n\n return (\n <Menu\n className={menuStyles}\n handle={\n <ButtonDefault className={buttonStyle} disabled={loading}>\n v{currentRevision.version} ({statusLabels[currentRevision.status]}){\" \"}\n <Icon icon={<DownButton />} />\n </ButtonDefault>\n }\n >\n {allRevisions.map(revision => (\n <MenuItem\n key={revision.id}\n onClick={() => {\n query.set(\"id\", encodeURIComponent(revision.id));\n history.push({ search: query.toString() });\n }}\n >\n <Typography use={\"body2\"}>v{revision.meta.version}</Typography>\n <Typography use={\"caption\"}>({statusLabels[revision.meta.status]})</Typography>\n </MenuItem>\n ))}\n </Menu>\n );\n};\n\nexport default RevisionSelector;\n"]}
|
|
@@ -45,7 +45,7 @@ var SaveAndPublishButton = function SaveAndPublishButton() {
|
|
|
45
45
|
|
|
46
46
|
return /*#__PURE__*/React.createElement(ButtonPrimary, {
|
|
47
47
|
className: buttonStyles,
|
|
48
|
-
onClick: function onClick() {
|
|
48
|
+
onClick: function onClick(ev) {
|
|
49
49
|
showConfirmation( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
50
50
|
var entry;
|
|
51
51
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -53,7 +53,7 @@ var SaveAndPublishButton = function SaveAndPublishButton() {
|
|
|
53
53
|
switch (_context.prev = _context.next) {
|
|
54
54
|
case 0:
|
|
55
55
|
_context.next = 2;
|
|
56
|
-
return form.current.submit();
|
|
56
|
+
return form.current.submit(ev);
|
|
57
57
|
|
|
58
58
|
case 2:
|
|
59
59
|
entry = _context.sent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["SaveAndPublishContent.tsx"],"names":["React","css","i18n","ButtonPrimary","useConfirmationDialog","useRevision","useContentEntry","usePermission","t","ns","buttonStyles","marginLeft","SaveAndPublishButton","form","loading","entry","revision","publishRevision","title","message","dataTestId","showConfirmation","canEdit","canPublish","ev","current","submit","id"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,qBAAT,QAAsC,+CAAtC;AACA,SAASC,WAAT;AACA,SAASC,eAAT;AACA,OAAOC,aAAP;AAEA,IAAMC,CAAC,GAAGN,IAAI,CAACO,EAAL,CAAQ,wEAAR,CAAV;AAEA,IAAMC,YAAY,gBAAGT,GAAG,CAAC;AACrBU,EAAAA,UAAU,EAAE;AADS,CAAD,wBAAxB;;AAIA,IAAMC,oBAA8B,GAAG,SAAjCA,oBAAiC,GAAM;AACzC,yBAAiCN,eAAe,EAAhD;AAAA,MAAQO,IAAR,oBAAQA,IAAR;AAAA,MAAcC,OAAd,oBAAcA,OAAd;AAAA,MAAuBC,KAAvB,oBAAuBA,KAAvB;;AACA,qBAA4BV,WAAW,CAAC;AAAEW,IAAAA,QAAQ,EAAED;AAAZ,GAAD,CAAvC;AAAA,MAAQE,eAAR,gBAAQA,eAAR;;AAEA,8BAA6Bb,qBAAqB,CAAC;AAC/Cc,IAAAA,KAAK,EAAEV,CAAF,oFAD0C;AAE/CW,IAAAA,OAAO,eACH,+BAAIX,CAAJ,mJAH2C;AAK/CY,IAAAA,UAAU,EAAE;AALmC,GAAD,CAAlD;AAAA,MAAQC,gBAAR,yBAAQA,gBAAR;;AAQA,uBAAgCd,aAAa,EAA7C;AAAA,MAAQe,OAAR,kBAAQA,OAAR;AAAA,MAAiBC,UAAjB,kBAAiBA,UAAjB;;AAEA,MAAI,CAACD,OAAO,CAACP,KAAD,EAAQ,kBAAR,CAAR,IAAuC,CAACQ,UAAU,CAAC,kBAAD,CAAtD,EAA4E;AACxE,WAAO,IAAP;AACH;;AAED,sBACI,oBAAC,aAAD;AACI,IAAA,SAAS,EAAEb,YADf;AAEI,IAAA,OAAO,EAAE,iBAAAc,EAAE,EAAI;AACXH,MAAAA,gBAAgB,wEAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACOR,IAAI,CAACY,OAAL,CAAaC,MAAb,CAAoBF,EAApB,CADP;;AAAA;AACPT,gBAAAA,KADO;;AAAA,oBAERA,KAFQ;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA,uBAKPE,eAAe,CAACF,KAAK,CAACY,EAAP,CALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAD,GAAhB;AAOH,KAVL;AAWI,IAAA,QAAQ,EAAEb;AAXd,KAaKN,CAbL,sFADJ;AAiBH,CAnCD;;AAqCA,eAAeI,oBAAf","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { useRevision } from \"~/admin/views/contentEntries/ContentEntry/useRevision\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport usePermission from \"~/admin/hooks/usePermission\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/header/publish-revision\");\n\nconst buttonStyles = css({\n marginLeft: 16\n});\n\nconst SaveAndPublishButton: React.FC = () => {\n const { form, loading, entry } = useContentEntry();\n const { publishRevision } = useRevision({ revision: entry });\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Publish content`,\n message: (\n <p>{t`You are about to publish a new revision. Are you sure you want to continue?`}</p>\n ),\n dataTestId: \"cms-confirm-save-and-publish\"\n });\n\n const { canEdit, canPublish } = usePermission();\n\n if (!canEdit(entry, \"cms.contentEntry\") || !canPublish(\"cms.contentEntry\")) {\n return null;\n }\n\n return (\n <ButtonPrimary\n className={buttonStyles}\n onClick={ev => {\n showConfirmation(async () => {\n const entry = await form.current.submit(ev);\n if (!entry) {\n return;\n }\n await publishRevision(entry.id);\n });\n }}\n disabled={loading}\n >\n {t`Save & Publish`}\n </ButtonPrimary>\n );\n};\n\nexport default SaveAndPublishButton;\n"]}
|
|
@@ -23,8 +23,8 @@ var SaveContentButton = function SaveContentButton() {
|
|
|
23
23
|
|
|
24
24
|
return /*#__PURE__*/React.createElement(ButtonSecondary, {
|
|
25
25
|
"data-testid": "cms-content-save-content-button",
|
|
26
|
-
onClick: function onClick() {
|
|
27
|
-
|
|
26
|
+
onClick: function onClick(ev) {
|
|
27
|
+
form.current.submit(ev);
|
|
28
28
|
}
|
|
29
29
|
}, t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Save"]))));
|
|
30
30
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["SaveContent.tsx"],"names":["React","i18n","ButtonSecondary","useContentEntry","usePermission","t","ns","SaveContentButton","form","entry","canEdit","ev","current","submit"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,SAASC,eAAT;AACA,OAAOC,aAAP;AACA,IAAMC,CAAC,GAAGJ,IAAI,CAACK,EAAL,CAAQ,wEAAR,CAAV;;AAEA,IAAMC,iBAA2B,GAAG,SAA9BA,iBAA8B,GAAM;AACtC,yBAAwBJ,eAAe,EAAvC;AAAA,MAAQK,IAAR,oBAAQA,IAAR;AAAA,MAAcC,KAAd,oBAAcA,KAAd;;AACA,uBAAoBL,aAAa,EAAjC;AAAA,MAAQM,OAAR,kBAAQA,OAAR;;AAEA,MAAI,CAACA,OAAO,CAACD,KAAD,EAAQ,kBAAR,CAAZ,EAAyC;AACrC,WAAO,IAAP;AACH;;AAED,sBACI,oBAAC,eAAD;AACI,mBAAa,iCADjB;AAEI,IAAA,OAAO,EAAE,iBAAAE,EAAE,EAAI;AACXH,MAAAA,IAAI,CAACI,OAAL,CAAaC,MAAb,CAAoBF,EAApB;AACH;AAJL,KAKEN,CALF,0EADJ;AAQH,CAhBD;;AAkBA,eAAeE,iBAAf","sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonSecondary } from \"@webiny/ui/Button\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/header/publish-revision\");\n\nconst SaveContentButton: React.FC = () => {\n const { form, entry } = useContentEntry();\n const { canEdit } = usePermission();\n\n if (!canEdit(entry, \"cms.contentEntry\")) {\n return null;\n }\n\n return (\n <ButtonSecondary\n data-testid={\"cms-content-save-content-button\"}\n onClick={ev => {\n form.current.submit(ev);\n }}\n >{t`Save`}</ButtonSecondary>\n );\n};\n\nexport default SaveContentButton;\n"]}
|
|
@@ -42,7 +42,8 @@ var createTransformers = function createTransformers(fields) {
|
|
|
42
42
|
|
|
43
43
|
if (!transformerPlugins[field.type]) {
|
|
44
44
|
return "continue";
|
|
45
|
-
}
|
|
45
|
+
} // TODO @ts-refactor figure out if possible to put some type instead of any
|
|
46
|
+
|
|
46
47
|
|
|
47
48
|
transformers[field.fieldId] = function (value) {
|
|
48
49
|
return transformerPlugins[field.type].transform(value, field);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["prepareFormData.ts"],"names":["plugins","getAvailableTransformerPlugins","byType","reduce","transformers","pl","fieldTypes","Array","isArray","fieldType","console","warn","createTransformers","fields","transformerPlugins","field","type","fieldId","value","transform","prepareFormData","input","model","Object","keys","output","key","transformedValue","undefined"],"mappings":";AACA,SAASA,OAAT,QAAwB,iBAAxB;;AAUA,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,GAAkC;AACrE,SAAOD,OAAO,CACTE,MADE,CAC+B,6BAD/B,EAEFC,MAFE,CAEK,UAACC,YAAD,EAAeC,EAAf,EAAsB;AAC1B,QAAMC,UAAU,GAAGC,KAAK,CAACC,OAAN,CAAcH,EAAE,CAACI,SAAjB,IAA8BJ,EAAE,CAACI,SAAjC,GAA6C,CAACJ,EAAE,CAACI,SAAJ,CAAhE;;AAD0B,+CAEFH,UAFE;AAAA;;AAAA;AAE1B,0DAAoC;AAAA,YAAzBG,UAAyB;;AAChC,YAAIL,YAAY,CAACK,UAAD,CAAhB,EAA6B;AACzBC,UAAAA,OAAO,CAACC,IAAR,wCACmCF,UADnC;AAGA;AACH;;AACDL,QAAAA,YAAY,CAACK,UAAD,CAAZ,GAA0BJ,EAA1B;AACH;AAVyB;AAAA;AAAA;AAAA;AAAA;;AAW1B,WAAOD,YAAP;AACH,GAdE,EAcA,EAdA,CAAP;AAeH,CAhBD;;AAqBA,IAAMQ,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,MAAD,EAAiD;AACxE,MAAMC,kBAAkB,GAAGb,8BAA8B,EAAzD;AACA,MAAMG,YAAiD,GAAG,EAA1D;;AAFwE,8CAGpDS,MAHoD;AAAA;;AAAA;AAAA;AAAA,UAG7DE,KAH6D;;AAIpE,UAAI,CAACD,kBAAkB,CAACC,KAAK,CAACC,IAAP,CAAvB,EAAqC;AACjC;AACH,OANmE,CAOpE;;;AACAZ,MAAAA,YAAY,CAACW,KAAK,CAACE,OAAP,CAAZ,GAA8B,UAACC,KAAD,EAAgB;AAC1C,eAAOJ,kBAAkB,CAACC,KAAK,CAACC,IAAP,CAAlB,CAA+BG,SAA/B,CAAyCD,KAAzC,EAAgDH,KAAhD,CAAP;AACH,OAFD;AARoE;;AAGxE,2DAA4B;AAAA;;AAAA,+BAEpB;AAMP;AAXuE;AAAA;AAAA;AAAA;AAAA;;AAYxE,SAAOX,YAAP;AACH,CAbD;;AAeA,OAAO,IAAMgB,eAAe,GAAG,SAAlBA,eAAkB,CAC3BC,KAD2B,EAE3BC,KAF2B,EAGL;AACtB,MAAMlB,YAAY,GAAGQ,kBAAkB,CAACU,KAAK,CAACT,MAAP,CAAvC;AAEA,SAAOU,MAAM,CAACC,IAAP,CAAYpB,YAAZ,EAA0BD,MAA1B,CAAiC,UAACsB,MAAD,EAASC,GAAT,EAAiB;AACrD,QAAMR,KAAK,GAAGG,KAAK,CAACK,GAAD,CAAnB;AACA,QAAMP,SAAS,GAAGf,YAAY,CAACsB,GAAD,CAA9B;AAEA,QAAMC,gBAAgB,GAAGR,SAAS,CAACD,KAAD,CAAlC;;AACA,QAAIS,gBAAgB,KAAKC,SAAzB,EAAoC;AAChC,aAAOH,MAAP;AACH;;AACDA,IAAAA,MAAM,CAACC,GAAD,CAAN,GAAcC,gBAAd;AAEA,WAAOF,MAAP;AACH,GAXM,EAWJJ,KAXI,CAAP;AAYH,CAlBM","sourcesContent":["import { CmsEditorContentModel, CmsEditorField, CmsFieldValueTransformer } from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\n\ninterface AvailableFieldTransformers {\n [fieldType: string]: CmsFieldValueTransformer;\n}\n\ninterface FieldTransformers {\n [fieldId: string]: (value: any) => any;\n}\n\nconst getAvailableTransformerPlugins = (): AvailableFieldTransformers => {\n return plugins\n .byType<CmsFieldValueTransformer>(\"cms-field-value-transformer\")\n .reduce((transformers, pl) => {\n const fieldTypes = Array.isArray(pl.fieldType) ? pl.fieldType : [pl.fieldType];\n for (const fieldType of fieldTypes) {\n if (transformers[fieldType]) {\n console.warn(\n `Transformer for field type \"${fieldType}\" is already defined. There cannot be more than one transformer.`\n );\n continue;\n }\n transformers[fieldType] = pl;\n }\n return transformers;\n }, {} as Record<string, CmsFieldValueTransformer>);\n};\n\ninterface TransformerCallable {\n (value: any): any;\n}\nconst createTransformers = (fields: CmsEditorField[]): FieldTransformers => {\n const transformerPlugins = getAvailableTransformerPlugins();\n const transformers: Record<string, TransformerCallable> = {};\n for (const field of fields) {\n if (!transformerPlugins[field.type]) {\n continue;\n }\n // TODO @ts-refactor figure out if possible to put some type instead of any\n transformers[field.fieldId] = (value: any) => {\n return transformerPlugins[field.type].transform(value, field);\n };\n }\n return transformers;\n};\n\nexport const prepareFormData = (\n input: Record<string, any>,\n model: CmsEditorContentModel\n): Record<string, any> => {\n const transformers = createTransformers(model.fields);\n\n return Object.keys(transformers).reduce((output, key) => {\n const value = input[key];\n const transform = transformers[key];\n\n const transformedValue = transform(value);\n if (transformedValue === undefined) {\n return output;\n }\n output[key] = transformedValue;\n\n return output;\n }, input);\n};\n"]}
|