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();
}
}