@webiny/app-headless-cms 5.41.4 → 5.42.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ContentEntryEditorConfig.d.ts +31 -12
- package/ContentEntryEditorConfig.js +3 -1
- package/ContentEntryEditorConfig.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionDelete.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionMove.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionPublish.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionUnpublish.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/BulkActions.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/BulkActions.styled.js +7 -7
- package/admin/components/ContentEntries/BulkActions/BulkActions.styled.js.map +1 -1
- package/admin/components/ContentEntries/Filters/FieldsMapper.js.map +1 -1
- package/admin/components/ContentEntries/Filters/FilterByStatus.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/EntriesGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/AutoComplete.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/RefPresenter.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/Entry.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryMapper.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryRepository.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryRepositoryFactory.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/Loading.js.map +1 -1
- package/admin/components/ContentEntries/Table/Actions/ChangeEntryStatus.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellName.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinDeleteItemGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinItemMapper.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinListGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinRestoreItemGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinRestoreItemGraphQLGatewayWithCallback.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/components/TrashBin.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +9 -7
- package/admin/components/ContentEntryForm/ContentEntryForm.js +13 -5
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.d.ts +5 -4
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.js +3 -1
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.js.map +1 -1
- package/admin/components/ContentEntryForm/DefaultLayout.d.ts +7 -7
- package/admin/components/ContentEntryForm/DefaultLayout.js +6 -3
- package/admin/components/ContentEntryForm/DefaultLayout.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/Header.d.ts +19 -1
- package/admin/components/ContentEntryForm/Header/Header.js +7 -5
- package/admin/components/ContentEntryForm/Header/Header.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.styles.d.ts +2 -34
- package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/ShowRevisionList.d.ts +2 -0
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/ShowRevisionList.js +28 -0
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/ShowRevisionList.js.map +1 -0
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.d.ts +1 -0
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.js +18 -0
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.js.map +1 -0
- package/admin/components/ContentModelEditor/ContentModelEditor.js +9 -4
- package/admin/components/ContentModelEditor/ContentModelEditor.js.map +1 -1
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/ModelIsBeingDeletedError.d.ts +10 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/ModelIsBeingDeletedError.js +79 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/ModelIsBeingDeletedError.js.map +1 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/SecureRouteError.svg +1 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/index.d.ts +1 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/index.js +14 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/index.js.map +1 -0
- package/admin/components/Decorators/ShowConfirmationOnDelete.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js +1 -1
- package/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnPublish.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnUnpublish.js.map +1 -1
- package/admin/components/DragPreview.js.map +1 -1
- package/admin/components/Draggable.js.map +1 -1
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +4 -4
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -1
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/IconPicker.js +5 -9
- package/admin/components/IconPicker.js.map +1 -1
- package/admin/components/LexicalCmsEditor/TypographyDropDown.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/BulkAction.js.map +1 -1
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/elements/NothingToShowElement.js.map +1 -1
- package/admin/graphql/contentModels.js +1 -1
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/hooks/useContentModels.d.ts +2 -2
- package/admin/hooks/useContentModels.js +6 -1
- package/admin/hooks/useContentModels.js.map +1 -1
- package/admin/plugins/apiInformation/index.js.map +1 -1
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/index.js.map +1 -1
- package/admin/plugins/editor/formSettings/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/Accordion.js +34 -19
- package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +47 -51
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateItem.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/hidden.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +1 -0
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js +1 -0
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/FieldSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +8 -7
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js +5 -5
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/useReferences.js +3 -3
- package/admin/plugins/fieldRenderers/ref/simple/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +1 -0
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +1 -0
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/tags.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -1
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.js.map +1 -1
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/dynamicZone.js.map +1 -1
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref.js +4 -2
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/icons.js.map +1 -1
- package/admin/plugins/install.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/index.js.map +1 -1
- package/admin/plugins/routes.js +3 -3
- package/admin/plugins/routes.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/plugins/transformers/objectTransformer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +6 -0
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContainer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesModule.js +8 -1
- package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.d.ts +2 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js +68 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.d.ts +56 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.js +171 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.d.ts +2 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.js +38 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/Header.d.ts +6 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/Header.js +22 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/Header.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.d.ts +2 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.js +48 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.styled.d.ts +11 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.styled.js +41 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.styled.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/index.d.ts +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/index.js +18 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/index.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.d.ts +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.js +18 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/useFullScreenContentEntry.d.ts +12 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/useFullScreenContentEntry.js +14 -0
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/useFullScreenContentEntry.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionListDrawer.d.ts +0 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionListDrawer.js +3 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionListDrawer.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList/useRevision.js +2 -2
- package/admin/views/contentEntries/ContentEntry/RevisionsList/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/SingletonContentEntry.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +3 -2
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/Table/Main.js.map +1 -1
- package/admin/views/contentEntries/Table/Sidebar.js.map +1 -1
- package/admin/views/contentEntries/hooks/useMoveContentEntryToFolder.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +2 -3
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.d.ts +4 -1
- package/admin/views/contentModels/ContentModelsDataList.js +45 -86
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/cache.d.ts +12 -1
- package/admin/views/contentModels/cache.js +58 -1
- package/admin/views/contentModels/cache.js.map +1 -1
- package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.d.ts +11 -0
- package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js +107 -0
- package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js.map +1 -0
- package/admin/views/contentModels/fullDelete/ModelIsBeingDeleted.d.ts +6 -0
- package/admin/views/contentModels/fullDelete/ModelIsBeingDeleted.js +81 -0
- package/admin/views/contentModels/fullDelete/ModelIsBeingDeleted.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/Confirmation.d.ts +9 -0
- package/admin/views/contentModels/fullDelete/dialog/Confirmation.js +44 -0
- package/admin/views/contentModels/fullDelete/dialog/Confirmation.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/Content.d.ts +11 -0
- package/admin/views/contentModels/fullDelete/dialog/Content.js +41 -0
- package/admin/views/contentModels/fullDelete/dialog/Content.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/Information.d.ts +6 -0
- package/admin/views/contentModels/fullDelete/dialog/Information.js +20 -0
- package/admin/views/contentModels/fullDelete/dialog/Information.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/Processed.d.ts +6 -0
- package/admin/views/contentModels/fullDelete/dialog/Processed.js +20 -0
- package/admin/views/contentModels/fullDelete/dialog/Processed.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/process.d.ts +23 -0
- package/admin/views/contentModels/fullDelete/dialog/process.js +64 -0
- package/admin/views/contentModels/fullDelete/dialog/process.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/state.d.ts +18 -0
- package/admin/views/contentModels/fullDelete/dialog/state.js +104 -0
- package/admin/views/contentModels/fullDelete/dialog/state.js.map +1 -0
- package/admin/views/contentModels/fullDelete/dialog/validationValue.d.ts +2 -0
- package/admin/views/contentModels/fullDelete/dialog/validationValue.js +11 -0
- package/admin/views/contentModels/fullDelete/dialog/validationValue.js.map +1 -0
- package/admin/views/contentModels/fullDelete/types.d.ts +16 -0
- package/admin/views/contentModels/fullDelete/types.js +16 -0
- package/admin/views/contentModels/fullDelete/types.js.map +1 -0
- package/admin/views/contentModels/fullDelete/useCancelDelete.d.ts +7 -0
- package/admin/views/contentModels/fullDelete/useCancelDelete.js +62 -0
- package/admin/views/contentModels/fullDelete/useCancelDelete.js.map +1 -0
- package/admin/views/contentModels/importing/ImportContext.js +3 -3
- package/admin/views/contentModels/importing/ImportContext.js.map +1 -1
- package/admin/views/contentModels/importing/components/FileUpload.js.map +1 -1
- package/admin/viewsGraphql.d.ts +33 -0
- package/admin/viewsGraphql.js +16 -5
- package/admin/viewsGraphql.js.map +1 -1
- package/package.json +33 -39
- package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -1
- package/utils/cmsLegacyEntryEditor.d.ts +1 -0
- package/utils/cmsLegacyEntryEditor.js +10 -0
- package/utils/cmsLegacyEntryEditor.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_TimeAgo","_emotion","_reactRouter","_icons","_view_list","_clone","_hooks","_useSnackbar2","UIL","_Button","_Tooltip","_i18n","_useConfirmationDialog","_cache","GQL","_add18px","_SearchUI","_interopRequireDefault","_utils","_orderBy","_Grid","_Select","_filter24px","_usePermission2","_reactFontawesome","_OptionsMenu","_file_download","_file_upload","_useModelExport2","_appHeadlessCmsCommon","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","namespace","SORTERS","label","_taggedTemplateLiteral2","default","sorters","DataListActionsWrapper","_base","process","env","NODE_ENV","target","name","styles","map","toString","rightAlign","css","alignItems","justifyContent","listItemMinHeight","minHeight","Icon","DisplayIcon","_ref","model","icon","createElement","FontAwesomeIcon","split","ContentModelsDataList","_ref2","canCreate","onCreate","onClone","showImportModelModal","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","client","useApolloClient","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","title","showConfirmation","_useConfirmationDialo2","message","showConfirmationSingleton","_useModels","useModels","models","loading","refresh","_usePermission","usePermission","canDelete","canEdit","filterData","useCallback","_ref3","toLowerCase","includes","sortData","list","_deserializeSorters","deserializeSorters","_deserializeSorters2","sortField","sortOrderBy","orderBy","deleteRecord","item","confirmation","tags","CMS_MODEL_SINGLETON_TAG","mutate","mutation","DELETE_CONTENT_MODEL","variables","modelId","update","cache","_ref4","data","error","deleteContentModel","removeModelFromListCache","removeModelFromGroupCache","removeModelFromCache","editRecord","contentModel","push","viewContentEntries","contentModelsDataListModalOverlay","useMemo","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","description","_ref5","key","filteredData","contentModels","_useModelExport","useModelExport","handleModelsExport","handleModelExport","onRefreshClick","DataList","actions","ButtonSecondary","onClick","ButtonIcon","ReactComponent","OptionsMenu","items","search","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref6","_ref6$data","List","disableViewContent","fields","length","ListItem","className","ListItemText","ListItemTextSecondary","time","savedOn","TimeAgo","datetime","ListItemMeta","ListActions","Tooltip","content","placement","IconButton","disabled","Fragment","plugin","EditIcon","DeleteIcon","_default","exports"],"sources":["ContentModelsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\nimport { css } from \"emotion\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { DeleteIcon, EditIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { ReactComponent as ViewListIcon } from \"../../icons/view_list.svg\";\nimport { ReactComponent as CloneIcon } from \"../../icons/clone.svg\";\nimport { useApolloClient, useModels } from \"../../hooks\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport * as UIL from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary, IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { removeModelFromCache, removeModelFromGroupCache, removeModelFromListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport {\n DeleteCmsModelMutationResponse,\n DeleteCmsModelMutationVariables\n} from \"../../viewsGraphql\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { deserializeSorters } from \"../utils\";\nimport orderBy from \"lodash/orderBy\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { CmsEditorContentModel, CmsModel } from \"~/types\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport styled from \"@emotion/styled\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { OptionsMenu } from \"./OptionsMenu\";\nimport { ReactComponent as DownloadFileIcon } from \"@webiny/app-admin/assets/icons/file_download.svg\";\nimport { ReactComponent as UploadFileIcon } from \"@webiny/app-admin/assets/icons/file_upload.svg\";\nimport { useModelExport } from \"./exporting/useModelExport\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/app-headless-cms-common\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\n\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\nconst DataListActionsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n`;\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n showImportModelModal: () => void;\n}\n\nconst Icon = styled(\"div\")({\n width: \"24px\",\n height: \"24px\",\n marginRight: \"15px\",\n flex: \"0 0 24px\",\n svg: {\n color: \"var(--mdc-theme-text-icon-on-light)\",\n width: \"100%\",\n height: \"auto\",\n maxWidth: 24,\n maxHeight: 24\n }\n});\n\ninterface IconProps {\n model: Pick<CmsModel, \"icon\">;\n}\n\nconst DisplayIcon = ({ model }: IconProps) => {\n if (!model.icon) {\n return null;\n }\n return <FontAwesomeIcon icon={(model.icon || \"\").split(\"/\") as IconProp} />;\n};\n\nconst ContentModelsDataList = ({\n canCreate,\n onCreate,\n onClone,\n showImportModelModal\n}: ContentModelsDataListProps) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const client = useApolloClient();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"cms-delete-content-model-dialog\",\n title: \"Delete a content model\"\n });\n\n const { showConfirmation: showConfirmationSingleton } = useConfirmationDialog({\n dataTestId: \"cms-delete-singleton-content-model-dialog\",\n title: \"Delete a single entry model\",\n message: (\n <p>\n Deleting a single entry content model will also delete the entry in the model.\n <br />\n Are you sure you want to delete this content model?\n </p>\n )\n });\n const { models, loading, refresh } = useModels();\n const { canDelete, canEdit } = usePermission();\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const deleteRecord = async (item: CmsModel): Promise<void> => {\n const confirmation = item.tags.includes(CMS_MODEL_SINGLETON_TAG)\n ? showConfirmationSingleton\n : showConfirmation;\n\n confirmation(async () => {\n await client.mutate<DeleteCmsModelMutationResponse, DeleteCmsModelMutationVariables>({\n mutation: GQL.DELETE_CONTENT_MODEL,\n variables: { modelId: item.modelId },\n update(cache, { data }) {\n if (!data) {\n showSnackbar(\"Missing data on Delete Content Model Mutation Response.\");\n return;\n }\n const { error } = data.deleteContentModel;\n\n if (error) {\n showSnackbar(error.message, {\n title: t`Something unexpected happened.`\n });\n return;\n }\n\n removeModelFromListCache(cache, item);\n removeModelFromGroupCache(cache, item);\n removeModelFromCache(client, item);\n\n showSnackbar(\n t`Content model {name} deleted successfully!.`({ name: item.name })\n );\n }\n });\n });\n };\n\n const editRecord = (contentModel: CmsModel): void => {\n history.push(\"/cms/content-models/\" + contentModel.modelId);\n };\n\n const viewContentEntries = useCallback((contentModel: Pick<CmsModel, \"modelId\">) => {\n return () => history.push(\"/cms/content-entries/\" + contentModel.modelId);\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort content models by\"}\n >\n {SORTERS.map(({ label, sorters }) => {\n return (\n <option key={label} value={sorters}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n const { handleModelsExport, handleModelExport } = useModelExport();\n\n const onRefreshClick = useCallback(() => {\n refresh();\n }, []);\n\n return (\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n <DataListActionsWrapper>\n {canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Model`}\n </ButtonSecondary>\n ) : null}\n <OptionsMenu\n data-testid=\"pb-blocks-list-options-menu\"\n items={[\n {\n label: \"Export all models\",\n icon: <DownloadFileIcon />,\n onClick: handleModelsExport\n },\n {\n label: \"Import models\",\n icon: <UploadFileIcon />,\n onClick: showImportModelModal\n }\n ]}\n />\n </DataListActionsWrapper>\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content models`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n refresh={onRefreshClick}\n >\n {({ data = [] }: { data: CmsModel[] }) => (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the model\"\n : \"View content\";\n return (\n <UIL.ListItem key={contentModel.modelId} className={listItemMinHeight}>\n <Icon>\n <DisplayIcon model={contentModel} />\n </Icon>\n <UIL.ListItemText>\n {contentModel.name}\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: contentModel.savedOn ? (\n <TimeAgo datetime={contentModel.savedOn} />\n ) : (\n \"N/A\"\n )\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta className={rightAlign}>\n <UIL.ListActions>\n <Tooltip\n content={t`{message}`({ message })}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\"cms-view-content-model-button\"}\n icon={<ViewListIcon />}\n label={t`View entries`}\n onClick={viewContentEntries(contentModel)}\n disabled={disableViewContent}\n />\n </Tooltip>\n <Tooltip\n content={t`Export content model`}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\"cms-export-content-model-button\"}\n icon={<DownloadFileIcon />}\n label={t`Export content model`}\n onClick={handleModelExport(contentModel)}\n />\n </Tooltip>\n {canEdit(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <EditIcon\n disabled\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Edit content model`}\n placement={\"top\"}\n >\n <EditIcon\n onClick={() => editRecord(contentModel)}\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n )}\n <Tooltip\n content={\"Clone content model\"}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-clone-content-model-button\"\n }\n icon={<CloneIcon />}\n label={t`Clone content model`}\n onClick={() => onClone(contentModel)}\n />\n </Tooltip>\n </>\n )}\n\n {canDelete(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <DeleteIcon\n disabled\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Delete content model`}\n placement={\"top\"}\n >\n <DeleteIcon\n onClick={() =>\n deleteRecord(contentModel)\n }\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n )}\n </>\n )}\n </UIL.ListActions>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n )}\n </UIL.DataList>\n );\n};\n\nexport default ContentModelsDataList;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_TimeAgo","_emotion","_reactRouter","_icons","_view_list","_clone","_hooks","UIL","_Button","_Tooltip","_i18n","_add18px","_SearchUI","_interopRequireDefault","_utils","_orderBy","_Grid","_Select","_filter24px","_usePermission2","_reactFontawesome","_OptionsMenu","_file_download","_file_upload","_useModelExport2","_ModelIsBeingDeleted","_FullyDeleteModelDialog","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","namespace","SORTERS","label","_taggedTemplateLiteral2","default","sorters","DataListActionsWrapper","_base","process","env","NODE_ENV","target","name","styles","map","toString","rightAlign","css","alignItems","justifyContent","listItemMinHeight","minHeight","Icon","DisplayIcon","_ref","model","icon","createElement","FontAwesomeIcon","split","ContentModelsDataList","_ref2","canCreate","onCreate","onClone","showImportModelModal","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","_useModels","useModels","models","loading","refresh","_usePermission","usePermission","canDelete","canEdit","_useState5","_useState6","modelToBeDeleted","setModelToBeDeleted","filterData","useCallback","_ref3","toLowerCase","includes","sortData","list","_deserializeSorters","deserializeSorters","_deserializeSorters2","sortField","sortOrderBy","orderBy","editRecord","contentModel","push","modelId","viewContentEntries","contentModelsDataListModalOverlay","useMemo","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","description","_ref4","key","filteredData","contentModels","_useModelExport","useModelExport","handleModelsExport","handleModelExport","onRefreshClick","Fragment","DataList","data","title","actions","ButtonSecondary","onClick","ButtonIcon","ReactComponent","OptionsMenu","items","search","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref5","_ref5$data","List","disableViewContent","fields","length","message","ListItem","className","ListItemText","ListItemTextSecondary","time","savedOn","TimeAgo","datetime","ListItemMeta","ModelIsBeingDeleted","ListActions","Tooltip","content","placement","IconButton","disabled","plugin","EditIcon","DeleteIcon","FullyDeleteModelDialog","onClose","_default","exports"],"sources":["ContentModelsDataList.tsx"],"sourcesContent":["/**\n * TODO remove regular model delete at some point.\n */\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\nimport { css } from \"emotion\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { DeleteIcon, EditIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { ReactComponent as ViewListIcon } from \"../../icons/view_list.svg\";\nimport { ReactComponent as CloneIcon } from \"../../icons/clone.svg\";\nimport { useModels } from \"../../hooks\";\nimport * as UIL from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary, IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { deserializeSorters } from \"../utils\";\nimport orderBy from \"lodash/orderBy\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport type { CmsEditorContentModel, CmsModel } from \"~/types\";\nimport { usePermission } from \"~/admin/hooks/usePermission\";\nimport styled from \"@emotion/styled\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { OptionsMenu } from \"./OptionsMenu\";\nimport { ReactComponent as DownloadFileIcon } from \"@webiny/app-admin/assets/icons/file_download.svg\";\nimport { ReactComponent as UploadFileIcon } from \"@webiny/app-admin/assets/icons/file_upload.svg\";\nimport { useModelExport } from \"./exporting/useModelExport\";\nimport { ModelIsBeingDeleted } from \"./fullDelete/ModelIsBeingDeleted\";\nimport { FullyDeleteModelDialog } from \"~/admin/views/contentModels/fullDelete/FullyDeleteModelDialog\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\n\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\nconst DataListActionsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n`;\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n showImportModelModal: () => void;\n}\n\nconst Icon = styled(\"div\")({\n width: \"24px\",\n height: \"24px\",\n marginRight: \"15px\",\n flex: \"0 0 24px\",\n svg: {\n color: \"var(--mdc-theme-text-icon-on-light)\",\n width: \"100%\",\n height: \"auto\",\n maxWidth: 24,\n maxHeight: 24\n }\n});\n\ninterface IconProps {\n model: Pick<CmsModel, \"icon\">;\n}\n\nconst DisplayIcon = ({ model }: IconProps) => {\n if (!model.icon) {\n return null;\n }\n return <FontAwesomeIcon icon={(model.icon || \"\").split(\"/\") as IconProp} />;\n};\n\nconst ContentModelsDataList = ({\n canCreate,\n onCreate,\n onClone,\n showImportModelModal\n}: ContentModelsDataListProps) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const { models, loading, refresh } = useModels();\n const { canDelete, canEdit } = usePermission();\n\n const [modelToBeDeleted, setModelToBeDeleted] = useState<CmsModel | null>(null);\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const editRecord = (contentModel: CmsModel): void => {\n history.push(\"/cms/content-models/\" + contentModel.modelId);\n };\n\n const viewContentEntries = useCallback((contentModel: Pick<CmsModel, \"modelId\">) => {\n return () => history.push(\"/cms/content-entries/\" + contentModel.modelId);\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort content models by\"}\n >\n {SORTERS.map(({ label, sorters }) => {\n return (\n <option key={label} value={sorters}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n const { handleModelsExport, handleModelExport } = useModelExport();\n\n const onRefreshClick = useCallback(() => {\n refresh();\n }, []);\n\n return (\n <>\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n <DataListActionsWrapper>\n {canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Model`}\n </ButtonSecondary>\n ) : null}\n <OptionsMenu\n data-testid=\"pb-blocks-list-options-menu\"\n items={[\n {\n label: \"Export all models\",\n icon: <DownloadFileIcon />,\n onClick: handleModelsExport\n },\n {\n label: \"Import models\",\n icon: <UploadFileIcon />,\n onClick: showImportModelModal\n }\n ]}\n />\n </DataListActionsWrapper>\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content models`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n refresh={onRefreshClick}\n >\n {({ data = [] }: { data: CmsModel[] }) => (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the model\"\n : \"View content\";\n\n return (\n <UIL.ListItem\n key={contentModel.modelId}\n className={listItemMinHeight}\n >\n <Icon>\n <DisplayIcon model={contentModel} />\n </Icon>\n <UIL.ListItemText>\n {contentModel.name}\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: contentModel.savedOn ? (\n <TimeAgo datetime={contentModel.savedOn} />\n ) : (\n \"N/A\"\n )\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta className={rightAlign}>\n <ModelIsBeingDeleted model={contentModel}>\n <UIL.ListActions>\n <Tooltip\n content={t`{message}`({ message })}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-view-content-model-button\"\n }\n icon={<ViewListIcon />}\n label={t`View entries`}\n onClick={viewContentEntries(contentModel)}\n disabled={disableViewContent}\n />\n </Tooltip>\n <Tooltip\n content={t`Export content model`}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-export-content-model-button\"\n }\n icon={<DownloadFileIcon />}\n label={t`Export content model`}\n onClick={handleModelExport(contentModel)}\n />\n </Tooltip>\n {canEdit(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <EditIcon\n disabled\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Edit content model`}\n placement={\"top\"}\n >\n <EditIcon\n onClick={() =>\n editRecord(contentModel)\n }\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n )}\n <Tooltip\n content={\"Clone content model\"}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-clone-content-model-button\"\n }\n icon={<CloneIcon />}\n label={t`Clone content model`}\n onClick={() =>\n onClone(contentModel)\n }\n />\n </Tooltip>\n </>\n )}\n\n {canDelete(contentModel, \"cms.contentModel\") && (\n <>\n <Tooltip\n content={t`Delete content model`}\n placement={\"top\"}\n >\n <DeleteIcon\n onClick={() => {\n setModelToBeDeleted(\n contentModel\n );\n }}\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n </>\n )}\n </UIL.ListActions>\n </ModelIsBeingDeleted>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n )}\n </UIL.DataList>\n <FullyDeleteModelDialog\n model={modelToBeDeleted}\n onClose={() => {\n setModelToBeDeleted(null);\n }}\n />\n </>\n );\n};\n\nexport default ContentModelsDataList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_form","_Input","_Select","_useSnackbar2","_Progress","_validation","_hooks","_i18n","_Button","UID","_Grid","_appHeadlessCmsCommon","_cache","GQL","_Dialog2","_apiNameValidator","_nameValidator","_Checkbox","_IconPicker","_Switch","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","t","i18n","ns","NewContentModelDialog","_ref","open","onClose","_React$useState","React","useState","_React$useState2","_slicedToArray2","default","loading","setLoading","_useSnackbar","useSnackbar","showSnackbar","_useRouter","useRouter","history","client","useApolloClient","_useMutation","useMutation","CREATE_CONTENT_MODEL","onCompleted","data","_data$createContentMo","createContentModel","model","error","message","push","modelId","update","cache","_ref2","_data$createContentMo2","addModelToListCache","addModelToGroupCache","_useMutation2","listMenuGroupsQuery","useQuery","LIST_MENU_CONTENT_GROUPS_MODELS","skip","groups","useMemo","listContentModelGroups","contentModelGroups","map","item","value","id","label","name","models","reduce","collection","group","apply","_toConsumableArray2","contentModels","nameValidator","useCallback","createNameValidator","apiNameValidator","createApiNameValidator","length","undefined","onSubmit","tags","Array","isArray","singleton","CMS_MODEL_SINGLETON_TAG","pluralApiName","concat","singularApiName","variables","_objectSpread2","createElement","Dialog","Form","_ref3","Bind","submit","Fragment","CircularProgress","DialogTitle","_taggedTemplateLiteral2","DialogContent","Grid","Cell","span","validators","validation","create","Input","description","defaultValue","Switch","disabled","Select","options","IconPicker","props","Object","assign","rows","maxLength","characterCount","Checkbox","DialogActions","ButtonPrimary","onClick","_default","exports"],"sources":["NewContentModelDialog.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { Form } from \"@webiny/form\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport { useApolloClient, useMutation, useQuery } from \"../../hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport * as UID from \"@webiny/ui/Dialog\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/app-headless-cms-common\";\nimport { addModelToGroupCache, addModelToListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport {\n CreateCmsModelMutationResponse,\n CreateCmsModelMutationVariables,\n ListMenuCmsGroupsQueryResponse\n} from \"../../viewsGraphql\";\nimport { CmsModel } from \"~/types\";\nimport { CmsGroupOption } from \"./types\";\nimport { Dialog } from \"~/admin/components/Dialog\";\nimport { createApiNameValidator } from \"~/admin/views/contentModels/helpers/apiNameValidator\";\nimport { createNameValidator } from \"~/admin/views/contentModels/helpers/nameValidator\";\nimport { Checkbox } from \"@webiny/ui/Checkbox\";\nimport { IconPicker } from \"~/admin/components/IconPicker\";\nimport { Switch } from \"@webiny/ui/Switch\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/views/content-models/new-content-model-dialog\");\n\nexport interface NewContentModelDialogProps {\n open: boolean;\n onClose: UID.DialogOnClose;\n}\n\ninterface CmsModelData {\n name: string;\n description: string;\n group: string;\n singleton?: boolean;\n singularApiName: string;\n pluralApiName: string;\n defaultFields: boolean;\n}\n\nconst NewContentModelDialog = ({ open, onClose }: NewContentModelDialogProps) => {\n const [loading, setLoading] = React.useState(false);\n const { showSnackbar } = useSnackbar();\n const { history } = useRouter();\n const client = useApolloClient();\n\n const [createContentModel] = useMutation<\n CreateCmsModelMutationResponse,\n CreateCmsModelMutationVariables\n >(GQL.CREATE_CONTENT_MODEL, {\n onCompleted(data) {\n setLoading(false);\n\n if (!data) {\n showSnackbar(\"Missing data on Create Content Model Mutation Response.\");\n return;\n }\n\n const { data: model, error } = data.createContentModel;\n\n if (error) {\n setLoading(false);\n showSnackbar(error.message);\n return;\n }\n\n history.push(\"/cms/content-models/\" + model.modelId);\n },\n update(cache, { data }) {\n if (!data) {\n return;\n }\n\n const { data: model, error } = data.createContentModel;\n\n if (error) {\n return;\n }\n\n addModelToListCache(cache, model);\n addModelToGroupCache(cache, model);\n }\n });\n\n const listMenuGroupsQuery = useQuery<ListMenuCmsGroupsQueryResponse>(\n GQL.LIST_MENU_CONTENT_GROUPS_MODELS,\n {\n skip: !open\n }\n );\n\n const groups = useMemo(() => {\n return listMenuGroupsQuery.data?.listContentModelGroups?.data || [];\n }, [listMenuGroupsQuery.data]);\n\n const contentModelGroups = useMemo(() => {\n return groups.map((item): CmsGroupOption => {\n return {\n value: item.id,\n label: item.name\n };\n });\n }, [groups]);\n\n const models = useMemo(() => {\n return groups.reduce<CmsModel[]>((collection, group) => {\n collection.push(...group.contentModels);\n return collection;\n }, []);\n }, [groups]);\n\n const nameValidator = useCallback(createNameValidator({ models }), [models]);\n\n const apiNameValidator = useCallback(createApiNameValidator({ client, models }), [\n client,\n models\n ]);\n\n const group = useMemo<string | undefined>(() => {\n if (!contentModelGroups.length) {\n return undefined;\n }\n return contentModelGroups[0]?.value;\n }, [contentModelGroups]);\n\n const onSubmit = useCallback(\n async (data: CmsModelData) => {\n setLoading(true);\n /**\n * We need to make sure that tags are always an array.\n * At the moment there is no tags on the CmsModelData type.\n * If it is added at some point, the @ts-expect-error should be removed - it will cause TS error.\n */\n // @ts-expect-error\n const tags: string[] = Array.isArray(data.tags) ? data.tags : [];\n /**\n * If a model is a singleton, we add a special tag to it.\n * + we need to put the pluralApiName to something that is not used.\n */\n if (data.singleton) {\n tags.push(CMS_MODEL_SINGLETON_TAG);\n data.pluralApiName = `${data.singularApiName}Unused`;\n }\n delete data.singleton;\n await createContentModel({\n variables: {\n data: {\n ...data,\n tags\n }\n }\n });\n },\n [loading, createContentModel]\n );\n\n return (\n <Dialog open={open} onClose={onClose} data-testid=\"cms-new-content-model-modal\">\n {open && (\n <Form<CmsModelData> data={{ group, singleton: false }} onSubmit={onSubmit}>\n {({ Bind, submit, data }) => {\n return (\n <>\n {loading && (\n <CircularProgress label={\"Creating content model...\"} />\n )}\n <UID.DialogTitle>{t`New Content Model`}</UID.DialogTitle>\n <UID.DialogContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"name\"}\n validators={[\n validation.create(\"required,maxLength:100\"),\n nameValidator\n ]}\n >\n <Input\n label={t`Name`}\n description={t`The name of the content model. Use the singular form, e.g. Author Category, not Author Categories.`}\n data-testid=\"cms.newcontentmodeldialog.name\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"singularApiName\"}\n validators={[\n validation.create(\"required,maxLength:100\"),\n apiNameValidator\n ]}\n >\n <Input\n label={t`Singular API Name`}\n description={t`The API name of the content model. For example: AuthorCategory.`}\n data-testid=\"cms.newcontentmodeldialog.singularApiName\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"singleton\"} defaultValue={false}>\n <Switch\n description={t`Create a model that can hold only one entry. Cannot be changed later.`}\n label={t`Single entry model`}\n data-testid=\"cms.newcontentmodeldialog.singleton\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"pluralApiName\"}\n validators={\n data.singleton\n ? []\n : [\n validation.create(\n \"required,maxLength:100\"\n ),\n apiNameValidator\n ]\n }\n >\n <Input\n disabled={data.singleton}\n label={t`Plural API Name`}\n description={t`The plural API name of the content model. For example: AuthorCategories.`}\n data-testid=\"cms.newcontentmodeldialog.pluralApiName\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"group\"}\n validators={validation.create(\"required\")}\n >\n <Select\n description={t`Choose a content model group`}\n label={t`Content model group`}\n options={contentModelGroups}\n data-testid=\"cms.newcontentmodeldialog.selectgroup\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"icon\">\n <IconPicker\n label={t`Icon`}\n description={t`Choose an icon to represent the model.`}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"description\">\n {props => (\n <Input\n {...props}\n rows={4}\n maxLength={200}\n characterCount\n label={t`Description`}\n data-testid=\"cms.newcontentmodeldialog.description\"\n />\n )}\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"defaultFields\"} defaultValue={true}>\n <Checkbox\n description={t`Create model with default title (text), description (long text) and image (file) fields`}\n label={t`Create model with default fields`}\n data-testid=\"cms.newcontentmodeldialog.defaultfields\"\n />\n </Bind>\n </Cell>\n </Grid>\n </UID.DialogContent>\n <UID.DialogActions>\n <ButtonPrimary onClick={submit}>\n + {t`Create Model`}\n </ButtonPrimary>\n </UID.DialogActions>\n </>\n );\n }}\n </Form>\n )}\n </Dialog>\n );\n};\n\nexport default NewContentModelDialog;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_form","_Input","_Select","_useSnackbar2","_Progress","_validation","_hooks","_i18n","_Button","UID","_Grid","_appHeadlessCmsCommon","_cache","GQL","_Dialog2","_apiNameValidator","_nameValidator","_Checkbox","_IconPicker","_Switch","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","t","i18n","ns","NewContentModelDialog","_ref","open","onClose","_React$useState","React","useState","_React$useState2","_slicedToArray2","default","loading","setLoading","_useSnackbar","useSnackbar","showSnackbar","_useRouter","useRouter","history","client","useApolloClient","_useMutation","useMutation","CREATE_CONTENT_MODEL","onCompleted","data","_data$createContentMo","createContentModel","model","error","message","push","modelId","update","cache","_ref2","_data$createContentMo2","addModelToListCache","addModelToGroupCache","_useMutation2","listMenuGroupsQuery","useQuery","LIST_MENU_CONTENT_GROUPS_MODELS","skip","groups","useMemo","listContentModelGroups","contentModelGroups","map","item","value","id","label","name","models","reduce","collection","group","apply","_toConsumableArray2","contentModels","nameValidator","useCallback","createNameValidator","apiNameValidator","createApiNameValidator","length","undefined","onSubmit","tags","Array","isArray","singleton","CMS_MODEL_SINGLETON_TAG","pluralApiName","concat","singularApiName","variables","_objectSpread2","createElement","Dialog","Form","_ref3","Bind","submit","Fragment","CircularProgress","DialogTitle","_taggedTemplateLiteral2","DialogContent","Grid","Cell","span","validators","validation","create","Input","description","defaultValue","Switch","disabled","Select","options","IconPicker","props","Object","assign","rows","maxLength","characterCount","Checkbox","DialogActions","ButtonPrimary","onClick","_default","exports"],"sources":["NewContentModelDialog.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { Form } from \"@webiny/form\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport { useApolloClient, useMutation, useQuery } from \"../../hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport * as UID from \"@webiny/ui/Dialog\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/app-headless-cms-common\";\nimport { addModelToGroupCache, addModelToListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport {\n CreateCmsModelMutationResponse,\n CreateCmsModelMutationVariables,\n ListMenuCmsGroupsQueryResponse\n} from \"../../viewsGraphql\";\nimport { CmsModel } from \"~/types\";\nimport { CmsGroupOption } from \"./types\";\nimport { Dialog } from \"~/admin/components/Dialog\";\nimport { createApiNameValidator } from \"~/admin/views/contentModels/helpers/apiNameValidator\";\nimport { createNameValidator } from \"~/admin/views/contentModels/helpers/nameValidator\";\nimport { Checkbox } from \"@webiny/ui/Checkbox\";\nimport { IconPicker } from \"~/admin/components/IconPicker\";\nimport { Switch } from \"@webiny/ui/Switch\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/views/content-models/new-content-model-dialog\");\n\nexport interface NewContentModelDialogProps {\n open: boolean;\n onClose: UID.DialogOnClose;\n}\n\ninterface CmsModelData {\n name: string;\n description: string;\n group: string;\n singleton?: boolean;\n singularApiName: string;\n pluralApiName: string;\n defaultFields: boolean;\n}\n\nconst NewContentModelDialog = ({ open, onClose }: NewContentModelDialogProps) => {\n const [loading, setLoading] = React.useState(false);\n const { showSnackbar } = useSnackbar();\n const { history } = useRouter();\n const client = useApolloClient();\n\n const [createContentModel] = useMutation<\n CreateCmsModelMutationResponse,\n CreateCmsModelMutationVariables\n >(GQL.CREATE_CONTENT_MODEL, {\n onCompleted(data) {\n setLoading(false);\n\n if (!data) {\n showSnackbar(\"Missing data on Create Content Model Mutation Response.\");\n return;\n }\n\n const { data: model, error } = data.createContentModel;\n\n if (error) {\n setLoading(false);\n showSnackbar(error.message);\n return;\n }\n\n history.push(\"/cms/content-models/\" + model.modelId);\n },\n update(cache, { data }) {\n if (!data) {\n return;\n }\n\n const { data: model, error } = data.createContentModel;\n\n if (error) {\n return;\n }\n\n addModelToListCache(cache, model);\n addModelToGroupCache(cache, model);\n }\n });\n\n const listMenuGroupsQuery = useQuery<ListMenuCmsGroupsQueryResponse>(\n GQL.LIST_MENU_CONTENT_GROUPS_MODELS,\n {\n skip: !open\n }\n );\n\n const groups = useMemo(() => {\n return listMenuGroupsQuery.data?.listContentModelGroups?.data || [];\n }, [listMenuGroupsQuery.data]);\n\n const contentModelGroups = useMemo(() => {\n return groups.map((item): CmsGroupOption => {\n return {\n value: item.id,\n label: item.name\n };\n });\n }, [groups]);\n\n const models = useMemo(() => {\n return groups.reduce<CmsModel[]>((collection, group) => {\n collection.push(...group.contentModels);\n return collection;\n }, []);\n }, [groups]);\n\n const nameValidator = useCallback(createNameValidator({ models }), [models]);\n\n const apiNameValidator = useCallback(createApiNameValidator({ client, models }), [\n client,\n models\n ]);\n\n const group = useMemo<string | undefined>(() => {\n if (!contentModelGroups.length) {\n return undefined;\n }\n return contentModelGroups[0]?.value;\n }, [contentModelGroups]);\n\n const onSubmit = useCallback(\n async (data: CmsModelData) => {\n setLoading(true);\n /**\n * We need to make sure that tags are always an array.\n * At the moment there is no tags on the CmsModelData type.\n * If it is added at some point, the @ts-expect-error should be removed - it will cause TS error.\n */\n // @ts-expect-error\n const tags: string[] = Array.isArray(data.tags) ? data.tags : [];\n /**\n * If a model is a singleton, we add a special tag to it.\n * + we need to put the pluralApiName to something that is not used.\n */\n if (data.singleton) {\n tags.push(CMS_MODEL_SINGLETON_TAG);\n data.pluralApiName = `${data.singularApiName}Unused`;\n }\n delete data.singleton;\n await createContentModel({\n variables: {\n data: {\n ...data,\n tags\n }\n }\n });\n },\n [loading, createContentModel]\n );\n\n return (\n <Dialog open={open} onClose={onClose} data-testid=\"cms-new-content-model-modal\">\n {open && (\n <Form<CmsModelData> data={{ group, singleton: false }} onSubmit={onSubmit}>\n {({ Bind, submit, data }) => {\n return (\n <>\n {loading && (\n <CircularProgress label={\"Creating content model...\"} />\n )}\n <UID.DialogTitle>{t`New Content Model`}</UID.DialogTitle>\n <UID.DialogContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"name\"}\n validators={[\n validation.create(\"required,maxLength:100\"),\n nameValidator\n ]}\n >\n <Input\n label={t`Name`}\n description={t`The name of the content model. Use the singular form, e.g. Author Category, not Author Categories.`}\n data-testid=\"cms.newcontentmodeldialog.name\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"singularApiName\"}\n validators={[\n validation.create(\"required,maxLength:100\"),\n apiNameValidator\n ]}\n >\n <Input\n label={t`Singular API Name`}\n description={t`The API name of the content model. For example: AuthorCategory.`}\n data-testid=\"cms.newcontentmodeldialog.singularApiName\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"singleton\"} defaultValue={false}>\n <Switch\n description={t`Create a model that can hold only one entry. Cannot be changed later.`}\n label={t`Single entry model`}\n data-testid=\"cms.newcontentmodeldialog.singleton\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"pluralApiName\"}\n validators={\n data.singleton\n ? []\n : [\n validation.create(\n \"required,maxLength:100\"\n ),\n apiNameValidator\n ]\n }\n >\n <Input\n disabled={data.singleton}\n label={t`Plural API Name`}\n description={t`The plural API name of the content model. For example: AuthorCategories.`}\n data-testid=\"cms.newcontentmodeldialog.pluralApiName\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"group\"}\n validators={validation.create(\"required\")}\n >\n <Select\n description={t`Choose a content model group`}\n label={t`Content model group`}\n options={contentModelGroups}\n data-testid=\"cms.newcontentmodeldialog.selectgroup\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"icon\">\n <IconPicker\n label={t`Icon`}\n description={t`Choose an icon to represent the model.`}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"description\">\n {props => (\n <Input\n {...props}\n rows={4}\n maxLength={200}\n characterCount\n label={t`Description`}\n data-testid=\"cms.newcontentmodeldialog.description\"\n />\n )}\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"defaultFields\"} defaultValue={true}>\n <Checkbox\n description={t`Create model with default title (text), description (long text) and image (file) fields`}\n label={t`Create model with default fields`}\n data-testid=\"cms.newcontentmodeldialog.defaultfields\"\n />\n </Bind>\n </Cell>\n </Grid>\n </UID.DialogContent>\n <UID.DialogActions>\n <ButtonPrimary onClick={submit}>\n + {t`Create Model`}\n </ButtonPrimary>\n </UID.DialogActions>\n </>\n );\n }}\n </Form>\n )}\n </Dialog>\n );\n};\n\nexport default NewContentModelDialog;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,GAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,KAAA,GAAAZ,OAAA;AACA,IAAAa,qBAAA,GAAAb,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AACA,IAAAe,GAAA,GAAAhB,uBAAA,CAAAC,OAAA;AAQA,IAAAgB,QAAA,GAAAhB,OAAA;AACA,IAAAiB,iBAAA,GAAAjB,OAAA;AACA,IAAAkB,cAAA,GAAAlB,OAAA;AACA,IAAAmB,SAAA,GAAAnB,OAAA;AACA,IAAAoB,WAAA,GAAApB,OAAA;AACA,IAAAqB,OAAA,GAAArB,OAAA;AAA2C,IAAAsB,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA;AAE3C,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,sEAAsE,CAAC;AAiBzF,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA,EAAsD;EAAA,IAAhDC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAC1C,IAAAC,eAAA,GAA8BC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAL,eAAA;IAA5CM,OAAO,GAAAH,gBAAA;IAAEI,UAAU,GAAAJ,gBAAA;EAC1B,IAAAK,YAAA,GAAyB,IAAAC,yBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAAC,UAAA,GAAoB,IAAAC,sBAAS,EAAC,CAAC;IAAvBC,OAAO,GAAAF,UAAA,CAAPE,OAAO;EACf,IAAMC,MAAM,GAAG,IAAAC,sBAAe,EAAC,CAAC;EAEhC,IAAAC,YAAA,GAA6B,IAAAC,kBAAW,EAGtChD,GAAG,CAACiD,oBAAoB,EAAE;MACxBC,WAAW,WAAXA,WAAWA,CAACC,IAAI,EAAE;QACdb,UAAU,CAAC,KAAK,CAAC;QAEjB,IAAI,CAACa,IAAI,EAAE;UACPV,YAAY,CAAC,yDAAyD,CAAC;UACvE;QACJ;QAEA,IAAAW,qBAAA,GAA+BD,IAAI,CAACE,kBAAkB;UAAxCC,KAAK,GAAAF,qBAAA,CAAXD,IAAI;UAASI,KAAK,GAAAH,qBAAA,CAALG,KAAK;QAE1B,IAAIA,KAAK,EAAE;UACPjB,UAAU,CAAC,KAAK,CAAC;UACjBG,YAAY,CAACc,KAAK,CAACC,OAAO,CAAC;UAC3B;QACJ;QAEAZ,OAAO,CAACa,IAAI,CAAC,sBAAsB,GAAGH,KAAK,CAACI,OAAO,CAAC;MACxD,CAAC;MACDC,MAAM,WAANA,MAAMA,CAACC,KAAK,EAAAC,KAAA,EAAY;QAAA,IAARV,IAAI,GAAAU,KAAA,CAAJV,IAAI;QAChB,IAAI,CAACA,IAAI,EAAE;UACP;QACJ;QAEA,IAAAW,sBAAA,GAA+BX,IAAI,CAACE,kBAAkB;UAAxCC,KAAK,GAAAQ,sBAAA,CAAXX,IAAI;UAASI,KAAK,GAAAO,sBAAA,CAALP,KAAK;QAE1B,IAAIA,KAAK,EAAE;UACP;QACJ;QAEA,IAAAQ,0BAAmB,EAACH,KAAK,EAAEN,KAAK,CAAC;QACjC,IAAAU,2BAAoB,EAACJ,KAAK,EAAEN,KAAK,CAAC;MACtC;IACJ,CAAC,CAAC;IAAAW,aAAA,OAAA9B,eAAA,CAAAC,OAAA,EAAAW,YAAA;IApCKM,kBAAkB,GAAAY,aAAA;EAsCzB,IAAMC,mBAAmB,GAAG,IAAAC,eAAQ,EAChCnE,GAAG,CAACoE,+BAA+B,EACnC;IACIC,IAAI,EAAE,CAACxC;EACX,CACJ,CAAC;EAED,IAAMyC,MAAM,GAAG,IAAAC,cAAO,EAAC,YAAM;IACzB,OAAOL,mBAAmB,CAACf,IAAI,EAAEqB,sBAAsB,EAAErB,IAAI,IAAI,EAAE;EACvE,CAAC,EAAE,CAACe,mBAAmB,CAACf,IAAI,CAAC,CAAC;EAE9B,IAAMsB,kBAAkB,GAAG,IAAAF,cAAO,EAAC,YAAM;IACrC,OAAOD,MAAM,CAACI,GAAG,CAAC,UAACC,IAAI,EAAqB;MACxC,OAAO;QACHC,KAAK,EAAED,IAAI,CAACE,EAAE;QACdC,KAAK,EAAEH,IAAI,CAACI;MAChB,CAAC;IACL,CAAC,CAAC;EACN,CAAC,EAAE,CAACT,MAAM,CAAC,CAAC;EAEZ,IAAMU,MAAM,GAAG,IAAAT,cAAO,EAAC,YAAM;IACzB,OAAOD,MAAM,CAACW,MAAM,CAAa,UAACC,UAAU,EAAEC,KAAK,EAAK;MACpDD,UAAU,CAACzB,IAAI,CAAA2B,KAAA,CAAfF,UAAU,MAAAG,mBAAA,CAAAjD,OAAA,EAAS+C,KAAK,CAACG,aAAa,EAAC;MACvC,OAAOJ,UAAU;IACrB,CAAC,EAAE,EAAE,CAAC;EACV,CAAC,EAAE,CAACZ,MAAM,CAAC,CAAC;EAEZ,IAAMiB,aAAa,GAAG,IAAAC,kBAAW,EAAC,IAAAC,kCAAmB,EAAC;IAAET,MAAM,EAANA;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAE5E,IAAMU,gBAAgB,GAAG,IAAAF,kBAAW,EAAC,IAAAG,wCAAsB,EAAC;IAAE9C,MAAM,EAANA,MAAM;IAAEmC,MAAM,EAANA;EAAO,CAAC,CAAC,EAAE,CAC7EnC,MAAM,EACNmC,MAAM,CACT,CAAC;EAEF,IAAMG,KAAK,GAAG,IAAAZ,cAAO,EAAqB,YAAM;IAC5C,IAAI,CAACE,kBAAkB,CAACmB,MAAM,EAAE;MAC5B,OAAOC,SAAS;IACpB;IACA,OAAOpB,kBAAkB,CAAC,CAAC,CAAC,EAAEG,KAAK;EACvC,CAAC,EAAE,CAACH,kBAAkB,CAAC,CAAC;EAExB,IAAMqB,QAAQ,GAAG,IAAAN,kBAAW,EACxB,gBAAOrC,IAAkB,EAAK;IAC1Bb,UAAU,CAAC,IAAI,CAAC;IAChB;AACZ;AACA;AACA;AACA;IACY;IACA,IAAMyD,IAAc,GAAGC,KAAK,CAACC,OAAO,CAAC9C,IAAI,CAAC4C,IAAI,CAAC,GAAG5C,IAAI,CAAC4C,IAAI,GAAG,EAAE;IAChE;AACZ;AACA;AACA;IACY,IAAI5C,IAAI,CAAC+C,SAAS,EAAE;MAChBH,IAAI,CAACtC,IAAI,CAAC0C,6CAAuB,CAAC;MAClChD,IAAI,CAACiD,aAAa,MAAAC,MAAA,CAAMlD,IAAI,CAACmD,eAAe,WAAQ;IACxD;IACA,OAAOnD,IAAI,CAAC+C,SAAS;IACrB,MAAM7C,kBAAkB,CAAC;MACrBkD,SAAS,EAAE;QACPpD,IAAI,MAAAqD,cAAA,CAAApE,OAAA,MAAAoE,cAAA,CAAApE,OAAA,MACGe,IAAI;UACP4C,IAAI,EAAJA;QAAI;MAEZ;IACJ,CAAC,CAAC;EACN,CAAC,EACD,CAAC1D,OAAO,EAAEgB,kBAAkB,CAChC,CAAC;EAED,oBACItE,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACxG,QAAA,CAAAyG,MAAM;IAAC7E,IAAI,EAAEA,IAAK;IAACC,OAAO,EAAEA,OAAQ;IAAC,eAAY;EAA6B,GAC1ED,IAAI,iBACD9C,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACtH,KAAA,CAAAwH,IAAI;IAAexD,IAAI,EAAE;MAAEgC,KAAK,EAALA,KAAK;MAAEe,SAAS,EAAE;IAAM,CAAE;IAACJ,QAAQ,EAAEA;EAAS,GACrE,UAAAc,KAAA,EAA4B;IAAA,IAAzBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;MAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;MAAE3D,IAAI,GAAAyD,KAAA,CAAJzD,IAAI;IAClB,oBACIpE,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAA1H,MAAA,CAAAqD,OAAA,CAAA2E,QAAA,QACK1E,OAAO,iBACJtD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAClH,SAAA,CAAAyH,gBAAgB;MAAClC,KAAK,EAAE;IAA4B,CAAE,CAC1D,eACD/F,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC7G,GAAG,CAACqH,WAAW,QAAEzF,CAAC,CAAAjB,eAAA,KAAAA,eAAA,OAAA2G,uBAAA,CAAA9E,OAAA,0BAAqC,CAAC,eACzDrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC7G,GAAG,CAACuH,aAAa,qBACdpI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAuH,IAAI,qBACDrI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MACD9B,IAAI,EAAE,MAAO;MACbwC,UAAU,EAAE,CACRC,sBAAU,CAACC,MAAM,CAAC,wBAAwB,CAAC,EAC3ClC,aAAa;IACf,gBAEFxG,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACrH,MAAA,CAAAsI,KAAK;MACF5C,KAAK,EAAEtD,CAAC,CAAAhB,gBAAA,KAAAA,gBAAA,OAAA0G,uBAAA,CAAA9E,OAAA,aAAO;MACfuF,WAAW,EAAEnG,CAAC,CAAAf,gBAAA,KAAAA,gBAAA,OAAAyG,uBAAA,CAAA9E,OAAA,2GAAqG;MACnH,eAAY;IAAgC,CAC/C,CACC,CACJ,CAAC,eACPrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MACD9B,IAAI,EAAE,iBAAkB;MACxBwC,UAAU,EAAE,CACRC,sBAAU,CAACC,MAAM,CAAC,wBAAwB,CAAC,EAC3C/B,gBAAgB;IAClB,gBAEF3G,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACrH,MAAA,CAAAsI,KAAK;MACF5C,KAAK,EAAEtD,CAAC,CAAAd,gBAAA,KAAAA,gBAAA,OAAAwG,uBAAA,CAAA9E,OAAA,0BAAoB;MAC5BuF,WAAW,EAAEnG,CAAC,CAAAb,gBAAA,KAAAA,gBAAA,OAAAuG,uBAAA,CAAA9E,OAAA,wEAAkE;MAChF,eAAY;IAA2C,CAC1D,CACC,CACJ,CAAC,eACPrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MAAC9B,IAAI,EAAE,WAAY;MAAC6C,YAAY,EAAE;IAAM,gBACzC7I,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACnG,OAAA,CAAAuH,MAAM;MACHF,WAAW,EAAEnG,CAAC,CAAAZ,gBAAA,KAAAA,gBAAA,OAAAsG,uBAAA,CAAA9E,OAAA,8EAAwE;MACtF0C,KAAK,EAAEtD,CAAC,CAAAX,gBAAA,KAAAA,gBAAA,OAAAqG,uBAAA,CAAA9E,OAAA,2BAAqB;MAC7B,eAAY;IAAqC,CACpD,CACC,CACJ,CAAC,eACPrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MACD9B,IAAI,EAAE,eAAgB;MACtBwC,UAAU,EACNpE,IAAI,CAAC+C,SAAS,GACR,EAAE,GACF,CACIsB,sBAAU,CAACC,MAAM,CACb,wBACJ,CAAC,EACD/B,gBAAgB;IAE7B,gBAED3G,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACrH,MAAA,CAAAsI,KAAK;MACFI,QAAQ,EAAE3E,IAAI,CAAC+C,SAAU;MACzBpB,KAAK,EAAEtD,CAAC,CAAAV,gBAAA,KAAAA,gBAAA,OAAAoG,uBAAA,CAAA9E,OAAA,wBAAkB;MAC1BuF,WAAW,EAAEnG,CAAC,CAAAT,gBAAA,KAAAA,gBAAA,OAAAmG,uBAAA,CAAA9E,OAAA,iFAA2E;MACzF,eAAY;IAAyC,CACxD,CACC,CACJ,CAAC,eACPrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MACD9B,IAAI,EAAE,OAAQ;MACdwC,UAAU,EAAEC,sBAAU,CAACC,MAAM,CAAC,UAAU;IAAE,gBAE1C1I,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACpH,OAAA,CAAA0I,MAAM;MACHJ,WAAW,EAAEnG,CAAC,CAAAR,iBAAA,KAAAA,iBAAA,OAAAkG,uBAAA,CAAA9E,OAAA,qCAA+B;MAC7C0C,KAAK,EAAEtD,CAAC,CAAAP,iBAAA,KAAAA,iBAAA,OAAAiG,uBAAA,CAAA9E,OAAA,4BAAsB;MAC9B4F,OAAO,EAAEvD,kBAAmB;MAC5B,eAAY;IAAuC,CACtD,CACC,CACJ,CAAC,eACP1F,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MAAC9B,IAAI,EAAC;IAAM,gBACbhG,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACpG,WAAA,CAAA4H,UAAU;MACPnD,KAAK,EAAEtD,CAAC,CAAAN,iBAAA,KAAAA,iBAAA,OAAAgG,uBAAA,CAAA9E,OAAA,aAAO;MACfuF,WAAW,EAAEnG,CAAC,CAAAL,iBAAA,KAAAA,iBAAA,OAAA+F,uBAAA,CAAA9E,OAAA;IAAyC,CAC1D,CACC,CACJ,CAAC,eACPrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MAAC9B,IAAI,EAAC;IAAa,GACnB,UAAAmD,KAAK;MAAA,oBACFnJ,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACrH,MAAA,CAAAsI,KAAK,EAAAS,MAAA,CAAAC,MAAA,KACEF,KAAK;QACTG,IAAI,EAAE,CAAE;QACRC,SAAS,EAAE,GAAI;QACfC,cAAc;QACdzD,KAAK,EAAEtD,CAAC,CAAAJ,iBAAA,KAAAA,iBAAA,OAAA8F,uBAAA,CAAA9E,OAAA,oBAAc;QACtB,eAAY;MAAuC,EACtD,CAAC;IAAA,CAEJ,CACJ,CAAC,eACPrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC5G,KAAA,CAAAwH,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXvI,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACI,IAAI;MAAC9B,IAAI,EAAE,eAAgB;MAAC6C,YAAY,EAAE;IAAK,gBAC5C7I,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAACrG,SAAA,CAAAoI,QAAQ;MACLb,WAAW,EAAEnG,CAAC,CAAAH,iBAAA,KAAAA,iBAAA,OAAA6F,uBAAA,CAAA9E,OAAA,gGAA0F;MACxG0C,KAAK,EAAEtD,CAAC,CAAAF,iBAAA,KAAAA,iBAAA,OAAA4F,uBAAA,CAAA9E,OAAA,yCAAmC;MAC3C,eAAY;IAAyC,CACxD,CACC,CACJ,CACJ,CACS,CAAC,eACpBrD,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC7G,GAAG,CAAC6I,aAAa,qBACd1J,MAAA,CAAAqD,OAAA,CAAAqE,aAAA,CAAC9G,OAAA,CAAA+I,aAAa;MAACC,OAAO,EAAE7B;IAAO,GAAC,IAC1B,EAACtF,CAAC,CAAAD,iBAAA,KAAAA,iBAAA,OAAA2F,uBAAA,CAAA9E,OAAA,qBACO,CACA,CACrB,CAAC;EAEX,CACE,CAEN,CAAC;AAEjB,CAAC;AAAC,IAAAwG,QAAA,GAAAC,OAAA,CAAAzG,OAAA,GAEaT,qBAAqB","ignoreList":[]}
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { DataProxy } from "apollo-cache";
|
|
2
2
|
import ApolloClient from "apollo-client";
|
|
3
|
-
import { CmsEditorContentModel } from "../../../types";
|
|
3
|
+
import { CmsEditorContentModel, CmsModel } from "../../../types";
|
|
4
4
|
export declare const addModelToListCache: (cache: DataProxy, model: CmsEditorContentModel) => void;
|
|
5
|
+
export declare const updateModelInCache: (cache: DataProxy, model: CmsModel) => void;
|
|
5
6
|
export declare const addModelToGroupCache: (cache: DataProxy, model: CmsEditorContentModel) => void;
|
|
7
|
+
export declare const updateModelInGroupCache: (cache: DataProxy, model: CmsModel) => void;
|
|
6
8
|
/**
|
|
7
9
|
* This function is an ugly hack, but I don't know a better way to remove items from cache in Apollo Client v2.
|
|
8
10
|
* When a Content Model is deleted, we need to remove it from cache, because a model can be recreated with the same
|
|
9
11
|
* modelId, and it will cause problems, because Apollo will think that the data in cache belongs to this new model.
|
|
10
12
|
*/
|
|
13
|
+
/**
|
|
14
|
+
* TODO remove when we can confirm that new deletion works property
|
|
15
|
+
*/
|
|
11
16
|
export declare const removeModelFromCache: (client: ApolloClient<any>, model: CmsEditorContentModel) => void;
|
|
17
|
+
/**
|
|
18
|
+
* TODO remove when we can confirm that new deletion works property
|
|
19
|
+
*/
|
|
12
20
|
export declare const removeModelFromListCache: (cache: DataProxy, model: CmsEditorContentModel) => void;
|
|
21
|
+
/**
|
|
22
|
+
* TODO remove when we can confirm that new deletion works property
|
|
23
|
+
*/
|
|
13
24
|
export declare const removeModelFromGroupCache: (cache: DataProxy, model: CmsEditorContentModel) => void;
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.removeModelFromListCache = exports.removeModelFromGroupCache = exports.removeModelFromCache = exports.addModelToListCache = exports.addModelToGroupCache = void 0;
|
|
7
|
+
exports.updateModelInGroupCache = exports.updateModelInCache = exports.removeModelFromListCache = exports.removeModelFromGroupCache = exports.removeModelFromCache = exports.addModelToListCache = exports.addModelToGroupCache = void 0;
|
|
8
8
|
var _dotPropImmutable = _interopRequireDefault(require("dot-prop-immutable"));
|
|
9
9
|
var _viewsGraphql = require("../../viewsGraphql");
|
|
10
10
|
var addModelToListCache = exports.addModelToListCache = function addModelToListCache(cache, model) {
|
|
@@ -23,6 +23,27 @@ var addModelToListCache = exports.addModelToListCache = function addModelToListC
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
|
+
var updateModelInCache = exports.updateModelInCache = function updateModelInCache(cache, model) {
|
|
27
|
+
var response = cache.readQuery({
|
|
28
|
+
query: _viewsGraphql.LIST_CONTENT_MODELS
|
|
29
|
+
});
|
|
30
|
+
if (!response || !response.listContentModels?.data) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
var index = response.listContentModels.data.findIndex(function (m) {
|
|
34
|
+
return m.modelId === model.modelId;
|
|
35
|
+
});
|
|
36
|
+
if (index < 0) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
cache.writeQuery({
|
|
40
|
+
query: _viewsGraphql.LIST_CONTENT_MODELS,
|
|
41
|
+
data: {
|
|
42
|
+
listContentModels: _dotPropImmutable.default.set(response.listContentModels, "data.".concat(index), model)
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return updateModelInGroupCache(cache, model);
|
|
46
|
+
};
|
|
26
47
|
var addModelToGroupCache = exports.addModelToGroupCache = function addModelToGroupCache(cache, model) {
|
|
27
48
|
var response = cache.readQuery({
|
|
28
49
|
query: _viewsGraphql.LIST_MENU_CONTENT_GROUPS_MODELS
|
|
@@ -42,12 +63,42 @@ var addModelToGroupCache = exports.addModelToGroupCache = function addModelToGro
|
|
|
42
63
|
}
|
|
43
64
|
});
|
|
44
65
|
};
|
|
66
|
+
var updateModelInGroupCache = exports.updateModelInGroupCache = function updateModelInGroupCache(cache, model) {
|
|
67
|
+
var response = cache.readQuery({
|
|
68
|
+
query: _viewsGraphql.LIST_MENU_CONTENT_GROUPS_MODELS
|
|
69
|
+
});
|
|
70
|
+
if (!response || !response.listContentModelGroups) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
var groupsList = response.listContentModelGroups;
|
|
74
|
+
var groupIndex = groupsList.data.findIndex(function (g) {
|
|
75
|
+
return g.id === model.group.id;
|
|
76
|
+
});
|
|
77
|
+
if (groupIndex < 0) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
var modelIndex = groupsList.data[groupIndex].contentModels.findIndex(function (m) {
|
|
81
|
+
return m.modelId === model.modelId;
|
|
82
|
+
});
|
|
83
|
+
if (modelIndex < 0) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
cache.writeQuery({
|
|
87
|
+
query: _viewsGraphql.LIST_MENU_CONTENT_GROUPS_MODELS,
|
|
88
|
+
data: {
|
|
89
|
+
listContentModelGroups: _dotPropImmutable.default.set(groupsList, "data.".concat(groupIndex, ".contentModels.").concat(modelIndex), model)
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
};
|
|
45
93
|
|
|
46
94
|
/**
|
|
47
95
|
* This function is an ugly hack, but I don't know a better way to remove items from cache in Apollo Client v2.
|
|
48
96
|
* When a Content Model is deleted, we need to remove it from cache, because a model can be recreated with the same
|
|
49
97
|
* modelId, and it will cause problems, because Apollo will think that the data in cache belongs to this new model.
|
|
50
98
|
*/
|
|
99
|
+
/**
|
|
100
|
+
* TODO remove when we can confirm that new deletion works property
|
|
101
|
+
*/
|
|
51
102
|
var removeModelFromCache = exports.removeModelFromCache = function removeModelFromCache(client, model) {
|
|
52
103
|
var id = "CmsContentModel:".concat(model.modelId);
|
|
53
104
|
|
|
@@ -62,6 +113,9 @@ var removeModelFromCache = exports.removeModelFromCache = function removeModelFr
|
|
|
62
113
|
}
|
|
63
114
|
});
|
|
64
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* TODO remove when we can confirm that new deletion works property
|
|
118
|
+
*/
|
|
65
119
|
var removeModelFromListCache = exports.removeModelFromListCache = function removeModelFromListCache(cache, model) {
|
|
66
120
|
var response = cache.readQuery({
|
|
67
121
|
query: _viewsGraphql.LIST_CONTENT_MODELS
|
|
@@ -80,6 +134,9 @@ var removeModelFromListCache = exports.removeModelFromListCache = function remov
|
|
|
80
134
|
}
|
|
81
135
|
});
|
|
82
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* TODO remove when we can confirm that new deletion works property
|
|
139
|
+
*/
|
|
83
140
|
var removeModelFromGroupCache = exports.removeModelFromGroupCache = function removeModelFromGroupCache(cache, model) {
|
|
84
141
|
var response = cache.readQuery({
|
|
85
142
|
query: _viewsGraphql.LIST_MENU_CONTENT_GROUPS_MODELS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dotPropImmutable","_interopRequireDefault","require","_viewsGraphql","addModelToListCache","exports","cache","model","response","readQuery","query","LIST_CONTENT_MODELS","listContentModels","newModelIndex","data","length","writeQuery","dotProp","set","concat","addModelToGroupCache","LIST_MENU_CONTENT_GROUPS_MODELS","listContentModelGroups","groupsList","groupIndex","findIndex","g","id","group","newGroupModelIndex","contentModels","removeModelFromCache","client","modelId","delete","Object","keys","forEach","key","startsWith","removeModelFromListCache","modelIndex","m","removeModelFromGroupCache"],"sources":["cache.ts"],"sourcesContent":["import dotProp from \"dot-prop-immutable\";\nimport { DataProxy } from \"apollo-cache\";\nimport ApolloClient from \"apollo-client\";\nimport {\n LIST_CONTENT_MODELS,\n LIST_MENU_CONTENT_GROUPS_MODELS,\n ListCmsModelsQueryResponse,\n ListMenuCmsGroupsQueryResponse\n} from \"../../viewsGraphql\";\nimport { CmsEditorContentModel } from \"~/types\";\n\nexport const addModelToListCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels) {\n return;\n }\n const { listContentModels } = response;\n const newModelIndex = listContentModels.data.length;\n\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.set(listContentModels, `data.${newModelIndex}`, model)\n }\n });\n};\n\nexport const addModelToGroupCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n const newGroupModelIndex = groupsList.data[groupIndex].contentModels.length;\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.set(\n groupsList,\n `data.${groupIndex}.contentModels.${newGroupModelIndex}`,\n model\n )\n }\n });\n};\n\n/**\n * This function is an ugly hack, but I don't know a better way to remove items from cache in Apollo Client v2.\n * When a Content Model is deleted, we need to remove it from cache, because a model can be recreated with the same\n * modelId, and it will cause problems, because Apollo will think that the data in cache belongs to this new model.\n */\nexport const removeModelFromCache = (\n client: ApolloClient<any>,\n model: CmsEditorContentModel\n): void => {\n const id = `CmsContentModel:${model.modelId}`;\n\n // @ts-expect-error\n client.cache.data.delete(id);\n\n // @ts-expect-error\n Object.keys(client.cache.data.data).forEach(key => {\n if (key.startsWith(`${id}.`) || key.startsWith(`$${id}.`)) {\n // @ts-expect-error\n client.cache.data.delete(key);\n }\n });\n};\n\nexport const removeModelFromListCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels) {\n return;\n }\n const { listContentModels } = response;\n const modelIndex = listContentModels.data.findIndex(m => m.modelId === model.modelId);\n\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.delete(listContentModels, `data.${modelIndex}`)\n }\n });\n};\n\nexport const removeModelFromGroupCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n if (groupIndex < 0) {\n return;\n }\n const modelIndex = groupsList.data[groupIndex].contentModels.findIndex(\n m => m.modelId === model.modelId\n );\n\n if (modelIndex < 0) {\n return;\n }\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.delete(\n groupsList,\n `data.${groupIndex}.contentModels.${modelIndex}`\n )\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_dotPropImmutable","_interopRequireDefault","require","_viewsGraphql","addModelToListCache","exports","cache","model","response","readQuery","query","LIST_CONTENT_MODELS","listContentModels","newModelIndex","data","length","writeQuery","dotProp","set","concat","updateModelInCache","index","findIndex","m","modelId","updateModelInGroupCache","addModelToGroupCache","LIST_MENU_CONTENT_GROUPS_MODELS","listContentModelGroups","groupsList","groupIndex","g","id","group","newGroupModelIndex","contentModels","modelIndex","removeModelFromCache","client","delete","Object","keys","forEach","key","startsWith","removeModelFromListCache","removeModelFromGroupCache"],"sources":["cache.ts"],"sourcesContent":["import dotProp from \"dot-prop-immutable\";\nimport { DataProxy } from \"apollo-cache\";\nimport ApolloClient from \"apollo-client\";\nimport {\n LIST_CONTENT_MODELS,\n LIST_MENU_CONTENT_GROUPS_MODELS,\n ListCmsModelsQueryResponse,\n ListMenuCmsGroupsQueryResponse\n} from \"../../viewsGraphql\";\nimport { CmsEditorContentModel, CmsModel } from \"~/types\";\n\nexport const addModelToListCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels) {\n return;\n }\n const { listContentModels } = response;\n const newModelIndex = listContentModels.data.length;\n\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.set(listContentModels, `data.${newModelIndex}`, model)\n }\n });\n};\n\nexport const updateModelInCache = (cache: DataProxy, model: CmsModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels?.data) {\n return;\n }\n\n const index = response.listContentModels.data.findIndex(m => m.modelId === model.modelId);\n if (index < 0) {\n return;\n }\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.set(response.listContentModels, `data.${index}`, model)\n }\n });\n\n return updateModelInGroupCache(cache, model);\n};\n\nexport const addModelToGroupCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n const newGroupModelIndex = groupsList.data[groupIndex].contentModels.length;\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.set(\n groupsList,\n `data.${groupIndex}.contentModels.${newGroupModelIndex}`,\n model\n )\n }\n });\n};\n\nexport const updateModelInGroupCache = (cache: DataProxy, model: CmsModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n if (groupIndex < 0) {\n return;\n }\n const modelIndex = groupsList.data[groupIndex].contentModels.findIndex(\n m => m.modelId === model.modelId\n );\n if (modelIndex < 0) {\n return;\n }\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.set(\n groupsList,\n `data.${groupIndex}.contentModels.${modelIndex}`,\n model\n )\n }\n });\n};\n\n/**\n * This function is an ugly hack, but I don't know a better way to remove items from cache in Apollo Client v2.\n * When a Content Model is deleted, we need to remove it from cache, because a model can be recreated with the same\n * modelId, and it will cause problems, because Apollo will think that the data in cache belongs to this new model.\n */\n/**\n * TODO remove when we can confirm that new deletion works property\n */\nexport const removeModelFromCache = (\n client: ApolloClient<any>,\n model: CmsEditorContentModel\n): void => {\n const id = `CmsContentModel:${model.modelId}`;\n\n // @ts-expect-error\n client.cache.data.delete(id);\n\n // @ts-expect-error\n Object.keys(client.cache.data.data).forEach(key => {\n if (key.startsWith(`${id}.`) || key.startsWith(`$${id}.`)) {\n // @ts-expect-error\n client.cache.data.delete(key);\n }\n });\n};\n/**\n * TODO remove when we can confirm that new deletion works property\n */\nexport const removeModelFromListCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels) {\n return;\n }\n const { listContentModels } = response;\n const modelIndex = listContentModels.data.findIndex(m => m.modelId === model.modelId);\n\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.delete(listContentModels, `data.${modelIndex}`)\n }\n });\n};\n/**\n * TODO remove when we can confirm that new deletion works property\n */\nexport const removeModelFromGroupCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n if (groupIndex < 0) {\n return;\n }\n const modelIndex = groupsList.data[groupIndex].contentModels.findIndex(\n m => m.modelId === model.modelId\n );\n\n if (modelIndex < 0) {\n return;\n }\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.delete(\n groupsList,\n `data.${groupIndex}.contentModels.${modelIndex}`\n )\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { CmsModel } from "../../../../types";
|
|
3
|
+
export interface FullyDeleteModelDialogProps {
|
|
4
|
+
model: CmsModel | null;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* It's not a mistake to use cancel to accept and accept to cancel. It is just a matter of styling.
|
|
9
|
+
* We want the accept button to be less visible.
|
|
10
|
+
*/
|
|
11
|
+
export declare const FullyDeleteModelDialog: ({ model: inputModel, onClose }: FullyDeleteModelDialogProps) => React.JSX.Element;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FullyDeleteModelDialog = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _Dialog = require("../../../components/Dialog");
|
|
12
|
+
var _Button = require("@webiny/ui/Button");
|
|
13
|
+
var _types = require("./types");
|
|
14
|
+
var _Content = require("./dialog/Content");
|
|
15
|
+
var _validationValue = require("./dialog/validationValue");
|
|
16
|
+
var _process = require("./dialog/process");
|
|
17
|
+
var _hooks = require("../../../hooks");
|
|
18
|
+
var _state = require("./dialog/state");
|
|
19
|
+
var _cache = require("../cache");
|
|
20
|
+
/**
|
|
21
|
+
* It's not a mistake to use cancel to accept and accept to cancel. It is just a matter of styling.
|
|
22
|
+
* We want the accept button to be less visible.
|
|
23
|
+
*/
|
|
24
|
+
var FullyDeleteModelDialog = exports.FullyDeleteModelDialog = function FullyDeleteModelDialog(_ref) {
|
|
25
|
+
var inputModel = _ref.model,
|
|
26
|
+
onClose = _ref.onClose;
|
|
27
|
+
var client = (0, _hooks.useApolloClient)();
|
|
28
|
+
var state = (0, _state.useDialogState)(inputModel);
|
|
29
|
+
var model = state.model,
|
|
30
|
+
status = state.status,
|
|
31
|
+
confirmation = state.confirmation,
|
|
32
|
+
setConfirmation = state.setConfirmation,
|
|
33
|
+
setStatusUnderstood = state.setStatusUnderstood,
|
|
34
|
+
setStatusProcessed = state.setStatusProcessed,
|
|
35
|
+
setStatusConfirmed = state.setStatusConfirmed,
|
|
36
|
+
setStatusError = state.setStatusError,
|
|
37
|
+
setError = state.setError;
|
|
38
|
+
var processConfirmation = (0, _react.useMemo)(function () {
|
|
39
|
+
return (0, _process.createProcessConfirmation)({
|
|
40
|
+
client: client
|
|
41
|
+
});
|
|
42
|
+
}, [client]);
|
|
43
|
+
var startProcessing = (0, _react.useCallback)(function () {
|
|
44
|
+
var value = (0, _validationValue.createValidationValue)(model);
|
|
45
|
+
if (confirmation !== value) {
|
|
46
|
+
setError({
|
|
47
|
+
message: "Confirmation value is not correct.",
|
|
48
|
+
code: "CONFIRMATION_ERROR"
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
setStatusConfirmed();
|
|
53
|
+
(async function () {
|
|
54
|
+
var result = await processConfirmation({
|
|
55
|
+
model: model,
|
|
56
|
+
confirmation: confirmation,
|
|
57
|
+
onSuccess: function onSuccess(cache) {
|
|
58
|
+
(0, _cache.updateModelInCache)(cache, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
|
|
59
|
+
isBeingDeleted: true
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
if (result.error) {
|
|
64
|
+
setStatusError(result.error);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
setStatusProcessed(result.data);
|
|
68
|
+
})();
|
|
69
|
+
}, [state]);
|
|
70
|
+
var title = (0, _react.useMemo)(function () {
|
|
71
|
+
if (model?.plugin) {
|
|
72
|
+
return "Delete all entries of the model?";
|
|
73
|
+
}
|
|
74
|
+
return "Delete content model and all its entries?";
|
|
75
|
+
}, [model?.modelId]);
|
|
76
|
+
var primaryButtonText = (0, _react.useMemo)(function () {
|
|
77
|
+
if (status === _types.FullyDeleteModelStateStatus.UNDERSTOOD) {
|
|
78
|
+
return "Yes, delete the model";
|
|
79
|
+
}
|
|
80
|
+
return "Yes, I understand";
|
|
81
|
+
}, [status]);
|
|
82
|
+
var onYesClick = (0, _react.useMemo)(function () {
|
|
83
|
+
if (status === _types.FullyDeleteModelStateStatus.NONE) {
|
|
84
|
+
return setStatusUnderstood;
|
|
85
|
+
}
|
|
86
|
+
return startProcessing;
|
|
87
|
+
}, [setStatusUnderstood, startProcessing, status]);
|
|
88
|
+
return /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
|
|
89
|
+
open: !!model,
|
|
90
|
+
onClose: onClose,
|
|
91
|
+
preventOutsideDismiss: true,
|
|
92
|
+
"data-testid": "cms-delete-content-model-dialog"
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_Dialog.DialogTitle, null, title), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_Content.Content, {
|
|
94
|
+
model: model,
|
|
95
|
+
setConfirmation: setConfirmation,
|
|
96
|
+
confirmation: confirmation,
|
|
97
|
+
error: state.error,
|
|
98
|
+
status: status
|
|
99
|
+
})), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Dialog.DialogCancel, {
|
|
100
|
+
"data-testid": "cms-delete-content-model-close-button"
|
|
101
|
+
}, status === _types.FullyDeleteModelStateStatus.PROCESSED || status === _types.FullyDeleteModelStateStatus.ERROR ? "OK" : "Cancel"), (status === _types.FullyDeleteModelStateStatus.NONE || status === _types.FullyDeleteModelStateStatus.UNDERSTOOD) && /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
102
|
+
"data-testid": "cms-delete-content-model-confirm-button",
|
|
103
|
+
onClick: onYesClick
|
|
104
|
+
}, primaryButtonText)));
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
//# sourceMappingURL=FullyDeleteModelDialog.js.map
|