@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
|
@@ -49,7 +49,7 @@ export var useRevision = function useRevision(_ref) {
|
|
|
49
49
|
createRevision: function createRevision() {
|
|
50
50
|
return /*#__PURE__*/function () {
|
|
51
51
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(id) {
|
|
52
|
-
var
|
|
52
|
+
var createResponse, _createResponse$data$, data, error;
|
|
53
53
|
|
|
54
54
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
55
55
|
while (1) {
|
|
@@ -62,31 +62,60 @@ export var useRevision = function useRevision(_ref) {
|
|
|
62
62
|
variables: {
|
|
63
63
|
revision: id || revision.id
|
|
64
64
|
},
|
|
65
|
-
update: function update(cache,
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
update: function update(cache, result) {
|
|
66
|
+
if (!result || !result.data) {
|
|
67
|
+
showSnackbar("Missing result in update callback on Create Revision Mutation.");
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var newRevision = result.data.content.data;
|
|
72
|
+
|
|
73
|
+
if (!newRevision) {
|
|
74
|
+
showSnackbar("Missing revision data in update callback on Create Revision Mutation.");
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
68
78
|
GQLCache.updateLatestRevisionInListCache(contentModel, cache, newRevision, listQueryVariables);
|
|
69
79
|
GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);
|
|
70
80
|
}
|
|
71
81
|
});
|
|
72
82
|
|
|
73
83
|
case 3:
|
|
74
|
-
|
|
75
|
-
res = _yield$client$mutate.data;
|
|
84
|
+
createResponse = _context.sent;
|
|
76
85
|
setLoading(false);
|
|
77
|
-
|
|
86
|
+
|
|
87
|
+
if (!(!createResponse || !createResponse.data)) {
|
|
88
|
+
_context.next = 8;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
showSnackbar("Missing response data in Create Revision Callable.");
|
|
93
|
+
return _context.abrupt("return");
|
|
94
|
+
|
|
95
|
+
case 8:
|
|
96
|
+
_createResponse$data$ = createResponse.data.content, data = _createResponse$data$.data, error = _createResponse$data$.error;
|
|
78
97
|
|
|
79
98
|
if (!error) {
|
|
80
|
-
_context.next =
|
|
99
|
+
_context.next = 14;
|
|
81
100
|
break;
|
|
82
101
|
}
|
|
83
102
|
|
|
84
|
-
|
|
103
|
+
showSnackbar(error.message);
|
|
104
|
+
return _context.abrupt("return");
|
|
105
|
+
|
|
106
|
+
case 14:
|
|
107
|
+
if (data) {
|
|
108
|
+
_context.next = 17;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
showSnackbar("Missing data in Create Revision callable.");
|
|
113
|
+
return _context.abrupt("return");
|
|
85
114
|
|
|
86
|
-
case
|
|
115
|
+
case 17:
|
|
87
116
|
history.push("/cms/content-entries/".concat(modelId, "?id=").concat(encodeURIComponent(data.id)));
|
|
88
117
|
|
|
89
|
-
case
|
|
118
|
+
case 18:
|
|
90
119
|
case "end":
|
|
91
120
|
return _context.stop();
|
|
92
121
|
}
|
|
@@ -104,10 +133,10 @@ export var useRevision = function useRevision(_ref) {
|
|
|
104
133
|
history.push("/cms/content-entries/".concat(modelId, "/?id=").concat(encodeURIComponent(id || revision.id)));
|
|
105
134
|
};
|
|
106
135
|
},
|
|
107
|
-
deleteRevision: function deleteRevision(
|
|
108
|
-
var entry =
|
|
136
|
+
deleteRevision: function deleteRevision(_ref3) {
|
|
137
|
+
var entry = _ref3.entry;
|
|
109
138
|
return /*#__PURE__*/function () {
|
|
110
|
-
var
|
|
139
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id) {
|
|
111
140
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
112
141
|
while (1) {
|
|
113
142
|
switch (_context2.prev = _context2.next) {
|
|
@@ -119,9 +148,13 @@ export var useRevision = function useRevision(_ref) {
|
|
|
119
148
|
variables: {
|
|
120
149
|
revision: id || revision.id
|
|
121
150
|
},
|
|
122
|
-
update: function update(cache,
|
|
123
|
-
|
|
124
|
-
|
|
151
|
+
update: function update(cache, result) {
|
|
152
|
+
if (!result || !result.data) {
|
|
153
|
+
showSnackbar("Missing result in update callback on Delete Mutation.");
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
var error = result.data.content.error;
|
|
125
158
|
|
|
126
159
|
if (error) {
|
|
127
160
|
showSnackbar(error.message);
|
|
@@ -155,13 +188,13 @@ export var useRevision = function useRevision(_ref) {
|
|
|
155
188
|
}));
|
|
156
189
|
|
|
157
190
|
return function (_x2) {
|
|
158
|
-
return
|
|
191
|
+
return _ref4.apply(this, arguments);
|
|
159
192
|
};
|
|
160
193
|
}();
|
|
161
194
|
},
|
|
162
195
|
publishRevision: function publishRevision() {
|
|
163
196
|
return /*#__PURE__*/function () {
|
|
164
|
-
var
|
|
197
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id) {
|
|
165
198
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
166
199
|
while (1) {
|
|
167
200
|
switch (_context3.prev = _context3.next) {
|
|
@@ -173,14 +206,22 @@ export var useRevision = function useRevision(_ref) {
|
|
|
173
206
|
variables: {
|
|
174
207
|
revision: id || revision.id
|
|
175
208
|
},
|
|
176
|
-
update: function update(cache,
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
209
|
+
update: function update(cache, result) {
|
|
210
|
+
if (!result || !result.data) {
|
|
211
|
+
showSnackbar("Missing result in update callback on Publish Mutation.");
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
var _result$data$content = result.data.content,
|
|
216
|
+
published = _result$data$content.data,
|
|
217
|
+
error = _result$data$content.error;
|
|
181
218
|
|
|
182
219
|
if (error) {
|
|
183
|
-
|
|
220
|
+
showSnackbar(error.message);
|
|
221
|
+
return;
|
|
222
|
+
} else if (!published) {
|
|
223
|
+
showSnackbar("Missing published data on Publish Mutation Response.");
|
|
224
|
+
return;
|
|
184
225
|
}
|
|
185
226
|
|
|
186
227
|
GQLCache.unpublishPreviouslyPublishedRevision(contentModel, cache, published.id);
|
|
@@ -200,15 +241,14 @@ export var useRevision = function useRevision(_ref) {
|
|
|
200
241
|
}));
|
|
201
242
|
|
|
202
243
|
return function (_x3) {
|
|
203
|
-
return
|
|
244
|
+
return _ref5.apply(this, arguments);
|
|
204
245
|
};
|
|
205
246
|
}();
|
|
206
247
|
},
|
|
207
248
|
unpublishRevision: function unpublishRevision() {
|
|
208
249
|
return /*#__PURE__*/function () {
|
|
209
|
-
var
|
|
210
|
-
var
|
|
211
|
-
|
|
250
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(id) {
|
|
251
|
+
var result, error;
|
|
212
252
|
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
213
253
|
while (1) {
|
|
214
254
|
switch (_context4.prev = _context4.next) {
|
|
@@ -223,23 +263,32 @@ export var useRevision = function useRevision(_ref) {
|
|
|
223
263
|
});
|
|
224
264
|
|
|
225
265
|
case 3:
|
|
226
|
-
|
|
227
|
-
data = _yield$client$mutate2.data;
|
|
266
|
+
result = _context4.sent;
|
|
228
267
|
setLoading(false);
|
|
229
|
-
|
|
268
|
+
|
|
269
|
+
if (!(!result || !result.data)) {
|
|
270
|
+
_context4.next = 8;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
showSnackbar("Missing result in update callback on Unpublish Mutation.");
|
|
275
|
+
return _context4.abrupt("return");
|
|
276
|
+
|
|
277
|
+
case 8:
|
|
278
|
+
error = result.data.content.error;
|
|
230
279
|
|
|
231
280
|
if (!error) {
|
|
232
|
-
_context4.next =
|
|
281
|
+
_context4.next = 12;
|
|
233
282
|
break;
|
|
234
283
|
}
|
|
235
284
|
|
|
236
285
|
showSnackbar(error.message);
|
|
237
286
|
return _context4.abrupt("return");
|
|
238
287
|
|
|
239
|
-
case
|
|
288
|
+
case 12:
|
|
240
289
|
showSnackbar( /*#__PURE__*/React.createElement("span", null, "Successfully unpublished revision", " ", /*#__PURE__*/React.createElement("strong", null, "#", revision.meta.version), "!"));
|
|
241
290
|
|
|
242
|
-
case
|
|
291
|
+
case 13:
|
|
243
292
|
case "end":
|
|
244
293
|
return _context4.stop();
|
|
245
294
|
}
|
|
@@ -248,13 +297,13 @@ export var useRevision = function useRevision(_ref) {
|
|
|
248
297
|
}));
|
|
249
298
|
|
|
250
299
|
return function (_x4) {
|
|
251
|
-
return
|
|
300
|
+
return _ref6.apply(this, arguments);
|
|
252
301
|
};
|
|
253
302
|
}();
|
|
254
303
|
},
|
|
255
304
|
requestReview: function requestReview() {
|
|
256
305
|
return /*#__PURE__*/function () {
|
|
257
|
-
var
|
|
306
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(id) {
|
|
258
307
|
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
259
308
|
while (1) {
|
|
260
309
|
switch (_context5.prev = _context5.next) {
|
|
@@ -266,9 +315,13 @@ export var useRevision = function useRevision(_ref) {
|
|
|
266
315
|
variables: {
|
|
267
316
|
revision: id || revision.id
|
|
268
317
|
},
|
|
269
|
-
update: function update(_,
|
|
270
|
-
|
|
271
|
-
|
|
318
|
+
update: function update(_, result) {
|
|
319
|
+
if (!result || !result.data) {
|
|
320
|
+
showSnackbar("Missing result in update callback on Request Review Mutation.");
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
var error = result.data.content.error;
|
|
272
325
|
|
|
273
326
|
if (error) {
|
|
274
327
|
return showSnackbar(error.message);
|
|
@@ -290,13 +343,13 @@ export var useRevision = function useRevision(_ref) {
|
|
|
290
343
|
}));
|
|
291
344
|
|
|
292
345
|
return function (_x5) {
|
|
293
|
-
return
|
|
346
|
+
return _ref7.apply(this, arguments);
|
|
294
347
|
};
|
|
295
348
|
}();
|
|
296
349
|
},
|
|
297
350
|
requestChanges: function requestChanges() {
|
|
298
351
|
return /*#__PURE__*/function () {
|
|
299
|
-
var
|
|
352
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(id) {
|
|
300
353
|
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
301
354
|
while (1) {
|
|
302
355
|
switch (_context6.prev = _context6.next) {
|
|
@@ -308,12 +361,17 @@ export var useRevision = function useRevision(_ref) {
|
|
|
308
361
|
variables: {
|
|
309
362
|
revision: id || revision.id
|
|
310
363
|
},
|
|
311
|
-
update: function update(_,
|
|
312
|
-
|
|
313
|
-
|
|
364
|
+
update: function update(_, result) {
|
|
365
|
+
if (!result || !result.data) {
|
|
366
|
+
showSnackbar("Missing result in update callback on Request Changes Mutation.");
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
var error = result.data.content.error;
|
|
314
371
|
|
|
315
372
|
if (error) {
|
|
316
|
-
|
|
373
|
+
showSnackbar(error.message);
|
|
374
|
+
return;
|
|
317
375
|
}
|
|
318
376
|
|
|
319
377
|
showSnackbar( /*#__PURE__*/React.createElement("span", null, "Changes requested successfully!"));
|
|
@@ -332,7 +390,7 @@ export var useRevision = function useRevision(_ref) {
|
|
|
332
390
|
}));
|
|
333
391
|
|
|
334
392
|
return function (_x6) {
|
|
335
|
-
return
|
|
393
|
+
return _ref8.apply(this, arguments);
|
|
336
394
|
};
|
|
337
395
|
}();
|
|
338
396
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useRevision.tsx"],"names":["React","useMemo","useRouter","useHandlers","useSnackbar","GQL","GQLCache","useApolloClient","useContentEntry","useRevision","revision","contentModel","entry","setLoading","listQueryVariables","history","showSnackbar","client","modelId","CREATE_REVISION","createCreateFromMutation","DELETE_REVISION","createDeleteMutation","PUBLISH_REVISION","createPublishMutation","UNPUBLISH_REVISION","createUnpublishMutation","REQUEST_REVIEW","createRequestReviewMutation","REQUEST_CHANGES","createRequestChangesMutation","createRevision","id","mutate","mutation","variables","update","cache","result","data","newRevision","content","updateLatestRevisionInListCache","addRevisionToRevisionsCache","createResponse","error","message","push","encodeURIComponent","editRevision","deleteRevision","revisions","removeRevisionFromEntryCache","publishRevision","published","unpublishPreviouslyPublishedRevision","meta","version","unpublishRevision","requestReview","_","requestChanges"],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport * as GQLCache from \"./cache\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables,\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables,\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables,\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n} from \"~/admin/graphql/contentEntries\";\n\ninterface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface EditRevisionHandler {\n (id?: string): void;\n}\ninterface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface PublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestReviewHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestChangesHandler {\n (id?: string): Promise<void>;\n}\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n requestReview: RequestReviewHandler;\n requestChanges: RequestChangesHandler;\n}\n\nexport interface UseRevisionProps {\n revision: CmsEditorContentEntry;\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const { contentModel, entry, setLoading, listQueryVariables } = useContentEntry();\n\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const { modelId } = contentModel;\n\n const {\n CREATE_REVISION,\n DELETE_REVISION,\n PUBLISH_REVISION,\n UNPUBLISH_REVISION,\n REQUEST_REVIEW,\n REQUEST_CHANGES\n } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n DELETE_REVISION: GQL.createDeleteMutation(contentModel),\n PUBLISH_REVISION: GQL.createPublishMutation(contentModel),\n UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel),\n REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),\n REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)\n };\n }, [modelId]);\n\n const {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n } = useHandlers<UseRevisionHandlers>(\n { entry },\n {\n createRevision:\n (): CreateRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const createResponse = await client.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation: CREATE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Create Revision Mutation.`\n );\n return;\n }\n const newRevision = result.data.content.data;\n if (!newRevision) {\n showSnackbar(\n \"Missing revision data in update callback on Create Revision Mutation.\"\n );\n return;\n }\n\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n }\n });\n\n setLoading(false);\n if (!createResponse || !createResponse.data) {\n showSnackbar(`Missing response data in Create Revision Callable.`);\n return;\n }\n\n const { data, error } = createResponse.data.content;\n\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!data) {\n showSnackbar(`Missing data in Create Revision callable.`);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(data.id)}`\n );\n },\n editRevision:\n (): EditRevisionHandler =>\n (id): void => {\n history.push(\n `/cms/content-entries/${modelId}/?id=${encodeURIComponent(\n id || revision.id\n )}`\n );\n },\n deleteRevision:\n ({ entry }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables\n >({\n mutation: DELETE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update: (cache, result) => {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Delete Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // We have other revisions, update entry's cache\n const revisions = GQLCache.removeRevisionFromEntryCache(\n contentModel,\n cache,\n revision\n );\n\n if (revision.id !== entry.id) {\n return;\n }\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n revisions[0],\n listQueryVariables\n );\n // Redirect to the first revision in the list of all entry revisions.\n history.push(\n `/cms/content-entries/${modelId}?id=` +\n encodeURIComponent(revisions[0].id)\n );\n }\n });\n\n setLoading(false);\n },\n publishRevision: (): PublishRevisionHandler => async id => {\n setLoading(true);\n await client.mutate<\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables\n >({\n mutation: PUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Publish Mutation.`);\n return;\n }\n const { data: published, error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!published) {\n showSnackbar(\"Missing published data on Publish Mutation Response.\");\n return;\n }\n\n GQLCache.unpublishPreviouslyPublishedRevision(\n contentModel,\n cache,\n published.id\n );\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{published.meta.version}</strong>!\n </span>\n );\n }\n });\n\n setLoading(false);\n },\n unpublishRevision:\n (): UnpublishRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const result = await client.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation: UNPUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n }\n });\n setLoading(false);\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Unpublish Mutation.`);\n return;\n }\n\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully unpublished revision{\" \"}\n <strong>#{revision.meta.version}</strong>!\n </span>\n );\n },\n requestReview:\n (): RequestReviewHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables\n >({\n mutation: REQUEST_REVIEW,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Review Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(<span>Review requested successfully!</span>);\n }\n });\n\n setLoading(false);\n },\n requestChanges:\n (): RequestChangesHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables\n >({\n mutation: REQUEST_CHANGES,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Changes Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(<span>Changes requested successfully!</span>);\n }\n });\n\n setLoading(false);\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n };\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentEntry.tsx"],"names":["React","css","styled","EmptyView","ButtonDefault","ButtonIcon","ReactComponent","AddIcon","i18n","Tab","Tabs","Elevation","CircularProgress","RevisionsList","Header","useContentEntry","ContentEntryForm","t","namespace","DetailsContainer","height","overflow","position","nav","backgroundColor","RenderBlock","zIndex","padding","elevationStyles","ContentEntry","contentModel","loading","entry","showEmptyView","canCreate","createEntry","setTabsRef","setFormRef","message","tabs","form"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Tab, Tabs } from \"@webiny/ui/Tabs\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport RevisionsList from \"./ContentEntry/RevisionsList\";\nimport Header from \"./ContentEntry/header/Header\";\nimport { useContentEntry } from \"./hooks/useContentEntry\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/content-model-entries/details\");\n\nconst DetailsContainer = styled(\"div\")({\n height: \"calc(100% - 10px)\",\n overflow: \"hidden\",\n position: \"relative\",\n nav: {\n backgroundColor: \"var(--mdc-theme-surface)\"\n }\n});\n\nconst RenderBlock = styled(\"div\")({\n position: \"relative\",\n zIndex: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n height: \"100%\",\n /*overflow: \"scroll\",*/\n padding: 25\n});\n\nconst elevationStyles = css({\n position: \"relative\"\n});\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"test-id\": {\n children?: React.ReactNode;\n };\n }\n }\n}\n\nexport const ContentEntry: React.FC = () => {\n const {\n contentModel,\n loading,\n entry,\n showEmptyView,\n canCreate,\n createEntry,\n setTabsRef,\n setFormRef\n } = useContentEntry();\n\n // Render \"No content selected\" view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display entry details {message}`({\n message: canCreate ? \"or create a...\" : \"\"\n })}\n action={\n canCreate ? (\n <ButtonDefault data-testid=\"new-record-button\" onClick={createEntry}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonDefault>\n ) : null\n }\n />\n );\n }\n\n return (\n <DetailsContainer>\n <test-id data-testid=\"cms-content-details\">\n <Tabs ref={tabs => setTabsRef(tabs as Tabs)}>\n <Tab\n label={\"Content\"}\n disabled={loading}\n data-testid={\"cms.content-form.tabs.content\"}\n >\n <RenderBlock>\n <Elevation z={2} className={elevationStyles}>\n {loading && <CircularProgress />}\n <Header />\n <ContentEntryForm\n contentModel={contentModel}\n entry={entry}\n onForm={form => setFormRef(form)}\n addEntryToListCache={true}\n />\n </Elevation>\n </RenderBlock>\n </Tab>\n <Tab\n label={\"Revisions\"}\n disabled={loading}\n data-testid={\"cms.content-form.tabs.revisions\"}\n >\n <RevisionsList />\n </Tab>\n </Tabs>\n </test-id>\n </DetailsContainer>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useContentEntries.ts"],"names":["useContext","Context","useContentEntries"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,OAAT;AAEA,OAAO,SAASC,iBAAT,GAA6B;AAChC,SAAOF,UAAU,CAACC,OAAD,CAAjB;AACH","sourcesContent":["import { useContext } from \"react\";\nimport { Context } from \"../ContentEntriesContext\";\n\nexport function useContentEntries() {\n return useContext(Context);\n}\n"]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { CmsEditorContentEntry } from "../../../../types";
|
|
3
2
|
export declare function useContentEntriesList(): {
|
|
4
3
|
contentModel: import("../../../../types").CmsEditorContentModel;
|
|
5
4
|
listQueryVariables: import("../ContentEntriesContext").ListQueryVariables;
|
|
6
5
|
setListQueryVariables: import("react").Dispatch<import("react").SetStateAction<import("../ContentEntriesContext").ListQueryVariables>>;
|
|
7
6
|
sorters: import("../ContentEntriesContext").CmsEntriesSorter[];
|
|
8
|
-
id: string;
|
|
7
|
+
id: string | null;
|
|
9
8
|
loading: boolean;
|
|
10
9
|
data: CmsEditorContentEntry[];
|
|
11
10
|
loadMore: () => void;
|
|
@@ -112,13 +112,13 @@ export function useContentEntriesList() {
|
|
|
112
112
|
variables: {
|
|
113
113
|
after: meta.cursor
|
|
114
114
|
},
|
|
115
|
-
updateQuery: function updateQuery(prev,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
if (!fetchMoreResult) {
|
|
115
|
+
updateQuery: function updateQuery(prev, result) {
|
|
116
|
+
if (!result || !result.fetchMoreResult) {
|
|
119
117
|
return prev;
|
|
120
118
|
}
|
|
121
119
|
|
|
120
|
+
var fetchMoreResult = result.fetchMoreResult;
|
|
121
|
+
|
|
122
122
|
var next = _objectSpread({}, fetchMoreResult);
|
|
123
123
|
|
|
124
124
|
next.content.data = [].concat(_toConsumableArray(prev.content.data), _toConsumableArray(fetchMoreResult.content.data));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useContentEntriesList.ts"],"names":["useCallback","useEffect","useMemo","useState","get","set","unset","cloneDeep","debounce","useRouter","createListQuery","useQuery","useContentEntries","useContentEntriesList","contentModel","listQueryVariables","setListQueryVariables","sorters","canCreate","loadMoreLoading","setLoadMoreLoading","filter","setFilter","history","baseUrl","modelId","query","URLSearchParams","location","search","id","searchQuery","updateSearch","searchField","titleFieldId","prev","next","push","toString","LIST_QUERY","variables","data","loading","fetchMore","onCreate","filterByStatus","entries","status","item","meta","loadMore","hasMoreItems","after","cursor","updateQuery","result","fetchMoreResult","content","editEntry","entry","encodeURIComponent"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport unset from \"lodash/unset\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport debounce from \"lodash/debounce\";\nimport { useRouter } from \"@webiny/react-router\";\nimport {\n createListQuery,\n CmsEntriesListQueryVariables,\n CmsEntriesListQueryResponse\n} from \"~/admin/graphql/contentEntries\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { useContentEntries } from \"./useContentEntries\";\nimport { CmsEditorContentEntry, CmsMetaResponse } from \"~/types\";\n\ninterface UpdateSearchCallableParams {\n filter: string;\n query: URLSearchParams;\n}\ninterface UpdateSearchCallable {\n (params: UpdateSearchCallableParams): void;\n}\n\nexport function useContentEntriesList() {\n const { contentModel, listQueryVariables, setListQueryVariables, sorters, canCreate } =\n useContentEntries();\n\n const [loadMoreLoading, setLoadMoreLoading] = useState<boolean>(false);\n const [filter, setFilter] = useState<string>(\"\");\n\n const { history } = useRouter();\n const baseUrl = `/cms/content-entries/${contentModel.modelId}`;\n\n // Get entry ID and search query (if any)\n const query = new URLSearchParams(location.search);\n const id = query.get(\"id\");\n const searchQuery = query.get(\"search\");\n const updateSearch = useCallback(\n debounce<UpdateSearchCallable>(({ filter, query }) => {\n const search = query.get(\"search\");\n if (typeof search !== \"string\" && !filter) {\n return;\n }\n\n // We use the title field with the \"contains\" operator for doing basic searches.\n const searchField = contentModel.titleFieldId + \"_contains\";\n setListQueryVariables(prev => {\n const next = cloneDeep(prev);\n if (filter) {\n set(next, `where.${searchField}`, filter);\n } else {\n unset(next, `where.${searchField}`);\n }\n\n return next;\n });\n\n if (search !== filter) {\n query.set(\"search\", filter);\n history.push(`${baseUrl}?${query.toString()}`);\n }\n }, 250),\n [baseUrl]\n );\n\n // Set \"filter\" from search \"query\" on page load.\n useEffect(() => {\n if (searchQuery) {\n setFilter(searchQuery);\n }\n }, [baseUrl, searchQuery]);\n\n // When filter changes, run GQL query\n useEffect(() => updateSearch({ filter, query }), [baseUrl, filter]);\n\n // Generate a query based on current content model\n const LIST_QUERY = useMemo(() => createListQuery(contentModel), [contentModel.modelId]);\n const { data, loading, fetchMore } = useQuery<\n CmsEntriesListQueryResponse,\n CmsEntriesListQueryVariables\n >(LIST_QUERY, { variables: listQueryVariables });\n\n const onCreate = useCallback(() => {\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true`);\n }, [contentModel]);\n\n const filterByStatus = useCallback((entries: CmsEditorContentEntry[], status?: string) => {\n if (!status || status === \"all\") {\n return entries;\n }\n return entries.filter(item => item.meta.status === status);\n }, []);\n\n // Load more entries on scroll\n const loadMore = useCallback((): void => {\n const meta: CmsMetaResponse = get(data, \"content.meta\", {});\n if (meta.hasMoreItems) {\n setLoadMoreLoading(true);\n fetchMore({\n variables: {\n after: meta.cursor\n },\n updateQuery: (prev: CmsEntriesListQueryResponse, result) => {\n if (!result || !result.fetchMoreResult) {\n return prev;\n }\n const fetchMoreResult = result.fetchMoreResult;\n\n const next = { ...fetchMoreResult };\n\n next.content.data = [...prev.content.data, ...fetchMoreResult.content.data];\n setLoadMoreLoading(false);\n return next;\n }\n });\n }\n }, [data]);\n\n const editEntry = useCallback(\n (entry: CmsEditorContentEntry) => () => {\n history.push(\n `/cms/content-entries/${contentModel.modelId}?id=${encodeURIComponent(entry.id)}`\n );\n },\n [contentModel.modelId]\n );\n\n return {\n contentModel,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n id,\n loading,\n data: filterByStatus(get(data, \"content.data\", []), listQueryVariables.status),\n loadMore,\n loadMoreLoading,\n canCreate,\n onCreate,\n filter,\n setFilter,\n editEntry\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useContentEntry.ts"],"names":["useContext","Context","useContentEntry"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,OAAT;AAEA,OAAO,SAASC,eAAT,GAA2B;AAC9B,SAAOF,UAAU,CAACC,OAAD,CAAjB;AACH","sourcesContent":["import { useContext } from \"react\";\nimport { Context } from \"../ContentEntry/ContentEntryContext\";\n\nexport function useContentEntry() {\n return useContext(Context);\n}\n"]}
|
|
@@ -6,10 +6,11 @@ import ContentModelGroupsForm from "./ContentModelGroupsForm";
|
|
|
6
6
|
|
|
7
7
|
var ContentModelGroups = function ContentModelGroups() {
|
|
8
8
|
var _useSecurity = useSecurity(),
|
|
9
|
-
identity = _useSecurity.identity
|
|
9
|
+
identity = _useSecurity.identity,
|
|
10
|
+
getPermission = _useSecurity.getPermission;
|
|
10
11
|
|
|
11
12
|
var canCreate = useMemo(function () {
|
|
12
|
-
var permission =
|
|
13
|
+
var permission = getPermission("cms.contentModelGroup");
|
|
13
14
|
|
|
14
15
|
if (!permission) {
|
|
15
16
|
return false;
|
|
@@ -20,7 +21,7 @@ var ContentModelGroups = function ContentModelGroups() {
|
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
return permission.rwd.includes("w");
|
|
23
|
-
}, []);
|
|
24
|
+
}, [identity]);
|
|
24
25
|
return /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(LeftPanel, {
|
|
25
26
|
span: 4
|
|
26
27
|
}, /*#__PURE__*/React.createElement(ContentModelGroupsDataList, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentModelGroups.tsx"],"names":["React","useMemo","useSecurity","SplitView","LeftPanel","RightPanel","ContentModelGroupsDataList","ContentModelGroupsForm","ContentModelGroups","identity","getPermission","canCreate","permission","rwd","includes"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,OAAhB,QAA+B,OAA/B;AACA,SAASC,WAAT,QAA4B,sBAA5B;AACA,SAASC,SAAT,EAAoBC,SAApB,EAA+BC,UAA/B,QAAiD,wCAAjD;AACA,OAAOC,0BAAP;AACA,OAAOC,sBAAP;;AAGA,IAAMC,kBAA4B,GAAG,SAA/BA,kBAA+B,GAAM;AACvC,qBAAoCN,WAAW,EAA/C;AAAA,MAAQO,QAAR,gBAAQA,QAAR;AAAA,MAAkBC,aAAlB,gBAAkBA,aAAlB;;AAEA,MAAMC,SAAS,GAAGV,OAAO,CAAC,YAAe;AACrC,QAAMW,UAAU,GAAGF,aAAa,CAAwB,uBAAxB,CAAhC;;AACA,QAAI,CAACE,UAAL,EAAiB;AACb,aAAO,KAAP;AACH;;AAED,QAAI,OAAOA,UAAU,CAACC,GAAlB,KAA0B,QAA9B,EAAwC;AACpC,aAAO,IAAP;AACH;;AAED,WAAOD,UAAU,CAACC,GAAX,CAAeC,QAAf,CAAwB,GAAxB,CAAP;AACH,GAXwB,EAWtB,CAACL,QAAD,CAXsB,CAAzB;AAaA,sBACI,oBAAC,SAAD,qBACI,oBAAC,SAAD;AAAW,IAAA,IAAI,EAAE;AAAjB,kBACI,oBAAC,0BAAD;AAA4B,IAAA,SAAS,EAAEE;AAAvC,IADJ,CADJ,eAII,oBAAC,UAAD;AAAY,IAAA,IAAI,EAAE;AAAlB,kBACI,oBAAC,sBAAD;AAAwB,IAAA,SAAS,EAAEA;AAAnC,IADJ,CAJJ,CADJ;AAUH,CA1BD;;AA4BA,eAAeH,kBAAf","sourcesContent":["import React, { useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport ContentModelGroupsDataList from \"./ContentModelGroupsDataList\";\nimport ContentModelGroupsForm from \"./ContentModelGroupsForm\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst ContentModelGroups: React.FC = () => {\n const { identity, getPermission } = useSecurity();\n\n const canCreate = useMemo((): boolean => {\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentModelGroup\");\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n }, [identity]);\n\n return (\n <SplitView>\n <LeftPanel span={4}>\n <ContentModelGroupsDataList canCreate={canCreate} />\n </LeftPanel>\n <RightPanel span={8}>\n <ContentModelGroupsForm canCreate={canCreate} />\n </RightPanel>\n </SplitView>\n );\n};\n\nexport default ContentModelGroups;\n"]}
|
|
@@ -117,10 +117,13 @@ var ContentModelGroupsDataList = function ContentModelGroupsDataList(_ref) {
|
|
|
117
117
|
var gqlParams = {
|
|
118
118
|
query: GQL.LIST_CONTENT_MODEL_GROUPS
|
|
119
119
|
};
|
|
120
|
+
var result = cache.readQuery(gqlParams);
|
|
120
121
|
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
if (!result || !result.listContentModelGroups) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
123
125
|
|
|
126
|
+
var listContentModelGroups = result.listContentModelGroups;
|
|
124
127
|
var index = listContentModelGroups.data.findIndex(function (item) {
|
|
125
128
|
return item.id === group.id;
|
|
126
129
|
});
|
|
@@ -167,7 +170,7 @@ var ContentModelGroupsDataList = function ContentModelGroupsDataList(_ref) {
|
|
|
167
170
|
value: sort,
|
|
168
171
|
onChange: setSort,
|
|
169
172
|
label: t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Sort by"]))),
|
|
170
|
-
description: "Sort
|
|
173
|
+
description: "Sort groups by"
|
|
171
174
|
}, SORTERS.map(function (_ref5) {
|
|
172
175
|
var label = _ref5.label,
|
|
173
176
|
sorters = _ref5.sorters;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ContentModelGroupsDataList.tsx"],"names":["React","useCallback","useMemo","useState","get","orderBy","dotProp","i18n","DeleteIcon","DataList","List","ListItem","ListItemText","ListItemTextSecondary","ListItemMeta","ListActions","DataListModalOverlay","DataListModalOverlayAction","useRouter","useSnackbar","useQuery","useApolloClient","useConfirmationDialog","GQL","ButtonIcon","ButtonSecondary","Cell","Grid","Select","SearchUI","ReactComponent","AddIcon","FilterIcon","deserializeSorters","usePermission","Tooltip","t","ns","SORTERS","label","sorters","ContentModelGroupsDataList","canCreate","filter","setFilter","sort","setSort","history","showSnackbar","client","listQuery","LIST_CONTENT_MODEL_GROUPS","dataTestId","showConfirmation","canDelete","filterData","name","toLowerCase","includes","sortData","list","sortField","sortOrderBy","data","loading","groupId","URLSearchParams","location","search","deleteItem","group","mutate","mutation","DELETE_CONTENT_MODEL_GROUP","variables","id","update","cache","error","deleteContentModelGroup","message","gqlParams","query","result","readQuery","listContentModelGroups","index","findIndex","item","writeQuery","delete","response","push","contentModelGroupsDataListModalOverlay","map","filteredData","contentModelGroups","contentModels","length","plugin"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport get from \"lodash/get\";\nimport orderBy from \"lodash/orderBy\";\nimport dotProp from \"dot-prop-immutable\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport {\n DataList,\n List,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListActions,\n DataListModalOverlay,\n DataListModalOverlayAction\n} from \"@webiny/ui/List\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useApolloClient } from \"../../hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport * as GQL from \"./graphql\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport usePermission from \"../../hooks/usePermission\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ListCmsGroupsQueryResponse, CmsGroupWithModels } from \"./graphql\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/content-model-groups/data-list\");\n\ninterface Sort {\n label: string;\n sorters: string;\n}\nconst SORTERS: Sort[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\ninterface ContentModelGroupsDataListProps {\n canCreate: boolean;\n}\nconst ContentModelGroupsDataList: React.FC<ContentModelGroupsDataListProps> = ({ canCreate }) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const listQuery = useQuery(GQL.LIST_CONTENT_MODEL_GROUPS);\n\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"cms.contentModelGroup.list-item.delete-dialog\"\n });\n const { canDelete } = usePermission();\n\n const filterData = useCallback(\n ({ name }) => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsGroupWithModels[]): CmsGroupWithModels[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const data: CmsGroupWithModels[] = listQuery.loading\n ? []\n : get(listQuery, \"data.listContentModelGroups.data\", []);\n const groupId = new URLSearchParams(location.search).get(\"id\");\n\n const deleteItem = useCallback(\n group => {\n showConfirmation(async () => {\n const response = await client.mutate({\n mutation: GQL.DELETE_CONTENT_MODEL_GROUP,\n variables: { id: group.id },\n update(cache, { data }) {\n const { error } = data.deleteContentModelGroup;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // Delete the item from list cache\n const gqlParams = { query: GQL.LIST_CONTENT_MODEL_GROUPS };\n const result = cache.readQuery<ListCmsGroupsQueryResponse>(gqlParams);\n if (!result || !result.listContentModelGroups) {\n return;\n }\n const { listContentModelGroups } = result;\n const index = listContentModelGroups.data.findIndex(\n item => item.id === group.id\n );\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n listContentModelGroups: dotProp.delete(\n listContentModelGroups,\n `data.${index}`\n )\n }\n });\n }\n });\n\n const { error } = response.data.deleteContentModelGroup;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Content model group \"{name}\" deleted.`({ name: group.name }));\n\n if (groupId === group.id) {\n history.push(`/cms/content-model-groups`);\n }\n });\n },\n [groupId]\n );\n\n const contentModelGroupsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort groups by\"}\n >\n {SORTERS.map(({ label, sorters }) => {\n return (\n <option key={label} value={sorters}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterData);\n const contentModelGroups = sortData(filteredData);\n\n return (\n <DataList\n loading={listQuery.loading}\n data={contentModelGroups}\n title={t`Content Model Groups`}\n actions={\n canCreate ? (\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/cms/content-model-groups?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Group`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content model group`}\n />\n }\n modalOverlay={contentModelGroupsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: CmsGroupWithModels[] }) => (\n <List data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === groupId}>\n <ListItemText\n onClick={() =>\n history.push(`/cms/content-model-groups?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>\n {item.contentModels.length\n ? t`{contentModels|count:1:content model:default:content models}`(\n {\n contentModels: item.contentModels.length\n }\n )\n : t`No content models`}\n </ListItemTextSecondary>\n </ListItemText>\n {canDelete(item, \"cms.contentModelGroup\") && (\n <ListItemMeta>\n <ListActions>\n {item.plugin ? (\n <Tooltip\n content={\n \"Content model group is registered via a plugin.\"\n }\n placement={\"bottom\"}\n >\n <DeleteIcon\n disabled\n data-testid={\n \"cms.contentModelGroup.list-item.delete\"\n }\n />\n </Tooltip>\n ) : (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\n \"cms.contentModelGroup.list-item.delete\"\n }\n />\n )}\n </ListActions>\n </ListItemMeta>\n )}\n </ListItem>\n ))}\n </List>\n )}\n </DataList>\n );\n};\n\nexport default ContentModelGroupsDataList;\n"]}
|
|
@@ -75,17 +75,20 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
|
|
|
75
75
|
update: function update(cache, _ref2) {
|
|
76
76
|
var data = _ref2.data;
|
|
77
77
|
|
|
78
|
-
if (data.contentModelGroup.error) {
|
|
78
|
+
if (!data || data.contentModelGroup.error) {
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
var gqlParams = {
|
|
83
83
|
query: GQL.LIST_CONTENT_MODEL_GROUPS
|
|
84
84
|
};
|
|
85
|
+
var result = cache.readQuery(gqlParams);
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
if (!result || !result.listContentModelGroups) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
88
90
|
|
|
91
|
+
var listContentModelGroups = result.listContentModelGroups;
|
|
89
92
|
cache.writeQuery(_objectSpread(_objectSpread({}, gqlParams), {}, {
|
|
90
93
|
data: {
|
|
91
94
|
listContentModelGroups: _objectSpread(_objectSpread({}, listContentModelGroups), {}, {
|
|
@@ -144,17 +147,27 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
|
|
|
144
147
|
|
|
145
148
|
case 2:
|
|
146
149
|
response = _context.sent;
|
|
150
|
+
|
|
151
|
+
if (response.data) {
|
|
152
|
+
_context.next = 6;
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
showSnackbar("Missing response data ain Content Model Group Mutation Response.");
|
|
157
|
+
return _context.abrupt("return");
|
|
158
|
+
|
|
159
|
+
case 6:
|
|
147
160
|
_response$data$conten = response.data.contentModelGroup, data = _response$data$conten.data, error = _response$data$conten.error;
|
|
148
161
|
|
|
149
162
|
if (!error) {
|
|
150
|
-
_context.next =
|
|
163
|
+
_context.next = 10;
|
|
151
164
|
break;
|
|
152
165
|
}
|
|
153
166
|
|
|
154
167
|
showSnackbar(error.message);
|
|
155
168
|
return _context.abrupt("return");
|
|
156
169
|
|
|
157
|
-
case
|
|
170
|
+
case 10:
|
|
158
171
|
/**
|
|
159
172
|
* Redirect to a new group
|
|
160
173
|
*/
|
|
@@ -164,7 +177,7 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
|
|
|
164
177
|
|
|
165
178
|
showSnackbar(t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Content model group saved successfully!"]))));
|
|
166
179
|
|
|
167
|
-
case
|
|
180
|
+
case 12:
|
|
168
181
|
case "end":
|
|
169
182
|
return _context.stop();
|
|
170
183
|
}
|
|
@@ -191,7 +204,7 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
|
|
|
191
204
|
}
|
|
192
205
|
}, /*#__PURE__*/React.createElement(ButtonIcon, {
|
|
193
206
|
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
194
|
-
}), " ", t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["New Group"])))) : null
|
|
207
|
+
}), " ", t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["New Group"])))) : /*#__PURE__*/React.createElement(React.Fragment, null)
|
|
195
208
|
});
|
|
196
209
|
}
|
|
197
210
|
|
|
@@ -235,7 +248,9 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
|
|
|
235
248
|
return history.push("/cms/content-model-groups");
|
|
236
249
|
}
|
|
237
250
|
}, t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Cancel"])))), canEdit(data, "cms.contentModelGroup") && /*#__PURE__*/React.createElement(React.Fragment, null, !data.plugin ? /*#__PURE__*/React.createElement(ButtonPrimary, {
|
|
238
|
-
onClick:
|
|
251
|
+
onClick: function onClick(ev) {
|
|
252
|
+
form.submit(ev);
|
|
253
|
+
}
|
|
239
254
|
}, t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["Save content model group"])))) : /*#__PURE__*/React.createElement(Tooltip, {
|
|
240
255
|
content: "Content model group is registered via a plugin.",
|
|
241
256
|
placement: "bottom"
|