@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,99 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
|
|
3
|
+
var _templateObject, _templateObject2;
|
|
4
|
+
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { css } from "emotion";
|
|
7
|
+
import styled from "@emotion/styled";
|
|
8
|
+
import EmptyView from "@webiny/app-admin/components/EmptyView";
|
|
9
|
+
import { ButtonDefault, ButtonIcon } from "@webiny/ui/Button";
|
|
10
|
+
import { ReactComponent as AddIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/add-18px.svg";
|
|
11
|
+
import { i18n } from "@webiny/app/i18n";
|
|
12
|
+
import { Tab, Tabs } from "@webiny/ui/Tabs";
|
|
13
|
+
import { Elevation } from "@webiny/ui/Elevation";
|
|
14
|
+
import { CircularProgress } from "@webiny/ui/Progress";
|
|
15
|
+
import RevisionsList from "./ContentEntry/RevisionsList";
|
|
16
|
+
import Header from "./ContentEntry/header/Header";
|
|
17
|
+
import { useContentEntry } from "./hooks/useContentEntry";
|
|
18
|
+
import { ContentEntryForm } from "../../components/ContentEntryForm/ContentEntryForm";
|
|
19
|
+
var t = i18n.namespace("app-headless-cms/admin/content-model-entries/details");
|
|
20
|
+
var DetailsContainer = /*#__PURE__*/styled("div", {
|
|
21
|
+
target: "e68rq0j0",
|
|
22
|
+
label: "DetailsContainer"
|
|
23
|
+
})({
|
|
24
|
+
height: "calc(100% - 10px)",
|
|
25
|
+
overflow: "hidden",
|
|
26
|
+
position: "relative",
|
|
27
|
+
nav: {
|
|
28
|
+
backgroundColor: "var(--mdc-theme-surface)"
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
var RenderBlock = /*#__PURE__*/styled("div", {
|
|
32
|
+
target: "e68rq0j1",
|
|
33
|
+
label: "RenderBlock"
|
|
34
|
+
})({
|
|
35
|
+
position: "relative",
|
|
36
|
+
zIndex: 0,
|
|
37
|
+
backgroundColor: "var(--mdc-theme-background)",
|
|
38
|
+
height: "100%",
|
|
39
|
+
|
|
40
|
+
/*overflow: "scroll",*/
|
|
41
|
+
padding: 25
|
|
42
|
+
});
|
|
43
|
+
var elevationStyles = /*#__PURE__*/css({
|
|
44
|
+
position: "relative"
|
|
45
|
+
}, "label:elevationStyles;");
|
|
46
|
+
|
|
47
|
+
var ContentEntry = function ContentEntry() {
|
|
48
|
+
var _useContentEntry = useContentEntry(),
|
|
49
|
+
contentModel = _useContentEntry.contentModel,
|
|
50
|
+
loading = _useContentEntry.loading,
|
|
51
|
+
entry = _useContentEntry.entry,
|
|
52
|
+
showEmptyView = _useContentEntry.showEmptyView,
|
|
53
|
+
canCreate = _useContentEntry.canCreate,
|
|
54
|
+
createEntry = _useContentEntry.createEntry,
|
|
55
|
+
setTabsRef = _useContentEntry.setTabsRef,
|
|
56
|
+
setFormRef = _useContentEntry.setFormRef; // Render "No content selected" view.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
if (showEmptyView) {
|
|
60
|
+
return /*#__PURE__*/React.createElement(EmptyView, {
|
|
61
|
+
title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Click on the left side list to display entry details {message}"])))({
|
|
62
|
+
message: canCreate ? "or create a..." : ""
|
|
63
|
+
}),
|
|
64
|
+
action: canCreate ? /*#__PURE__*/React.createElement(ButtonDefault, {
|
|
65
|
+
"data-testid": "new-record-button",
|
|
66
|
+
onClick: createEntry
|
|
67
|
+
}, /*#__PURE__*/React.createElement(ButtonIcon, {
|
|
68
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
69
|
+
}), " ", t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["New Entry"])))) : null
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return /*#__PURE__*/React.createElement(DetailsContainer, null, /*#__PURE__*/React.createElement("test-id", {
|
|
74
|
+
"data-testid": "cms-content-details"
|
|
75
|
+
}, /*#__PURE__*/React.createElement(Tabs, {
|
|
76
|
+
ref: function ref(tabs) {
|
|
77
|
+
return setTabsRef(tabs);
|
|
78
|
+
}
|
|
79
|
+
}, /*#__PURE__*/React.createElement(Tab, {
|
|
80
|
+
label: "Content",
|
|
81
|
+
disabled: loading,
|
|
82
|
+
"data-testid": "cms.content-form.tabs.content"
|
|
83
|
+
}, /*#__PURE__*/React.createElement(RenderBlock, null, /*#__PURE__*/React.createElement(Elevation, {
|
|
84
|
+
z: 2,
|
|
85
|
+
className: elevationStyles
|
|
86
|
+
}, loading && /*#__PURE__*/React.createElement(CircularProgress, null), /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(ContentEntryForm, {
|
|
87
|
+
contentModel: contentModel,
|
|
88
|
+
entry: entry,
|
|
89
|
+
onForm: function onForm(form) {
|
|
90
|
+
return setFormRef(form);
|
|
91
|
+
}
|
|
92
|
+
})))), /*#__PURE__*/React.createElement(Tab, {
|
|
93
|
+
label: "Revisions",
|
|
94
|
+
disabled: loading,
|
|
95
|
+
"data-testid": "cms.content-form.tabs.revisions"
|
|
96
|
+
}, /*#__PURE__*/React.createElement(RevisionsList, null)))));
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export default ContentEntry;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useContentEntries(): import("../ContentEntriesContext").ContentEntriesContext;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CmsEditorContentEntry } from "../../../../types";
|
|
3
|
+
export declare function useContentEntriesList(): {
|
|
4
|
+
contentModel: import("../../../../types").CmsEditorContentModel;
|
|
5
|
+
listQueryVariables: import("../ContentEntriesContext").ListQueryVariables;
|
|
6
|
+
setListQueryVariables: import("react").Dispatch<import("react").SetStateAction<import("../ContentEntriesContext").ListQueryVariables>>;
|
|
7
|
+
sorters: {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}[];
|
|
11
|
+
entryId: string;
|
|
12
|
+
loading: boolean;
|
|
13
|
+
data: any;
|
|
14
|
+
loadMore: () => void;
|
|
15
|
+
loadMoreLoading: boolean;
|
|
16
|
+
canCreate: boolean;
|
|
17
|
+
onCreate: () => void;
|
|
18
|
+
filter: string;
|
|
19
|
+
setFilter: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
20
|
+
editEntry: (entry: CmsEditorContentEntry) => () => void;
|
|
21
|
+
};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
+
import get from "lodash/get";
|
|
6
|
+
import set from "lodash/set";
|
|
7
|
+
import unset from "lodash/unset";
|
|
8
|
+
import cloneDeep from "lodash/cloneDeep";
|
|
9
|
+
import debounce from "lodash/debounce";
|
|
10
|
+
import { useRouter } from "@webiny/react-router";
|
|
11
|
+
import { createListQuery } from "../../../graphql/contentEntries";
|
|
12
|
+
import { useQuery } from "../../../hooks";
|
|
13
|
+
import { useContentEntries } from "./useContentEntries";
|
|
14
|
+
export function useContentEntriesList() {
|
|
15
|
+
var _useContentEntries = useContentEntries(),
|
|
16
|
+
contentModel = _useContentEntries.contentModel,
|
|
17
|
+
listQueryVariables = _useContentEntries.listQueryVariables,
|
|
18
|
+
setListQueryVariables = _useContentEntries.setListQueryVariables,
|
|
19
|
+
sorters = _useContentEntries.sorters,
|
|
20
|
+
canCreate = _useContentEntries.canCreate;
|
|
21
|
+
|
|
22
|
+
var _useState = useState(false),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
loadMoreLoading = _useState2[0],
|
|
25
|
+
setLoadMoreLoading = _useState2[1];
|
|
26
|
+
|
|
27
|
+
var _useState3 = useState(""),
|
|
28
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
29
|
+
filter = _useState4[0],
|
|
30
|
+
setFilter = _useState4[1];
|
|
31
|
+
|
|
32
|
+
var _useRouter = useRouter(),
|
|
33
|
+
history = _useRouter.history;
|
|
34
|
+
|
|
35
|
+
var baseUrl = "/cms/content-entries/".concat(contentModel.modelId); // Get entry ID and search query (if any)
|
|
36
|
+
|
|
37
|
+
var query = new URLSearchParams(location.search);
|
|
38
|
+
var entryId = query.get("id");
|
|
39
|
+
var searchQuery = query.get("search");
|
|
40
|
+
var updateSearch = useCallback(debounce(function (_ref) {
|
|
41
|
+
var filter = _ref.filter,
|
|
42
|
+
query = _ref.query;
|
|
43
|
+
var search = query.get("search");
|
|
44
|
+
|
|
45
|
+
if (typeof search !== "string" && !filter) {
|
|
46
|
+
return;
|
|
47
|
+
} // We use the title field with the "contains" operator for doing basic searches.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
var searchField = contentModel.titleFieldId + "_contains";
|
|
51
|
+
setListQueryVariables(function (prev) {
|
|
52
|
+
var next = cloneDeep(prev);
|
|
53
|
+
|
|
54
|
+
if (filter) {
|
|
55
|
+
set(next, "where.".concat(searchField), filter);
|
|
56
|
+
} else {
|
|
57
|
+
unset(next, "where.".concat(searchField));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return next;
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
if (search !== filter) {
|
|
64
|
+
query.set("search", filter);
|
|
65
|
+
history.push("".concat(baseUrl, "?").concat(query.toString()));
|
|
66
|
+
}
|
|
67
|
+
}, 250), [baseUrl]); // Set "filter" from search "query" on page load.
|
|
68
|
+
|
|
69
|
+
useEffect(function () {
|
|
70
|
+
if (searchQuery) {
|
|
71
|
+
setFilter(searchQuery);
|
|
72
|
+
}
|
|
73
|
+
}, [baseUrl, searchQuery]); // When filter changes, run GQL query
|
|
74
|
+
|
|
75
|
+
useEffect(function () {
|
|
76
|
+
return updateSearch({
|
|
77
|
+
filter: filter,
|
|
78
|
+
query: query
|
|
79
|
+
});
|
|
80
|
+
}, [baseUrl, filter]); // Generate a query based on current content model
|
|
81
|
+
|
|
82
|
+
var LIST_QUERY = useMemo(function () {
|
|
83
|
+
return createListQuery(contentModel);
|
|
84
|
+
}, [contentModel.modelId]);
|
|
85
|
+
|
|
86
|
+
var _useQuery = useQuery(LIST_QUERY, {
|
|
87
|
+
variables: listQueryVariables
|
|
88
|
+
}),
|
|
89
|
+
data = _useQuery.data,
|
|
90
|
+
loading = _useQuery.loading,
|
|
91
|
+
fetchMore = _useQuery.fetchMore;
|
|
92
|
+
|
|
93
|
+
var onCreate = useCallback(function () {
|
|
94
|
+
history.push("/cms/content-entries/".concat(contentModel.modelId, "?new=true"));
|
|
95
|
+
}, [contentModel]);
|
|
96
|
+
var filterByStatus = useCallback(function (entries, status) {
|
|
97
|
+
if (!status || status === "all") {
|
|
98
|
+
return entries;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return entries.filter(function (item) {
|
|
102
|
+
return item.meta.status === status;
|
|
103
|
+
});
|
|
104
|
+
}, []); // Load more entries on scroll
|
|
105
|
+
|
|
106
|
+
var loadMore = useCallback(function () {
|
|
107
|
+
var meta = get(data, "content.meta", {});
|
|
108
|
+
|
|
109
|
+
if (meta.hasMoreItems) {
|
|
110
|
+
setLoadMoreLoading(true);
|
|
111
|
+
fetchMore({
|
|
112
|
+
variables: {
|
|
113
|
+
after: meta.cursor
|
|
114
|
+
},
|
|
115
|
+
updateQuery: function updateQuery(prev, _ref2) {
|
|
116
|
+
var fetchMoreResult = _ref2.fetchMoreResult;
|
|
117
|
+
|
|
118
|
+
if (!fetchMoreResult) {
|
|
119
|
+
return prev;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var next = _objectSpread({}, fetchMoreResult);
|
|
123
|
+
|
|
124
|
+
next.content.data = [].concat(_toConsumableArray(prev.content.data), _toConsumableArray(fetchMoreResult.content.data));
|
|
125
|
+
setLoadMoreLoading(false);
|
|
126
|
+
return next;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}, [data]);
|
|
131
|
+
var editEntry = useCallback(function (entry) {
|
|
132
|
+
return function () {
|
|
133
|
+
history.push("/cms/content-entries/".concat(contentModel.modelId, "?id=").concat(encodeURIComponent(entry.id)));
|
|
134
|
+
};
|
|
135
|
+
}, [contentModel.modelId]);
|
|
136
|
+
return {
|
|
137
|
+
contentModel: contentModel,
|
|
138
|
+
listQueryVariables: listQueryVariables,
|
|
139
|
+
setListQueryVariables: setListQueryVariables,
|
|
140
|
+
sorters: sorters,
|
|
141
|
+
entryId: entryId,
|
|
142
|
+
loading: loading,
|
|
143
|
+
data: filterByStatus(get(data, "content.data", []), listQueryVariables.status),
|
|
144
|
+
loadMore: loadMore,
|
|
145
|
+
loadMoreLoading: loadMoreLoading,
|
|
146
|
+
canCreate: canCreate,
|
|
147
|
+
onCreate: onCreate,
|
|
148
|
+
filter: filter,
|
|
149
|
+
setFilter: setFilter,
|
|
150
|
+
editEntry: editEntry
|
|
151
|
+
};
|
|
152
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useContentEntry(): import("../ContentEntry/ContentEntryContext").ContentEntryContext;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import { useSecurity } from "@webiny/app-security";
|
|
3
|
+
import { SplitView, LeftPanel, RightPanel } from "@webiny/app-admin/components/SplitView";
|
|
4
|
+
import ContentModelGroupsDataList from "./ContentModelGroupsDataList";
|
|
5
|
+
import ContentModelGroupsForm from "./ContentModelGroupsForm";
|
|
6
|
+
|
|
7
|
+
function ContentModelGroups() {
|
|
8
|
+
var _useSecurity = useSecurity(),
|
|
9
|
+
identity = _useSecurity.identity;
|
|
10
|
+
|
|
11
|
+
var canCreate = useMemo(function () {
|
|
12
|
+
var permission = identity.getPermission("cms.contentModelGroup");
|
|
13
|
+
|
|
14
|
+
if (!permission) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (typeof permission.rwd !== "string") {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return permission.rwd.includes("w");
|
|
23
|
+
}, []);
|
|
24
|
+
return /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(LeftPanel, {
|
|
25
|
+
span: 4
|
|
26
|
+
}, /*#__PURE__*/React.createElement(ContentModelGroupsDataList, {
|
|
27
|
+
canCreate: canCreate
|
|
28
|
+
})), /*#__PURE__*/React.createElement(RightPanel, {
|
|
29
|
+
span: 8
|
|
30
|
+
}, /*#__PURE__*/React.createElement(ContentModelGroupsForm, {
|
|
31
|
+
canCreate: canCreate
|
|
32
|
+
})));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default ContentModelGroups;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
5
|
+
|
|
6
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
7
|
+
|
|
8
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
9
|
+
import React, { useCallback, useMemo, useState } from "react";
|
|
10
|
+
import get from "lodash/get";
|
|
11
|
+
import orderBy from "lodash/orderBy";
|
|
12
|
+
import dotProp from "dot-prop-immutable";
|
|
13
|
+
import { i18n } from "@webiny/app/i18n";
|
|
14
|
+
import { DeleteIcon } from "@webiny/ui/List/DataList/icons";
|
|
15
|
+
import { DataList, List, ListItem, ListItemText, ListItemTextSecondary, ListItemMeta, ListActions, DataListModalOverlay, DataListModalOverlayAction } from "@webiny/ui/List";
|
|
16
|
+
import { useRouter } from "@webiny/react-router";
|
|
17
|
+
import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
|
|
18
|
+
import { useQuery, useApolloClient } from "../../hooks";
|
|
19
|
+
import { useConfirmationDialog } from "@webiny/app-admin/hooks/useConfirmationDialog";
|
|
20
|
+
import * as GQL from "./graphql";
|
|
21
|
+
import { ButtonIcon, ButtonSecondary } from "@webiny/ui/Button";
|
|
22
|
+
import { Cell, Grid } from "@webiny/ui/Grid";
|
|
23
|
+
import { Select } from "@webiny/ui/Select";
|
|
24
|
+
import SearchUI from "@webiny/app-admin/components/SearchUI";
|
|
25
|
+
import { ReactComponent as AddIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/add-18px.svg";
|
|
26
|
+
import { ReactComponent as FilterIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/filter-24px.svg";
|
|
27
|
+
import { serializeSorters, deserializeSorters } from "../utils";
|
|
28
|
+
import usePermission from "../../hooks/usePermission";
|
|
29
|
+
import { Tooltip } from "@webiny/ui/Tooltip";
|
|
30
|
+
var t = i18n.ns("app-headless-cms/admin/content-model-groups/data-list");
|
|
31
|
+
var SORTERS = [{
|
|
32
|
+
label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Newest to oldest"]))),
|
|
33
|
+
sorters: {
|
|
34
|
+
createdOn: "desc"
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Oldest to newest"]))),
|
|
38
|
+
sorters: {
|
|
39
|
+
createdOn: "asc"
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
label: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["Name A-Z"]))),
|
|
43
|
+
sorters: {
|
|
44
|
+
name: "asc"
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
label: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Name Z-A"]))),
|
|
48
|
+
sorters: {
|
|
49
|
+
name: "desc"
|
|
50
|
+
}
|
|
51
|
+
}];
|
|
52
|
+
|
|
53
|
+
var ContentModelGroupsDataList = function ContentModelGroupsDataList(_ref) {
|
|
54
|
+
var canCreate = _ref.canCreate;
|
|
55
|
+
|
|
56
|
+
var _useState = useState(""),
|
|
57
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
58
|
+
filter = _useState2[0],
|
|
59
|
+
setFilter = _useState2[1];
|
|
60
|
+
|
|
61
|
+
var _useState3 = useState(serializeSorters(SORTERS[0].sorters)),
|
|
62
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
63
|
+
sort = _useState4[0],
|
|
64
|
+
setSort = _useState4[1];
|
|
65
|
+
|
|
66
|
+
var _useRouter = useRouter(),
|
|
67
|
+
history = _useRouter.history;
|
|
68
|
+
|
|
69
|
+
var _useSnackbar = useSnackbar(),
|
|
70
|
+
showSnackbar = _useSnackbar.showSnackbar;
|
|
71
|
+
|
|
72
|
+
var client = useApolloClient();
|
|
73
|
+
var listQuery = useQuery(GQL.LIST_CONTENT_MODEL_GROUPS);
|
|
74
|
+
|
|
75
|
+
var _useConfirmationDialo = useConfirmationDialog({
|
|
76
|
+
dataTestId: "cms.contentModelGroup.list-item.delete-dialog"
|
|
77
|
+
}),
|
|
78
|
+
showConfirmation = _useConfirmationDialo.showConfirmation;
|
|
79
|
+
|
|
80
|
+
var _usePermission = usePermission(),
|
|
81
|
+
canDelete = _usePermission.canDelete;
|
|
82
|
+
|
|
83
|
+
var filterData = useCallback(function (_ref2) {
|
|
84
|
+
var name = _ref2.name;
|
|
85
|
+
return name.toLowerCase().includes(filter);
|
|
86
|
+
}, [filter]);
|
|
87
|
+
var sortData = useCallback(function (list) {
|
|
88
|
+
if (!sort) {
|
|
89
|
+
return list;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
var _Object$entries = Object.entries(deserializeSorters(sort)),
|
|
93
|
+
_Object$entries2 = _slicedToArray(_Object$entries, 1),
|
|
94
|
+
_Object$entries2$ = _slicedToArray(_Object$entries2[0], 2),
|
|
95
|
+
key = _Object$entries2$[0],
|
|
96
|
+
value = _Object$entries2$[1];
|
|
97
|
+
|
|
98
|
+
return orderBy(list, [key], [value]);
|
|
99
|
+
}, [sort]);
|
|
100
|
+
var data = listQuery.loading ? [] : get(listQuery, "data.listContentModelGroups.data", []);
|
|
101
|
+
var groupId = new URLSearchParams(location.search).get("id");
|
|
102
|
+
var deleteItem = useCallback(function (group) {
|
|
103
|
+
showConfirmation( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
104
|
+
var response, error;
|
|
105
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
106
|
+
while (1) {
|
|
107
|
+
switch (_context.prev = _context.next) {
|
|
108
|
+
case 0:
|
|
109
|
+
_context.next = 2;
|
|
110
|
+
return client.mutate({
|
|
111
|
+
mutation: GQL.DELETE_CONTENT_MODEL_GROUP,
|
|
112
|
+
variables: {
|
|
113
|
+
id: group.id
|
|
114
|
+
},
|
|
115
|
+
update: function update(cache, _ref4) {
|
|
116
|
+
var data = _ref4.data;
|
|
117
|
+
var error = data.deleteContentModelGroup.error;
|
|
118
|
+
|
|
119
|
+
if (error) {
|
|
120
|
+
return;
|
|
121
|
+
} // Delete the item from list cache
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
// Delete the item from list cache
|
|
125
|
+
var gqlParams = {
|
|
126
|
+
query: GQL.LIST_CONTENT_MODEL_GROUPS
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var _cache$readQuery = cache.readQuery(gqlParams),
|
|
130
|
+
listContentModelGroups = _cache$readQuery.listContentModelGroups;
|
|
131
|
+
|
|
132
|
+
var index = listContentModelGroups.data.findIndex(function (item) {
|
|
133
|
+
return item.id === group.id;
|
|
134
|
+
});
|
|
135
|
+
cache.writeQuery(_objectSpread(_objectSpread({}, gqlParams), {}, {
|
|
136
|
+
data: {
|
|
137
|
+
listContentModelGroups: dotProp.delete(listContentModelGroups, "data.".concat(index))
|
|
138
|
+
}
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
case 2:
|
|
144
|
+
response = _context.sent;
|
|
145
|
+
error = response.data.deleteContentModelGroup.error;
|
|
146
|
+
|
|
147
|
+
if (!error) {
|
|
148
|
+
_context.next = 6;
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return _context.abrupt("return", showSnackbar(error.message));
|
|
153
|
+
|
|
154
|
+
case 6:
|
|
155
|
+
showSnackbar(t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Content model group \"{name}\" deleted."])))({
|
|
156
|
+
name: group.name
|
|
157
|
+
}));
|
|
158
|
+
|
|
159
|
+
if (groupId === group.id) {
|
|
160
|
+
history.push("/cms/content-model-groups");
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
case 8:
|
|
164
|
+
case "end":
|
|
165
|
+
return _context.stop();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}, _callee);
|
|
169
|
+
})));
|
|
170
|
+
}, [groupId]);
|
|
171
|
+
var contentModelGroupsDataListModalOverlay = useMemo(function () {
|
|
172
|
+
return /*#__PURE__*/React.createElement(DataListModalOverlay, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
|
|
173
|
+
span: 12
|
|
174
|
+
}, /*#__PURE__*/React.createElement(Select, {
|
|
175
|
+
value: sort,
|
|
176
|
+
onChange: setSort,
|
|
177
|
+
label: t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Sort by"]))),
|
|
178
|
+
description: "Sort pages by"
|
|
179
|
+
}, SORTERS.map(function (_ref5) {
|
|
180
|
+
var label = _ref5.label,
|
|
181
|
+
sorters = _ref5.sorters;
|
|
182
|
+
return /*#__PURE__*/React.createElement("option", {
|
|
183
|
+
key: label,
|
|
184
|
+
value: serializeSorters(sorters)
|
|
185
|
+
}, label);
|
|
186
|
+
})))));
|
|
187
|
+
}, [sort]);
|
|
188
|
+
var filteredData = filter === "" ? data : data.filter(filterData);
|
|
189
|
+
var contentModelGroups = sortData(filteredData);
|
|
190
|
+
return /*#__PURE__*/React.createElement(DataList, {
|
|
191
|
+
loading: listQuery.loading,
|
|
192
|
+
data: contentModelGroups,
|
|
193
|
+
title: t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Content Model Groups"]))),
|
|
194
|
+
actions: canCreate ? /*#__PURE__*/React.createElement(ButtonSecondary, {
|
|
195
|
+
"data-testid": "new-record-button",
|
|
196
|
+
onClick: function onClick() {
|
|
197
|
+
return history.push("/cms/content-model-groups?new=true");
|
|
198
|
+
}
|
|
199
|
+
}, /*#__PURE__*/React.createElement(ButtonIcon, {
|
|
200
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
201
|
+
}), " ", t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["New Group"])))) : null,
|
|
202
|
+
search: /*#__PURE__*/React.createElement(SearchUI, {
|
|
203
|
+
value: filter,
|
|
204
|
+
onChange: setFilter,
|
|
205
|
+
inputPlaceholder: t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Search content model group"])))
|
|
206
|
+
}),
|
|
207
|
+
modalOverlay: contentModelGroupsDataListModalOverlay,
|
|
208
|
+
modalOverlayAction: /*#__PURE__*/React.createElement(DataListModalOverlayAction, {
|
|
209
|
+
icon: /*#__PURE__*/React.createElement(FilterIcon, null),
|
|
210
|
+
"data-testid": "default-data-list.filter"
|
|
211
|
+
})
|
|
212
|
+
}, function (_ref6) {
|
|
213
|
+
var data = _ref6.data;
|
|
214
|
+
return /*#__PURE__*/React.createElement(List, {
|
|
215
|
+
"data-testid": "default-data-list"
|
|
216
|
+
}, data.map(function (item) {
|
|
217
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
218
|
+
key: item.id,
|
|
219
|
+
selected: item.id === groupId
|
|
220
|
+
}, /*#__PURE__*/React.createElement(ListItemText, {
|
|
221
|
+
onClick: function onClick() {
|
|
222
|
+
return history.push("/cms/content-model-groups?id=".concat(item.id));
|
|
223
|
+
}
|
|
224
|
+
}, item.name, /*#__PURE__*/React.createElement(ListItemTextSecondary, null, item.contentModels.length ? t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["{contentModels|count:1:content model:default:content models}"])))({
|
|
225
|
+
contentModels: item.contentModels.length
|
|
226
|
+
}) : t(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["No content models"]))))), canDelete(item, "cms.contentModelGroup") && /*#__PURE__*/React.createElement(ListItemMeta, null, /*#__PURE__*/React.createElement(ListActions, null, item.plugin ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
227
|
+
content: "Content model group is registered via a plugin.",
|
|
228
|
+
placement: "bottom"
|
|
229
|
+
}, /*#__PURE__*/React.createElement(DeleteIcon, {
|
|
230
|
+
disabled: true,
|
|
231
|
+
"data-testid": "cms.contentModelGroup.list-item.delete"
|
|
232
|
+
})) : /*#__PURE__*/React.createElement(DeleteIcon, {
|
|
233
|
+
onClick: function onClick() {
|
|
234
|
+
return deleteItem(item);
|
|
235
|
+
},
|
|
236
|
+
"data-testid": "cms.contentModelGroup.list-item.delete"
|
|
237
|
+
}))));
|
|
238
|
+
}));
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
export default ContentModelGroupsDataList;
|