@webiny/app-headless-cms 0.0.0-mt-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +18 -0
- package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +8 -0
- package/admin/components/ContentEntryForm/ContentEntryForm.js +68 -0
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.d.ts +7 -0
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +43 -0
- package/admin/components/ContentEntryForm/Fields.d.ts +12 -0
- package/admin/components/ContentEntryForm/Fields.js +33 -0
- package/admin/components/ContentEntryForm/Label.d.ts +5 -0
- package/admin/components/ContentEntryForm/Label.js +20 -0
- package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +8 -0
- package/admin/components/ContentEntryForm/RenderFieldElement.js +40 -0
- package/admin/components/ContentEntryForm/functions/createValidators.d.ts +1 -0
- package/admin/components/ContentEntryForm/functions/createValidators.js +58 -0
- package/admin/components/ContentEntryForm/functions/getValue.d.ts +5 -0
- package/admin/components/ContentEntryForm/functions/getValue.js +20 -0
- package/admin/components/ContentEntryForm/functions/setValue.d.ts +6 -0
- package/admin/components/ContentEntryForm/functions/setValue.js +20 -0
- package/admin/components/ContentEntryForm/useBind.d.ts +10 -0
- package/admin/components/ContentEntryForm/useBind.js +76 -0
- package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +22 -0
- package/admin/components/ContentEntryForm/useContentEntryForm.js +338 -0
- package/admin/components/ContentEntryForm/useRenderPlugins.d.ts +2 -0
- package/admin/components/ContentEntryForm/useRenderPlugins.js +7 -0
- package/admin/components/ContentModelEditor/Context.d.ts +23 -0
- package/admin/components/ContentModelEditor/Context.js +218 -0
- package/admin/components/ContentModelEditor/Editor.d.ts +3 -0
- package/admin/components/ContentModelEditor/Editor.js +138 -0
- package/admin/components/ContentModelEditor/FieldsSidebar.d.ts +4 -0
- package/admin/components/ContentModelEditor/FieldsSidebar.js +91 -0
- package/admin/components/ContentModelEditor/Header.d.ts +2 -0
- package/admin/components/ContentModelEditor/Header.js +24 -0
- package/admin/components/ContentModelEditor/PreviewTab.d.ts +2 -0
- package/admin/components/ContentModelEditor/PreviewTab.js +36 -0
- package/admin/components/ContentModelEditor/icons/round-assignment-24px.svg +4 -0
- package/admin/components/ContentModelEditor/icons/round-drag_indicator-24px.svg +4 -0
- package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -0
- package/admin/components/ContentModelEditor/useContentModelEditor.js +11 -0
- package/admin/components/DragPreview.d.ts +2 -0
- package/admin/components/DragPreview.js +98 -0
- package/admin/components/Draggable.d.ts +14 -0
- package/admin/components/Draggable.js +49 -0
- package/admin/components/DropZone/Center.d.ts +12 -0
- package/admin/components/DropZone/Center.js +60 -0
- package/admin/components/DropZone/Horizontal.d.ts +9 -0
- package/admin/components/DropZone/Horizontal.js +83 -0
- package/admin/components/DropZone/Vertical.d.ts +10 -0
- package/admin/components/DropZone/Vertical.js +79 -0
- package/admin/components/DropZone/index.d.ts +4 -0
- package/admin/components/DropZone/index.js +4 -0
- package/admin/components/Droppable.d.ts +23 -0
- package/admin/components/Droppable.js +45 -0
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +3 -0
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +83 -0
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +10 -0
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +120 -0
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +5 -0
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +55 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +10 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +121 -0
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +6 -0
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +16 -0
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +7 -0
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +21 -0
- package/admin/components/FieldEditor/EditFieldDialog.d.ts +9 -0
- package/admin/components/FieldEditor/EditFieldDialog.js +231 -0
- package/admin/components/FieldEditor/Field.d.ts +3 -0
- package/admin/components/FieldEditor/Field.js +179 -0
- package/admin/components/FieldEditor/FieldEditor.d.ts +12 -0
- package/admin/components/FieldEditor/FieldEditor.js +166 -0
- package/admin/components/FieldEditor/FieldEditorContext.d.ts +53 -0
- package/admin/components/FieldEditor/FieldEditorContext.js +330 -0
- package/admin/components/FieldEditor/Styled.d.ts +6 -0
- package/admin/components/FieldEditor/Styled.js +54 -0
- package/admin/components/FieldEditor/index.d.ts +2 -0
- package/admin/components/FieldEditor/index.js +2 -0
- package/admin/components/FieldEditor/useFieldEditor.d.ts +1 -0
- package/admin/components/FieldEditor/useFieldEditor.js +5 -0
- package/admin/components/FieldEditor/utils/deleteField.d.ts +10 -0
- package/admin/components/FieldEditor/utils/deleteField.js +34 -0
- package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +6 -0
- package/admin/components/FieldEditor/utils/getFieldPosition.js +20 -0
- package/admin/components/FieldEditor/utils/index.d.ts +4 -0
- package/admin/components/FieldEditor/utils/index.js +4 -0
- package/admin/components/FieldEditor/utils/moveField.d.ts +7 -0
- package/admin/components/FieldEditor/utils/moveField.js +51 -0
- package/admin/components/FieldEditor/utils/moveRow.d.ts +9 -0
- package/admin/components/FieldEditor/utils/moveRow.js +10 -0
- package/admin/constants/statusLabels.d.ts +8 -0
- package/admin/constants/statusLabels.js +13 -0
- package/admin/contexts/Cms/NetworkError.d.ts +2 -0
- package/admin/contexts/Cms/NetworkError.js +7 -0
- package/admin/contexts/Cms/index.d.ts +16 -0
- package/admin/contexts/Cms/index.js +43 -0
- package/admin/elements/ContentGroupMenuElement.d.ts +3 -0
- package/admin/elements/ContentGroupMenuElement.js +17 -0
- package/admin/elements/ContentModelMenuElement.d.ts +3 -0
- package/admin/elements/ContentModelMenuElement.js +17 -0
- package/admin/elements/NothingToShowElement.d.ts +15 -0
- package/admin/elements/NothingToShowElement.js +88 -0
- package/admin/graphql/contentEntries.d.ts +12 -0
- package/admin/graphql/contentEntries.js +68 -0
- package/admin/graphql/contentModels.d.ts +4 -0
- package/admin/graphql/contentModels.js +9 -0
- package/admin/graphql/createFieldsList.d.ts +2 -0
- package/admin/graphql/createFieldsList.js +21 -0
- package/admin/hooks/index.d.ts +5 -0
- package/admin/hooks/index.js +5 -0
- package/admin/hooks/useApolloClient.d.ts +2 -0
- package/admin/hooks/useApolloClient.js +10 -0
- package/admin/hooks/useCms.d.ts +3 -0
- package/admin/hooks/useCms.js +14 -0
- package/admin/hooks/useLazyQuery.d.ts +2 -0
- package/admin/hooks/useLazyQuery.js +16 -0
- package/admin/hooks/useMutation.d.ts +2 -0
- package/admin/hooks/useMutation.js +16 -0
- package/admin/hooks/usePermission.d.ts +27 -0
- package/admin/hooks/usePermission.js +218 -0
- package/admin/hooks/useQuery.d.ts +2 -0
- package/admin/hooks/useQuery.js +17 -0
- package/admin/icons/add.svg +5 -0
- package/admin/icons/arrow_forward-24px.svg +1 -0
- package/admin/icons/baseline-autorenew-24px.svg +4 -0
- package/admin/icons/beenhere.svg +1 -0
- package/admin/icons/call_split-24px.svg +4 -0
- package/admin/icons/close.svg +13 -0
- package/admin/icons/delete.svg +12 -0
- package/admin/icons/devices_other-black-24px.svg +1 -0
- package/admin/icons/done-24px.svg +1 -0
- package/admin/icons/edit.svg +17 -0
- package/admin/icons/emoji_people-24px.svg +1 -0
- package/admin/icons/gesture.svg +1 -0
- package/admin/icons/help_outline.svg +1 -0
- package/admin/icons/how_to_vote-24px.svg +4 -0
- package/admin/icons/info.svg +1 -0
- package/admin/icons/lock.svg +1 -0
- package/admin/icons/more_vert.svg +12 -0
- package/admin/icons/publish.svg +1 -0
- package/admin/icons/round-arrow_drop_down-24px.svg +12 -0
- package/admin/icons/round-drag_indicator-24px.svg +4 -0
- package/admin/icons/round-translate-24px.svg +4 -0
- package/admin/icons/rule-24px.svg +1 -0
- package/admin/icons/title-24px.svg +1 -0
- package/admin/icons/unpublish.svg +4 -0
- package/admin/icons/view_list.svg +1 -0
- package/admin/icons/visibility.svg +16 -0
- package/admin/plugins/apiInformation/index.d.ts +3 -0
- package/admin/plugins/apiInformation/index.js +59 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql +18 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql +15 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql +16 -0
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.d.ts +21 -0
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +61 -0
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.d.ts +10 -0
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +36 -0
- package/admin/plugins/editor/defaultBar/BackButton.d.ts +3 -0
- package/admin/plugins/editor/defaultBar/BackButton.js +21 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.d.ts +3 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +46 -0
- package/admin/plugins/editor/defaultBar/Divider.d.ts +3 -0
- package/admin/plugins/editor/defaultBar/Divider.js +11 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.d.ts +6 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +90 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.d.ts +3 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +27 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +6 -0
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +42 -0
- package/admin/plugins/editor/defaultBar/FormSettings/index.d.ts +1 -0
- package/admin/plugins/editor/defaultBar/FormSettings/index.js +1 -0
- package/admin/plugins/editor/defaultBar/Name/Name.d.ts +7 -0
- package/admin/plugins/editor/defaultBar/Name/Name.js +80 -0
- package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +5 -0
- package/admin/plugins/editor/defaultBar/Name/NameStyled.js +48 -0
- package/admin/plugins/editor/defaultBar/Name/index.d.ts +1 -0
- package/admin/plugins/editor/defaultBar/Name/index.js +1 -0
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.d.ts +3 -0
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +63 -0
- package/admin/plugins/editor/defaultBar/icons/more_vert.svg +12 -0
- package/admin/plugins/editor/defaultBar/icons/round-arrow_back-24px.svg +13 -0
- package/admin/plugins/editor/defaultBar/icons/round-arrow_drop_down-24px.svg +12 -0
- package/admin/plugins/editor/defaultBar/icons/settings.svg +25 -0
- package/admin/plugins/editor/defaultBar/index.d.ts +7 -0
- package/admin/plugins/editor/defaultBar/index.js +44 -0
- package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +7 -0
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +37 -0
- package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +3 -0
- package/admin/plugins/editor/formSettings/components/GroupSelect.js +30 -0
- package/admin/plugins/editor/formSettings/icons/round-settings-24px.svg +1 -0
- package/admin/plugins/editor/formSettings/index.d.ts +3 -0
- package/admin/plugins/editor/formSettings/index.js +14 -0
- package/admin/plugins/fieldRenderers/Accordion.d.ts +10 -0
- package/admin/plugins/fieldRenderers/Accordion.js +125 -0
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +14 -0
- package/admin/plugins/fieldRenderers/DynamicSection.js +103 -0
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.d.ts +3 -0
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +34 -0
- package/admin/plugins/fieldRenderers/boolean/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/boolean/index.js +2 -0
- package/admin/plugins/fieldRenderers/checkboxes.d.ts +3 -0
- package/admin/plugins/fieldRenderers/checkboxes.js +45 -0
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +9 -0
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +148 -0
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +115 -0
- package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +16 -0
- package/admin/plugins/fieldRenderers/dateTime/Input.js +26 -0
- package/admin/plugins/fieldRenderers/dateTime/Select.d.ts +3 -0
- package/admin/plugins/fieldRenderers/dateTime/Select.js +13 -0
- package/admin/plugins/fieldRenderers/dateTime/Time.d.ts +3 -0
- package/admin/plugins/fieldRenderers/dateTime/Time.js +13 -0
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.d.ts +3 -0
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +59 -0
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.d.ts +3 -0
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +84 -0
- package/admin/plugins/fieldRenderers/dateTime/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/dateTime/index.js +3 -0
- package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +15 -0
- package/admin/plugins/fieldRenderers/dateTime/utils.js +153 -0
- package/admin/plugins/fieldRenderers/file/File.d.ts +15 -0
- package/admin/plugins/fieldRenderers/file/File.js +79 -0
- package/admin/plugins/fieldRenderers/file/fileField.d.ts +3 -0
- package/admin/plugins/fieldRenderers/file/fileField.js +64 -0
- package/admin/plugins/fieldRenderers/file/fileFields.d.ts +3 -0
- package/admin/plugins/fieldRenderers/file/fileFields.js +125 -0
- package/admin/plugins/fieldRenderers/file/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/file/index.js +3 -0
- package/admin/plugins/fieldRenderers/file/utils.d.ts +7 -0
- package/admin/plugins/fieldRenderers/file/utils.js +51 -0
- package/admin/plugins/fieldRenderers/longText/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/longText/index.js +3 -0
- package/admin/plugins/fieldRenderers/longText/longText.d.ts +3 -0
- package/admin/plugins/fieldRenderers/longText/longText.js +36 -0
- package/admin/plugins/fieldRenderers/longText/longTexts.d.ts +3 -0
- package/admin/plugins/fieldRenderers/longText/longTexts.js +43 -0
- package/admin/plugins/fieldRenderers/number/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/number/index.js +3 -0
- package/admin/plugins/fieldRenderers/number/numberInput.d.ts +3 -0
- package/admin/plugins/fieldRenderers/number/numberInput.js +39 -0
- package/admin/plugins/fieldRenderers/number/numberInputs.d.ts +3 -0
- package/admin/plugins/fieldRenderers/number/numberInputs.js +50 -0
- package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +4 -0
- package/admin/plugins/fieldRenderers/object/StyledComponents.js +5 -0
- package/admin/plugins/fieldRenderers/object/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/object/index.js +3 -0
- package/admin/plugins/fieldRenderers/object/multipleObjects.d.ts +3 -0
- package/admin/plugins/fieldRenderers/object/multipleObjects.js +72 -0
- package/admin/plugins/fieldRenderers/object/singleObject.d.ts +3 -0
- package/admin/plugins/fieldRenderers/object/singleObject.js +45 -0
- package/admin/plugins/fieldRenderers/radioButtons.d.ts +3 -0
- package/admin/plugins/fieldRenderers/radioButtons.js +45 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +6 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +54 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +6 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +65 -0
- package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +1 -0
- package/admin/plugins/fieldRenderers/ref/components/getOptions.js +21 -0
- package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -0
- package/admin/plugins/fieldRenderers/ref/components/graphql.js +10 -0
- package/admin/plugins/fieldRenderers/ref/components/renderItem.d.ts +2 -0
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js +14 -0
- package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +22 -0
- package/admin/plugins/fieldRenderers/ref/components/useReference.js +240 -0
- package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +19 -0
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js +180 -0
- package/admin/plugins/fieldRenderers/ref/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/ref/index.js +3 -0
- package/admin/plugins/fieldRenderers/ref/refInput.d.ts +3 -0
- package/admin/plugins/fieldRenderers/ref/refInput.js +30 -0
- package/admin/plugins/fieldRenderers/ref/refInputs.d.ts +3 -0
- package/admin/plugins/fieldRenderers/ref/refInputs.js +37 -0
- package/admin/plugins/fieldRenderers/richText/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/richText/index.js +3 -0
- package/admin/plugins/fieldRenderers/richText/richTextInput.d.ts +3 -0
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +50 -0
- package/admin/plugins/fieldRenderers/richText/richTextInputs.d.ts +3 -0
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +79 -0
- package/admin/plugins/fieldRenderers/select.d.ts +3 -0
- package/admin/plugins/fieldRenderers/select.js +34 -0
- package/admin/plugins/fieldRenderers/text/index.d.ts +2 -0
- package/admin/plugins/fieldRenderers/text/index.js +3 -0
- package/admin/plugins/fieldRenderers/text/textInput.d.ts +3 -0
- package/admin/plugins/fieldRenderers/text/textInput.js +35 -0
- package/admin/plugins/fieldRenderers/text/textInputs.d.ts +3 -0
- package/admin/plugins/fieldRenderers/text/textInputs.js +46 -0
- package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -0
- package/admin/plugins/fieldValidators/date/availableValidators.js +11 -0
- package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +3 -0
- package/admin/plugins/fieldValidators/date/createDateInputField.js +33 -0
- package/admin/plugins/fieldValidators/dateGte.d.ts +3 -0
- package/admin/plugins/fieldValidators/dateGte.js +40 -0
- package/admin/plugins/fieldValidators/dateLte.d.ts +3 -0
- package/admin/plugins/fieldValidators/dateLte.js +40 -0
- package/admin/plugins/fieldValidators/gte.d.ts +3 -0
- package/admin/plugins/fieldValidators/gte.js +27 -0
- package/admin/plugins/fieldValidators/in.d.ts +3 -0
- package/admin/plugins/fieldValidators/in.js +26 -0
- package/admin/plugins/fieldValidators/lte.d.ts +3 -0
- package/admin/plugins/fieldValidators/lte.js +27 -0
- package/admin/plugins/fieldValidators/maxLength.d.ts +3 -0
- package/admin/plugins/fieldValidators/maxLength.js +27 -0
- package/admin/plugins/fieldValidators/minLength.d.ts +3 -0
- package/admin/plugins/fieldValidators/minLength.js +27 -0
- package/admin/plugins/fieldValidators/pattern.d.ts +3 -0
- package/admin/plugins/fieldValidators/pattern.js +74 -0
- package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +3 -0
- package/admin/plugins/fieldValidators/patternPlugins/email.js +9 -0
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +3 -0
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +9 -0
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +3 -0
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +9 -0
- package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +3 -0
- package/admin/plugins/fieldValidators/patternPlugins/url.js +9 -0
- package/admin/plugins/fieldValidators/required.d.ts +3 -0
- package/admin/plugins/fieldValidators/required.js +10 -0
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +6 -0
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +108 -0
- package/admin/plugins/fields/boolean.d.ts +3 -0
- package/admin/plugins/fields/boolean.js +31 -0
- package/admin/plugins/fields/dateTime.d.ts +3 -0
- package/admin/plugins/fields/dateTime.js +77 -0
- package/admin/plugins/fields/file.d.ts +3 -0
- package/admin/plugins/fields/file.js +46 -0
- package/admin/plugins/fields/icons/ballot_black_24dp.svg +1 -0
- package/admin/plugins/fields/icons/dropdown-icon.svg +16 -0
- package/admin/plugins/fields/icons/notes-black-24px.svg +1 -0
- package/admin/plugins/fields/icons/round-check_box-24px.svg +4 -0
- package/admin/plugins/fields/icons/round-link-24px.svg +1 -0
- package/admin/plugins/fields/icons/round-looks_3-24px.svg +4 -0
- package/admin/plugins/fields/icons/round-notes.svg +1 -0
- package/admin/plugins/fields/icons/round-radio_button_checked-24px.svg +5 -0
- package/admin/plugins/fields/icons/round-short_text.svg +1 -0
- package/admin/plugins/fields/icons/round-subject.svg +1 -0
- package/admin/plugins/fields/icons/round-text_fields-24px.svg +4 -0
- package/admin/plugins/fields/icons/round-visibility_off-24px.svg +4 -0
- package/admin/plugins/fields/icons/round_insert_drive_file-24px.svg +1 -0
- package/admin/plugins/fields/icons/schedule-black-24px.svg +1 -0
- package/admin/plugins/fields/icons/title-black-24px.svg +1 -0
- package/admin/plugins/fields/icons/toggle_on-black-24px.svg +1 -0
- package/admin/plugins/fields/longText.d.ts +3 -0
- package/admin/plugins/fields/longText.js +46 -0
- package/admin/plugins/fields/number.d.ts +3 -0
- package/admin/plugins/fields/number.js +63 -0
- package/admin/plugins/fields/object/ObjectFields.d.ts +4 -0
- package/admin/plugins/fields/object/ObjectFields.js +32 -0
- package/admin/plugins/fields/object.d.ts +3 -0
- package/admin/plugins/fields/object.js +46 -0
- package/admin/plugins/fields/ref.d.ts +3 -0
- package/admin/plugins/fields/ref.js +144 -0
- package/admin/plugins/fields/richText.d.ts +3 -0
- package/admin/plugins/fields/richText.js +45 -0
- package/admin/plugins/fields/text.d.ts +3 -0
- package/admin/plugins/fields/text.js +51 -0
- package/admin/plugins/getObjectId.d.ts +3 -0
- package/admin/plugins/getObjectId.js +13 -0
- package/admin/plugins/icons.d.ts +3 -0
- package/admin/plugins/icons.js +40 -0
- package/admin/plugins/index.d.ts +13 -0
- package/admin/plugins/index.js +14 -0
- package/admin/plugins/install.d.ts +3 -0
- package/admin/plugins/install.js +127 -0
- package/admin/plugins/menus/CmsMenuLoader.d.ts +7 -0
- package/admin/plugins/menus/CmsMenuLoader.js +76 -0
- package/admin/plugins/menus/ContentGroupsMenuItems.d.ts +6 -0
- package/admin/plugins/menus/ContentGroupsMenuItems.js +154 -0
- package/admin/plugins/menus/GlobalSearchPlugins.d.ts +8 -0
- package/admin/plugins/menus/GlobalSearchPlugins.js +53 -0
- package/admin/plugins/menus.d.ts +4 -0
- package/admin/plugins/menus.js +19 -0
- package/admin/plugins/permissionRenderer/CmsPermissions.d.ts +5 -0
- package/admin/plugins/permissionRenderer/CmsPermissions.js +340 -0
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +8 -0
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +117 -0
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +9 -0
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +77 -0
- package/admin/plugins/permissionRenderer/components/ContentModelList.d.ts +7 -0
- package/admin/plugins/permissionRenderer/components/ContentModelList.js +53 -0
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +10 -0
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +104 -0
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.d.ts +5 -0
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +28 -0
- package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +34 -0
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js +66 -0
- package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +2 -0
- package/admin/plugins/permissionRenderer/components/StyledComponents.js +10 -0
- package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +1 -0
- package/admin/plugins/permissionRenderer/components/useCmsData.js +79 -0
- package/admin/plugins/permissionRenderer/index.d.ts +3 -0
- package/admin/plugins/permissionRenderer/index.js +16 -0
- package/admin/plugins/routes.d.ts +3 -0
- package/admin/plugins/routes.js +88 -0
- package/admin/plugins/transformers/dateTransformer.d.ts +3 -0
- package/admin/plugins/transformers/dateTransformer.js +44 -0
- package/admin/plugins/transformers/index.d.ts +3 -0
- package/admin/plugins/transformers/index.js +5 -0
- package/admin/plugins/transformers/numberTransformer.d.ts +3 -0
- package/admin/plugins/transformers/numberTransformer.js +14 -0
- package/admin/plugins/upgrades/v5.0.0.d.ts +5 -0
- package/admin/plugins/upgrades/v5.0.0.js +85 -0
- package/admin/plugins/upgrades/v5.5.0.d.ts +5 -0
- package/admin/plugins/upgrades/v5.5.0.js +85 -0
- package/admin/plugins/upgrades/v5.8.0.d.ts +5 -0
- package/admin/plugins/upgrades/v5.8.0.js +85 -0
- package/admin/plugins/validators/dateGte.d.ts +3 -0
- package/admin/plugins/validators/dateGte.js +23 -0
- package/admin/plugins/validators/dateLte.d.ts +3 -0
- package/admin/plugins/validators/dateLte.js +23 -0
- package/admin/plugins/validators/gte.d.ts +3 -0
- package/admin/plugins/validators/gte.js +15 -0
- package/admin/plugins/validators/in.d.ts +3 -0
- package/admin/plugins/validators/in.js +15 -0
- package/admin/plugins/validators/lte.d.ts +3 -0
- package/admin/plugins/validators/lte.js +15 -0
- package/admin/plugins/validators/maxLength.d.ts +3 -0
- package/admin/plugins/validators/maxLength.js +15 -0
- package/admin/plugins/validators/minLength.d.ts +3 -0
- package/admin/plugins/validators/minLength.js +15 -0
- package/admin/plugins/validators/pattern.d.ts +9 -0
- package/admin/plugins/validators/pattern.js +34 -0
- package/admin/plugins/validators/patternPlugins/email.d.ts +10 -0
- package/admin/plugins/validators/patternPlugins/email.js +9 -0
- package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +10 -0
- package/admin/plugins/validators/patternPlugins/lowerCase.js +9 -0
- package/admin/plugins/validators/patternPlugins/upperCase.d.ts +10 -0
- package/admin/plugins/validators/patternPlugins/upperCase.js +9 -0
- package/admin/plugins/validators/patternPlugins/url.d.ts +10 -0
- package/admin/plugins/validators/patternPlugins/url.js +9 -0
- package/admin/plugins/validators/required.d.ts +3 -0
- package/admin/plugins/validators/required.js +11 -0
- package/admin/plugins/validators/timeGte.d.ts +3 -0
- package/admin/plugins/validators/timeGte.js +19 -0
- package/admin/plugins/validators/timeLte.d.ts +3 -0
- package/admin/plugins/validators/timeLte.js +19 -0
- package/admin/plugins/welcomeScreenWidget.d.ts +3 -0
- package/admin/plugins/welcomeScreenWidget.js +29 -0
- package/admin/views/contentEntries/ContentEntries.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntries.js +73 -0
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +24 -0
- package/admin/views/contentEntries/ContentEntriesContext.js +78 -0
- package/admin/views/contentEntries/ContentEntriesList.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntriesList.js +180 -0
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +28 -0
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +113 -0
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.d.ts +7 -0
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +152 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList.js +59 -0
- package/admin/views/contentEntries/ContentEntry/cache.d.ts +7 -0
- package/admin/views/contentEntries/ContentEntry/cache.js +183 -0
- package/admin/views/contentEntries/ContentEntry/header/Header.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/Header.js +32 -0
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +141 -0
- package/admin/views/contentEntries/ContentEntry/header/index.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/index.js +45 -0
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +67 -0
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +1 -0
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +69 -0
- package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +1 -0
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +75 -0
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +84 -0
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.d.ts +3 -0
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +32 -0
- package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -0
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js +79 -0
- package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +13 -0
- package/admin/views/contentEntries/ContentEntry/useRevision.js +335 -0
- package/admin/views/contentEntries/ContentEntry.d.ts +12 -0
- package/admin/views/contentEntries/ContentEntry.js +99 -0
- package/admin/views/contentEntries/hooks/useContentEntries.d.ts +1 -0
- package/admin/views/contentEntries/hooks/useContentEntries.js +5 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +21 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +152 -0
- package/admin/views/contentEntries/hooks/useContentEntry.d.ts +1 -0
- package/admin/views/contentEntries/hooks/useContentEntry.js +5 -0
- package/admin/views/contentModelGroups/ContentModelGroups.d.ts +3 -0
- package/admin/views/contentModelGroups/ContentModelGroups.js +35 -0
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.d.ts +6 -0
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +242 -0
- package/admin/views/contentModelGroups/ContentModelGroupsForm.d.ts +6 -0
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +231 -0
- package/admin/views/contentModelGroups/DelayedOnChange.d.ts +25 -0
- package/admin/views/contentModelGroups/DelayedOnChange.js +134 -0
- package/admin/views/contentModelGroups/IconPicker.d.ts +7 -0
- package/admin/views/contentModelGroups/IconPicker.js +204 -0
- package/admin/views/contentModelGroups/graphql.d.ts +5 -0
- package/admin/views/contentModelGroups/graphql.js +11 -0
- package/admin/views/contentModels/ContentModelEditor.d.ts +2 -0
- package/admin/views/contentModels/ContentModelEditor.js +35 -0
- package/admin/views/contentModels/ContentModels.d.ts +3 -0
- package/admin/views/contentModels/ContentModels.js +82 -0
- package/admin/views/contentModels/ContentModelsDataList.d.ts +7 -0
- package/admin/views/contentModels/ContentModelsDataList.js +281 -0
- package/admin/views/contentModels/NewContentModelDialog.d.ts +8 -0
- package/admin/views/contentModels/NewContentModelDialog.js +196 -0
- package/admin/views/contentModels/cache.d.ts +5 -0
- package/admin/views/contentModels/cache.js +68 -0
- package/admin/views/utils.d.ts +2 -0
- package/admin/views/utils.js +27 -0
- package/admin/viewsGraphql.d.ts +4 -0
- package/admin/viewsGraphql.js +12 -0
- package/package.json +109 -0
- package/types.d.ts +484 -0
- package/types.js +1 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
|
|
4
|
+
var _templateObject, _templateObject2;
|
|
5
|
+
|
|
6
|
+
import React, { useState } from "react";
|
|
7
|
+
import get from "lodash/get";
|
|
8
|
+
import { useRouter } from "@webiny/react-router";
|
|
9
|
+
import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
|
|
10
|
+
import { i18n } from "@webiny/app/i18n";
|
|
11
|
+
import { CircularProgress } from "@webiny/ui/Progress";
|
|
12
|
+
import { LeftPanel, RightPanel, SplitView } from "@webiny/app-admin/components/SplitView";
|
|
13
|
+
import { Provider as ContentEntriesProvider } from "./ContentEntriesContext";
|
|
14
|
+
import { GET_CONTENT_MODEL } from "../../graphql/contentModels";
|
|
15
|
+
import { useQuery } from "../../hooks";
|
|
16
|
+
import ContentEntriesList from "./ContentEntriesList";
|
|
17
|
+
import ContentEntry from "./ContentEntry";
|
|
18
|
+
import { Provider as ContentEntryProvider } from "./ContentEntry/ContentEntryContext";
|
|
19
|
+
var t = i18n.ns("app-headless-cms/admin/content-entries");
|
|
20
|
+
|
|
21
|
+
var ContentEntries = function ContentEntries() {
|
|
22
|
+
var _useRouter = useRouter(),
|
|
23
|
+
match = _useRouter.match;
|
|
24
|
+
|
|
25
|
+
var _useState = useState(),
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
+
contentModel = _useState2[0],
|
|
28
|
+
setContentModel = _useState2[1];
|
|
29
|
+
|
|
30
|
+
var _useRouter2 = useRouter(),
|
|
31
|
+
history = _useRouter2.history;
|
|
32
|
+
|
|
33
|
+
var modelId = get(match, "params.modelId");
|
|
34
|
+
|
|
35
|
+
var _useSnackbar = useSnackbar(),
|
|
36
|
+
showSnackbar = _useSnackbar.showSnackbar;
|
|
37
|
+
|
|
38
|
+
useQuery(GET_CONTENT_MODEL, {
|
|
39
|
+
skip: !modelId,
|
|
40
|
+
variables: {
|
|
41
|
+
modelId: modelId
|
|
42
|
+
},
|
|
43
|
+
onCompleted: function onCompleted(data) {
|
|
44
|
+
var contentModel = get(data, "getContentModel.data");
|
|
45
|
+
|
|
46
|
+
if (contentModel) {
|
|
47
|
+
return setContentModel(contentModel);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
history.push("/cms/content-models");
|
|
51
|
+
showSnackbar(t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Could not load content for model \"{modelId}\". Redirecting..."])))({
|
|
52
|
+
modelId: modelId
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
if (!contentModel) {
|
|
58
|
+
return /*#__PURE__*/React.createElement(CircularProgress, {
|
|
59
|
+
label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Loading content model..."])))
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return /*#__PURE__*/React.createElement(ContentEntriesProvider, {
|
|
64
|
+
contentModel: contentModel,
|
|
65
|
+
key: contentModel.modelId
|
|
66
|
+
}, /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(LeftPanel, {
|
|
67
|
+
span: 4
|
|
68
|
+
}, /*#__PURE__*/React.createElement(ContentEntriesList, null)), /*#__PURE__*/React.createElement(RightPanel, {
|
|
69
|
+
span: 8
|
|
70
|
+
}, /*#__PURE__*/React.createElement(ContentEntryProvider, null, /*#__PURE__*/React.createElement(ContentEntry, null)))));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default ContentEntries;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { Dispatch, SetStateAction } from "react";
|
|
2
|
+
import { CmsEditorContentModel } from "../../../types";
|
|
3
|
+
export interface ListQueryVariables {
|
|
4
|
+
sort?: string;
|
|
5
|
+
status?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ContentEntriesContext {
|
|
8
|
+
contentModel: CmsEditorContentModel;
|
|
9
|
+
sorters: Array<{
|
|
10
|
+
label: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}>;
|
|
13
|
+
canCreate: boolean;
|
|
14
|
+
listQueryVariables: ListQueryVariables;
|
|
15
|
+
setListQueryVariables: Dispatch<SetStateAction<ListQueryVariables>>;
|
|
16
|
+
}
|
|
17
|
+
export declare const Context: React.Context<ContentEntriesContext>;
|
|
18
|
+
export declare const Provider: {
|
|
19
|
+
({ contentModel, children }: {
|
|
20
|
+
contentModel: any;
|
|
21
|
+
children: any;
|
|
22
|
+
}): JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
3
|
+
|
|
4
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
5
|
+
|
|
6
|
+
import React, { useState, useMemo } from "react";
|
|
7
|
+
import { useSecurity } from "@webiny/app-security";
|
|
8
|
+
import { i18n } from "@webiny/app/i18n";
|
|
9
|
+
var t = i18n.ns("app-headless-cms/admin/contents/entries");
|
|
10
|
+
var SORTERS = [{
|
|
11
|
+
label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Newest to oldest"]))),
|
|
12
|
+
value: "savedOn_DESC"
|
|
13
|
+
}, {
|
|
14
|
+
label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Oldest to newest"]))),
|
|
15
|
+
value: "savedOn_ASC"
|
|
16
|
+
}];
|
|
17
|
+
export var Context = /*#__PURE__*/React.createContext(null);
|
|
18
|
+
export var Provider = function Provider(_ref) {
|
|
19
|
+
var contentModel = _ref.contentModel,
|
|
20
|
+
children = _ref.children;
|
|
21
|
+
|
|
22
|
+
var _useSecurity = useSecurity(),
|
|
23
|
+
identity = _useSecurity.identity;
|
|
24
|
+
|
|
25
|
+
var _useState = useState({
|
|
26
|
+
sort: SORTERS[0].value
|
|
27
|
+
}),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
listQueryVariables = _useState2[0],
|
|
30
|
+
setListQueryVariables = _useState2[1];
|
|
31
|
+
|
|
32
|
+
var canCreate = useMemo(function () {
|
|
33
|
+
var permission = identity.getPermission("cms.contentEntry");
|
|
34
|
+
|
|
35
|
+
if (!permission) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (typeof permission.rwd !== "string") {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return permission.rwd.includes("w");
|
|
44
|
+
}, []);
|
|
45
|
+
var sorters = useMemo(function () {
|
|
46
|
+
var titleField = contentModel.fields.find(function (field) {
|
|
47
|
+
return field.fieldId === contentModel.titleFieldId;
|
|
48
|
+
});
|
|
49
|
+
var titleFieldLabel = titleField ? titleField.label : null;
|
|
50
|
+
|
|
51
|
+
if (!titleFieldLabel) {
|
|
52
|
+
return SORTERS;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return [].concat(SORTERS, [{
|
|
56
|
+
label: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["{titleFieldLabel} A-Z"])))({
|
|
57
|
+
titleFieldLabel: titleFieldLabel
|
|
58
|
+
}),
|
|
59
|
+
value: "".concat(contentModel.titleFieldId, "_ASC")
|
|
60
|
+
}, {
|
|
61
|
+
label: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["{titleFieldLabel} Z-A"])))({
|
|
62
|
+
titleFieldLabel: titleFieldLabel
|
|
63
|
+
}),
|
|
64
|
+
value: "".concat(contentModel.titleFieldId, "_DESC")
|
|
65
|
+
}]);
|
|
66
|
+
}, [contentModel.modelId]);
|
|
67
|
+
var value = {
|
|
68
|
+
contentModel: contentModel,
|
|
69
|
+
sorters: sorters,
|
|
70
|
+
canCreate: canCreate,
|
|
71
|
+
listQueryVariables: listQueryVariables,
|
|
72
|
+
setListQueryVariables: setListQueryVariables
|
|
73
|
+
};
|
|
74
|
+
return /*#__PURE__*/React.createElement(Context.Provider, {
|
|
75
|
+
value: value
|
|
76
|
+
}, children);
|
|
77
|
+
};
|
|
78
|
+
Provider.displayName = "ContentEntriesProvider";
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
+
|
|
4
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
5
|
+
|
|
6
|
+
import React, { useMemo } from "react";
|
|
7
|
+
import debounce from "lodash/debounce";
|
|
8
|
+
import { css } from "emotion";
|
|
9
|
+
import TimeAgo from "timeago-react";
|
|
10
|
+
import pluralize from "pluralize";
|
|
11
|
+
import styled from "@emotion/styled";
|
|
12
|
+
import { i18n } from "@webiny/app/i18n";
|
|
13
|
+
import { Form } from "@webiny/form";
|
|
14
|
+
import { Typography } from "@webiny/ui/Typography";
|
|
15
|
+
import * as UIList from "@webiny/ui/List";
|
|
16
|
+
import { ButtonIcon, ButtonSecondary } from "@webiny/ui/Button";
|
|
17
|
+
import { Cell, Grid } from "@webiny/ui/Grid";
|
|
18
|
+
import { Select } from "@webiny/ui/Select";
|
|
19
|
+
import { Scrollbar } from "@webiny/ui/Scrollbar";
|
|
20
|
+
import { ReactComponent as AddIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/add-18px.svg";
|
|
21
|
+
import { ReactComponent as FilterIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/filter-24px.svg";
|
|
22
|
+
import SearchUI from "@webiny/app-admin/components/SearchUI";
|
|
23
|
+
import statusLabels from "../../constants/statusLabels";
|
|
24
|
+
import { useCallback } from "react";
|
|
25
|
+
import { useContentEntriesList } from "./hooks/useContentEntriesList";
|
|
26
|
+
var t = i18n.ns("app-headless-cms/admin/contents/data-list");
|
|
27
|
+
var rightAlign = /*#__PURE__*/css({
|
|
28
|
+
alignItems: "flex-end !important",
|
|
29
|
+
justifyContent: "center !important"
|
|
30
|
+
}, "label:rightAlign;");
|
|
31
|
+
var ModelId = /*#__PURE__*/styled("span", {
|
|
32
|
+
target: "e1yw2ynr0",
|
|
33
|
+
label: "ModelId"
|
|
34
|
+
})({
|
|
35
|
+
color: "var(--mdc-theme-text-secondary-on-background)"
|
|
36
|
+
});
|
|
37
|
+
var InlineLoaderWrapper = /*#__PURE__*/styled("div", {
|
|
38
|
+
target: "e1yw2ynr1",
|
|
39
|
+
label: "InlineLoaderWrapper"
|
|
40
|
+
})({
|
|
41
|
+
position: "absolute",
|
|
42
|
+
bottom: 0,
|
|
43
|
+
left: 0,
|
|
44
|
+
display: "flex",
|
|
45
|
+
justifyContent: "center",
|
|
46
|
+
alignItems: "center",
|
|
47
|
+
width: "100%",
|
|
48
|
+
height: 40,
|
|
49
|
+
backgroundColor: "var(--mdc-theme-surface)"
|
|
50
|
+
});
|
|
51
|
+
var listItemMinHeight = /*#__PURE__*/css({
|
|
52
|
+
minHeight: "66px !important"
|
|
53
|
+
}, "label:listItemMinHeight;");
|
|
54
|
+
|
|
55
|
+
var ContentEntriesList = function ContentEntriesList() {
|
|
56
|
+
var _useContentEntriesLis = useContentEntriesList(),
|
|
57
|
+
contentModel = _useContentEntriesLis.contentModel,
|
|
58
|
+
entryId = _useContentEntriesLis.entryId,
|
|
59
|
+
loading = _useContentEntriesLis.loading,
|
|
60
|
+
canCreate = _useContentEntriesLis.canCreate,
|
|
61
|
+
onCreate = _useContentEntriesLis.onCreate,
|
|
62
|
+
data = _useContentEntriesLis.data,
|
|
63
|
+
editEntry = _useContentEntriesLis.editEntry,
|
|
64
|
+
loadMore = _useContentEntriesLis.loadMore,
|
|
65
|
+
loadMoreLoading = _useContentEntriesLis.loadMoreLoading,
|
|
66
|
+
listQueryVariables = _useContentEntriesLis.listQueryVariables,
|
|
67
|
+
setListQueryVariables = _useContentEntriesLis.setListQueryVariables,
|
|
68
|
+
sorters = _useContentEntriesLis.sorters,
|
|
69
|
+
filter = _useContentEntriesLis.filter,
|
|
70
|
+
setFilter = _useContentEntriesLis.setFilter;
|
|
71
|
+
|
|
72
|
+
var loadMoreOnScroll = useCallback(debounce(function (scrollFrame) {
|
|
73
|
+
if (scrollFrame.top > 0.9) {
|
|
74
|
+
loadMore();
|
|
75
|
+
}
|
|
76
|
+
}, 500), [data]);
|
|
77
|
+
var entriesDataListModalOverlay = useMemo(function () {
|
|
78
|
+
return /*#__PURE__*/React.createElement(UIList.DataListModalOverlay, null, /*#__PURE__*/React.createElement(Form, {
|
|
79
|
+
data: listQueryVariables,
|
|
80
|
+
onChange: function onChange(_ref) {
|
|
81
|
+
var status = _ref.status,
|
|
82
|
+
sort = _ref.sort;
|
|
83
|
+
setListQueryVariables(function (prevState) {
|
|
84
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
85
|
+
sort: sort,
|
|
86
|
+
status: status
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}, function (_ref2) {
|
|
91
|
+
var Bind = _ref2.Bind;
|
|
92
|
+
return /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
|
|
93
|
+
span: 12
|
|
94
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
95
|
+
name: "sort"
|
|
96
|
+
}, /*#__PURE__*/React.createElement(Select, {
|
|
97
|
+
label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Sort by"])))
|
|
98
|
+
}, sorters.map(function (_ref3) {
|
|
99
|
+
var label = _ref3.label,
|
|
100
|
+
value = _ref3.value;
|
|
101
|
+
return /*#__PURE__*/React.createElement("option", {
|
|
102
|
+
key: label,
|
|
103
|
+
value: value
|
|
104
|
+
}, label);
|
|
105
|
+
})))), /*#__PURE__*/React.createElement(Cell, {
|
|
106
|
+
span: 12
|
|
107
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
108
|
+
name: "status"
|
|
109
|
+
}, /*#__PURE__*/React.createElement(Select, {
|
|
110
|
+
label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Filter by status"]))),
|
|
111
|
+
description: "Filter by a specific page status."
|
|
112
|
+
}, /*#__PURE__*/React.createElement("option", {
|
|
113
|
+
value: "all"
|
|
114
|
+
}, t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["All"])))), /*#__PURE__*/React.createElement("option", {
|
|
115
|
+
value: "draft"
|
|
116
|
+
}, t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Draft"])))), /*#__PURE__*/React.createElement("option", {
|
|
117
|
+
value: "published"
|
|
118
|
+
}, t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Published"])))), /*#__PURE__*/React.createElement("option", {
|
|
119
|
+
value: "unpublished"
|
|
120
|
+
}, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Unpublished"])))), /*#__PURE__*/React.createElement("option", {
|
|
121
|
+
value: "reviewRequested"
|
|
122
|
+
}, t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Review requested"])))), /*#__PURE__*/React.createElement("option", {
|
|
123
|
+
value: "changesRequested"
|
|
124
|
+
}, t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["Changes requested"]))))))));
|
|
125
|
+
}));
|
|
126
|
+
}, [listQueryVariables]);
|
|
127
|
+
return /*#__PURE__*/React.createElement(UIList.DataList, {
|
|
128
|
+
loading: loading,
|
|
129
|
+
data: data,
|
|
130
|
+
title: /*#__PURE__*/React.createElement("span", null, pluralize(contentModel.name), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(Typography, {
|
|
131
|
+
use: "subtitle1"
|
|
132
|
+
}, /*#__PURE__*/React.createElement(ModelId, null, "Model ID: ", contentModel.modelId))),
|
|
133
|
+
actions: canCreate ? /*#__PURE__*/React.createElement(ButtonSecondary, {
|
|
134
|
+
"data-testid": "new-record-button",
|
|
135
|
+
onClick: onCreate
|
|
136
|
+
}, /*#__PURE__*/React.createElement(ButtonIcon, {
|
|
137
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
138
|
+
}), " ", t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["New Entry"])))) : null,
|
|
139
|
+
search: /*#__PURE__*/React.createElement(SearchUI, {
|
|
140
|
+
value: filter,
|
|
141
|
+
onChange: setFilter,
|
|
142
|
+
inputPlaceholder: t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["Search {title}"])))({
|
|
143
|
+
title: pluralize(contentModel.name)
|
|
144
|
+
})
|
|
145
|
+
}),
|
|
146
|
+
modalOverlay: entriesDataListModalOverlay,
|
|
147
|
+
modalOverlayAction: /*#__PURE__*/React.createElement(UIList.DataListModalOverlayAction, {
|
|
148
|
+
icon: /*#__PURE__*/React.createElement(FilterIcon, null),
|
|
149
|
+
"data-testid": "default-data-list.filter"
|
|
150
|
+
})
|
|
151
|
+
}, function (_ref4) {
|
|
152
|
+
var data = _ref4.data;
|
|
153
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Scrollbar, {
|
|
154
|
+
"data-testid": "default-data-list",
|
|
155
|
+
onScrollFrame: function onScrollFrame(scrollFrame) {
|
|
156
|
+
return loadMoreOnScroll(scrollFrame);
|
|
157
|
+
}
|
|
158
|
+
}, data.map(function (item) {
|
|
159
|
+
return /*#__PURE__*/React.createElement(UIList.ListItem, {
|
|
160
|
+
key: item.id,
|
|
161
|
+
className: listItemMinHeight,
|
|
162
|
+
selected: item.id === entryId
|
|
163
|
+
}, /*#__PURE__*/React.createElement(UIList.ListItemText, {
|
|
164
|
+
onClick: editEntry(item)
|
|
165
|
+
}, item.meta.title || "Untitled", /*#__PURE__*/React.createElement(UIList.ListItemTextSecondary, null, t(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["Last modified: {time}."])))({
|
|
166
|
+
time: /*#__PURE__*/React.createElement(TimeAgo, {
|
|
167
|
+
datetime: item.savedOn
|
|
168
|
+
})
|
|
169
|
+
}))), /*#__PURE__*/React.createElement(UIList.ListItemMeta, {
|
|
170
|
+
className: rightAlign
|
|
171
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
172
|
+
use: "subtitle2"
|
|
173
|
+
}, statusLabels[item.meta.status], " (v", item.meta.version, ")")));
|
|
174
|
+
})), loadMoreLoading && /*#__PURE__*/React.createElement(InlineLoaderWrapper, null, /*#__PURE__*/React.createElement(Typography, {
|
|
175
|
+
use: "overline"
|
|
176
|
+
}, t(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["Loading more entries..."]))))));
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export default ContentEntriesList;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React, { Dispatch, SetStateAction, MutableRefObject } from "react";
|
|
2
|
+
import { ContentEntriesContext } from "../ContentEntriesContext";
|
|
3
|
+
import { CmsContentEntryRevision, CmsEditorContentEntry } from "../../../../types";
|
|
4
|
+
import { Tabs } from "@webiny/ui/Tabs";
|
|
5
|
+
export interface ContentEntryContext extends ContentEntriesContext {
|
|
6
|
+
createEntry: () => void;
|
|
7
|
+
entry: CmsEditorContentEntry;
|
|
8
|
+
form: MutableRefObject<{
|
|
9
|
+
submit: Function;
|
|
10
|
+
}>;
|
|
11
|
+
setFormRef: (form: {
|
|
12
|
+
submit: Function;
|
|
13
|
+
}) => void;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
setLoading: Dispatch<SetStateAction<boolean>>;
|
|
16
|
+
revisions: CmsContentEntryRevision[];
|
|
17
|
+
refetchContent: () => void;
|
|
18
|
+
tabs: MutableRefObject<Tabs>;
|
|
19
|
+
setTabsRef: (tabs: Tabs) => void;
|
|
20
|
+
showEmptyView: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare const Context: React.Context<ContentEntryContext>;
|
|
23
|
+
export declare const Provider: {
|
|
24
|
+
({ children }: {
|
|
25
|
+
children: any;
|
|
26
|
+
}): JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import React, { useRef, useState, useCallback, useMemo } from "react";
|
|
3
|
+
import isEmpty from "lodash/isEmpty";
|
|
4
|
+
import get from "lodash/get";
|
|
5
|
+
import { useRouter } from "@webiny/react-router";
|
|
6
|
+
import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
|
|
7
|
+
import * as GQL from "../../../graphql/contentEntries";
|
|
8
|
+
import { useQuery } from "../../../hooks";
|
|
9
|
+
import { useContentEntries } from "../hooks/useContentEntries";
|
|
10
|
+
export var Context = /*#__PURE__*/React.createContext(null);
|
|
11
|
+
export var Provider = function Provider(_ref) {
|
|
12
|
+
var children = _ref.children;
|
|
13
|
+
|
|
14
|
+
var _useContentEntries = useContentEntries(),
|
|
15
|
+
contentModel = _useContentEntries.contentModel,
|
|
16
|
+
canCreate = _useContentEntries.canCreate,
|
|
17
|
+
listQueryVariables = _useContentEntries.listQueryVariables,
|
|
18
|
+
setListQueryVariables = _useContentEntries.setListQueryVariables,
|
|
19
|
+
sorters = _useContentEntries.sorters;
|
|
20
|
+
|
|
21
|
+
var formRef = useRef(null);
|
|
22
|
+
var tabsRef = useRef(null);
|
|
23
|
+
|
|
24
|
+
var _useRouter = useRouter(),
|
|
25
|
+
history = _useRouter.history,
|
|
26
|
+
location = _useRouter.location;
|
|
27
|
+
|
|
28
|
+
var _useSnackbar = useSnackbar(),
|
|
29
|
+
showSnackbar = _useSnackbar.showSnackbar;
|
|
30
|
+
|
|
31
|
+
var _useState = useState(false),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
isLoading = _useState2[0],
|
|
34
|
+
setLoading = _useState2[1];
|
|
35
|
+
|
|
36
|
+
var newEntry = new URLSearchParams(location.search).get("new") === "true";
|
|
37
|
+
var query = new URLSearchParams(location.search);
|
|
38
|
+
var contentId = query.get("id");
|
|
39
|
+
var revisionId = contentId ? decodeURIComponent(contentId) : null;
|
|
40
|
+
var entryId = revisionId ? revisionId.split("#")[0] : null;
|
|
41
|
+
|
|
42
|
+
var _useMemo = useMemo(function () {
|
|
43
|
+
return {
|
|
44
|
+
READ_CONTENT: GQL.createReadQuery(contentModel)
|
|
45
|
+
};
|
|
46
|
+
}, [contentModel.modelId]),
|
|
47
|
+
READ_CONTENT = _useMemo.READ_CONTENT;
|
|
48
|
+
|
|
49
|
+
var _useMemo2 = useMemo(function () {
|
|
50
|
+
return {
|
|
51
|
+
GET_REVISIONS: GQL.createRevisionsQuery(contentModel)
|
|
52
|
+
};
|
|
53
|
+
}, [contentModel.modelId]),
|
|
54
|
+
GET_REVISIONS = _useMemo2.GET_REVISIONS;
|
|
55
|
+
|
|
56
|
+
var setFormRef = useCallback(function (form) {
|
|
57
|
+
formRef.current = form;
|
|
58
|
+
}, [formRef]);
|
|
59
|
+
var setTabsRef = useCallback(function (tabs) {
|
|
60
|
+
tabsRef.current = tabs;
|
|
61
|
+
}, [tabsRef]);
|
|
62
|
+
var createEntry = useCallback(function () {
|
|
63
|
+
history.push("/cms/content-entries/".concat(contentModel.modelId, "?new=true"));
|
|
64
|
+
}, [contentModel.modelId]);
|
|
65
|
+
var getEntry = useQuery(READ_CONTENT, {
|
|
66
|
+
variables: {
|
|
67
|
+
revision: decodeURIComponent(contentId)
|
|
68
|
+
},
|
|
69
|
+
skip: !contentId,
|
|
70
|
+
onCompleted: function onCompleted(data) {
|
|
71
|
+
if (!data) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var error = data.content.error;
|
|
76
|
+
|
|
77
|
+
if (error) {
|
|
78
|
+
history.push("/cms/content-entries/".concat(contentModel.modelId));
|
|
79
|
+
showSnackbar(error.message);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
var getRevisions = useQuery(GET_REVISIONS, {
|
|
84
|
+
variables: {
|
|
85
|
+
id: entryId
|
|
86
|
+
},
|
|
87
|
+
skip: !entryId
|
|
88
|
+
});
|
|
89
|
+
var loading = isLoading || getEntry.loading || getRevisions.loading;
|
|
90
|
+
var entry = get(getEntry, "data.content.data") || {};
|
|
91
|
+
var value = {
|
|
92
|
+
canCreate: canCreate,
|
|
93
|
+
contentModel: contentModel,
|
|
94
|
+
createEntry: createEntry,
|
|
95
|
+
listQueryVariables: listQueryVariables,
|
|
96
|
+
setListQueryVariables: setListQueryVariables,
|
|
97
|
+
sorters: sorters,
|
|
98
|
+
entry: entry,
|
|
99
|
+
form: formRef,
|
|
100
|
+
loading: loading,
|
|
101
|
+
revisions: get(getRevisions, "data.revisions.data") || {},
|
|
102
|
+
refetchContent: getEntry.refetch,
|
|
103
|
+
setFormRef: setFormRef,
|
|
104
|
+
setLoading: setLoading,
|
|
105
|
+
setTabsRef: setTabsRef,
|
|
106
|
+
showEmptyView: !newEntry && !loading && isEmpty(entry),
|
|
107
|
+
tabs: tabsRef
|
|
108
|
+
};
|
|
109
|
+
return /*#__PURE__*/React.createElement(Context.Provider, {
|
|
110
|
+
value: value
|
|
111
|
+
}, children);
|
|
112
|
+
};
|
|
113
|
+
Provider.displayName = "ContentEntryProvider";
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
4
|
+
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { css } from "emotion";
|
|
7
|
+
import TimeAgo from "timeago-react";
|
|
8
|
+
import { ListItem, ListItemText, ListItemTextPrimary, ListItemTextSecondary, ListItemGraphic, ListItemMeta } from "@webiny/ui/List";
|
|
9
|
+
import { IconButton } from "@webiny/ui/Button";
|
|
10
|
+
import { Icon } from "@webiny/ui/Icon";
|
|
11
|
+
import { MenuItem, Menu, MenuDivider } from "@webiny/ui/Menu";
|
|
12
|
+
import { ConfirmationDialog } from "@webiny/ui/ConfirmationDialog";
|
|
13
|
+
import { Tooltip } from "@webiny/ui/Tooltip";
|
|
14
|
+
import { ReactComponent as MoreVerticalIcon } from "@svgr/webpack!../../../icons/more_vert.svg";
|
|
15
|
+
import { ReactComponent as LockIcon } from "@svgr/webpack!../../../icons/lock.svg";
|
|
16
|
+
import { ReactComponent as BeenHereIcon } from "@svgr/webpack!../../../icons/beenhere.svg";
|
|
17
|
+
import { ReactComponent as GestureIcon } from "@svgr/webpack!../../../icons/gesture.svg";
|
|
18
|
+
import { ReactComponent as AddIcon } from "@svgr/webpack!../../../icons/add.svg";
|
|
19
|
+
import { ReactComponent as EditIcon } from "@svgr/webpack!../../../icons/edit.svg";
|
|
20
|
+
import { ReactComponent as PublishIcon } from "@svgr/webpack!../../../icons/publish.svg";
|
|
21
|
+
import { ReactComponent as UnpublishIcon } from "@svgr/webpack!../../../icons/unpublish.svg";
|
|
22
|
+
import { ReactComponent as DeleteIcon } from "@svgr/webpack!../../../icons/delete.svg";
|
|
23
|
+
import { i18n } from "@webiny/app/i18n";
|
|
24
|
+
import { useRevision } from "./useRevision";
|
|
25
|
+
import usePermission from "../../../hooks/usePermission";
|
|
26
|
+
import { useContentEntry } from "../hooks/useContentEntry";
|
|
27
|
+
var t = i18n.ns("app-headless-cms/admin/plugins/content-details/content-revisions");
|
|
28
|
+
var primaryColor = /*#__PURE__*/css({
|
|
29
|
+
color: "var(--mdc-theme-primary)"
|
|
30
|
+
}, "label:primaryColor;");
|
|
31
|
+
var revisionsMenu = /*#__PURE__*/css({
|
|
32
|
+
width: 250,
|
|
33
|
+
right: -105,
|
|
34
|
+
left: "auto !important"
|
|
35
|
+
}, "label:revisionsMenu;");
|
|
36
|
+
|
|
37
|
+
var getIcon = function getIcon(rev) {
|
|
38
|
+
switch (true) {
|
|
39
|
+
case rev.meta.locked && rev.meta.status !== "published":
|
|
40
|
+
return {
|
|
41
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
42
|
+
icon: /*#__PURE__*/React.createElement(LockIcon, null),
|
|
43
|
+
"data-testid": "cms.revision.status.locked"
|
|
44
|
+
}),
|
|
45
|
+
text: "This revision is locked (it has already been published)"
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
case rev.meta.status === "published":
|
|
49
|
+
return {
|
|
50
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
51
|
+
icon: /*#__PURE__*/React.createElement(BeenHereIcon, null),
|
|
52
|
+
className: primaryColor,
|
|
53
|
+
"data-testid": "cms.revision.status.published"
|
|
54
|
+
}),
|
|
55
|
+
text: "This revision is currently published!"
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
default:
|
|
59
|
+
return {
|
|
60
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
61
|
+
icon: /*#__PURE__*/React.createElement(GestureIcon, null),
|
|
62
|
+
"data-testid": "cms.revision.status.draft"
|
|
63
|
+
}),
|
|
64
|
+
text: "This is a draft"
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
var RevisionListItem = function RevisionListItem(_ref) {
|
|
70
|
+
var revision = _ref.revision;
|
|
71
|
+
|
|
72
|
+
var _useRevision = useRevision({
|
|
73
|
+
revision: revision
|
|
74
|
+
}),
|
|
75
|
+
createRevision = _useRevision.createRevision,
|
|
76
|
+
deleteRevision = _useRevision.deleteRevision,
|
|
77
|
+
publishRevision = _useRevision.publishRevision,
|
|
78
|
+
unpublishRevision = _useRevision.unpublishRevision,
|
|
79
|
+
editRevision = _useRevision.editRevision;
|
|
80
|
+
|
|
81
|
+
var _useContentEntry = useContentEntry(),
|
|
82
|
+
entry = _useContentEntry.entry,
|
|
83
|
+
tabs = _useContentEntry.tabs;
|
|
84
|
+
|
|
85
|
+
var _usePermission = usePermission(),
|
|
86
|
+
canEdit = _usePermission.canEdit,
|
|
87
|
+
canDelete = _usePermission.canDelete,
|
|
88
|
+
canPublish = _usePermission.canPublish,
|
|
89
|
+
canUnpublish = _usePermission.canUnpublish;
|
|
90
|
+
|
|
91
|
+
var _getIcon = getIcon(revision),
|
|
92
|
+
icon = _getIcon.icon,
|
|
93
|
+
tooltipText = _getIcon.text;
|
|
94
|
+
|
|
95
|
+
return /*#__PURE__*/React.createElement(ConfirmationDialog, {
|
|
96
|
+
title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Confirmation required!"]))),
|
|
97
|
+
message: /*#__PURE__*/React.createElement("span", null, t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["You are about to delete revision {revision}. Are you sure you want to continue?"])))({
|
|
98
|
+
revision: /*#__PURE__*/React.createElement("strong", null, "#", revision.meta.version)
|
|
99
|
+
}))
|
|
100
|
+
}, function (_ref2) {
|
|
101
|
+
var showConfirmation = _ref2.showConfirmation;
|
|
102
|
+
return /*#__PURE__*/React.createElement(ListItem, null, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Tooltip, {
|
|
103
|
+
content: tooltipText,
|
|
104
|
+
placement: "bottom"
|
|
105
|
+
}, icon)), /*#__PURE__*/React.createElement(ListItemText, null, /*#__PURE__*/React.createElement(ListItemTextPrimary, null, revision.meta.title || t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["N/A"])))), /*#__PURE__*/React.createElement(ListItemTextSecondary, null, t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Last modified {time} (#{version})"])))({
|
|
106
|
+
time: /*#__PURE__*/React.createElement(TimeAgo, {
|
|
107
|
+
datetime: revision.savedOn
|
|
108
|
+
}),
|
|
109
|
+
version: revision.meta.version
|
|
110
|
+
}))), /*#__PURE__*/React.createElement(ListItemMeta, null, /*#__PURE__*/React.createElement(Menu, {
|
|
111
|
+
handle: /*#__PURE__*/React.createElement(IconButton, {
|
|
112
|
+
icon: /*#__PURE__*/React.createElement(MoreVerticalIcon, null)
|
|
113
|
+
}),
|
|
114
|
+
className: revisionsMenu,
|
|
115
|
+
"data-testid": "cms.content-form.revisions.more-options"
|
|
116
|
+
}, canEdit(entry, "cms.contentEntry") && /*#__PURE__*/React.createElement(MenuItem, {
|
|
117
|
+
onClick: createRevision,
|
|
118
|
+
"data-testid": "cms.revision.create-revision"
|
|
119
|
+
}, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
|
|
120
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
121
|
+
})), t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["New from current"])))), !revision.meta.locked && canEdit(entry, "cms.contentEntry") && /*#__PURE__*/React.createElement(MenuItem, {
|
|
122
|
+
onClick: function onClick() {
|
|
123
|
+
editRevision();
|
|
124
|
+
|
|
125
|
+
if (tabs.current) {
|
|
126
|
+
tabs.current.switchTab(0);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
|
|
130
|
+
icon: /*#__PURE__*/React.createElement(EditIcon, null)
|
|
131
|
+
})), t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([" Edit"])))), revision.meta.status !== "published" && canPublish("cms.contentEntry") && /*#__PURE__*/React.createElement(MenuItem, {
|
|
132
|
+
onClick: function onClick() {
|
|
133
|
+
return publishRevision(revision.id);
|
|
134
|
+
}
|
|
135
|
+
}, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
|
|
136
|
+
icon: /*#__PURE__*/React.createElement(PublishIcon, null)
|
|
137
|
+
})), t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Publish"])))), revision.meta.status === "published" && canUnpublish("cms.contentEntry") && /*#__PURE__*/React.createElement(MenuItem, {
|
|
138
|
+
onClick: unpublishRevision,
|
|
139
|
+
"data-testid": "cms.revision.unpublish"
|
|
140
|
+
}, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
|
|
141
|
+
icon: /*#__PURE__*/React.createElement(UnpublishIcon, null)
|
|
142
|
+
})), t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["Unpublish"])))), !revision.meta.locked && canDelete(entry, "cms.contentEntry") && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(MenuDivider, null), /*#__PURE__*/React.createElement(MenuItem, {
|
|
143
|
+
onClick: function onClick() {
|
|
144
|
+
return showConfirmation(deleteRevision);
|
|
145
|
+
}
|
|
146
|
+
}, /*#__PURE__*/React.createElement(ListItemGraphic, null, /*#__PURE__*/React.createElement(Icon, {
|
|
147
|
+
icon: /*#__PURE__*/React.createElement(DeleteIcon, null)
|
|
148
|
+
})), t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([" Delete"]))))))));
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
export default RevisionListItem;
|