diff --git a/src/dev-app/tsconfig.json b/src/dev-app/tsconfig.json index 84331cf36914..970d538c1003 100644 --- a/src/dev-app/tsconfig.json +++ b/src/dev-app/tsconfig.json @@ -16,7 +16,8 @@ "@angular/material-moment-adapter": ["../material-moment-adapter/public-api.ts"], "@angular/google-maps": ["../google-maps"], "@angular/components-examples": ["../components-examples"], - "@angular/components-examples/*": ["../components-examples/*"] + "@angular/components-examples/*": ["../components-examples/*"], + "@angular/youtube-player": ["../youtube-player"] } }, "include": ["./**/*.ts"] diff --git a/src/dev-app/youtube-player/youtube-player-demo.html b/src/dev-app/youtube-player/youtube-player-demo.html index 5b30c7ae0f4b..2bf7ab032c91 100644 --- a/src/dev-app/youtube-player/youtube-player-demo.html +++ b/src/dev-app/youtube-player/youtube-player-demo.html @@ -1,15 +1,16 @@ -
+

Basic Example

- + {{video.name}} Unset
- +
diff --git a/src/dev-app/youtube-player/youtube-player-demo.scss b/src/dev-app/youtube-player/youtube-player-demo.scss index 6c01b687a96b..78605c57b26d 100644 --- a/src/dev-app/youtube-player/youtube-player-demo.scss +++ b/src/dev-app/youtube-player/youtube-player-demo.scss @@ -1,7 +1,7 @@ .demo-video-selection { margin-bottom: 20px; - mat-radio-button { + .mat-radio-button { margin: 8px; } } diff --git a/src/dev-app/youtube-player/youtube-player-demo.ts b/src/dev-app/youtube-player/youtube-player-demo.ts index 2a5b22ffee61..ae8aebb31d53 100644 --- a/src/dev-app/youtube-player/youtube-player-demo.ts +++ b/src/dev-app/youtube-player/youtube-player-demo.ts @@ -6,7 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ - import {Component} from '@angular/core'; +import { + AfterViewInit, + ChangeDetectorRef, + Component, + ElementRef, + OnDestroy, + ViewChild +} from '@angular/core'; interface Video { id: string; @@ -33,8 +40,28 @@ const VIDEOS: Video[] = [ templateUrl: 'youtube-player-demo.html', styleUrls: ['youtube-player-demo.css'], }) -export class YouTubePlayerDemo { - video: Video | undefined = VIDEOS[0]; +export class YouTubePlayerDemo implements AfterViewInit, OnDestroy { + @ViewChild('demoYouTubePlayer') demoYouTubePlayer: ElementRef; + selectedVideo: Video | undefined = VIDEOS[0]; videos = VIDEOS; - apiLoaded = false; + videoWidth: number | undefined; + videoHeight: number | undefined; + + constructor(private _changeDetectorRef: ChangeDetectorRef) {} + + ngAfterViewInit(): void { + this.onResize(); + window.addEventListener('resize', this.onResize); + } + + onResize = (): void => { + // Automatically expand the video to fit the page up to 1200px x 720px + this.videoWidth = Math.min(this.demoYouTubePlayer.nativeElement.clientWidth, 1200); + this.videoHeight = this.videoWidth * 0.6; + this._changeDetectorRef.detectChanges(); + } + + ngOnDestroy(): void { + window.removeEventListener('resize', this.onResize); + } }