Skip to content

Commit 4106f86

Browse files
committed
move menu item conditions
1 parent b840146 commit 4106f86

File tree

9 files changed

+24
-26
lines changed

9 files changed

+24
-26
lines changed

src/packages/core/extension-registry/conditions/manifests.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import type { ManifestTypes } from '../models/index.js';
2-
import { manifest as menuAliasConditionManifest } from './menu-alias.condition.js';
32
import { manifest as multipleAppLanguagesConditionManifest } from './multiple-app-languages.condition.js';
43
import { manifest as sectionAliasConditionManifest } from './section-alias.condition.js';
54
import { manifest as switchConditionManifest } from './switch.condition.js';
65

76
export const manifests: Array<ManifestTypes> = [
8-
menuAliasConditionManifest,
97
multipleAppLanguagesConditionManifest,
108
sectionAliasConditionManifest,
119
switchConditionManifest,

src/packages/core/localization/components/ui-culture-input/ui-culture-input.element.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,16 @@ export class UmbUiCultureInputElement extends UUIFormControlMixin(UmbLitElement,
6565
}
6666

6767
override render() {
68-
return html`
69-
<uui-select
68+
return html`
69+
<uui-select
7070
style="margin-top: var(--uui-size-space-1)"
7171
@change=${this.#onCustomValidationChange}
72-
.options=${this._options.map(e => ({
72+
.options=${this._options.map((e) => ({
7373
name: e.name,
7474
value: e.value,
75-
selected: e.value == this.value
75+
selected: e.value == this.value,
7676
}))}></uui-select>
77-
`;
77+
`;
7878
}
7979

8080
static override styles = [

src/packages/core/menu/components/menu-item/link/manifests.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry';
2-
3-
export const manifests: Array<ManifestTypes | UmbBackofficeManifestKind> = [
1+
export const manifests: Array<UmbExtensionManifest> = [
42
{
53
type: 'kind',
64
alias: 'Umb.Kind.MenuItem.Link',
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
import { manifests as linkManifests } from './link/manifests.js';
2-
import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry';
32

4-
export const manifests: Array<ManifestTypes | UmbBackofficeManifestKind> = [...linkManifests];
3+
export const manifests: Array<UmbExtensionManifest> = [...linkManifests];

src/packages/core/extension-registry/conditions/menu-alias.condition.ts renamed to src/packages/core/menu/conditions/menu-alias.condition.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
import { UMB_MENU_CONTEXT } from '../../menu/components/menu/menu.context.js';
2-
import { UmbConditionBase } from './condition-base.controller.js';
1+
import { UMB_MENU_CONTEXT } from '../components/menu/menu.context.js';
2+
import { UmbConditionBase } from '../../extension-registry/conditions/condition-base.controller.js';
3+
import type { MenuAliasConditionConfig } from './types.js';
34
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
45
import type {
56
ManifestCondition,
6-
UmbConditionConfigBase,
77
UmbConditionControllerArguments,
88
UmbExtensionCondition,
99
} from '@umbraco-cms/backoffice/extension-api';
1010

11-
export type MenuAliasConditionConfig = UmbConditionConfigBase & {
12-
match: string;
13-
};
14-
1511
export class UmbMenuAliasCondition extends UmbConditionBase<MenuAliasConditionConfig> implements UmbExtensionCondition {
1612
constructor(host: UmbControllerHost, args: UmbConditionControllerArguments<MenuAliasConditionConfig>) {
1713
super(host, args);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
2+
3+
export type MenuAliasConditionConfig = UmbConditionConfigBase & {
4+
match: string;
5+
};

src/packages/core/menu/manifests.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import { manifests as menuItemManifests } from './components/menu-item/manifests.js';
2-
import type { ManifestTypes, UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry';
2+
import { manifest as menuAliasConditionManifest } from './conditions/menu-alias.condition.js';
33

4-
export const manifests: Array<ManifestTypes | UmbBackofficeManifestKind> = [...menuItemManifests];
4+
export const manifests: Array<UmbExtensionManifest> = [...menuItemManifests, menuAliasConditionManifest];

src/packages/core/menu/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity';
2+
export type * from './conditions/types.js';
23

34
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
45
export interface UmbStructureItemModelBase extends UmbEntityModel {}

src/packages/core/section/section-main-views/section-main-views.element.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { UmbExtensionsManifestInitializer, createExtensionElement } from '@umbra
1212
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
1313
import { pathFolderName } from '@umbraco-cms/backoffice/utils';
1414

15-
// TODO: this might need a new name, since it's both views and dashboards
1615
@customElement('umb-section-main-views')
1716
export class UmbSectionMainViewElement extends UmbLitElement {
1817
@property({ type: String, attribute: 'section-alias' })
@@ -48,12 +47,12 @@ export class UmbSectionMainViewElement extends UmbLitElement {
4847
}
4948

5049
#constructDashboardPath(manifest: ManifestDashboard) {
51-
const dashboardName = manifest.meta.label ?? manifest.name;
50+
const dashboardName = manifest.meta.label ?? manifest.name ?? manifest.alias;
5251
return 'dashboard/' + (manifest.meta.pathname ? manifest.meta.pathname : pathFolderName(dashboardName));
5352
}
5453

5554
#constructViewPath(manifest: ManifestSectionView) {
56-
const viewName = manifest.meta.label ?? manifest.name;
55+
const viewName = manifest.meta.label ?? manifest.name ?? manifest.alias;
5756
return 'view/' + (manifest.meta.pathname ? manifest.meta.pathname : pathFolderName(viewName));
5857
}
5958

@@ -119,7 +118,9 @@ export class UmbSectionMainViewElement extends UmbLitElement {
119118
return html`
120119
<uui-tab
121120
href="${this._routerPath}/${dashboardPath}"
122-
label="${dashboard.meta.label ? this.localize.string(dashboard.meta.label) : dashboard.name}"
121+
label="${dashboard.meta.label
122+
? this.localize.string(dashboard.meta.label)
123+
: (dashboard.name ?? dashboard.alias)}"
123124
?active="${this._activePath === dashboardPath}"></uui-tab>
124125
`;
125126
})}
@@ -134,7 +135,7 @@ export class UmbSectionMainViewElement extends UmbLitElement {
134135
? html`
135136
<uui-tab-group slot="navigation" id="views">
136137
${this._views.map((view) => {
137-
const viewName = view.meta.label ? this.localize.string(view.meta.label) : view.name;
138+
const viewName = view.meta.label ? this.localize.string(view.meta.label) : (view.name ?? view.alias);
138139
const viewPath = this.#constructViewPath(view);
139140
return html`
140141
<uui-tab

0 commit comments

Comments
 (0)