import { NgZone } from '@angular/core' ; import { Platform } from '../../platform/platform' ; hidden export class DisplayWhen { isMatch : boolean = false ; conditions : string [ ] ; resizeObs : any ; constructor ( conditions , public _plt , public zone ) { if ( ! conditions ) return ; this . conditions = conditions . replace ( /\s/g , '' ) . split ( ',' ) ; for ( let i = 0 ; i < this . conditions . length ; i ++ ) { if ( this . conditions [ i ] && _plt . is ( this . conditions [ i ] ) ) { this . isMatch = true ; return ; } } if ( this . orientation ( ) ) { this . resizeObs = _plt . resize . subscribe ( this . orientation . bind ( this ) ) ; } } orientation ( ) { for ( let i = 0 ; i < this . conditions . length ; i ++ ) { if ( this . conditions [ i ] === 'portrait' ) { this . isMatch = this . _plt . isPortrait ( ) ; return true ; } if ( this . conditions [ i ] === 'landscape' ) { this . isMatch = this . _plt . isLandscape ( ) ; return true ; } } return false ; } ngOnDestroy ( ) { this . resizeObs && this . resizeObs . unsubscribe ( ) ; this . resizeObs = null ; } }