Skip to content

Commit 983cedb

Browse files
authored
feat(theme:layout-default): collapsed aside when screen is small (#1868)
1 parent 9f2482d commit 983cedb

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

packages/theme/layout-default/layout.service.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import { BreakpointObserver } from '@angular/cdk/layout';
12
import { Injectable, inject } from '@angular/core';
3+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
import { BehaviorSubject, Observable } from 'rxjs';
35

46
import { SettingsService } from '@delon/theme';
@@ -38,6 +40,18 @@ export class LayoutDefaultService {
3840
return `menu-${type}`;
3941
}
4042

43+
constructor(bm: BreakpointObserver) {
44+
const mobileMedia = 'only screen and (max-width: 767.99px)';
45+
bm.observe(mobileMedia)
46+
.pipe(takeUntilDestroyed())
47+
.subscribe(state => this.checkMedia(state.matches));
48+
this.checkMedia(bm.isMatched(mobileMedia));
49+
}
50+
51+
private checkMedia(value: boolean): void {
52+
this.settings.setLayout('collapsed', value);
53+
}
54+
4155
private notify(): void {
4256
this._options$.next(this._options);
4357
}

src/dev/layout.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export class DevLayoutComponent implements OnInit {
119119
logoExpanded: `./assets/logo-full.svg`,
120120
logoCollapsed: `./assets/logo.svg`,
121121
hideHeader: false,
122-
showHeaderCollapse: false,
122+
showHeaderCollapse: true,
123123
showSiderCollapse: true
124124
// hideAside: true
125125
};

0 commit comments

Comments
 (0)