src/app/pages/dashboard/rooms/rooms.component.ts
selector | ngx-rooms |
styleUrls | rooms.component.scss |
template |
|
Properties |
Methods |
|
HostBindings |
constructor(themeService: NbThemeService, breakpointService: NbMediaBreakpointsService)
|
|||||||||
Parameters :
|
class.expanded |
class.expanded:
|
Type : boolean
|
collapse |
collapse()
|
Returns :
void
|
expand |
expand()
|
Returns :
void
|
isCollapsed |
isCollapsed()
|
Returns :
boolean
|
Private isSelected | ||||
isSelected(roomNumber: )
|
||||
Parameters :
Returns :
boolean
|
ngOnDestroy |
ngOnDestroy()
|
Returns :
void
|
select | ||||
select(roomNumber: )
|
||||
Parameters :
Returns :
void
|
breakpoint |
breakpoint:
|
Type : NbMediaBreakpoint
|
breakpoints |
breakpoints:
|
Type : any
|
Private selected |
selected:
|
Type : number
|
themeSubscription |
themeSubscription:
|
Type : any
|
import { Component, HostBinding, OnDestroy } from '@angular/core';
import { NbThemeService, NbMediaBreakpoint, NbMediaBreakpointsService } from '@nebular/theme';
@Component({
selector: 'ngx-rooms',
styleUrls: ['./rooms.component.scss'],
template: `
<nb-card [size]="breakpoint.width >= breakpoints.sm ? 'large' : 'medium'">
<i (click)="collapse()" class="nb-arrow-down collapse" [hidden]="isCollapsed()"></i>
<ngx-room-selector (select)="select($event)"></ngx-room-selector>
<ngx-player [collapsed]="isCollapsed() && breakpoint.width <= breakpoints.md"></ngx-player>
</nb-card>
`,
})
export class RoomsComponent implements OnDestroy {
@HostBinding('class.expanded')
private expanded: boolean;
private selected: number;
breakpoint: NbMediaBreakpoint;
breakpoints: any;
themeSubscription: any;
constructor(private themeService: NbThemeService,
private breakpointService: NbMediaBreakpointsService) {
this.breakpoints = this.breakpointService.getBreakpointsMap();
this.themeSubscription = this.themeService.onMediaQueryChange()
.subscribe(([oldValue, newValue]) => {
this.breakpoint = newValue;
});
}
select(roomNumber) {
if (this.isSelected(roomNumber)) {
this.expand();
} else {
this.collapse();
}
this.selected = roomNumber;
}
expand() {
this.expanded = true;
}
collapse() {
this.expanded = false;
}
isCollapsed() {
return !this.expanded;
}
private isSelected(roomNumber): boolean {
return this.selected === roomNumber;
}
ngOnDestroy() {
this.themeSubscription.unsubscribe();
}
}