UNPKG

videogular2

Version:

Videogular is a video application framework for desktop and mobile powered by Angular 2.0

438 lines (434 loc) 13.1 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for core/vg-player/vg-player.ts</title> <meta charset="utf-8" /> <link rel="stylesheet" href="../../prettify.css" /> <link rel="stylesheet" href="../../base.css" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type='text/css'> .coverage-summary .sorter { background-image: url(../../sort-arrow-sprite.png); } </style> </head> <body> <div class='wrapper'> <div class='pad1'> <h1> <a href="../../index.html">all files</a> / <a href="index.html">core/vg-player/</a> vg-player.ts </h1> <div class='clearfix'> <div class='fl pad1y space-right2'> <span class="strong">90.48% </span> <span class="quiet">Statements</span> <span class='fraction'>38/42</span> </div> <div class='fl pad1y space-right2'> <span class="strong">100% </span> <span class="quiet">Branches</span> <span class='fraction'>4/4</span> </div> <div class='fl pad1y space-right2'> <span class="strong">50% </span> <span class="quiet">Functions</span> <span class='fraction'>4/8</span> </div> <div class='fl pad1y space-right2'> <span class="strong">91.89% </span> <span class="quiet">Lines</span> <span class='fraction'>34/37</span> </div> </div> </div> <div class='status-line high'></div> <pre><table class="coverage"> <tr><td class="line-count quiet">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125</td><td class="line-coverage quiet"><span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Output, Component, EventEmitter, ElementRef, HostBinding, QueryList, AfterContentInit, ContentChildren, ViewEncapsulation, OnDestroy } from '@angular/core'; import { VgAPI } from '../services/vg-api'; import { VgFullscreenAPI } from '../services/vg-fullscreen-api'; import { VgUtils } from '../services/vg-utils'; import { VgMedia } from '../vg-media/vg-media'; import { Subscription } from 'rxjs/Subscription'; import { VgControlsHidden } from '../services/vg-controls-hidden'; &nbsp; &nbsp; export class VgPlayer implements AfterContentInit, OnDestroy { elem: HTMLElement; &nbsp; isFullscreen: boolean = false; isNativeFullscreen: boolean = false; areControlsHidden: boolean = false; zIndex: string; &nbsp; onPlayerReady: EventEmitter&lt;any&gt; = new EventEmitter(); &nbsp; onMediaReady: EventEmitter&lt;any&gt; = new EventEmitter(); &nbsp; medias: QueryList&lt;VgMedia&gt;; &nbsp; subscriptions: Subscription[] = []; &nbsp; constructor(ref: ElementRef, public api: VgAPI, public fsAPI: VgFullscreenAPI, private controlsHidden: VgControlsHidden) { this.elem = ref.nativeElement; &nbsp; this.api.registerElement(this.elem); } &nbsp; ngAfterContentInit() { this.medias.toArray().forEach(<span class="fstat-no" title="function not covered" >(media)</span> =&gt; { <span class="cstat-no" title="statement not covered" > this.api.registerMedia(media);</span> }); &nbsp; this.fsAPI.init(this.elem, this.medias); &nbsp; this.subscriptions.push(this.fsAPI.onChangeFullscreen.subscribe(this.onChangeFullscreen.bind(this))); this.subscriptions.push(this.controlsHidden.isHidden.subscribe(this.onHideControls.bind(this))); &nbsp; this.api.onPlayerReady(this.fsAPI); this.onPlayerReady.next(this.api); } &nbsp; onChangeFullscreen(fsState: boolean) { if (!this.fsAPI.nativeFullscreen) { this.isFullscreen = fsState; this.zIndex = fsState ? VgUtils.getZIndex().toString() : 'auto'; } else { this.isNativeFullscreen = fsState; } } &nbsp; <span class="fstat-no" title="function not covered" > onHideControls(hidden: boolean)</span> { <span class="cstat-no" title="statement not covered" > this.areControlsHidden = hidden;</span> } &nbsp; <span class="fstat-no" title="function not covered" > ngOnDestroy() {</span> <span class="cstat-no" title="statement not covered" > this.subscriptions.forEach(<span class="fstat-no" title="function not covered" >s </span>=&gt; <span class="cstat-no" title="statement not covered" >s.unsubscribe())</span>;</span> } static decorators: DecoratorInvocation[] = [ { type: Component, args: [{ selector: 'vg-player', encapsulation: ViewEncapsulation.None, template: `&lt;ng-content&gt;&lt;/ng-content&gt;`, styles: [ ` vg-player { font-family: 'videogular'; position: relative; display: flex; width: 100%; height: 100%; overflow: hidden; background-color: black; } &nbsp; vg-player.fullscreen { position: fixed; left: 0; top: 0; } &nbsp; vg-player.native-fullscreen.controls-hidden { cursor: none; } ` ], providers: [ VgAPI, VgFullscreenAPI, VgControlsHidden ] }, ] }, ]; /** @nocollapse */ static ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [ {type: ElementRef, }, {type: VgAPI, }, {type: VgFullscreenAPI, }, {type: VgControlsHidden, }, ]; static propDecorators: {[key: string]: DecoratorInvocation[]} = { 'isFullscreen': [{ type: HostBinding, args: ['class.fullscreen', ] },], 'isNativeFullscreen': [{ type: HostBinding, args: ['class.native-fullscreen', ] },], 'areControlsHidden': [{ type: HostBinding, args: ['class.controls-hidden', ] },], 'zIndex': [{ type: HostBinding, args: ['style.z-index', ] },], 'onPlayerReady': [{ type: Output },], 'onMediaReady': [{ type: Output },], 'medias': [{ type: ContentChildren, args: [VgMedia, ] },], }; } &nbsp; interface DecoratorInvocation { type: Function; args?: any[]; } &nbsp;</pre></td></tr> </table></pre> <div class='push'></div><!-- for sticky footer --> </div><!-- /wrapper --> <div class='footer quiet pad2 space-top1 center small'> Code coverage generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 22 2017 07:44:32 GMT+0000 (UTC) </div> </div> <script src="../../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../../sorter.js"></script> </body> </html>