UNPKG

videogular2

Version:

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

76 lines 12.7 kB
"use strict"; var core_1 = require('@angular/core'); var vg_api_1 = require('../services/vg-api'); var vg_fullscreen_api_1 = require('../services/vg-fullscreen-api'); var vg_utils_1 = require('../services/vg-utils'); var vg_media_1 = require('../vg-media/vg-media'); var vg_controls_hidden_1 = require('../services/vg-controls-hidden'); var VgPlayer = (function () { function VgPlayer(ref, api, fsAPI, controlsHidden) { this.api = api; this.fsAPI = fsAPI; this.controlsHidden = controlsHidden; this.isFullscreen = false; this.isNativeFullscreen = false; this.areControlsHidden = false; this.onPlayerReady = new core_1.EventEmitter(); this.onMediaReady = new core_1.EventEmitter(); this.subscriptions = []; this.elem = ref.nativeElement; this.api.registerElement(this.elem); } VgPlayer.prototype.ngAfterContentInit = function () { var _this = this; this.medias.toArray().forEach(function (media) { _this.api.registerMedia(media); }); this.fsAPI.init(this.elem, this.medias); this.subscriptions.push(this.fsAPI.onChangeFullscreen.subscribe(this.onChangeFullscreen.bind(this))); this.subscriptions.push(this.controlsHidden.isHidden.subscribe(this.onHideControls.bind(this))); this.api.onPlayerReady(this.fsAPI); this.onPlayerReady.next(this.api); }; VgPlayer.prototype.onChangeFullscreen = function (fsState) { if (!this.fsAPI.nativeFullscreen) { this.isFullscreen = fsState; this.zIndex = fsState ? vg_utils_1.VgUtils.getZIndex().toString() : 'auto'; } else { this.isNativeFullscreen = fsState; } }; VgPlayer.prototype.onHideControls = function (hidden) { this.areControlsHidden = hidden; }; VgPlayer.prototype.ngOnDestroy = function () { this.subscriptions.forEach(function (s) { return s.unsubscribe(); }); }; VgPlayer.decorators = [ { type: core_1.Component, args: [{ selector: 'vg-player', encapsulation: core_1.ViewEncapsulation.None, template: "<ng-content></ng-content>", styles: ["\n vg-player {\n font-family: 'videogular';\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background-color: black;\n }\n\n vg-player.fullscreen {\n position: fixed;\n left: 0;\n top: 0;\n }\n\n vg-player.native-fullscreen.controls-hidden {\n cursor: none;\n }\n "], providers: [vg_api_1.VgAPI, vg_fullscreen_api_1.VgFullscreenAPI, vg_controls_hidden_1.VgControlsHidden] },] }, ]; /** @nocollapse */ VgPlayer.ctorParameters = [ { type: core_1.ElementRef, }, { type: vg_api_1.VgAPI, }, { type: vg_fullscreen_api_1.VgFullscreenAPI, }, { type: vg_controls_hidden_1.VgControlsHidden, }, ]; VgPlayer.propDecorators = { 'isFullscreen': [{ type: core_1.HostBinding, args: ['class.fullscreen',] },], 'isNativeFullscreen': [{ type: core_1.HostBinding, args: ['class.native-fullscreen',] },], 'areControlsHidden': [{ type: core_1.HostBinding, args: ['class.controls-hidden',] },], 'zIndex': [{ type: core_1.HostBinding, args: ['style.z-index',] },], 'onPlayerReady': [{ type: core_1.Output },], 'onMediaReady': [{ type: core_1.Output },], 'medias': [{ type: core_1.ContentChildren, args: [vg_media_1.VgMedia,] },], }; return VgPlayer; }()); exports.VgPlayer = VgPlayer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmctcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmctcGxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQkFTTyxlQUFlLENBQUMsQ0FBQTtBQUN2Qix1QkFBc0Isb0JBQW9CLENBQUMsQ0FBQTtBQUMzQyxrQ0FBZ0MsK0JBQStCLENBQUMsQ0FBQTtBQUNoRSx5QkFBd0Isc0JBQXNCLENBQUMsQ0FBQTtBQUMvQyx5QkFBd0Isc0JBQXNCLENBQUMsQ0FBQTtBQUUvQyxtQ0FBaUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUdsRTtJQW1CSSxrQkFBWSxHQUFlLEVBQVMsR0FBVSxFQUFTLEtBQXNCLEVBQVUsY0FBZ0M7UUFBbkYsUUFBRyxHQUFILEdBQUcsQ0FBTztRQUFTLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBaEJ0SCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBSXBDLGtCQUFhLEdBQXNCLElBQUksbUJBQVksRUFBRSxDQUFDO1FBR3RELGlCQUFZLEdBQXNCLElBQUksbUJBQVksRUFBRSxDQUFDO1FBS3JELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFFOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxxQ0FBa0IsR0FBbEI7UUFBQSxpQkFZQztRQVhHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUNoQyxLQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFL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QUNwQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFNLEVBQUUsRUFBRTtRQUNuQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxzQkFBZSxFQUFFLElBQUksRUFBRSxDQUFDLGtCQUFPLEVBQUcsRUFBRSxFQUFFO0tBQ3hELENBQUM7SUFDRixlQUFDO0FBQUQsQ0FBQyxBQXBHRCxJQW9HQztBQXBHWSxnQkFBUSxXQW9HcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgT3V0cHV0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWZ0FQSSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZnLWFwaSc7XG5pbXBvcnQgeyBWZ0Z1bGxzY3JlZW5BUEkgfSBmcm9tICcuLi9zZXJ2aWNlcy92Zy1mdWxsc2NyZWVuLWFwaSc7XG5pbXBvcnQgeyBWZ1V0aWxzIH0gZnJvbSAnLi4vc2VydmljZXMvdmctdXRpbHMnO1xuaW1wb3J0IHsgVmdNZWRpYSB9IGZyb20gJy4uL3ZnLW1lZGlhL3ZnLW1lZGlhJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFZnQ29udHJvbHNIaWRkZW4gfSBmcm9tICcuLi9zZXJ2aWNlcy92Zy1jb250cm9scy1oaWRkZW4nO1xuXG5cbmV4cG9ydCBjbGFzcyBWZ1BsYXllciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgZWxlbTogSFRNTEVsZW1lbnQ7XG5cbiAgICAgaXNGdWxsc2NyZWVuOiBib29sZWFuID0gZmFsc2U7XG4gICAgIGlzTmF0aXZlRnVsbHNjcmVlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgICBhcmVDb250cm9sc0hpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgICB6SW5kZXg6IHN0cmluZztcblxuICAgIFxuICAgIG9uUGxheWVyUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgXG4gICAgb25NZWRpYVJlYWR5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIFxuICAgIG1lZGlhczogUXVlcnlMaXN0PFZnTWVkaWE+O1xuXG4gICAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHJlZjogRWxlbWVudFJlZiwgcHVibGljIGFwaTogVmdBUEksIHB1YmxpYyBmc0FQSTogVmdGdWxsc2NyZWVuQVBJLCBwcml2YXRlIGNvbnRyb2xzSGlkZGVuOiBWZ0NvbnRyb2xzSGlkZGVuKSB7XG4gICAgICAgIHRoaXMuZWxlbSA9IHJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuYXBpLnJlZ2lzdGVyRWxlbWVudCh0aGlzLmVsZW0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5tZWRpYXMudG9BcnJheSgpLmZvckVhY2goKG1lZGlhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwaS5yZWdpc3Rlck1lZGlhKG1lZGlhKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mc0FQSS5pbml0KHRoaXMuZWxlbSwgdGhpcy5tZWRpYXMpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuZnNBUEkub25DaGFuZ2VGdWxsc2NyZWVuLnN1YnNjcmliZSh0aGlzLm9uQ2hhbmdlRnVsbHNjcmVlbi5iaW5kKHRoaXMpKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuY29udHJvbHNIaWRkZW4uaXNIaWRkZW4uc3Vic2NyaWJlKHRoaXMub25IaWRlQ29udHJvbHMuYmluZCh0aGlzKSkpO1xuXG4gICAgICAgIHRoaXMuYXBpLm9uUGxheWVyUmVhZHkodGhpcy5mc0FQSSk7XG4gICAgICAgIHRoaXMub25QbGF5ZXJSZWFkeS5uZXh0KHRoaXMuYXBpKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUZ1bGxzY3JlZW4oZnNTdGF0ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAoIXRoaXMuZnNBUEkubmF0aXZlRnVsbHNjcmVlbikge1xuICAgICAgICAgICAgdGhpcy5pc0Z1bGxzY3JlZW4gPSBmc1N0YXRlO1xuICAgICAgICAgICAgdGhpcy56SW5kZXggPSBmc1N0YXRlID8gVmdVdGlscy5nZXRaSW5kZXgoKS50b1N0cmluZygpIDogJ2F1dG8nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc05hdGl2ZUZ1bGxzY3JlZW4gPSBmc1N0YXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25IaWRlQ29udHJvbHMoaGlkZGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYXJlQ29udHJvbHNIaWRkZW4gPSBoaWRkZW47XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5zdGF0aWMgZGVjb3JhdG9yczogRGVjb3JhdG9ySW52b2NhdGlvbltdID0gW1xueyB0eXBlOiBDb21wb25lbnQsIGFyZ3M6IFt7XG4gICAgc2VsZWN0b3I6ICd2Zy1wbGF5ZXInLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBzdHlsZXM6IFsgYFxuICAgICAgICB2Zy1wbGF5ZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICd2aWRlb2d1bGFyJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIHZnLXBsYXllci5mdWxsc2NyZWVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB2Zy1wbGF5ZXIubmF0aXZlLWZ1bGxzY3JlZW4uY29udHJvbHMtaGlkZGVuIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm9uZTtcbiAgICAgICAgfVxuICAgIGAgXSxcbiAgICBwcm92aWRlcnM6IFsgVmdBUEksIFZnRnVsbHNjcmVlbkFQSSwgVmdDb250cm9sc0hpZGRlbiBdXG59LCBdIH0sXG5dO1xuLyoqIEBub2NvbGxhcHNlICovXG5zdGF0aWMgY3RvclBhcmFtZXRlcnM6ICh7dHlwZTogYW55LCBkZWNvcmF0b3JzPzogRGVjb3JhdG9ySW52b2NhdGlvbltdfXxudWxsKVtdID0gW1xue3R5cGU6IEVsZW1lbnRSZWYsIH0sXG57dHlwZTogVmdBUEksIH0sXG57dHlwZTogVmdGdWxsc2NyZWVuQVBJLCB9LFxue3R5cGU6IFZnQ29udHJvbHNIaWRkZW4sIH0sXG5dO1xuc3RhdGljIHByb3BEZWNvcmF0b3JzOiB7W2tleTogc3RyaW5nXTogRGVjb3JhdG9ySW52b2NhdGlvbltdfSA9IHtcbidpc0Z1bGxzY3JlZW4nOiBbeyB0eXBlOiBIb3N0QmluZGluZywgYXJnczogWydjbGFzcy5mdWxsc2NyZWVuJywgXSB9LF0sXG4naXNOYXRpdmVGdWxsc2NyZWVuJzogW3sgdHlwZTogSG9zdEJpbmRpbmcsIGFyZ3M6IFsnY2xhc3MubmF0aXZlLWZ1bGxzY3JlZW4nLCBdIH0sXSxcbidhcmVDb250cm9sc0hpZGRlbic6IFt7IHR5cGU6IEhvc3RCaW5kaW5nLCBhcmdzOiBbJ2NsYXNzLmNvbnRyb2xzLWhpZGRlbicsIF0gfSxdLFxuJ3pJbmRleCc6IFt7IHR5cGU6IEhvc3RCaW5kaW5nLCBhcmdzOiBbJ3N0eWxlLnotaW5kZXgnLCBdIH0sXSxcbidvblBsYXllclJlYWR5JzogW3sgdHlwZTogT3V0cHV0IH0sXSxcbidvbk1lZGlhUmVhZHknOiBbeyB0eXBlOiBPdXRwdXQgfSxdLFxuJ21lZGlhcyc6IFt7IHR5cGU6IENvbnRlbnRDaGlsZHJlbiwgYXJnczogW1ZnTWVkaWEsIF0gfSxdLFxufTtcbn1cblxuaW50ZXJmYWNlIERlY29yYXRvckludm9jYXRpb24ge1xuICB0eXBlOiBGdW5jdGlvbjtcbiAgYXJncz86IGFueVtdO1xufVxuIl19