diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-creator/property-creator.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-creator/property-creator.element.ts index 6f7579a067..cf2433c364 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-creator/property-creator.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-creator/property-creator.element.ts @@ -2,22 +2,22 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement } from 'lit/decorators.js'; import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbModalService, UMB_MODAL_SERVICE_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; @customElement('umb-property-creator') export class UmbPropertyCreatorElement extends UmbLitElement { static styles = [UUITextStyles, css``]; - #modalService?: UmbModalService; + #modalContext?: UmbModalContext; constructor() { super(); - this.consumeContext(UMB_MODAL_SERVICE_CONTEXT_TOKEN, (instance) => (this.#modalService = instance)); + this.consumeContext(UMB_MODAL_CONTEXT_TOKEN, (instance) => (this.#modalContext = instance)); } #onAddProperty() { - const modalHandler = this.#modalService?.propertySettings(); + const modalHandler = this.#modalContext?.propertySettings(); if (modalHandler) { modalHandler.onClose().then((result) => { diff --git a/src/Umbraco.Web.UI.Client/src/core/modal/layouts/property-settings/modal-layout-property-settings.element.ts b/src/Umbraco.Web.UI.Client/src/core/modal/layouts/property-settings/modal-layout-property-settings.element.ts index 1d89cf076d..0f64b7e34b 100644 --- a/src/Umbraco.Web.UI.Client/src/core/modal/layouts/property-settings/modal-layout-property-settings.element.ts +++ b/src/Umbraco.Web.UI.Client/src/core/modal/layouts/property-settings/modal-layout-property-settings.element.ts @@ -2,8 +2,7 @@ import { UUIBooleanInputEvent, UUIInputEvent, UUISelectEvent } from '@umbraco-ui import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbModalService, UMB_MODAL_SERVICE_CONTEXT_TOKEN } from '../../modal.service'; -import { UmbModalLayoutElement } from '../modal-layout.element'; +import { UmbModalContext, UmbModalLayoutElement, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; import { ManifestPropertyEditorUI } from '@umbraco-cms/extensions-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; @@ -145,13 +144,13 @@ export class UmbModalLayoutPropertySettingsElement extends UmbModalLayoutElement @state() private _name = ''; @state() private _alias = ''; - #modalService?: UmbModalService; + #modalContext?: UmbModalContext; constructor() { super(); - this.consumeContext(UMB_MODAL_SERVICE_CONTEXT_TOKEN, (instance) => { - this.#modalService = instance; + this.consumeContext(UMB_MODAL_CONTEXT_TOKEN, (instance) => { + this.#modalContext = instance; }); this.#observePropertyEditorUI(); @@ -258,7 +257,7 @@ export class UmbModalLayoutPropertySettingsElement extends UmbModalLayoutElement } #onOpenPropertyEditorUIPicker() { - const modalHandler = this.#modalService?.propertyEditorUIPicker({ + const modalHandler = this.#modalContext?.propertyEditorUIPicker({ selection: [], }); @@ -272,6 +271,11 @@ export class UmbModalLayoutPropertySettingsElement extends UmbModalLayoutElement }); } + /* TODO: + From Github comment: We should not re-generate the alias when it gets locked again. + Generally the auto generation is not determined by the lock, but wether it has been changed or saved. + The experience in existing backoffice is: we only generate an alias when a property is new, once it has been saved it should never change unless the user actively does so. + On new properties, the alias auto-generates until the user has made a change to it. */ #onToggleAliasLock() { this._aliasLocked = !this._aliasLocked; diff --git a/src/Umbraco.Web.UI.Client/src/core/modal/modal.context.ts b/src/Umbraco.Web.UI.Client/src/core/modal/modal.context.ts index d7275c0f3e..055e7ba532 100644 --- a/src/Umbraco.Web.UI.Client/src/core/modal/modal.context.ts +++ b/src/Umbraco.Web.UI.Client/src/core/modal/modal.context.ts @@ -8,7 +8,6 @@ import './layouts/modal-layout-current-user.element'; import './layouts/icon-picker/modal-layout-icon-picker.element'; import '../../backoffice/settings/languages/language-picker/language-picker-modal-layout.element'; import './layouts/link-picker/modal-layout-link-picker.element'; -import './layouts/basic/modal-layout-basic.element'; import './layouts/search/modal-layout-search.element.ts'; import { UUIModalSidebarSize } from '@umbraco-ui/uui-modal-sidebar'; @@ -22,7 +21,6 @@ import type { UmbModalPropertyEditorUIPickerData } from './layouts/property-edit import type { UmbModalMediaPickerData } from './layouts/media-picker/modal-layout-media-picker.element'; import type { UmbModalLinkPickerData } from './layouts/link-picker/modal-layout-link-picker.element'; import { UmbModalHandler } from './modal-handler'; -import type { UmbBasicModalData } from './layouts/basic/modal-layout-basic.element'; import { UmbPickerModalData } from './layouts/modal-layout-picker-base'; import { UmbContextToken } from '@umbraco-cms/context-api'; import { LanguageModel } from '@umbraco-cms/backend-api'; @@ -152,20 +150,6 @@ export class UmbModalContext { return this.open('umb-language-picker-modal-layout', { data, type: 'sidebar' }); } - /** - * Opens a basic sidebar modal to display readonly information - * @public - * @return {*} {UmbModalHandler} - * @memberof UmbModalContext - */ - public openBasic(data: UmbBasicModalData): UmbModalHandler { - return this.open('umb-modal-layout-basic', { - data, - type: 'sidebar', - size: data?.overlaySize || 'small', - }); - } - public search(): UmbModalHandler { const modalHandler = new UmbModalHandler('umb-modal-layout-search');