Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. <div id="complete-container">
  2. <mat-sidenav-container>
  3. <mat-sidenav opened="True" [style.width]="isExpanded ? expandedWidth : collapsedWidth" [mode]="mode">
  4. <app-sidebar *ngIf="isExpanded" [version]="version" [isExpanded]="isExpanded" (isExpandedEvent)="collapse($event)"></app-sidebar>
  5. <app-collapsed-sidebar *ngIf="!isExpanded" [version]="version" [isExpanded]="isExpanded" (isExpandedEvent)="collapse($event)"></app-collapsed-sidebar>
  6. </mat-sidenav>
  7. <mat-sidenav-content [style.margin-left]="isExpanded ? expandedWidth : collapsedWidth">
  8. <p>Main content</p>
  9. </mat-sidenav-content>
  10. </mat-sidenav-container>
  11. </div>
  12.  
  13. export class AppComponent {
  14. mobileQuery: MediaQueryList;
  15. private _mobileQueryListener: () => void;
  16.  
  17. isExpanded: boolean;
  18.  
  19. expandedWidth = '220px';
  20. collapsedWidth = '80px';
  21. mode: string;
  22.  
  23. constructor(changeDetectorRef: ChangeDetectorRef, media: MediaMatcher) {
  24. this.mobileQuery = media.matchMedia('(max-width: 1366px)');
  25. this._mobileQueryListener = () => changeDetectorRef.detectChanges();
  26. this.mobileQuery.addListener(this._mobileQueryListener);
  27. }
  28.  
  29. ngOnDestroy(): void {
  30. this.mobileQuery.removeListener(this._mobileQueryListener);
  31. }
  32.  
  33. ngOnInit(): void {
  34. if (this.mobileQuery.matches) {
  35. this.isExpanded = false;
  36. } else {
  37. this.isExpanded = true;
  38. }
  39. this.mode = 'side';
  40. }
  41.  
  42. collapse(change: boolean) {
  43. this.isExpanded = !this.isExpanded;
  44. if (this.mobileQuery.matches && this.isExpanded) {
  45. this.mode = 'over';
  46. } else {
  47. this.mode = 'side';
  48. }
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement