@webiny/app-headless-cms 5.33.5-beta.0 → 5.34.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HeadlessCMS.js +4 -0
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.js +35 -32
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/Fields.d.ts +2 -2
- package/admin/components/ContentEntryForm/Fields.js.map +1 -1
- package/admin/components/ContentEntryForm/Label.js +1 -1
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +2 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js +6 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/getValue.d.ts +2 -2
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/setValue.d.ts +2 -2
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.d.ts +2 -2
- package/admin/components/ContentEntryForm/useBind.js +11 -8
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +1 -2
- package/admin/components/ContentEntryForm/useContentEntryForm.js +187 -147
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
- package/admin/components/ContentModelEditor/{Context.d.ts → ContentModelEditorProvider.d.ts} +10 -4
- package/admin/components/ContentModelEditor/{Context.js → ContentModelEditorProvider.js} +60 -116
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -0
- package/admin/components/ContentModelEditor/Editor.js +5 -5
- package/admin/components/ContentModelEditor/Editor.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/ContentModelEditor/PreviewTab.js +3 -3
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
- package/admin/components/ContentModelEditor/index.d.ts +2 -0
- package/admin/components/ContentModelEditor/index.js +31 -0
- package/admin/components/ContentModelEditor/index.js.map +1 -0
- package/admin/components/ContentModelEditor/useModelEditor.d.ts +1 -0
- package/admin/components/ContentModelEditor/{useContentModelEditor.js → useModelEditor.js} +4 -4
- package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.d.ts +0 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.js +0 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.js.map +0 -0
- package/admin/components/Dialog.d.ts +4 -0
- package/admin/components/Dialog.js +32 -0
- package/admin/components/Dialog.js.map +1 -0
- package/admin/components/DropZone/Center.d.ts +2 -1
- package/admin/components/DropZone/Center.js +38 -44
- package/admin/components/DropZone/Center.js.map +1 -1
- package/admin/components/Droppable.d.ts +1 -0
- package/admin/components/Droppable.js +12 -1
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +2 -8
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +20 -9
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +2 -9
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +35 -21
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +2 -9
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +14 -12
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.d.ts +10 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +42 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.d.ts +8 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +227 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.d.ts +13 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +115 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog.d.ts +3 -3
- package/admin/components/FieldEditor/EditFieldDialog.js +117 -260
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/Field.d.ts +5 -5
- package/admin/components/FieldEditor/Field.js +17 -14
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.d.ts +4 -4
- package/admin/components/FieldEditor/FieldEditor.js +85 -31
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.d.ts +16 -16
- package/admin/components/FieldEditor/FieldEditorContext.js +18 -18
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/Styled.js +4 -13
- package/admin/components/FieldEditor/Styled.js.map +1 -1
- package/admin/components/FieldEditor/index.d.ts +1 -1
- package/admin/components/FieldEditor/index.js +3 -3
- package/admin/components/FieldEditor/index.js.map +1 -1
- package/admin/components/FieldEditor/useModelFieldEditor.d.ts +2 -0
- package/admin/components/FieldEditor/useModelFieldEditor.js +20 -0
- package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -0
- package/admin/components/FieldEditor/utils/deleteField.d.ts +2 -2
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveField.d.ts +3 -3
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
- package/admin/components/IconPicker.d.ts +7 -0
- package/admin/{views/contentModelGroups → components}/IconPicker.js +34 -31
- package/admin/components/IconPicker.js.map +1 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +36 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.js +24 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -0
- package/admin/components/ModelFieldProvider/index.d.ts +2 -0
- package/admin/components/ModelFieldProvider/index.js +31 -0
- package/admin/components/ModelFieldProvider/index.js.map +1 -0
- package/admin/components/ModelFieldProvider/useModelField.d.ts +35 -0
- package/admin/components/ModelFieldProvider/useModelField.js +42 -0
- package/admin/components/ModelFieldProvider/useModelField.js.map +1 -0
- package/admin/components/ModelProvider/ModelContext.d.ts +9 -0
- package/admin/components/ModelProvider/ModelContext.js +24 -0
- package/admin/components/ModelProvider/ModelContext.js.map +1 -0
- package/admin/components/ModelProvider/index.d.ts +2 -0
- package/admin/components/ModelProvider/index.js +31 -0
- package/admin/components/ModelProvider/index.js.map +1 -0
- package/admin/components/ModelProvider/useModel.d.ts +9 -0
- package/admin/components/ModelProvider/useModel.js +25 -0
- package/admin/components/ModelProvider/useModel.js.map +1 -0
- package/admin/constants/statusLabels.js +2 -4
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/graphql/contentEntries.d.ts +2 -29
- package/admin/graphql/contentEntries.js +28 -42
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/graphql/contentModels.d.ts +1 -1
- package/admin/graphql/contentModels.js +2 -2
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/graphql/createFieldsList.d.ts +7 -2
- package/admin/graphql/createFieldsList.js +5 -1
- package/admin/graphql/createFieldsList.js.map +1 -1
- package/admin/hooks/index.d.ts +5 -0
- package/admin/hooks/index.js +47 -2
- package/admin/hooks/index.js.map +1 -1
- package/admin/hooks/usePermission.d.ts +0 -2
- package/admin/hooks/usePermission.js +5 -37
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +4 -1
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/arrayUtils.d.ts +12 -0
- package/admin/plugins/arrayUtils.js +53 -0
- package/admin/plugins/arrayUtils.js.map +1 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +4 -4
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +5 -5
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js +4 -4
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -3
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +9 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +3 -3
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +12 -0
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +107 -0
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +11 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +139 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +11 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +68 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +63 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +53 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +6 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +22 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +2 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +66 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +10 -9
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +15 -14
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +2 -2
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.d.ts +2 -2
- package/admin/plugins/fieldValidators/dateGte.js +79 -23
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.d.ts +2 -2
- package/admin/plugins/fieldValidators/dateLte.js +79 -23
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/dynamicZone.d.ts +2 -0
- package/admin/plugins/fieldValidators/dynamicZone.js +215 -0
- package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -0
- package/admin/plugins/fieldValidators/gte.d.ts +2 -2
- package/admin/plugins/fieldValidators/gte.js +44 -5
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.d.ts +2 -2
- package/admin/plugins/fieldValidators/in.js +44 -5
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.d.ts +2 -2
- package/admin/plugins/fieldValidators/lte.js +44 -5
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.d.ts +2 -2
- package/admin/plugins/fieldValidators/maxLength.js +55 -6
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.d.ts +2 -2
- package/admin/plugins/fieldValidators/minLength.js +55 -6
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.d.ts +2 -2
- package/admin/plugins/fieldValidators/pattern.js +129 -60
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/email.js +6 -4
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/url.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/fieldValidators/required.d.ts +2 -2
- package/admin/plugins/fieldValidators/required.js +8 -2
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.d.ts +2 -2
- package/admin/plugins/fieldValidators/unique.js +30 -2
- package/admin/plugins/fieldValidators/unique.js.map +1 -1
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +25 -26
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.d.ts +2 -2
- package/admin/plugins/fields/boolean.js +6 -5
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.d.ts +2 -2
- package/admin/plugins/fields/dateTime.js +58 -48
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +11 -0
- package/admin/plugins/fields/dynamicZone/AddTemplate.js +114 -0
- package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.js +82 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +11 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +127 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +9 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js +174 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.js +26 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -0
- package/admin/plugins/fields/dynamicZone.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone.js +97 -0
- package/admin/plugins/fields/dynamicZone.js.map +1 -0
- package/admin/plugins/fields/file.d.ts +2 -2
- package/admin/plugins/fields/file.js +6 -5
- package/admin/plugins/fields/file.js.map +1 -1
- package/admin/plugins/fields/longText.d.ts +2 -2
- package/admin/plugins/fields/longText.js +4 -3
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.d.ts +2 -2
- package/admin/plugins/fields/number.js +6 -5
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object/ObjectFields.d.ts +2 -2
- package/admin/plugins/fields/object/ObjectFields.js +3 -3
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
- package/admin/plugins/fields/object.d.ts +2 -2
- package/admin/plugins/fields/object.js +9 -4
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref.d.ts +2 -2
- package/admin/plugins/fields/ref.js +108 -100
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.d.ts +2 -2
- package/admin/plugins/fields/richText.js +6 -5
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/text.d.ts +2 -2
- package/admin/plugins/fields/text.js +4 -3
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/index.d.ts +28 -1
- package/admin/plugins/permissionRenderer/CmsPermissions.js +2 -7
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.d.ts +1 -2
- package/admin/plugins/transformers/dateTransformer.js +3 -3
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/dynamicZoneTransformer.d.ts +2 -0
- package/admin/plugins/transformers/dynamicZoneTransformer.js +45 -0
- package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -0
- package/admin/plugins/transformers/index.js +5 -5
- package/admin/plugins/transformers/index.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.d.ts +1 -2
- package/admin/plugins/transformers/numberTransformer.js +3 -3
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +6 -2
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +4 -4
- package/admin/views/contentEntries/ContentEntriesContext.js +1 -9
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +23 -8
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +19 -4
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +60 -60
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +5 -1
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -2
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
- package/admin/views/contentEntries/ContentEntry/useRevision.js +10 -122
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +0 -2
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +27 -14
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js +7 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +2 -2
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.js +4 -17
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +2 -2
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +5 -17
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/viewsGraphql.js +1 -1
- package/admin/viewsGraphql.js.map +1 -1
- package/allPlugins.d.ts +34 -0
- package/allPlugins.js +95 -0
- package/allPlugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +15 -1
- package/index.js.map +1 -1
- package/package.json +29 -29
- package/{types.d.ts → types/index.d.ts} +59 -176
- package/types/index.js +44 -0
- package/types/index.js.map +1 -0
- package/types/model.d.ts +83 -0
- package/{types.js → types/model.js} +0 -0
- package/types/model.js.map +1 -0
- package/types/shared.d.ts +5 -0
- package/types/shared.js +5 -0
- package/types/shared.js.map +1 -0
- package/types/validation.d.ts +70 -0
- package/types/validation.js +5 -0
- package/types/validation.js.map +1 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.d.ts +15 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.js +91 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -0
- package/utils/createTypeName.d.ts +1 -0
- package/utils/createTypeName.js +18 -0
- package/utils/createTypeName.js.map +1 -0
- package/utils/createValidators.d.ts +3 -0
- package/{admin/components/ContentEntryForm/functions → utils}/createValidators.js +37 -16
- package/utils/createValidators.js.map +1 -0
- package/utils/getFetchPolicy.d.ts +6 -0
- package/utils/getFetchPolicy.js +19 -0
- package/utils/getFetchPolicy.js.map +1 -0
- package/utils/getModelTitleFieldId.d.ts +2 -0
- package/utils/getModelTitleFieldId.js +16 -0
- package/utils/getModelTitleFieldId.js.map +1 -0
- package/admin/components/ContentEntryForm/functions/createValidators.d.ts +0 -3
- package/admin/components/ContentEntryForm/functions/createValidators.js.map +0 -1
- package/admin/components/ContentModelEditor/Context.js.map +0 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +0 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.js.map +0 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +0 -15
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +0 -148
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +0 -1
- package/admin/components/FieldEditor/useFieldEditor.d.ts +0 -1
- package/admin/components/FieldEditor/useFieldEditor.js +0 -14
- package/admin/components/FieldEditor/useFieldEditor.js.map +0 -1
- package/admin/plugins/validators/dateGte.d.ts +0 -3
- package/admin/plugins/validators/dateGte.js +0 -68
- package/admin/plugins/validators/dateGte.js.map +0 -1
- package/admin/plugins/validators/dateLte.d.ts +0 -3
- package/admin/plugins/validators/dateLte.js +0 -68
- package/admin/plugins/validators/dateLte.js.map +0 -1
- package/admin/plugins/validators/gte.d.ts +0 -3
- package/admin/plugins/validators/gte.js +0 -57
- package/admin/plugins/validators/gte.js.map +0 -1
- package/admin/plugins/validators/in.d.ts +0 -3
- package/admin/plugins/validators/in.js +0 -57
- package/admin/plugins/validators/in.js.map +0 -1
- package/admin/plugins/validators/lte.d.ts +0 -3
- package/admin/plugins/validators/lte.js +0 -57
- package/admin/plugins/validators/lte.js.map +0 -1
- package/admin/plugins/validators/maxLength.d.ts +0 -3
- package/admin/plugins/validators/maxLength.js +0 -57
- package/admin/plugins/validators/maxLength.js.map +0 -1
- package/admin/plugins/validators/minLength.d.ts +0 -3
- package/admin/plugins/validators/minLength.js +0 -57
- package/admin/plugins/validators/minLength.js.map +0 -1
- package/admin/plugins/validators/pattern.d.ts +0 -3
- package/admin/plugins/validators/pattern.js +0 -77
- package/admin/plugins/validators/pattern.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/email.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/email.js +0 -17
- package/admin/plugins/validators/patternPlugins/email.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/lowerCase.js +0 -17
- package/admin/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/upperCase.js +0 -17
- package/admin/plugins/validators/patternPlugins/upperCase.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/url.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/url.js +0 -17
- package/admin/plugins/validators/patternPlugins/url.js.map +0 -1
- package/admin/plugins/validators/required.d.ts +0 -3
- package/admin/plugins/validators/required.js +0 -21
- package/admin/plugins/validators/required.js.map +0 -1
- package/admin/plugins/validators/timeGte.d.ts +0 -3
- package/admin/plugins/validators/timeGte.js +0 -59
- package/admin/plugins/validators/timeGte.js.map +0 -1
- package/admin/plugins/validators/timeLte.d.ts +0 -3
- package/admin/plugins/validators/timeLte.js +0 -59
- package/admin/plugins/validators/timeLte.js.map +0 -1
- package/admin/plugins/validators/unique.d.ts +0 -7
- package/admin/plugins/validators/unique.js +0 -50
- package/admin/plugins/validators/unique.js.map +0 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +0 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +0 -1
- package/admin/views/contentModelGroups/IconPicker.d.ts +0 -8
- package/admin/views/contentModelGroups/IconPicker.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","rightAlign","css","alignItems","justifyContent","ModelId","styled","color","InlineLoaderWrapper","position","bottom","left","display","width","height","backgroundColor","listItemMinHeight","minHeight","ContentEntriesList","useContentEntriesList","contentModel","id","loading","canCreate","onCreate","data","editEntry","loadMore","loadMoreLoading","listQueryVariables","setListQueryVariables","sorters","filter","setFilter","viewConfig","useContentEntriesViewConfig","loadMoreOnScroll","useCallback","debounce","scrollFrame","top","formInitialData","sort","appliesToContentModel","modelIds","length","includes","modelId","entriesDataListModalOverlay","useMemo","status","Bind","map","value","label","filters","name","element","pluralize","title","item","meta","time","savedOn","statusLabels","version"],"sources":["ContentEntriesList.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport pluralize from \"pluralize\";\nimport styled from \"@emotion/styled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport * as UIList from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Select } from \"@webiny/ui/Select\";\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 SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport statusLabels from \"../../constants/statusLabels\";\nimport { useCallback } from \"react\";\nimport { useContentEntriesList } from \"~/admin/views/contentEntries/hooks/useContentEntriesList\";\nimport { positionValues as PositionValues } from \"react-custom-scrollbars\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport {\n useContentEntriesViewConfig,\n ContentEntriesViewConfigFilter\n} from \"./experiment/ContentEntriesViewConfig\";\nimport { Link } from \"@webiny/react-router\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/contents/data-list\");\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst ModelId = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n});\n\nconst InlineLoaderWrapper = styled(\"div\")({\n position: \"absolute\",\n bottom: 0,\n left: 0,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: 40,\n backgroundColor: \"var(--mdc-theme-surface)\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\nconst ContentEntriesList: React.FC = () => {\n const {\n contentModel,\n id,\n loading,\n canCreate,\n onCreate,\n data,\n editEntry,\n loadMore,\n loadMoreLoading,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n filter,\n setFilter\n } = useContentEntriesList();\n\n const viewConfig = useContentEntriesViewConfig();\n\n const loadMoreOnScroll = useCallback(\n debounce((scrollFrame: PositionValues) => {\n if (scrollFrame.top > 0.9) {\n loadMore();\n }\n }, 500),\n [data]\n );\n\n const formInitialData = {\n ...listQueryVariables,\n sort: listQueryVariables.sort ? listQueryVariables.sort[0] : \"\"\n };\n\n const appliesToContentModel = useCallback(\n ({ modelIds }: ContentEntriesViewConfigFilter) => {\n return modelIds.length === 0 || modelIds.includes(contentModel.modelId);\n },\n [contentModel]\n );\n\n const entriesDataListModalOverlay = useMemo(\n () => (\n <UIList.DataListModalOverlay>\n <Form\n data={formInitialData}\n onChange={({ sort, status, ...data }) => {\n setListQueryVariables(() => ({\n status,\n // GraphQL Schema requires \"sort\" to be an array.\n sort: [sort],\n // Spread the rest of form data\n ...data\n }));\n }}\n >\n {({ Bind }) => (\n <Grid>\n <Cell span={12}>\n <Bind name={\"sort\"}>\n <Select label={t`Sort by`}>\n {sorters.map(({ value, label }) => {\n return (\n <option key={value} value={value}>\n {label}\n </option>\n );\n })}\n </Select>\n </Bind>\n </Cell>\n {viewConfig.filters.filter(appliesToContentModel).map(filter => (\n <Cell span={12} key={filter.name}>\n {filter.element}\n </Cell>\n ))}\n </Grid>\n )}\n </Form>\n </UIList.DataListModalOverlay>\n ),\n [listQueryVariables, viewConfig.filters]\n );\n\n return (\n <UIList.DataList\n loading={loading}\n data={data}\n title={\n <span>\n {pluralize(contentModel.name)}\n <br />\n <Typography use={\"subtitle1\"}>\n <ModelId>\n Model ID:{\" \"}\n <Link to={`/cms/content-models/${contentModel.modelId}`}>\n {contentModel.modelId}\n </Link>\n </ModelId>\n </Typography>\n </span>\n }\n actions={\n canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search {title}`({ title: pluralize(contentModel.name) })}\n />\n }\n modalOverlay={entriesDataListModalOverlay}\n modalOverlayAction={\n <UIList.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: CmsEditorContentEntry[] }) => (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll(scrollFrame)}\n >\n {data.map(item => (\n <UIList.ListItem\n key={item.id}\n className={listItemMinHeight}\n selected={item.id === id}\n >\n <UIList.ListItemText onClick={editEntry(item)}>\n {item.meta.title || \"Untitled\"}\n <UIList.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: <TimeAgo datetime={item.savedOn} />\n })}\n </UIList.ListItemTextSecondary>\n </UIList.ListItemText>\n\n <UIList.ListItemMeta className={rightAlign}>\n <Typography use={\"subtitle2\"} data-testid=\"ul.list.subtitle\">\n {statusLabels[item.meta.status]} (v{item.meta.version})\n </Typography>\n </UIList.ListItemMeta>\n </UIList.ListItem>\n ))}\n </Scrollbar>\n {loadMoreLoading && (\n <InlineLoaderWrapper>\n <Typography use={\"overline\"}>{t`Loading more entries...`}</Typography>\n </InlineLoaderWrapper>\n )}\n </>\n )}\n </UIList.DataList>\n );\n};\n\nexport default ContentEntriesList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","rightAlign","css","alignItems","justifyContent","ModelId","styled","color","InlineLoaderWrapper","position","bottom","left","display","width","height","backgroundColor","listItemMinHeight","minHeight","disabled","cursor","ContentEntriesList","useContentEntriesList","contentModel","id","loading","canCreate","onCreate","data","editEntry","loadMore","loadMoreLoading","listQueryVariables","setListQueryVariables","sorters","filter","setFilter","viewConfig","useContentEntriesViewConfig","loadMoreOnScroll","useCallback","debounce","scrollFrame","top","formInitialData","sort","appliesToContentModel","modelIds","length","includes","modelId","entriesDataListModalOverlay","useMemo","status","Bind","map","value","label","filters","name","element","pluralize","plugin","title","item","meta","time","savedOn","statusLabels","version"],"sources":["ContentEntriesList.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport pluralize from \"pluralize\";\nimport styled from \"@emotion/styled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport * as UIList from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\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 SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport statusLabels from \"../../constants/statusLabels\";\nimport { useCallback } from \"react\";\nimport { useContentEntriesList } from \"~/admin/views/contentEntries/hooks/useContentEntriesList\";\nimport { positionValues as PositionValues } from \"react-custom-scrollbars\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport {\n useContentEntriesViewConfig,\n ContentEntriesViewConfigFilter\n} from \"./experiment/ContentEntriesViewConfig\";\nimport { Link } from \"@webiny/react-router\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/contents/data-list\");\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst ModelId = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n});\n\nconst InlineLoaderWrapper = styled(\"div\")({\n position: \"absolute\",\n bottom: 0,\n left: 0,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: 40,\n backgroundColor: \"var(--mdc-theme-surface)\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\nconst disabled = css({\n color: \"rgba(0, 0, 0, 0.54)\",\n cursor: \"default\"\n});\n\nconst ContentEntriesList: React.FC = () => {\n const {\n contentModel,\n id,\n loading,\n canCreate,\n onCreate,\n data,\n editEntry,\n loadMore,\n loadMoreLoading,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n filter,\n setFilter\n } = useContentEntriesList();\n\n const viewConfig = useContentEntriesViewConfig();\n\n const loadMoreOnScroll = useCallback(\n debounce((scrollFrame: PositionValues) => {\n if (scrollFrame.top > 0.9) {\n loadMore();\n }\n }, 500),\n [data]\n );\n\n const formInitialData = {\n ...listQueryVariables,\n sort: listQueryVariables.sort ? listQueryVariables.sort[0] : \"\"\n };\n\n const appliesToContentModel = useCallback(\n ({ modelIds }: ContentEntriesViewConfigFilter) => {\n return modelIds.length === 0 || modelIds.includes(contentModel.modelId);\n },\n [contentModel]\n );\n\n const entriesDataListModalOverlay = useMemo(\n () => (\n <UIList.DataListModalOverlay>\n <Form\n data={formInitialData}\n onChange={({ sort, status, ...data }) => {\n setListQueryVariables(() => ({\n status,\n // GraphQL Schema requires \"sort\" to be an array.\n sort: [sort],\n // Spread the rest of form data\n ...data\n }));\n }}\n >\n {({ Bind }) => (\n <Grid>\n <Cell span={12}>\n <Bind name={\"sort\"}>\n <Select label={t`Sort by`}>\n {sorters.map(({ value, label }) => {\n return (\n <option key={value} value={value}>\n {label}\n </option>\n );\n })}\n </Select>\n </Bind>\n </Cell>\n {viewConfig.filters.filter(appliesToContentModel).map(filter => (\n <Cell span={12} key={filter.name}>\n {filter.element}\n </Cell>\n ))}\n </Grid>\n )}\n </Form>\n </UIList.DataListModalOverlay>\n ),\n [listQueryVariables, viewConfig.filters]\n );\n\n return (\n <UIList.DataList\n loading={loading}\n data={data}\n title={\n <span>\n {pluralize(contentModel.name)}\n <br />\n <Typography use={\"subtitle1\"}>\n <ModelId>\n Model ID:{\" \"}\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <Link to=\"#\" className={disabled}>\n {contentModel.modelId}\n </Link>\n </Tooltip>\n ) : (\n <Tooltip content={t`Edit content model`} placement={\"top\"}>\n <Link to={`/cms/content-models/${contentModel.modelId}`}>\n {contentModel.modelId}\n </Link>\n </Tooltip>\n )}\n </ModelId>\n </Typography>\n </span>\n }\n actions={\n canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search {title}`({ title: pluralize(contentModel.name) })}\n />\n }\n modalOverlay={entriesDataListModalOverlay}\n modalOverlayAction={\n <UIList.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: CmsEditorContentEntry[] }) => (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll(scrollFrame)}\n >\n {data.map(item => (\n <UIList.ListItem\n key={item.id}\n className={listItemMinHeight}\n selected={item.id === id}\n >\n <UIList.ListItemText onClick={editEntry(item)}>\n {item.meta.title || \"Untitled\"}\n <UIList.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: <TimeAgo datetime={item.savedOn} />\n })}\n </UIList.ListItemTextSecondary>\n </UIList.ListItemText>\n\n <UIList.ListItemMeta className={rightAlign}>\n <Typography use={\"body2\"} data-testid=\"ul.list.subtitle\">\n {statusLabels[item.meta.status]} (v{item.meta.version})\n </Typography>\n </UIList.ListItemMeta>\n </UIList.ListItem>\n ))}\n </Scrollbar>\n {loadMoreLoading && (\n <InlineLoaderWrapper>\n <Typography use={\"overline\"}>{t`Loading more entries...`}</Typography>\n </InlineLoaderWrapper>\n )}\n </>\n )}\n </UIList.DataList>\n );\n};\n\nexport default ContentEntriesList;\n"],"mappings":"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"}
|
|
@@ -33,6 +33,8 @@ var _utils = require("@webiny/utils");
|
|
|
33
33
|
|
|
34
34
|
var _contentEntries = require("../../../graphql/contentEntries");
|
|
35
35
|
|
|
36
|
+
var _getFetchPolicy = require("../../../../utils/getFetchPolicy");
|
|
37
|
+
|
|
36
38
|
var Context = /*#__PURE__*/_react.default.createContext(undefined);
|
|
37
39
|
|
|
38
40
|
exports.Context = Context;
|
|
@@ -112,10 +114,12 @@ var Provider = function Provider(_ref) {
|
|
|
112
114
|
var contentId = typeof getContentId === "function" ? getContentId() : contentEntryProviderProps.getContentId();
|
|
113
115
|
var revisionId = contentId ? decodeURIComponent(contentId) : null;
|
|
114
116
|
var entryId = null;
|
|
117
|
+
var version = null;
|
|
115
118
|
|
|
116
119
|
if (revisionId) {
|
|
117
120
|
var result = (0, _utils.parseIdentifier)(revisionId);
|
|
118
|
-
entryId = result
|
|
121
|
+
entryId = result.id;
|
|
122
|
+
version = result.version;
|
|
119
123
|
}
|
|
120
124
|
|
|
121
125
|
var tabsRef = (0, _react.useRef)();
|
|
@@ -140,11 +144,22 @@ var Provider = function Provider(_ref) {
|
|
|
140
144
|
var createEntry = (0, _react.useCallback)(function () {
|
|
141
145
|
history.push("/cms/content-entries/".concat(contentModel.modelId, "?new=true"));
|
|
142
146
|
}, [contentModel.modelId]);
|
|
147
|
+
var variables;
|
|
148
|
+
|
|
149
|
+
if (version === null && entryId) {
|
|
150
|
+
variables = {
|
|
151
|
+
entryId: entryId
|
|
152
|
+
};
|
|
153
|
+
} else {
|
|
154
|
+
variables = {
|
|
155
|
+
revision: revisionId
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
143
159
|
var getEntry = (0, _hooks.useQuery)(READ_CONTENT, {
|
|
144
|
-
variables:
|
|
145
|
-
revision: revisionId || ""
|
|
146
|
-
},
|
|
160
|
+
variables: variables,
|
|
147
161
|
skip: !revisionId,
|
|
162
|
+
fetchPolicy: (0, _getFetchPolicy.getFetchPolicy)(contentModel),
|
|
148
163
|
onCompleted: function onCompleted(data) {
|
|
149
164
|
if (!data) {
|
|
150
165
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Context","React","createContext","undefined","useContentEntryProviderProps","useRouter","location","query","URLSearchParams","search","isNewEntry","get","getContentId","Provider","children","useContentEntries","contentModel","canCreate","listQueryVariables","setListQueryVariables","sorters","formRef","useRef","submit","history","useSnackbar","showSnackbar","useState","isLoading","setLoading","contentEntryProviderProps","newEntry","contentId","revisionId","decodeURIComponent","entryId","result","parseIdentifier","id","tabsRef","useMemo","READ_CONTENT","createReadQuery","modelId","GET_REVISIONS","createRevisionsQuery","setFormRef","useCallback","form","current","createEntry","push","getEntry","useQuery","variables","revision","skip","onCompleted","data","error","content","message","getRevisions","loading","entry","value","revisions","refetchContent","refetch","showEmptyView","isEmpty","displayName"],"sources":["ContentEntryContext.tsx"],"sourcesContent":["import React, {\n useRef,\n useState,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction,\n MutableRefObject,\n RefObject\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 } from \"~/types\";\nimport { TabsImperativeApi } 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>;\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 tabsRef: RefObject<TabsImperativeApi | undefined>;\n showEmptyView: boolean;\n}\n\nexport const Context = React.createContext<ContentEntryContext | undefined>(undefined);\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 { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [isLoading, setLoading] = useState<boolean>(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: string | null = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result ? result.id : null;\n }\n\n const tabsRef = useRef<TabsImperativeApi>();\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 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: revisionId || \"\"\n },\n skip: !revisionId,\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: ContentEntryContext = {\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 tabsRef,\n showEmptyView: !newEntry && !loading && isEmpty(entry)\n };\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nProvider.displayName = \"ContentEntryProvider\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Context","React","createContext","undefined","useContentEntryProviderProps","useRouter","location","query","URLSearchParams","search","isNewEntry","get","getContentId","Provider","children","useContentEntries","contentModel","canCreate","listQueryVariables","setListQueryVariables","sorters","formRef","useRef","submit","history","useSnackbar","showSnackbar","useState","isLoading","setLoading","contentEntryProviderProps","newEntry","contentId","revisionId","decodeURIComponent","entryId","version","result","parseIdentifier","id","tabsRef","useMemo","READ_CONTENT","createReadQuery","modelId","GET_REVISIONS","createRevisionsQuery","setFormRef","useCallback","form","current","createEntry","push","variables","revision","getEntry","useQuery","skip","fetchPolicy","getFetchPolicy","onCompleted","data","error","content","message","getRevisions","loading","entry","value","revisions","refetchContent","refetch","showEmptyView","isEmpty","displayName"],"sources":["ContentEntryContext.tsx"],"sourcesContent":["import React, {\n useRef,\n useState,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction,\n MutableRefObject,\n RefObject\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 } from \"~/types\";\nimport { TabsImperativeApi } 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\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy\";\n\ninterface ContentEntryContextForm {\n submit: (ev: React.SyntheticEvent) => Promise<CmsEditorContentEntry | null>;\n}\ntype ContentEntryContextFormRef = MutableRefObject<ContentEntryContextForm>;\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 tabsRef: RefObject<TabsImperativeApi | undefined>;\n showEmptyView: boolean;\n}\n\nexport const Context = React.createContext<ContentEntryContext | undefined>(undefined);\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 { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [isLoading, setLoading] = useState<boolean>(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: string | null = null;\n let version: number | null = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result.id;\n version = result.version;\n }\n\n const tabsRef = useRef<TabsImperativeApi>();\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 createEntry = useCallback((): void => {\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true`);\n }, [contentModel.modelId]);\n\n let variables: CmsEntryGetQueryVariables | undefined;\n if (version === null && entryId) {\n variables = {\n entryId\n };\n } else {\n variables = {\n revision: revisionId as string\n };\n }\n\n const getEntry = useQuery<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>(READ_CONTENT, {\n variables,\n skip: !revisionId,\n fetchPolicy: getFetchPolicy(contentModel),\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 = (get(getEntry, \"data.content.data\") as unknown as CmsEditorContentEntry) || {};\n\n const value: ContentEntryContext = {\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 tabsRef,\n showEmptyView: !newEntry && !loading && isEmpty(entry)\n };\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nProvider.displayName = \"ContentEntryProvider\";\n"],"mappings":"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"}
|
|
@@ -23,8 +23,6 @@ var _Icon = require("@webiny/ui/Icon");
|
|
|
23
23
|
|
|
24
24
|
var _Menu = require("@webiny/ui/Menu");
|
|
25
25
|
|
|
26
|
-
var _ConfirmationDialog = require("@webiny/ui/ConfirmationDialog");
|
|
27
|
-
|
|
28
26
|
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
29
27
|
|
|
30
28
|
var _more_vert = require("../../../icons/more_vert.svg");
|
|
@@ -53,6 +51,8 @@ var _useContentEntry2 = require("../hooks/useContentEntry");
|
|
|
53
51
|
|
|
54
52
|
var _PublishEntryRevisionListItem = require("./PublishEntryRevisionListItem");
|
|
55
53
|
|
|
54
|
+
var _appAdmin = require("@webiny/app-admin");
|
|
55
|
+
|
|
56
56
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
57
57
|
|
|
58
58
|
var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/content-details/content-revisions");
|
|
@@ -110,6 +110,14 @@ var RevisionListItem = function RevisionListItem(_ref) {
|
|
|
110
110
|
unpublishRevision = _useRevision.unpublishRevision,
|
|
111
111
|
editRevision = _useRevision.editRevision;
|
|
112
112
|
|
|
113
|
+
var _useConfirmationDialo = (0, _appAdmin.useConfirmationDialog)({
|
|
114
|
+
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Delete content entry revision"]))),
|
|
115
|
+
message: /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You are about to delete revision {revision}. Are you sure you want to continue?"])))({
|
|
116
|
+
revision: /*#__PURE__*/_react.default.createElement("strong", null, "#", revision.meta.version)
|
|
117
|
+
}))
|
|
118
|
+
}),
|
|
119
|
+
showConfirmation = _useConfirmationDialo.showConfirmation;
|
|
120
|
+
|
|
113
121
|
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
114
122
|
entry = _useContentEntry.entry,
|
|
115
123
|
tabsRef = _useContentEntry.tabsRef;
|
|
@@ -124,65 +132,57 @@ var RevisionListItem = function RevisionListItem(_ref) {
|
|
|
124
132
|
icon = _getIcon.icon,
|
|
125
133
|
tooltipText = _getIcon.text;
|
|
126
134
|
|
|
127
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
icon: /*#__PURE__*/_react.default.createElement(_add.ReactComponent, null)
|
|
155
|
-
})), t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["New from current"])))), !revision.meta.locked && canEdit(entry, "cms.contentEntry") && /*#__PURE__*/_react.default.createElement(_Menu.MenuItem, {
|
|
156
|
-
onClick: function onClick() {
|
|
157
|
-
editRevision();
|
|
158
|
-
|
|
159
|
-
if (!tabsRef.current) {
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
tabsRef.current.switchTab(0);
|
|
135
|
+
return /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
136
|
+
content: tooltipText,
|
|
137
|
+
placement: "bottom"
|
|
138
|
+
}, icon)), /*#__PURE__*/_react.default.createElement(_List.ListItemText, null, /*#__PURE__*/_react.default.createElement(_List.ListItemTextPrimary, null, revision.meta.title || t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["N/A"])))), /*#__PURE__*/_react.default.createElement(_List.ListItemTextSecondary, null, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Last modified {time} (#{version})"])))({
|
|
139
|
+
time: /*#__PURE__*/_react.default.createElement(_timeagoReact.default, {
|
|
140
|
+
datetime: revision.savedOn
|
|
141
|
+
}),
|
|
142
|
+
version: revision.meta.version
|
|
143
|
+
}))), /*#__PURE__*/_react.default.createElement(_List.ListItemMeta, null, /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
|
|
144
|
+
handle: /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
145
|
+
icon: /*#__PURE__*/_react.default.createElement(_more_vert.ReactComponent, null)
|
|
146
|
+
}),
|
|
147
|
+
className: revisionsMenu,
|
|
148
|
+
"data-testid": "cms.content-form.revisions.more-options"
|
|
149
|
+
}, canEdit(entry, "cms.contentEntry") && /*#__PURE__*/_react.default.createElement(_Menu.MenuItem, {
|
|
150
|
+
onClick: function onClick() {
|
|
151
|
+
return createRevision(revision.id);
|
|
152
|
+
},
|
|
153
|
+
"data-testid": "cms.revision.create-revision"
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
155
|
+
icon: /*#__PURE__*/_react.default.createElement(_add.ReactComponent, null)
|
|
156
|
+
})), t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["New from current"])))), !revision.meta.locked && canEdit(entry, "cms.contentEntry") && /*#__PURE__*/_react.default.createElement(_Menu.MenuItem, {
|
|
157
|
+
onClick: function onClick() {
|
|
158
|
+
editRevision();
|
|
159
|
+
|
|
160
|
+
if (!tabsRef.current) {
|
|
161
|
+
return;
|
|
164
162
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
}
|
|
163
|
+
|
|
164
|
+
tabsRef.current.switchTab(0);
|
|
165
|
+
}
|
|
166
|
+
}, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
167
|
+
icon: /*#__PURE__*/_react.default.createElement(_edit.ReactComponent, null)
|
|
168
|
+
})), t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)([" Edit"])))), revision.meta.status !== "published" && canPublish("cms.contentEntry") && /*#__PURE__*/_react.default.createElement(_Menu.MenuItem, {
|
|
169
|
+
onClick: function onClick() {
|
|
170
|
+
return publishRevision(revision.id);
|
|
171
|
+
}
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement(_PublishEntryRevisionListItem.PublishEntryRevisionListItem, null)), revision.meta.status === "published" && canUnpublish("cms.contentEntry") && /*#__PURE__*/_react.default.createElement(_Menu.MenuItem, {
|
|
173
|
+
onClick: function onClick() {
|
|
174
|
+
return unpublishRevision(revision.id);
|
|
175
|
+
},
|
|
176
|
+
"data-testid": "cms.revision.unpublish"
|
|
177
|
+
}, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
178
|
+
icon: /*#__PURE__*/_react.default.createElement(_unpublish.ReactComponent, null)
|
|
179
|
+
})), t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Unpublish"])))), !revision.meta.locked && canDelete(entry, "cms.contentEntry") && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Menu.MenuDivider, null), /*#__PURE__*/_react.default.createElement(_Menu.MenuItem, {
|
|
180
|
+
onClick: function onClick() {
|
|
181
|
+
return showConfirmation(deleteRevision);
|
|
182
|
+
}
|
|
183
|
+
}, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
184
|
+
icon: /*#__PURE__*/_react.default.createElement(_delete.ReactComponent, null)
|
|
185
|
+
})), t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)([" Delete"]))))))));
|
|
186
186
|
};
|
|
187
187
|
|
|
188
188
|
var _default = RevisionListItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","primaryColor","css","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","text","RevisionListItem","revision","useRevision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","useContentEntry","entry","tabsRef","usePermission","canEdit","canDelete","canPublish","canUnpublish","tooltipText","version","showConfirmation","title","time","savedOn","id","current","switchTab"],"sources":["RevisionListItem.tsx"],"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 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\";\nimport { PublishEntryRevisionListItem } from \"./PublishEntryRevisionListItem\";\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, tabsRef } = 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 (!tabsRef.current) {\n return;\n }\n tabsRef.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 <PublishEntryRevisionListItem />\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","primaryColor","css","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","text","RevisionListItem","revision","useRevision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","useConfirmationDialog","title","message","version","showConfirmation","useContentEntry","entry","tabsRef","usePermission","canEdit","canDelete","canPublish","canUnpublish","tooltipText","time","savedOn","id","current","switchTab"],"sources":["RevisionListItem.tsx"],"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 { 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 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\";\nimport { PublishEntryRevisionListItem } from \"./PublishEntryRevisionListItem\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\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 { showConfirmation } = useConfirmationDialog({\n title: t`Delete content entry revision`,\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 const { entry, tabsRef } = useContentEntry();\n const { canEdit, canDelete, canPublish, canUnpublish } = usePermission();\n const { icon, text: tooltipText } = getIcon(revision);\n\n return (\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 (!tabsRef.current) {\n return;\n }\n tabsRef.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\" && canPublish(\"cms.contentEntry\") && (\n <MenuItem onClick={() => publishRevision(revision.id)}>\n <PublishEntryRevisionListItem />\n </MenuItem>\n )}\n\n {revision.meta.status === \"published\" && 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};\n\nexport default RevisionListItem;\n"],"mappings":"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"}
|
|
@@ -23,6 +23,10 @@ var GQL = _interopRequireWildcard(require("../../../graphql/contentEntries"));
|
|
|
23
23
|
|
|
24
24
|
var _utils = require("@webiny/utils");
|
|
25
25
|
|
|
26
|
+
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
27
|
+
|
|
28
|
+
var _getModelTitleFieldId = require("../../../../utils/getModelTitleFieldId");
|
|
29
|
+
|
|
26
30
|
/*
|
|
27
31
|
* We need to preserve the order of entries with new entry addition
|
|
28
32
|
* because we're not re-fetching the list but updating it directly inside cache.
|
|
@@ -64,7 +68,7 @@ var addEntryToListCache = function addEntryToListCache(model, cache, entry, vari
|
|
|
64
68
|
cache.writeQuery((0, _objectSpread2.default)((0, _objectSpread2.default)({}, gqlParams), {}, {
|
|
65
69
|
data: {
|
|
66
70
|
content: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, content), {}, {
|
|
67
|
-
data: sortEntries([entry].concat((0, _toConsumableArray2.default)(content.data)), variables.sort)
|
|
71
|
+
data: sortEntries([(0, _pick.default)(entry, ["id", (0, _getModelTitleFieldId.getModelTitleFieldId)(model), "savedOn", "modelId", "createdBy", "meta", "__typename"])].concat((0, _toConsumableArray2.default)(content.data)), variables.sort)
|
|
68
72
|
})
|
|
69
73
|
}
|
|
70
74
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sortEntries","list","sort","Array","isArray","console","warn","length","sortBy","split","key","value","order","toLowerCase","orderBy","addEntryToListCache","model","cache","entry","variables","gqlParams","query","GQL","createListQuery","response","readQuery","content","data","writeQuery","updateLatestRevisionInListCache","revision","parseIdentifier","id","uniqueId","index","findIndex","item","startsWith","dotProp","set","removeEntryFromListCache","entryId","delete","removeRevisionFromEntryCache","createRevisionsQuery","revisions","filter","addRevisionToRevisionsCache","unpublishPreviouslyPublishedRevision","publishedId","prevPublished","find","meta","status","map"],"sources":["cache.ts"],"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.warn(\"Sort is not an Array of strings.\");\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 { id: uniqueId } = parseIdentifier(revision.id);\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 { id } = parseIdentifier(revision.id);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\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 } = response;\n\n const data = revisions.data.filter(item => {\n return item.id !== revision.id;\n });\n\n const query = {\n ...gqlParams,\n data: {\n revisions: {\n ...revisions,\n data\n }\n }\n };\n\n cache.writeQuery(query);\n\n return data;\n};\n\nexport const addRevisionToRevisionsCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): void => {\n const { id } = parseIdentifier(revision.id);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\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 { id } = parseIdentifier(publishedId);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response?.revisions?.data) {\n return;\n }\n const { revisions } = response;\n\n const prevPublished = revisions.data.find(\n item => item.id !== publishedId && item.meta.status === \"published\"\n );\n\n if (!prevPublished) {\n return;\n }\n\n const query: DataProxy.WriteQueryOptions<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n > = {\n ...gqlParams,\n data: {\n revisions: {\n ...revisions,\n data: revisions.data.map(revision => {\n if (revision.id !== prevPublished.id) {\n return {\n ...revision\n };\n }\n return {\n ...revision,\n meta: {\n ...revision.meta,\n status: \"unpublished\"\n }\n };\n })\n }\n }\n };\n\n cache.writeQuery(query);\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["sortEntries","list","sort","Array","isArray","console","warn","length","sortBy","split","key","value","order","toLowerCase","orderBy","addEntryToListCache","model","cache","entry","variables","gqlParams","query","GQL","createListQuery","response","readQuery","content","data","writeQuery","pick","getModelTitleFieldId","updateLatestRevisionInListCache","revision","parseIdentifier","id","uniqueId","index","findIndex","item","startsWith","dotProp","set","removeEntryFromListCache","entryId","delete","removeRevisionFromEntryCache","createRevisionsQuery","revisions","filter","addRevisionToRevisionsCache","unpublishPreviouslyPublishedRevision","publishedId","prevPublished","find","meta","status","map"],"sources":["cache.ts"],"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\";\nimport pick from \"lodash/pick\";\nimport { getModelTitleFieldId } from \"~/utils/getModelTitleFieldId\";\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.warn(\"Sort is not an Array of strings.\");\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(\n [\n pick(entry, [\n \"id\",\n getModelTitleFieldId(model),\n \"savedOn\",\n \"modelId\",\n \"createdBy\",\n \"meta\",\n \"__typename\"\n ]) as CmsEditorContentEntry,\n ...content.data\n ],\n variables.sort\n )\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 { id: uniqueId } = parseIdentifier(revision.id);\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 { id } = parseIdentifier(revision.id);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\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 } = response;\n\n const data = revisions.data.filter(item => {\n return item.id !== revision.id;\n });\n\n const query = {\n ...gqlParams,\n data: {\n revisions: {\n ...revisions,\n data\n }\n }\n };\n\n cache.writeQuery(query);\n\n return data;\n};\n\nexport const addRevisionToRevisionsCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): void => {\n const { id } = parseIdentifier(revision.id);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\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 { id } = parseIdentifier(publishedId);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response?.revisions?.data) {\n return;\n }\n const { revisions } = response;\n\n const prevPublished = revisions.data.find(\n item => item.id !== publishedId && item.meta.status === \"published\"\n );\n\n if (!prevPublished) {\n return;\n }\n\n const query: DataProxy.WriteQueryOptions<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n > = {\n ...gqlParams,\n data: {\n revisions: {\n ...revisions,\n data: revisions.data.map(revision => {\n if (revision.id !== prevPublished.id) {\n return {\n ...revision\n };\n }\n return {\n ...revision,\n meta: {\n ...revision.meta,\n status: \"unpublished\"\n }\n };\n })\n }\n }\n };\n\n cache.writeQuery(query);\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<
|
|
1
|
+
export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<unknown>;
|
|
@@ -1,90 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.RequestChanges = void 0;
|
|
9
7
|
|
|
10
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
|
-
var _Button = require("@webiny/ui/Button");
|
|
19
|
-
|
|
20
|
-
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
21
|
-
|
|
22
|
-
var _useConfirmationDialog = require("@webiny/app-admin/hooks/useConfirmationDialog");
|
|
23
|
-
|
|
24
|
-
var _i18n = require("@webiny/app/i18n");
|
|
25
|
-
|
|
26
|
-
var _rule24px = require("./rule-24px.svg");
|
|
27
|
-
|
|
28
|
-
var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
|
|
29
|
-
|
|
30
|
-
var _useRevision2 = require("../../useRevision");
|
|
31
|
-
|
|
32
|
-
var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
33
|
-
|
|
34
8
|
var _reactComposition = require("@webiny/react-composition");
|
|
35
9
|
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var RequestChangesComponent = function RequestChangesComponent() {
|
|
41
|
-
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
42
|
-
entry = _useContentEntry.entry;
|
|
43
|
-
|
|
44
|
-
var _useRevision = (0, _useRevision2.useRevision)({
|
|
45
|
-
revision: entry
|
|
46
|
-
}),
|
|
47
|
-
requestChanges = _useRevision.requestChanges;
|
|
48
|
-
|
|
49
|
-
var _usePermission = (0, _usePermission2.default)(),
|
|
50
|
-
canRequestChange = _usePermission.canRequestChange;
|
|
51
|
-
|
|
52
|
-
var _useConfirmationDialo = (0, _useConfirmationDialog.useConfirmationDialog)({
|
|
53
|
-
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Request Changes"]))),
|
|
54
|
-
message: /*#__PURE__*/_react.default.createElement("p", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You are about to request changes on this content entry. Are you sure you want to continue?"]))))
|
|
55
|
-
}),
|
|
56
|
-
showConfirmation = _useConfirmationDialo.showConfirmation;
|
|
57
|
-
|
|
58
|
-
if (!canRequestChange("cms.contentEntry")) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
var buttonEnabled = entry.id && (entry.meta.status === "draft" || entry.meta.status === "reviewRequested");
|
|
63
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
64
|
-
content: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Request Changes"]))),
|
|
65
|
-
placement: "top"
|
|
66
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
67
|
-
disabled: !buttonEnabled,
|
|
68
|
-
icon: /*#__PURE__*/_react.default.createElement(_rule24px.ReactComponent, null),
|
|
69
|
-
onClick: function onClick() {
|
|
70
|
-
return showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
71
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
72
|
-
while (1) {
|
|
73
|
-
switch (_context.prev = _context.next) {
|
|
74
|
-
case 0:
|
|
75
|
-
_context.next = 2;
|
|
76
|
-
return requestChanges(entry.id);
|
|
77
|
-
|
|
78
|
-
case 2:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context.stop();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}, _callee);
|
|
84
|
-
})));
|
|
85
|
-
}
|
|
86
|
-
})));
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", RequestChangesComponent);
|
|
10
|
+
var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", function () {
|
|
11
|
+
return null;
|
|
12
|
+
});
|
|
90
13
|
exports.RequestChanges = RequestChanges;
|