File

src/app/pages/dashboard/rooms/rooms.component.ts

Implements

OnDestroy

Metadata

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>

Index

Properties
Methods
HostBindings

Constructor

constructor(themeService: NbThemeService, breakpointService: NbMediaBreakpointsService)
Parameters :
Name Type Optional
themeService NbThemeService no
breakpointService NbMediaBreakpointsService no

HostBindings

class.expanded
class.expanded: boolean
Type : boolean

Methods

collapse
collapse()
Returns : void
expand
expand()
Returns : void
isCollapsed
isCollapsed()
Returns : boolean
Private isSelected
isSelected(roomNumber: )
Parameters :
Name Optional
roomNumber no
Returns : boolean
ngOnDestroy
ngOnDestroy()
Returns : void
select
select(roomNumber: )
Parameters :
Name Optional
roomNumber no
Returns : void

Properties

breakpoint
breakpoint: NbMediaBreakpoint
Type : NbMediaBreakpoint
breakpoints
breakpoints: any
Type : any
Private selected
selected: number
Type : number
themeSubscription
themeSubscription: any
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();
  }
}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""