diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/manifests.ts index 48b22385bb..e12a228710 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/manifests.ts @@ -1,11 +1,9 @@ import type { ManifestTypes } from '../models/index.js'; -import { manifest as menuAliasConditionManifest } from './menu-alias.condition.js'; import { manifest as multipleAppLanguagesConditionManifest } from './multiple-app-languages.condition.js'; import { manifest as sectionAliasConditionManifest } from './section-alias.condition.js'; import { manifest as switchConditionManifest } from './switch.condition.js'; export const manifests: Array = [ - menuAliasConditionManifest, multipleAppLanguagesConditionManifest, sectionAliasConditionManifest, switchConditionManifest, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/localization/components/ui-culture-input/ui-culture-input.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/localization/components/ui-culture-input/ui-culture-input.element.ts index 813fd1050c..0b33a2fcf4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/localization/components/ui-culture-input/ui-culture-input.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/localization/components/ui-culture-input/ui-culture-input.element.ts @@ -65,16 +65,16 @@ export class UmbUiCultureInputElement extends UUIFormControlMixin(UmbLitElement, } override render() { - return html` - ({ + .options=${this._options.map((e) => ({ name: e.name, value: e.value, - selected: e.value == this.value + selected: e.value == this.value, }))}> - `; + `; } static override styles = [ diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/manifests.ts index 1645bd2edc..5437c69989 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/link/manifests.ts @@ -1,6 +1,4 @@ -import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; - -export const manifests: Array = [ +export const manifests: Array = [ { type: 'kind', alias: 'Umb.Kind.MenuItem.Link', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/manifests.ts index 08daa5be16..528da3258a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/manifests.ts @@ -1,4 +1,3 @@ import { manifests as linkManifests } from './link/manifests.js'; -import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; -export const manifests: Array = [...linkManifests]; +export const manifests: Array = [...linkManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/menu-alias.condition.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/conditions/menu-alias.condition.ts similarity index 76% rename from src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/menu-alias.condition.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/menu/conditions/menu-alias.condition.ts index 5d08fb2b73..b3f01641aa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/menu-alias.condition.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/conditions/menu-alias.condition.ts @@ -1,17 +1,13 @@ -import { UMB_MENU_CONTEXT } from '../../menu/components/menu/menu.context.js'; -import { UmbConditionBase } from './condition-base.controller.js'; +import { UMB_MENU_CONTEXT } from '../components/menu/menu.context.js'; +import { UmbConditionBase } from '../../extension-registry/conditions/condition-base.controller.js'; +import type { MenuAliasConditionConfig } from './types.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { ManifestCondition, - UmbConditionConfigBase, UmbConditionControllerArguments, UmbExtensionCondition, } from '@umbraco-cms/backoffice/extension-api'; -export type MenuAliasConditionConfig = UmbConditionConfigBase & { - match: string; -}; - export class UmbMenuAliasCondition extends UmbConditionBase implements UmbExtensionCondition { constructor(host: UmbControllerHost, args: UmbConditionControllerArguments) { super(host, args); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/conditions/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/conditions/types.ts new file mode 100644 index 0000000000..b2d40d3bdb --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/conditions/types.ts @@ -0,0 +1,5 @@ +import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api'; + +export type MenuAliasConditionConfig = UmbConditionConfigBase & { + match: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/manifests.ts index 88cfb7bd3d..902c1fe47a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/manifests.ts @@ -1,4 +1,4 @@ import { manifests as menuItemManifests } from './components/menu-item/manifests.js'; -import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; +import { manifest as menuAliasConditionManifest } from './conditions/menu-alias.condition.js'; -export const manifests: Array = [...menuItemManifests]; +export const manifests: Array = [...menuItemManifests, menuAliasConditionManifest]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/types.ts index 65e0eacd70..32ef22c9d1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/types.ts @@ -1,4 +1,5 @@ import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; +export type * from './conditions/types.js'; // eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface UmbStructureItemModelBase extends UmbEntityModel {} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts index c7ad6fc056..2db690f7de 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts @@ -12,7 +12,6 @@ import { UmbExtensionsManifestInitializer, createExtensionElement } from '@umbra import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { pathFolderName } from '@umbraco-cms/backoffice/utils'; -// TODO: this might need a new name, since it's both views and dashboards @customElement('umb-section-main-views') export class UmbSectionMainViewElement extends UmbLitElement { @property({ type: String, attribute: 'section-alias' }) @@ -48,12 +47,12 @@ export class UmbSectionMainViewElement extends UmbLitElement { } #constructDashboardPath(manifest: ManifestDashboard) { - const dashboardName = manifest.meta.label ?? manifest.name; + const dashboardName = manifest.meta.label ?? manifest.name ?? manifest.alias; return 'dashboard/' + (manifest.meta.pathname ? manifest.meta.pathname : pathFolderName(dashboardName)); } #constructViewPath(manifest: ManifestSectionView) { - const viewName = manifest.meta.label ?? manifest.name; + const viewName = manifest.meta.label ?? manifest.name ?? manifest.alias; return 'view/' + (manifest.meta.pathname ? manifest.meta.pathname : pathFolderName(viewName)); } @@ -119,7 +118,9 @@ export class UmbSectionMainViewElement extends UmbLitElement { return html` `; })} @@ -134,7 +135,7 @@ export class UmbSectionMainViewElement extends UmbLitElement { ? html` ${this._views.map((view) => { - const viewName = view.meta.label ? this.localize.string(view.meta.label) : view.name; + const viewName = view.meta.label ? this.localize.string(view.meta.label) : (view.name ?? view.alias); const viewPath = this.#constructViewPath(view); return html`