@webiny/app-headless-cms 5.34.8 → 5.35.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HeadlessCMS.js +8 -21
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.js +11 -51
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +0 -16
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
- package/admin/components/ContentEntryForm/Fields.js +4 -11
- package/admin/components/ContentEntryForm/Fields.js.map +1 -1
- package/admin/components/ContentEntryForm/Label.js +0 -8
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/components/ContentEntryForm/RenderFieldElement.js +2 -17
- package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/getValue.js +2 -8
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/setValue.js +3 -9
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.js +9 -29
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/components/ContentEntryForm/useContentEntryForm.js +209 -330
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/useRenderPlugins.d.ts +1 -2
- package/admin/components/ContentEntryForm/useRenderPlugins.js +0 -3
- package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -1
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js +103 -166
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -1
- package/admin/components/ContentModelEditor/Editor.d.ts +4 -1
- package/admin/components/ContentModelEditor/Editor.js +7 -40
- package/admin/components/ContentModelEditor/Editor.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js +5 -17
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/ContentModelEditor/Header.js +0 -8
- package/admin/components/ContentModelEditor/Header.js.map +1 -1
- package/admin/components/ContentModelEditor/PreviewTab.js +1 -16
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
- package/admin/components/ContentModelEditor/index.js +0 -4
- package/admin/components/ContentModelEditor/index.js.map +1 -1
- package/admin/components/ContentModelEditor/useModelEditor.js +0 -6
- package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -1
- package/admin/components/DelayedOnChange.js +6 -31
- package/admin/components/DelayedOnChange.js.map +1 -1
- package/admin/components/Dialog.d.ts +5 -1
- package/admin/components/Dialog.js +1 -5
- package/admin/components/Dialog.js.map +1 -1
- package/admin/components/DragPreview.js +21 -39
- package/admin/components/DragPreview.js.map +1 -1
- package/admin/components/Draggable.js +28 -40
- package/admin/components/Draggable.js.map +1 -1
- package/admin/components/DropZone/Center.js +6 -19
- package/admin/components/DropZone/Center.js.map +1 -1
- package/admin/components/DropZone/Horizontal.js +5 -16
- package/admin/components/DropZone/Horizontal.js.map +1 -1
- package/admin/components/DropZone/Vertical.js +5 -15
- package/admin/components/DropZone/Vertical.js.map +1 -1
- package/admin/components/DropZone/index.js +0 -4
- package/admin/components/DropZone/index.js.map +1 -1
- package/admin/components/Droppable.js +27 -40
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +3 -30
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +8 -36
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +15 -40
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +3 -11
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +10 -48
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +2 -8
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +3 -10
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +4 -28
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog.js +16 -54
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/Field.js +251 -105
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.js +15 -53
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.js +42 -102
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/Styled.d.ts +9 -3
- package/admin/components/FieldEditor/Styled.js +1 -5
- package/admin/components/FieldEditor/Styled.js.map +1 -1
- package/admin/components/FieldEditor/index.js +0 -2
- package/admin/components/FieldEditor/index.js.map +1 -1
- package/admin/components/FieldEditor/useModelFieldEditor.js +0 -5
- package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/utils/deleteField.js +4 -13
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.js +1 -6
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/components/FieldEditor/utils/index.js +0 -5
- package/admin/components/FieldEditor/utils/index.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveField.js +7 -17
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveRow.js +2 -7
- package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
- package/admin/components/IconPicker.js +18 -43
- package/admin/components/IconPicker.js.map +1 -1
- package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +1 -1
- package/admin/components/ModelFieldProvider/ModelFieldContext.js +1 -7
- package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -1
- package/admin/components/ModelFieldProvider/index.js +0 -4
- package/admin/components/ModelFieldProvider/index.js.map +1 -1
- package/admin/components/ModelFieldProvider/useModelField.d.ts +1 -1
- package/admin/components/ModelFieldProvider/useModelField.js +1 -10
- package/admin/components/ModelFieldProvider/useModelField.js.map +1 -1
- package/admin/components/ModelProvider/ModelContext.js +1 -7
- package/admin/components/ModelProvider/ModelContext.js.map +1 -1
- package/admin/components/ModelProvider/index.js +0 -4
- package/admin/components/ModelProvider/index.js.map +1 -1
- package/admin/components/ModelProvider/useModel.js +0 -5
- package/admin/components/ModelProvider/useModel.js.map +1 -1
- package/admin/constants/statusLabels.js +0 -6
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/contexts/Cms/NetworkError.js +0 -5
- package/admin/contexts/Cms/NetworkError.js.map +1 -1
- package/admin/contexts/Cms/index.js +29 -70
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/elements/ContentGroupMenuElement.js +0 -11
- package/admin/elements/ContentGroupMenuElement.js.map +1 -1
- package/admin/elements/ContentModelMenuElement.js +0 -11
- package/admin/elements/ContentModelMenuElement.js.map +1 -1
- package/admin/elements/NothingToShowElement.js +0 -24
- package/admin/elements/NothingToShowElement.js.map +1 -1
- package/admin/graphql/contentEntries.js +24 -65
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/graphql/contentModels.js +2 -8
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/graphql/createFieldsList.js +7 -10
- package/admin/graphql/createFieldsList.js.map +1 -1
- package/admin/hooks/index.d.ts +2 -0
- package/admin/hooks/index.js +25 -14
- package/admin/hooks/index.js.map +1 -1
- package/admin/hooks/useApolloClient.js +1 -6
- package/admin/hooks/useApolloClient.js.map +1 -1
- package/admin/hooks/useCms.js +0 -6
- package/admin/hooks/useCms.js.map +1 -1
- package/admin/hooks/useContentModels.d.ts +14 -0
- package/admin/hooks/useContentModels.js +40 -0
- package/admin/hooks/useContentModels.js.map +1 -0
- package/admin/hooks/useLazyQuery.js +1 -9
- package/admin/hooks/useLazyQuery.js.map +1 -1
- package/admin/hooks/useMutation.js +1 -9
- package/admin/hooks/useMutation.js.map +1 -1
- package/admin/hooks/usePermission.d.ts +2 -2
- package/admin/hooks/usePermission.js +9 -51
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/hooks/useQuery.js +1 -9
- package/admin/hooks/useQuery.js.map +1 -1
- package/admin/hooks/useQueryLocale.js +1 -9
- package/admin/hooks/useQueryLocale.js.map +1 -1
- package/admin/menus/CmsMenuLoader.js +5 -19
- package/admin/menus/CmsMenuLoader.js.map +1 -1
- package/admin/menus/ContentGroupsMenuItems.js +4 -25
- package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
- package/admin/menus/GlobalSearchPlugins.js +5 -15
- package/admin/menus/GlobalSearchPlugins.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +1 -8
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/apiInformation/index.js +3 -14
- package/admin/plugins/apiInformation/index.js.map +1 -1
- package/admin/plugins/arrayUtils.js +2 -10
- package/admin/plugins/arrayUtils.js.map +1 -1
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +0 -14
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +0 -14
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/editor/defaultBar/BackButton.js +1 -11
- package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +2 -19
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Divider.d.ts +5 -2
- package/admin/plugins/editor/defaultBar/Divider.js +0 -3
- package/admin/plugins/editor/defaultBar/Divider.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +9 -36
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +3 -13
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +8 -2
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +0 -7
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/index.js +0 -2
- package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js +11 -30
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +13 -4
- package/admin/plugins/editor/defaultBar/Name/NameStyled.js +0 -4
- package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/index.js +0 -1
- package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +24 -50
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/index.js +0 -9
- package/admin/plugins/editor/defaultBar/index.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +2 -2
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +22 -9
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GroupSelect.js +3 -14
- package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
- package/admin/plugins/editor/formSettings/index.js +0 -6
- package/admin/plugins/editor/formSettings/index.js.map +1 -1
- package/admin/plugins/entry/DefaultOnEntryDelete.js +93 -140
- package/admin/plugins/entry/DefaultOnEntryDelete.js.map +1 -1
- package/admin/plugins/entry/DefaultOnEntryPublish.js +70 -112
- package/admin/plugins/entry/DefaultOnEntryPublish.js.map +1 -1
- package/admin/plugins/fieldRenderers/Accordion.js +8 -21
- package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +11 -28
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +1 -10
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/boolean/index.js +0 -3
- package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/checkboxes.js +6 -17
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +20 -41
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +51 -97
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +46 -85
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js +1 -10
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Select.js +0 -5
- package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Time.js +19 -39
- package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +1 -14
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +1 -21
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/dateTime/index.js +0 -4
- package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.js +2 -31
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +3 -3
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +15 -37
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +4 -4
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +11 -36
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +4 -4
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +3 -17
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +1 -10
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +2 -15
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +0 -5
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +4 -14
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/File.js +6 -21
- package/admin/plugins/fieldRenderers/file/File.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/fileField.js +3 -15
- package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/fileFields.js +6 -25
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/file/index.js +0 -4
- package/admin/plugins/fieldRenderers/file/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/utils.js +1 -12
- package/admin/plugins/fieldRenderers/file/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/longText/index.js +0 -4
- package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js +1 -10
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -12
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/number/index.js +0 -4
- package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js +1 -10
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -12
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +9 -3
- package/admin/plugins/fieldRenderers/object/StyledComponents.js +0 -4
- package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/object/index.js +0 -6
- package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjects.js +12 -37
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +12 -36
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +2 -11
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectInline.js +2 -14
- package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js +6 -17
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +277 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +181 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.d.ts +9 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js +62 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.d.ts +27 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js +153 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.d.ts +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js +37 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.d.ts +9 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js +142 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Options.d.ts +9 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js +118 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.d.ts +11 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +183 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Search.d.ts +7 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js +60 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/add-circle.svg +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/down-arrow.svg +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/link.svg +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/search.svg +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.d.ts +19 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.js +35 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.js +90 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/assets/close.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js +64 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js +26 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.d.ts +6 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js +31 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.d.ts +9 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js +65 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.d.ts +6 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js +25 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js +30 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.d.ts +7 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js +24 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.d.ts +7 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js +24 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js +44 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.d.ts +9 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js +82 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.d.ts +7 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js +32 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.d.ts +6 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js +24 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.d.ts +7 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js +22 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-down.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-up.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/remove.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/selected.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-draft.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-published.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-unpublished.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/view.svg +3 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.d.ts +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +84 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js +55 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.d.ts +8 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js +98 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.d.ts +2 -0
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +46 -0
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.d.ts +2 -0
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +45 -0
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.d.ts +44 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js +17 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.d.ts +15 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js +187 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.d.ts +12 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js +214 -0
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/index.d.ts +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/index.js +12 -0
- package/admin/plugins/fieldRenderers/ref/advanced/index.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +15 -46
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +19 -46
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +4 -17
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +0 -15
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +15 -61
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +1 -5
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/graphql.js +2 -7
- package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/helpers.js +0 -12
- package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js +0 -14
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/types.d.ts +11 -1
- package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.js +51 -99
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js +53 -83
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -20
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +5 -17
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/ref/index.js +3 -5
- package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInput.js +0 -9
- package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js +0 -10
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/richText/index.js +0 -4
- package/admin/plugins/fieldRenderers/richText/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +1 -13
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +1 -18
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js +2 -15
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/index.d.ts +1 -1
- package/admin/plugins/fieldRenderers/text/index.js +0 -4
- package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js +1 -10
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js +1 -12
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/date/availableValidators.js +0 -4
- package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.js +0 -10
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.js +21 -48
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.js +21 -48
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/dynamicZone.js +81 -133
- package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -1
- package/admin/plugins/fieldValidators/gte.js +14 -31
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.js +14 -31
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.js +14 -31
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.js +14 -31
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.js +14 -31
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.js +31 -63
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/fieldValidators/required.js +0 -2
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.js +6 -16
- package/admin/plugins/fieldValidators/unique.js.map +1 -1
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +9 -31
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.js +0 -11
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.js +2 -19
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +3 -3
- package/admin/plugins/fields/dynamicZone/AddTemplate.js +16 -39
- package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone/DynamicZone.js +2 -22
- package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +12 -35
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js +5 -38
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -1
- package/admin/plugins/fields/dynamicZone.d.ts +2 -2
- package/admin/plugins/fields/dynamicZone.js +4 -18
- package/admin/plugins/fields/dynamicZone.js.map +1 -1
- package/admin/plugins/fields/file.js +0 -11
- package/admin/plugins/fields/file.js.map +1 -1
- package/admin/plugins/fields/longText.js +0 -11
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.js +0 -12
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object/ObjectFields.js +3 -13
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
- package/admin/plugins/fields/object.js +4 -11
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref/graphql.d.ts +8 -0
- package/admin/plugins/fields/ref/graphql.js +12 -0
- package/admin/plugins/fields/ref/graphql.js.map +1 -0
- package/admin/plugins/fields/ref/renderInfo.d.ts +9 -0
- package/admin/plugins/fields/ref/renderInfo.js +116 -0
- package/admin/plugins/fields/ref/renderInfo.js.map +1 -0
- package/admin/plugins/fields/ref.js +27 -59
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.js +0 -11
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/text.js +0 -12
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/getObjectId.js +0 -4
- package/admin/plugins/getObjectId.js.map +1 -1
- package/admin/plugins/icons.js +2 -12
- package/admin/plugins/icons.js.map +1 -1
- package/admin/plugins/index.d.ts +3 -3
- package/admin/plugins/index.js +0 -12
- package/admin/plugins/index.js.map +1 -1
- package/admin/plugins/install.js +22 -87
- package/admin/plugins/install.js.map +1 -1
- package/admin/plugins/permissionRenderer/CmsPermissions.js +18 -72
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +6 -24
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +4 -19
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelList.js +5 -18
- package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +9 -29
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +2 -8
- package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js +11 -27
- package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +5 -2
- package/admin/plugins/permissionRenderer/components/StyledComponents.js +0 -3
- package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +1 -0
- package/admin/plugins/permissionRenderer/components/useCmsData.js +60 -65
- package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
- package/admin/plugins/permissionRenderer/index.js +0 -6
- package/admin/plugins/permissionRenderer/index.js.map +1 -1
- package/admin/plugins/routes.js +3 -20
- package/admin/plugins/routes.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.js +5 -36
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/dynamicZoneTransformer.js +3 -12
- package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -1
- package/admin/plugins/transformers/index.js +0 -5
- package/admin/plugins/transformers/index.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.js +0 -3
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/plugins/welcomeScreenWidget.js +0 -6
- package/admin/plugins/welcomeScreenWidget.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +8 -88
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContainer.d.ts +4 -0
- package/admin/views/contentEntries/ContentEntriesContainer.js +65 -0
- package/admin/views/contentEntries/ContentEntriesContainer.js.map +1 -0
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.js +14 -39
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +19 -54
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +33 -79
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js +0 -12
- package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +21 -61
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList.js +3 -19
- package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +10 -64
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/Header.js +0 -9
- package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +48 -94
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/index.js +0 -8
- package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +5 -22
- package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +30 -62
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +3 -17
- package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -35
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.js +81 -146
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +9 -32
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +1 -13
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +0 -8
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.d.ts +2 -0
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +50 -74
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
- package/admin/views/contentEntries/hooks/index.d.ts +3 -0
- package/admin/views/contentEntries/hooks/index.js +38 -0
- package/admin/views/contentEntries/hooks/index.js.map +1 -0
- package/admin/views/contentEntries/hooks/useContentEntries.js +0 -5
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +31 -54
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntry.js +0 -5
- package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroups.js +2 -15
- package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +66 -120
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +72 -129
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModelGroups/graphql.js +1 -9
- package/admin/views/contentModelGroups/graphql.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.d.ts +5 -6
- package/admin/views/contentModels/CloneContentModelDialog.js +120 -164
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +3 -17
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/ContentModels.js +10 -30
- package/admin/views/contentModels/ContentModels.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +105 -139
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +118 -221
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/cache.js +5 -28
- package/admin/views/contentModels/cache.js.map +1 -1
- package/admin/views/contentModels/helpers/apiNameValidator.d.ts +8 -0
- package/admin/views/contentModels/helpers/apiNameValidator.js +116 -0
- package/admin/views/contentModels/helpers/apiNameValidator.js.map +1 -0
- package/admin/views/contentModels/helpers/nameValidator.d.ts +6 -0
- package/admin/views/contentModels/helpers/nameValidator.js +63 -0
- package/admin/views/contentModels/helpers/nameValidator.js.map +1 -0
- package/admin/views/utils.js +3 -9
- package/admin/views/utils.js.map +1 -1
- package/admin/viewsGraphql.js +7 -11
- package/admin/viewsGraphql.js.map +1 -1
- package/allPlugins.d.ts +3 -3
- package/allPlugins.js +0 -44
- package/allPlugins.js.map +1 -1
- package/index.js +0 -5
- package/index.js.map +1 -1
- package/package.json +27 -28
- package/types/index.d.ts +40 -18
- package/types/index.js +0 -6
- package/types/index.js.map +1 -1
- package/types/model.d.ts +10 -5
- package/types/model.js.map +1 -1
- package/types/shared.d.ts +1 -1
- package/types/shared.js.map +1 -1
- package/utils/CmsModelFieldValidatorConfigAdapter.js +0 -12
- package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -1
- package/utils/createTypeName.js +0 -5
- package/utils/createTypeName.js.map +1 -1
- package/utils/createValidators.js +40 -61
- package/utils/createValidators.js.map +1 -1
- package/utils/getFetchPolicy.js +0 -2
- package/utils/getFetchPolicy.js.map +1 -1
- package/utils/getModelTitleFieldId.js +0 -3
- package/utils/getModelTitleFieldId.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getValueHash","value","id","entryId","parseIdentifier","useReference","bind","field","allEntries","useRef","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntry","setValueEntry","models","settings","modelsHash","map","model","modelId","join","valueHash","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","m","limit","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","length","fetchPolicy","then","latestEntryData","entry","GET_CONTENT_ENTRY","res","dataEntry","latest","option","convertReferenceEntryToOption","published","prev","onChange","useCallback","options","useMemo","Object","values","defaultOptions","outputOptions","some","opt","push"],"sources":["useReference.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRY,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n} from \"./graphql\";\nimport { CmsModelField, CmsModel } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"./helpers\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface UseReferenceHookArgs {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\n\ninterface UseReferenceHookValue {\n onChange: (value: any, entry: OptionItem) => void;\n setSearch: (value: string) => void;\n value: OptionItem | null;\n loading: boolean;\n options: OptionItem[];\n}\n\ntype UseReferenceHook = (args: UseReferenceHookArgs) => UseReferenceHookValue;\n\nconst getValueHash = (value: any): string | null => {\n if (!value || (!value.id && !value.entryId)) {\n return null;\n } else if (value.entryId) {\n return value.entryId;\n }\n const { id } = parseIdentifier(value.id);\n return id;\n};\n\nexport const useReference: UseReferenceHook = ({ bind, field }) => {\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItemCollection>({});\n const [valueEntry, setValueEntry] = useState<OptionItem | null>(null);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\" | \"name\"\n >[];\n const modelsHash = models.map(model => model.modelId).join(\",\");\n\n const value = bind.value;\n const valueHash = getValueHash(value);\n\n const searchEntries = async () => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search,\n limit: 10\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n if (valueEntry) {\n collection[valueEntry.entryId] = valueEntry;\n }\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n if (models.length === 0) {\n return;\n }\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n const latestEntryData = convertReferenceEntriesToOptionCollection(\n data.content.data\n );\n if (valueEntry) {\n latestEntryData[valueEntry.entryId] = valueEntry;\n }\n\n setLatestEntries(latestEntryData);\n allEntries.current = {\n ...allEntries.current,\n ...latestEntryData\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!value || !models) {\n setValueEntry(() => null);\n return;\n }\n\n const entry = valueHash ? allEntries.current[valueHash] : null;\n if (entry) {\n /**\n * if entry exists set valueEntry to that one so we do not load new one\n */\n setValueEntry(() => {\n return entry;\n });\n return;\n }\n\n setLoading(true);\n /**\n * Query loads both latest and published entries.\n * We do this in a single query because there might not be a published entry so we can use the latest one.\n */\n client\n .query<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>({\n query: GET_CONTENT_ENTRY,\n variables: {\n entry: {\n modelId: value.modelId,\n id: value.id\n }\n }\n })\n .then(res => {\n setLoading(false);\n const dataEntry = res.data.latest.data;\n if (!dataEntry) {\n return;\n }\n const option: OptionItem = {\n ...convertReferenceEntryToOption(dataEntry),\n latest: dataEntry.id,\n published: res.data.published.data ? res.data.published.data.id : null\n };\n allEntries.current[option.entryId] = option;\n setLatestEntries(prev => {\n return {\n ...prev,\n [option.entryId]: {\n ...option\n }\n };\n });\n /**\n * Calculate a couple of props for the Autocomplete component.\n */\n setValueEntry(() => {\n return option;\n });\n });\n }, [valueHash, modelsHash]);\n\n const onChange = useCallback((value: string, entry: OptionItem) => {\n if (value !== null) {\n setSearch(\"\");\n\n setValueEntry(() => {\n return entry;\n });\n bind.onChange({\n modelId: entry.modelId,\n id: entry.id\n });\n return;\n }\n\n setValueEntry(() => null);\n bind.onChange(null);\n }, []);\n\n /**\n * Format options for the Autocomplete component.\n */\n const options = useMemo(() => Object.values(entries), [valueHash, entries]);\n\n /**\n * Format default options for the Autocomplete component.\n */\n const defaultOptions = useMemo(() => {\n return Object.values(latestEntries);\n }, [valueHash, latestEntries]);\n\n const outputOptions: OptionItem[] = (search && options ? options : defaultOptions) || [];\n\n if (valueEntry && outputOptions.some(opt => opt.entryId === valueEntry.entryId) === false) {\n outputOptions.push(valueEntry);\n }\n\n return {\n onChange,\n setSearch,\n value: valueEntry,\n loading,\n options: outputOptions\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["getValueHash","value","id","entryId","parseIdentifier","useReference","bind","field","allEntries","useRef","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntry","setValueEntry","models","settings","modelsHash","map","model","modelId","join","valueHash","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","m","limit","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","length","fetchPolicy","then","latestEntryData","entry","GET_CONTENT_ENTRY","res","dataEntry","latest","option","convertReferenceEntryToOption","published","prev","onChange","useCallback","options","useMemo","Object","values","defaultOptions","outputOptions","some","opt","push"],"sources":["useReference.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRY,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n} from \"./graphql\";\nimport { CmsModelField, CmsModel } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"./helpers\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface UseReferenceHookArgs {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\n\ninterface UseReferenceHookValue {\n onChange: (value: any, entry: OptionItem) => void;\n setSearch: (value: string) => void;\n value: OptionItem | null;\n loading: boolean;\n options: OptionItem[];\n}\n\ntype UseReferenceHook = (args: UseReferenceHookArgs) => UseReferenceHookValue;\n\nconst getValueHash = (value: any): string | null => {\n if (!value || (!value.id && !value.entryId)) {\n return null;\n } else if (value.entryId) {\n return value.entryId;\n }\n const { id } = parseIdentifier(value.id);\n return id;\n};\n\nexport const useReference: UseReferenceHook = ({ bind, field }) => {\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItemCollection>({});\n const [valueEntry, setValueEntry] = useState<OptionItem | null>(null);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\" | \"name\"\n >[];\n const modelsHash = models.map(model => model.modelId).join(\",\");\n\n const value = bind.value;\n const valueHash = getValueHash(value);\n\n const searchEntries = async () => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search,\n limit: 10\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n if (valueEntry) {\n collection[valueEntry.entryId] = valueEntry;\n }\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n if (models.length === 0) {\n return;\n }\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n const latestEntryData = convertReferenceEntriesToOptionCollection(\n data.content.data\n );\n if (valueEntry) {\n latestEntryData[valueEntry.entryId] = valueEntry;\n }\n\n setLatestEntries(latestEntryData);\n allEntries.current = {\n ...allEntries.current,\n ...latestEntryData\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!value || !models) {\n setValueEntry(() => null);\n return;\n }\n\n const entry = valueHash ? allEntries.current[valueHash] : null;\n if (entry) {\n /**\n * if entry exists set valueEntry to that one so we do not load new one\n */\n setValueEntry(() => {\n return entry;\n });\n return;\n }\n\n setLoading(true);\n /**\n * Query loads both latest and published entries.\n * We do this in a single query because there might not be a published entry so we can use the latest one.\n */\n client\n .query<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>({\n query: GET_CONTENT_ENTRY,\n variables: {\n entry: {\n modelId: value.modelId,\n id: value.id\n }\n }\n })\n .then(res => {\n setLoading(false);\n const dataEntry = res.data.latest.data;\n if (!dataEntry) {\n return;\n }\n const option: OptionItem = {\n ...convertReferenceEntryToOption(dataEntry),\n latest: dataEntry.id,\n published: res.data.published.data ? res.data.published.data.id : null\n };\n allEntries.current[option.entryId] = option;\n setLatestEntries(prev => {\n return {\n ...prev,\n [option.entryId]: {\n ...option\n }\n };\n });\n /**\n * Calculate a couple of props for the Autocomplete component.\n */\n setValueEntry(() => {\n return option;\n });\n });\n }, [valueHash, modelsHash]);\n\n const onChange = useCallback((value: string, entry: OptionItem) => {\n if (value !== null) {\n setSearch(\"\");\n\n setValueEntry(() => {\n return entry;\n });\n bind.onChange({\n modelId: entry.modelId,\n id: entry.id\n });\n return;\n }\n\n setValueEntry(() => null);\n bind.onChange(null);\n }, []);\n\n /**\n * Format options for the Autocomplete component.\n */\n const options = useMemo(() => Object.values(entries), [valueHash, entries]);\n\n /**\n * Format default options for the Autocomplete component.\n */\n const defaultOptions = useMemo(() => {\n return Object.values(latestEntries);\n }, [valueHash, latestEntries]);\n\n const outputOptions: OptionItem[] = (search && options ? options : defaultOptions) || [];\n\n if (valueEntry && outputOptions.some(opt => opt.entryId === valueEntry.entryId) === false) {\n outputOptions.push(valueEntry);\n }\n\n return {\n onChange,\n setSearch,\n value: valueEntry,\n loading,\n options: outputOptions\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,113 +1,87 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useReferences = void 0;
|
|
9
|
-
|
|
10
8
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
|
-
|
|
12
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
-
|
|
14
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = require("react");
|
|
19
|
-
|
|
20
13
|
var _hooks = require("../../../../hooks");
|
|
21
|
-
|
|
22
14
|
var _graphql = require("./graphql");
|
|
23
|
-
|
|
24
15
|
var _helpers = require("./helpers");
|
|
25
|
-
|
|
26
16
|
var useReferences = function useReferences(_ref) {
|
|
27
17
|
var bind = _ref.bind,
|
|
28
|
-
|
|
18
|
+
field = _ref.field;
|
|
29
19
|
var isMounted = (0, _react.useRef)(true);
|
|
30
20
|
var allEntries = (0, _react.useRef)({});
|
|
31
21
|
var client = (0, _hooks.useApolloClient)();
|
|
32
|
-
|
|
33
22
|
var _useState = (0, _react.useState)(""),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
23
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
24
|
+
search = _useState2[0],
|
|
25
|
+
setSearch = _useState2[1];
|
|
38
26
|
var _useState3 = (0, _react.useState)(false),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
28
|
+
loading = _useState4[0],
|
|
29
|
+
setLoading = _useState4[1];
|
|
43
30
|
var _useState5 = (0, _react.useState)({}),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
31
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
32
|
+
entries = _useState6[0],
|
|
33
|
+
setEntries = _useState6[1];
|
|
48
34
|
var _useState7 = (0, _react.useState)([]),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
36
|
+
latestEntries = _useState8[0],
|
|
37
|
+
setLatestEntries = _useState8[1];
|
|
53
38
|
var _useState9 = (0, _react.useState)([]),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
39
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
40
|
+
valueEntries = _useState10[0],
|
|
41
|
+
setValueEntries = _useState10[1];
|
|
58
42
|
var models = field.settings ? field.settings.models || [] : [];
|
|
59
43
|
var modelsHash = models.join(",");
|
|
60
44
|
var values = bind.value ? bind.value : [];
|
|
61
|
-
|
|
62
45
|
var searchEntries = /*#__PURE__*/function () {
|
|
63
46
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
64
47
|
var _yield$client$query, data, collection;
|
|
65
|
-
|
|
66
48
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
67
|
-
while (1) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
49
|
+
while (1) switch (_context.prev = _context.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
if (search) {
|
|
52
|
+
_context.next = 2;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
return _context.abrupt("return");
|
|
56
|
+
case 2:
|
|
57
|
+
setLoading(true);
|
|
58
|
+
_context.next = 5;
|
|
59
|
+
return client.query({
|
|
60
|
+
query: _graphql.SEARCH_CONTENT_ENTRIES,
|
|
61
|
+
variables: {
|
|
62
|
+
modelIds: models.map(function (m) {
|
|
63
|
+
return m.modelId;
|
|
64
|
+
}),
|
|
65
|
+
query: search
|
|
73
66
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}),
|
|
86
|
-
query: search
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
case 5:
|
|
91
|
-
_yield$client$query = _context.sent;
|
|
92
|
-
data = _yield$client$query.data;
|
|
93
|
-
setLoading(false);
|
|
94
|
-
collection = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
|
|
95
|
-
allEntries.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, allEntries.current), collection);
|
|
96
|
-
setEntries(collection);
|
|
97
|
-
|
|
98
|
-
case 11:
|
|
99
|
-
case "end":
|
|
100
|
-
return _context.stop();
|
|
101
|
-
}
|
|
67
|
+
});
|
|
68
|
+
case 5:
|
|
69
|
+
_yield$client$query = _context.sent;
|
|
70
|
+
data = _yield$client$query.data;
|
|
71
|
+
setLoading(false);
|
|
72
|
+
collection = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
|
|
73
|
+
allEntries.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, allEntries.current), collection);
|
|
74
|
+
setEntries(collection);
|
|
75
|
+
case 11:
|
|
76
|
+
case "end":
|
|
77
|
+
return _context.stop();
|
|
102
78
|
}
|
|
103
79
|
}, _callee);
|
|
104
80
|
}));
|
|
105
|
-
|
|
106
81
|
return function searchEntries() {
|
|
107
82
|
return _ref2.apply(this, arguments);
|
|
108
83
|
};
|
|
109
84
|
}();
|
|
110
|
-
|
|
111
85
|
(0, _react.useEffect)(function () {
|
|
112
86
|
return function () {
|
|
113
87
|
isMounted.current = false;
|
|
@@ -125,7 +99,6 @@ var useReferences = function useReferences(_ref) {
|
|
|
125
99
|
}),
|
|
126
100
|
limit: 10
|
|
127
101
|
},
|
|
128
|
-
|
|
129
102
|
/**
|
|
130
103
|
* We cannot update this query response in cache after a reference entry being created/deleted,
|
|
131
104
|
* which result in cached response being stale, therefore, we're setting the fetchPolicy to "network-only" to by passing cache.
|
|
@@ -133,11 +106,9 @@ var useReferences = function useReferences(_ref) {
|
|
|
133
106
|
fetchPolicy: "network-only"
|
|
134
107
|
}).then(function (_ref3) {
|
|
135
108
|
var data = _ref3.data;
|
|
136
|
-
|
|
137
109
|
if (!isMounted.current) {
|
|
138
110
|
return;
|
|
139
111
|
}
|
|
140
|
-
|
|
141
112
|
var collection = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
|
|
142
113
|
setLatestEntries(Object.values(collection));
|
|
143
114
|
allEntries.current = (0, _objectSpread2.default)({}, collection);
|
|
@@ -147,7 +118,6 @@ var useReferences = function useReferences(_ref) {
|
|
|
147
118
|
if (!values || values.length == 0) {
|
|
148
119
|
return;
|
|
149
120
|
}
|
|
150
|
-
|
|
151
121
|
setLoading(true);
|
|
152
122
|
client.query({
|
|
153
123
|
query: _graphql.GET_CONTENT_ENTRIES,
|
|
@@ -166,7 +136,6 @@ var useReferences = function useReferences(_ref) {
|
|
|
166
136
|
if (!isMounted.current) {
|
|
167
137
|
return;
|
|
168
138
|
}
|
|
169
|
-
|
|
170
139
|
setLoading(false);
|
|
171
140
|
var latest = (res.data.latest.data || []).reduce(function (collection, item) {
|
|
172
141
|
collection[item.entryId] = item;
|
|
@@ -175,7 +144,6 @@ var useReferences = function useReferences(_ref) {
|
|
|
175
144
|
var entries = (res.data.published.data || []).reduce(function (collection, item) {
|
|
176
145
|
var entryId = item.entryId;
|
|
177
146
|
var existingItem = latest[entryId];
|
|
178
|
-
|
|
179
147
|
if (existingItem) {
|
|
180
148
|
collection[entryId] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingItem), {}, {
|
|
181
149
|
published: {
|
|
@@ -186,35 +154,38 @@ var useReferences = function useReferences(_ref) {
|
|
|
186
154
|
});
|
|
187
155
|
return collection;
|
|
188
156
|
}
|
|
189
|
-
|
|
190
157
|
collection[entryId] = item;
|
|
191
158
|
return collection;
|
|
192
|
-
}, latest);
|
|
159
|
+
}, latest);
|
|
193
160
|
|
|
161
|
+
// Calculate a couple of props for the Autocomplete component.
|
|
194
162
|
setValueEntries(Object.values(entries).map(_helpers.convertReferenceEntryToOption));
|
|
195
163
|
});
|
|
196
164
|
}, []);
|
|
165
|
+
|
|
197
166
|
/**
|
|
198
167
|
* onChange callback will update internal component state using the previously loaded entries by IDs.
|
|
199
168
|
* It will also format the value to store to the DB.
|
|
200
169
|
*/
|
|
201
|
-
|
|
202
170
|
var onChange = (0, _react.useCallback)(function (values) {
|
|
203
171
|
setSearch("");
|
|
204
|
-
setValueEntries(values);
|
|
172
|
+
setValueEntries(values);
|
|
205
173
|
|
|
174
|
+
// Update parent form
|
|
206
175
|
bind.onChange(values.map(function (item) {
|
|
207
176
|
return {
|
|
208
177
|
modelId: item.modelId,
|
|
209
178
|
id: item.id
|
|
210
179
|
};
|
|
211
180
|
}));
|
|
212
|
-
}, []);
|
|
181
|
+
}, []);
|
|
213
182
|
|
|
183
|
+
// Format options for the Autocomplete component.
|
|
214
184
|
var options = (0, _react.useMemo)(function () {
|
|
215
185
|
return Object.values(entries);
|
|
216
|
-
}, [entries]);
|
|
186
|
+
}, [entries]);
|
|
217
187
|
|
|
188
|
+
// Format default options for the Autocomplete component.
|
|
218
189
|
var defaultOptions = (0, _react.useMemo)(function () {
|
|
219
190
|
return Object.values(latestEntries);
|
|
220
191
|
}, [latestEntries]);
|
|
@@ -228,5 +199,4 @@ var useReferences = function useReferences(_ref) {
|
|
|
228
199
|
options: search ? options : defaultOptions || []
|
|
229
200
|
};
|
|
230
201
|
};
|
|
231
|
-
|
|
232
202
|
exports.useReferences = useReferences;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useReferences","bind","field","isMounted","useRef","allEntries","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","value","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","map","m","modelId","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","limit","fetchPolicy","then","Object","length","GET_CONTENT_ENTRIES","id","res","latest","reduce","item","entryId","published","existingItem","title","convertReferenceEntryToOption","onChange","useCallback","options","useMemo","defaultOptions"],"sources":["useReferences.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { CmsModelField, CmsModel } from \"~/types\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRIES,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { CmsReferenceContentEntry, OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"~/admin/plugins/fieldRenderers/ref/components/helpers\";\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const isMounted = useRef(true);\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItem[]>([]);\n const [valueEntries, setValueEntries] = useState<OptionItem[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n if (!isMounted.current) {\n return;\n }\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n setLatestEntries(Object.values(collection));\n allEntries.current = {\n ...collection\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || values.length == 0) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GET_CONTENT_ENTRIES,\n variables: {\n /**\n * We need make sure nothing else other than modelId and id is passed to entries variable.\n */\n entries: values.map(value => {\n return {\n modelId: value.modelId,\n id: value.id\n };\n })\n }\n })\n .then(res => {\n if (!isMounted.current) {\n return;\n }\n\n setLoading(false);\n\n const latest = (res.data.latest.data || []).reduce((collection, item) => {\n collection[item.entryId] = item;\n return collection;\n }, {} as Record<string, CmsReferenceContentEntry>);\n\n const entries = (res.data.published.data || []).reduce((collection, item) => {\n const entryId = item.entryId;\n const existingItem = latest[entryId];\n if (existingItem) {\n collection[entryId] = {\n ...existingItem,\n published: {\n id: item.id,\n entryId: item.entryId,\n title: item.title\n }\n };\n return collection;\n }\n collection[entryId] = item;\n return collection;\n }, latest);\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: OptionItem[]): void => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(\n values.map(item => ({\n modelId: item.modelId,\n id: item.id\n }))\n );\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => Object.values(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => Object.values(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useReferences","bind","field","isMounted","useRef","allEntries","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","value","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","map","m","modelId","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","limit","fetchPolicy","then","Object","length","GET_CONTENT_ENTRIES","id","res","latest","reduce","item","entryId","published","existingItem","title","convertReferenceEntryToOption","onChange","useCallback","options","useMemo","defaultOptions"],"sources":["useReferences.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { CmsModelField, CmsModel } from \"~/types\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRIES,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { CmsReferenceContentEntry, OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"~/admin/plugins/fieldRenderers/ref/components/helpers\";\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsModelField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const isMounted = useRef(true);\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItem[]>([]);\n const [valueEntries, setValueEntries] = useState<OptionItem[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n if (!isMounted.current) {\n return;\n }\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n setLatestEntries(Object.values(collection));\n allEntries.current = {\n ...collection\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || values.length == 0) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GET_CONTENT_ENTRIES,\n variables: {\n /**\n * We need make sure nothing else other than modelId and id is passed to entries variable.\n */\n entries: values.map(value => {\n return {\n modelId: value.modelId,\n id: value.id\n };\n })\n }\n })\n .then(res => {\n if (!isMounted.current) {\n return;\n }\n\n setLoading(false);\n\n const latest = (res.data.latest.data || []).reduce((collection, item) => {\n collection[item.entryId] = item;\n return collection;\n }, {} as Record<string, CmsReferenceContentEntry>);\n\n const entries = (res.data.published.data || []).reduce((collection, item) => {\n const entryId = item.entryId;\n const existingItem = latest[entryId];\n if (existingItem) {\n collection[entryId] = {\n ...existingItem,\n published: {\n id: item.id,\n entryId: item.entryId,\n title: item.title\n }\n };\n return collection;\n }\n collection[entryId] = item;\n return collection;\n }, latest);\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: OptionItem[]): void => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(\n values.map(item => ({\n modelId: item.modelId,\n id: item.id\n }))\n );\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => Object.values(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => Object.values(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,36 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.useNewRefEntry = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
11
|
var _MissingEntryHelpText = _interopRequireWildcard(require("../components/MissingEntryHelpText"));
|
|
17
|
-
|
|
18
12
|
var _useContentEntries = require("../../../../views/contentEntries/hooks/useContentEntries");
|
|
19
|
-
|
|
20
13
|
var useNewRefEntry = function useNewRefEntry(_ref) {
|
|
21
14
|
var field = _ref.field;
|
|
22
15
|
var models = (field.settings && field.settings.models ? field.settings.models : null) || [];
|
|
23
|
-
|
|
24
16
|
var _models = (0, _slicedToArray2.default)(models, 1),
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
refModelId = _models[0].modelId;
|
|
27
18
|
var referenceMultipleModels = models.length > 1;
|
|
28
19
|
var contentEntriesContext = null;
|
|
29
|
-
|
|
30
20
|
try {
|
|
31
21
|
contentEntriesContext = (0, _useContentEntries.useContentEntries)();
|
|
32
|
-
} catch (_unused) {
|
|
22
|
+
} catch (_unused) {
|
|
23
|
+
// Means there's no `ContentEntriesContextProvider`, so we must be in model editor "preview".
|
|
33
24
|
}
|
|
25
|
+
|
|
34
26
|
/**
|
|
35
27
|
* We don't wrap the "ContentEntryForm" with "ContentEntriesContextProvider"
|
|
36
28
|
* when rendering it inside content model editor's preview tab.
|
|
@@ -38,11 +30,8 @@ var useNewRefEntry = function useNewRefEntry(_ref) {
|
|
|
38
30
|
* And we also don't want to have new ref field Dialog in the preview tab.
|
|
39
31
|
* Therefore, we check for "contentEntriesContext" to know that we're inside preview tab.
|
|
40
32
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
43
33
|
var renderedInPreviewTab = contentEntriesContext === null;
|
|
44
34
|
var renderNewEntryModal = false;
|
|
45
|
-
|
|
46
35
|
if (renderedInPreviewTab) {
|
|
47
36
|
renderNewEntryModal = false;
|
|
48
37
|
} else if (referenceMultipleModels) {
|
|
@@ -53,10 +42,7 @@ var useNewRefEntry = function useNewRefEntry(_ref) {
|
|
|
53
42
|
/**
|
|
54
43
|
* Set "helpText" value.
|
|
55
44
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
45
|
var helpText;
|
|
59
|
-
|
|
60
46
|
if (referenceMultipleModels) {
|
|
61
47
|
helpText = /*#__PURE__*/_react.default.createElement(_MissingEntryHelpText.ReferenceMultipleModelsHelpText, null);
|
|
62
48
|
} else {
|
|
@@ -64,12 +50,10 @@ var useNewRefEntry = function useNewRefEntry(_ref) {
|
|
|
64
50
|
refModelId: refModelId
|
|
65
51
|
});
|
|
66
52
|
}
|
|
67
|
-
|
|
68
53
|
return {
|
|
69
54
|
renderNewEntryModal: renderNewEntryModal,
|
|
70
55
|
refModelId: refModelId,
|
|
71
56
|
helpText: helpText
|
|
72
57
|
};
|
|
73
58
|
};
|
|
74
|
-
|
|
75
59
|
exports.useNewRefEntry = useNewRefEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContext","useContentEntries","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"sources":["useNewRefEntry.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsModelField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\n\ninterface UseNewRefEntryParams {\n field: CmsModelField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n let contentEntriesContext = null;\n try {\n contentEntriesContext = useContentEntries();\n } catch {\n // Means there's no `ContentEntriesContextProvider`, so we must be in model editor \"preview\".\n }\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContext\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContext === null;\n\n let renderNewEntryModal = false;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else if (contentEntriesContext) {\n renderNewEntryModal = !contentEntriesContext.insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContext","useContentEntries","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"sources":["useNewRefEntry.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsModelField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\n\ninterface UseNewRefEntryParams {\n field: CmsModelField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n let contentEntriesContext = null;\n try {\n contentEntriesContext = useContentEntries();\n } catch {\n // Means there's no `ContentEntriesContextProvider`, so we must be in model editor \"preview\".\n }\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContext\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContext === null;\n\n let renderNewEntryModal = false;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else if (contentEntriesContext) {\n renderNewEntryModal = !contentEntriesContext.insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"],"mappings":";;;;;;;;;AAAA;AAEA;AAGA;AAYO,IAAMA,cAAc,GAAG,SAAjBA,cAAc,OAAwD;EAAA,IAAlDC,KAAK,QAALA,KAAK;EAClC,IAAMC,MAAM,GAAG,CAACD,KAAK,CAACE,QAAQ,IAAIF,KAAK,CAACE,QAAQ,CAACD,MAAM,GAAGD,KAAK,CAACE,QAAQ,CAACD,MAAM,GAAG,IAAI,KAAK,EAAE;EAC7F,2CAAkCA,MAAM;IAAtBE,UAAU,cAAnBC,OAAO;EAChB,IAAMC,uBAAuB,GAAGJ,MAAM,CAACK,MAAM,GAAG,CAAC;EAEjD,IAAIC,qBAAqB,GAAG,IAAI;EAChC,IAAI;IACAA,qBAAqB,GAAG,IAAAC,oCAAiB,GAAE;EAC/C,CAAC,CAAC,gBAAM;IACJ;EAAA;;EAGJ;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,IAAMC,oBAAoB,GAAGF,qBAAqB,KAAK,IAAI;EAE3D,IAAIG,mBAAmB,GAAG,KAAK;EAE/B,IAAID,oBAAoB,EAAE;IACtBC,mBAAmB,GAAG,KAAK;EAC/B,CAAC,MAAM,IAAIL,uBAAuB,EAAE;IAChCK,mBAAmB,GAAG,KAAK;EAC/B,CAAC,MAAM,IAAIH,qBAAqB,EAAE;IAC9BG,mBAAmB,GAAG,CAACH,qBAAqB,CAACI,YAAY;EAC7D;EACA;AACJ;AACA;EACI,IAAIC,QAAQ;EACZ,IAAIP,uBAAuB,EAAE;IACzBO,QAAQ,gBAAG,6BAAC,qDAA+B,OAAG;EAClD,CAAC,MAAM;IACHA,QAAQ,gBAAG,6BAAC,6BAAoB;MAAC,UAAU,EAAET;IAAW,EAAG;EAC/D;EAEA,OAAO;IACHO,mBAAmB,EAAnBA,mBAAmB;IACnBP,UAAU,EAAVA,UAAU;IACVS,QAAQ,EAARA;EACJ,CAAC;AACL,CAAC;AAAC"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.useNewRefEntryDialog = exports.NewRefEntryDialogContextProvider = exports.NewRefEntryDialogContext = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
11
|
var NewRefEntryDialogContext = /*#__PURE__*/(0, _react.createContext)({
|
|
17
12
|
open: false,
|
|
18
13
|
setOpen: function setOpen() {
|
|
@@ -20,15 +15,12 @@ var NewRefEntryDialogContext = /*#__PURE__*/(0, _react.createContext)({
|
|
|
20
15
|
}
|
|
21
16
|
});
|
|
22
17
|
exports.NewRefEntryDialogContext = NewRefEntryDialogContext;
|
|
23
|
-
|
|
24
18
|
var NewRefEntryDialogContextProvider = function NewRefEntryDialogContextProvider(_ref) {
|
|
25
19
|
var children = _ref.children;
|
|
26
|
-
|
|
27
20
|
var _useState = (0, _react.useState)(false),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
|
+
open = _useState2[0],
|
|
23
|
+
setOpen = _useState2[1];
|
|
32
24
|
return /*#__PURE__*/_react.default.createElement(NewRefEntryDialogContext.Provider, {
|
|
33
25
|
value: {
|
|
34
26
|
open: open,
|
|
@@ -36,18 +28,14 @@ var NewRefEntryDialogContextProvider = function NewRefEntryDialogContextProvider
|
|
|
36
28
|
}
|
|
37
29
|
}, children);
|
|
38
30
|
};
|
|
39
|
-
|
|
40
31
|
exports.NewRefEntryDialogContextProvider = NewRefEntryDialogContextProvider;
|
|
41
|
-
|
|
42
32
|
var useNewRefEntryDialog = function useNewRefEntryDialog() {
|
|
43
33
|
var _useContext = (0, _react.useContext)(NewRefEntryDialogContext),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
34
|
+
open = _useContext.open,
|
|
35
|
+
setOpen = _useContext.setOpen;
|
|
47
36
|
return {
|
|
48
37
|
open: open,
|
|
49
38
|
setOpen: setOpen
|
|
50
39
|
};
|
|
51
40
|
};
|
|
52
|
-
|
|
53
41
|
exports.useNewRefEntryDialog = useNewRefEntryDialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NewRefEntryDialogContext","createContext","open","setOpen","NewRefEntryDialogContextProvider","children","useState","useNewRefEntryDialog","useContext"],"sources":["useNewRefEntryDialog.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from \"react\";\n\nexport interface NewRefEntryDialogContextValue {\n open: boolean;\n setOpen: (value: boolean) => void;\n}\n\nexport const NewRefEntryDialogContext = createContext<NewRefEntryDialogContextValue>({\n open: false,\n setOpen: () => {\n return void 0;\n }\n});\n\nexport const NewRefEntryDialogContextProvider: React.FC = ({ children }) => {\n const [open, setOpen] = useState<boolean>(false);\n\n return (\n <NewRefEntryDialogContext.Provider\n value={{\n open,\n setOpen\n }}\n >\n {children}\n </NewRefEntryDialogContext.Provider>\n );\n};\n\nexport const useNewRefEntryDialog = (): NewRefEntryDialogContextValue => {\n const { open, setOpen } = useContext(NewRefEntryDialogContext);\n return {\n open,\n setOpen\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["NewRefEntryDialogContext","createContext","open","setOpen","NewRefEntryDialogContextProvider","children","useState","useNewRefEntryDialog","useContext"],"sources":["useNewRefEntryDialog.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from \"react\";\n\nexport interface NewRefEntryDialogContextValue {\n open: boolean;\n setOpen: (value: boolean) => void;\n}\n\nexport const NewRefEntryDialogContext = createContext<NewRefEntryDialogContextValue>({\n open: false,\n setOpen: () => {\n return void 0;\n }\n});\n\nexport const NewRefEntryDialogContextProvider: React.FC = ({ children }) => {\n const [open, setOpen] = useState<boolean>(false);\n\n return (\n <NewRefEntryDialogContext.Provider\n value={{\n open,\n setOpen\n }}\n >\n {children}\n </NewRefEntryDialogContext.Provider>\n );\n};\n\nexport const useNewRefEntryDialog = (): NewRefEntryDialogContextValue => {\n const { open, setOpen } = useContext(NewRefEntryDialogContext);\n return {\n open,\n setOpen\n };\n};\n"],"mappings":";;;;;;;;;AAAA;AAOO,IAAMA,wBAAwB,gBAAG,IAAAC,oBAAa,EAAgC;EACjFC,IAAI,EAAE,KAAK;EACXC,OAAO,EAAE,mBAAM;IACX,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AAAC;AAEI,IAAMC,gCAA0C,GAAG,SAA7CA,gCAA0C,OAAqB;EAAA,IAAfC,QAAQ,QAARA,QAAQ;EACjE,gBAAwB,IAAAC,eAAQ,EAAU,KAAK,CAAC;IAAA;IAAzCJ,IAAI;IAAEC,OAAO;EAEpB,oBACI,6BAAC,wBAAwB,CAAC,QAAQ;IAC9B,KAAK,EAAE;MACHD,IAAI,EAAJA,IAAI;MACJC,OAAO,EAAPA;IACJ;EAAE,GAEDE,QAAQ,CACuB;AAE5C,CAAC;AAAC;AAEK,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAwC;EACrE,kBAA0B,IAAAC,iBAAU,EAACR,wBAAwB,CAAC;IAAtDE,IAAI,eAAJA,IAAI;IAAEC,OAAO,eAAPA,OAAO;EACrB,OAAO;IACHD,IAAI,EAAJA,IAAI;IACJC,OAAO,EAAPA;EACJ,CAAC;AACL,CAAC;AAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("../../../../types").
|
|
1
|
+
declare const _default: import("../../../../types").CmsModelFieldRendererPlugin[];
|
|
2
2
|
export default _default;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
9
|
var _refInput = _interopRequireDefault(require("./refInput"));
|
|
11
|
-
|
|
12
10
|
var _refInputs = _interopRequireDefault(require("./refInputs"));
|
|
13
|
-
|
|
14
|
-
var _default = [_refInput.default, _refInputs.default];
|
|
11
|
+
var _advanced = require("./advanced");
|
|
12
|
+
var _default = [].concat((0, _toConsumableArray2.default)((0, _advanced.createAdvancedRefRender)()), [_refInput.default, _refInputs.default]);
|
|
15
13
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["refInput","refInputs"],"sources":["index.ts"],"sourcesContent":["import refInput from \"./refInput\";\nimport refInputs from \"./refInputs\";\n\nexport default [refInput, refInputs];\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createAdvancedRefRender","refInput","refInputs"],"sources":["index.ts"],"sourcesContent":["import refInput from \"./refInput\";\nimport refInputs from \"./refInputs\";\nimport { createAdvancedRefRender } from \"~/admin/plugins/fieldRenderers/ref/advanced\";\n\nexport default [...createAdvancedRefRender(), refInput, refInputs];\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAAsF,0DAEnE,IAAAA,iCAAuB,GAAE,IAAEC,iBAAQ,EAAEC,kBAAS;AAAA"}
|
|
@@ -1,26 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
10
|
var _i18n = require("@webiny/app/i18n");
|
|
15
|
-
|
|
16
11
|
var _ContentEntriesAutocomplete = _interopRequireDefault(require("./components/ContentEntriesAutocomplete"));
|
|
17
|
-
|
|
18
12
|
var _useNewRefEntryDialog = require("./hooks/useNewRefEntryDialog");
|
|
19
|
-
|
|
20
13
|
var _templateObject, _templateObject2;
|
|
21
|
-
|
|
22
14
|
var t = _i18n.i18n.ns("app-headless-cms/admin/fields/ref");
|
|
23
|
-
|
|
24
15
|
var plugin = {
|
|
25
16
|
type: "cms-editor-field-renderer",
|
|
26
17
|
name: "cms-editor-field-renderer-ref",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","Bind","getBind","bind"],"sources":["refInput.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport ContentEntriesAutocomplete from \"./components/ContentEntriesAutocomplete\";\nimport { NewRefEntryDialogContextProvider } from \"./hooks/useNewRefEntryDialog\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-ref\",\n renderer: {\n rendererName: \"ref-input\",\n name: t`Reference Input`,\n description: t`Renders an auto-complete input, allowing selection of a single value.`,\n canUse({ field }) {\n return field.type === \"ref\" && !field.multipleValues;\n },\n render(props) {\n const Bind = props.getBind();\n return (\n <Bind>\n {bind => (\n <NewRefEntryDialogContextProvider>\n <ContentEntriesAutocomplete {...props} bind={bind} />\n </NewRefEntryDialogContextProvider>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","plugin","type","name","renderer","rendererName","description","canUse","field","multipleValues","render","props","Bind","getBind","bind"],"sources":["refInput.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport ContentEntriesAutocomplete from \"./components/ContentEntriesAutocomplete\";\nimport { NewRefEntryDialogContextProvider } from \"./hooks/useNewRefEntryDialog\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/ref\");\n\nconst plugin: CmsEditorFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-ref\",\n renderer: {\n rendererName: \"ref-input\",\n name: t`Reference Input`,\n description: t`Renders an auto-complete input, allowing selection of a single value.`,\n canUse({ field }) {\n return field.type === \"ref\" && !field.multipleValues;\n },\n render(props) {\n const Bind = props.getBind();\n return (\n <Bind>\n {bind => (\n <NewRefEntryDialogContextProvider>\n <ContentEntriesAutocomplete {...props} bind={bind} />\n </NewRefEntryDialogContextProvider>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;AAAA;AAEA;AACA;AACA;AAAgF;AAEhF,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mCAAmC,CAAC;AAEtD,IAAMC,MAAoC,GAAG;EACzCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,+BAA+B;EACrCC,QAAQ,EAAE;IACNC,YAAY,EAAE,WAAW;IACzBF,IAAI,EAAEL,CAAC,kGAAiB;IACxBQ,WAAW,EAAER,CAAC,0JAAuE;IACrFS,MAAM,wBAAY;MAAA,IAATC,KAAK,QAALA,KAAK;MACV,OAAOA,KAAK,CAACN,IAAI,KAAK,KAAK,IAAI,CAACM,KAAK,CAACC,cAAc;IACxD,CAAC;IACDC,MAAM,kBAACC,KAAK,EAAE;MACV,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,EAAE;MAC5B,oBACI,6BAAC,IAAI,QACA,UAAAC,IAAI;QAAA,oBACD,6BAAC,sDAAgC,qBAC7B,6BAAC,mCAA0B,oBAAKH,KAAK;UAAE,IAAI,EAAEG;QAAK,GAAG,CACtB;MAAA,CACtC,CACE;IAEf;EACJ;AACJ,CAAC;AAAC,eAEab,MAAM;AAAA"}
|