blob: 6c7506b2bec43bfcbbc918ba8c2f51a8aba3db30 [file] [log] [blame]
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Directive, HostListener, ElementRef, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
/**
* @record
*/
function IFsDocument() { }
if (false) {
/** @type {?} */
IFsDocument.prototype.fullscreenElement;
/** @type {?} */
IFsDocument.prototype.webkitFullscreenElement;
/** @type {?} */
IFsDocument.prototype.mozFullscreenElement;
/** @type {?} */
IFsDocument.prototype.msFullscreenElement;
/** @type {?} */
IFsDocument.prototype.webkitExitFullscreen;
/** @type {?} */
IFsDocument.prototype.mozCancelFullScreen;
/** @type {?} */
IFsDocument.prototype.msExitFullscreen;
}
var TdFullscreenDirective = /** @class */ (function () {
function TdFullscreenDirective(_document, _el) {
this._document = _document;
this._el = _el;
this.fullScreenIsActive = false;
}
/**
* @param {?} event
* @return {?}
*/
TdFullscreenDirective.prototype.fsChangeHandler = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();
};
/**
* @return {?}
*/
TdFullscreenDirective.prototype.toggleFullScreen = /**
* @return {?}
*/
function () {
this._getFullScreenElement() === this._el.nativeElement ? this.exitFullScreen() : this.enterFullScreen();
};
/**
* @return {?}
*/
TdFullscreenDirective.prototype.enterFullScreen = /**
* @return {?}
*/
function () {
var e_1, _a;
var nativeElement = this._el.nativeElement;
/** @type {?} */
var enterFullScreenMap = {
requestFullscreen: function () { return nativeElement.requestFullscreen(); },
// Chrome
webkitRequestFullscreen: function () { return nativeElement.webkitRequestFullscreen(); },
// Safari
mozRequestFullScreen: function () { return nativeElement.mozRequestFullScreen(); },
// Firefox
msRequestFullscreen: function () { return nativeElement.msRequestFullscreen(); },
};
try {
for (var _b = tslib_1.__values(Object.keys(enterFullScreenMap)), _c = _b.next(); !_c.done; _c = _b.next()) {
var handler = _c.value;
if (nativeElement[handler]) {
enterFullScreenMap[handler]();
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_1) throw e_1.error; }
}
};
/**
* @return {?}
*/
TdFullscreenDirective.prototype.exitFullScreen = /**
* @return {?}
*/
function () {
var e_2, _a;
var _b = this, _document = _b._document, nativeElement = _b._el.nativeElement;
/** @type {?} */
var exitFullScreenMap = {
exitFullscreen: function () { return _document.exitFullscreen(); },
// Chrome
webkitExitFullscreen: function () { return _document.webkitExitFullscreen(); },
// Safari
mozCancelFullScreen: function () { return _document.mozCancelFullScreen(); },
// Firefox
msExitFullscreen: function () { return _document.msExitFullscreen(); },
};
try {
for (var _c = tslib_1.__values(Object.keys(exitFullScreenMap)), _d = _c.next(); !_d.done; _d = _c.next()) {
var handler = _d.value;
if (_document[handler] && this._getFullScreenElement() === nativeElement) {
exitFullScreenMap[handler]();
}
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
}
finally { if (e_2) throw e_2.error; }
}
};
/**
* @return {?}
*/
TdFullscreenDirective.prototype._getFullScreenElement = /**
* @return {?}
*/
function () {
var e_3, _a;
var _document = this._document;
/** @type {?} */
var tdFullScreenElementMap = {
fullscreenElement: function () { return _document.fullscreenElement; },
// Chrome, Opera
webkitFullscreenElement: function () { return _document.webkitFullscreenElement; },
// Safari
mozFullscreenElement: function () { return _document.mozFullscreenElement; },
// Firefox
msFullscreenElement: function () { return _document.msFullscreenElement; },
};
try {
for (var _b = tslib_1.__values(Object.keys(tdFullScreenElementMap)), _c = _b.next(); !_c.done; _c = _b.next()) {
var props = _c.value;
if (_document[props]) {
return _document[props];
}
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_3) throw e_3.error; }
}
};
TdFullscreenDirective.decorators = [
{ type: Directive, args: [{
selector: '[tdFullScreen]',
exportAs: 'tdFullScreen',
},] }
];
/** @nocollapse */
TdFullscreenDirective.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
{ type: ElementRef }
]; };
TdFullscreenDirective.propDecorators = {
fsChangeHandler: [{ type: HostListener, args: ['document:fullscreenchange', ['$event'],] }, { type: HostListener, args: ['document:webkitfullscreenchange', ['$event'],] }, { type: HostListener, args: ['document:mozfullscreenchange', ['$event'],] }, { type: HostListener, args: ['document:msfullscreenchange', ['$event'],] }]
};
return TdFullscreenDirective;
}());
export { TdFullscreenDirective };
if (false) {
/** @type {?} */
TdFullscreenDirective.prototype.fullScreenIsActive;
/** @type {?} */
TdFullscreenDirective.prototype._document;
/** @type {?} */
TdFullscreenDirective.prototype._el;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY292YWxlbnQvY29yZS8iLCJzb3VyY2VzIjpbImNvbW1vbi9kaXJlY3RpdmVzL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUUzQywwQkFRQzs7O0lBUEMsd0NBQTJCOztJQUMzQiw4Q0FBaUM7O0lBQ2pDLDJDQUE4Qjs7SUFDOUIsMENBQTZCOztJQUM3QiwyQ0FBaUM7O0lBQ2pDLDBDQUFnQzs7SUFDaEMsdUNBQTZCOztBQUcvQjtJQU1FLCtCQUFzQyxTQUFzQixFQUFVLEdBQWU7UUFBL0MsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFEckYsdUJBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ29ELENBQUM7Ozs7O0lBTWxGLCtDQUFlOzs7O0lBSnRCLFVBSXVCLEtBQVk7UUFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDOUUsQ0FBQzs7OztJQUVNLGdEQUFnQjs7O0lBQXZCO1FBQ0UsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNHLENBQUM7Ozs7SUFFTSwrQ0FBZTs7O0lBQXRCOztRQUNpQixJQUFBLHNDQUFhOztZQUN0QixrQkFBa0IsR0FBVztZQUNqQyxpQkFBaUIsRUFBRSxjQUFNLE9B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LDRCQUFDO0NBQUEsQUFsRUQsSUFrRUM7U0E5RFkscUJBQXFCOzs7SUFDaEMsbURBQW9DOztJQUN4QiwwQ0FBZ0Q7O0lBQUUsb0NBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbnRlcmZhY2UgSUZzRG9jdW1lbnQgZXh0ZW5kcyBIVE1MRG9jdW1lbnQge1xuICBmdWxsc2NyZWVuRWxlbWVudDogRWxlbWVudDtcbiAgd2Via2l0RnVsbHNjcmVlbkVsZW1lbnQ6IEVsZW1lbnQ7XG4gIG1vekZ1bGxzY3JlZW5FbGVtZW50OiBFbGVtZW50O1xuICBtc0Z1bGxzY3JlZW5FbGVtZW50OiBFbGVtZW50O1xuICB3ZWJraXRFeGl0RnVsbHNjcmVlbjogKCkgPT4gdm9pZDtcbiAgbW96Q2FuY2VsRnVsbFNjcmVlbjogKCkgPT4gdm9pZDtcbiAgbXNFeGl0RnVsbHNjcmVlbjogKCkgPT4gdm9pZDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RkRnVsbFNjcmVlbl0nLFxuICBleHBvcnRBczogJ3RkRnVsbFNjcmVlbicsXG59KVxuZXhwb3J0IGNsYXNzIFRkRnVsbHNjcmVlbkRpcmVjdGl2ZSB7XG4gIGZ1bGxTY3JlZW5Jc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogSUZzRG9jdW1lbnQsIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmZ1bGxzY3JlZW5jaGFuZ2UnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDp3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW96ZnVsbHNjcmVlbmNoYW5nZScsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1zZnVsbHNjcmVlbmNoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBmc0NoYW5nZUhhbmRsZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mdWxsU2NyZWVuSXNBY3RpdmUgPSBldmVudC5zcmNFbGVtZW50ID09PSB0aGlzLl9nZXRGdWxsU2NyZWVuRWxlbWVudCgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUZ1bGxTY3JlZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0RnVsbFNjcmVlbkVsZW1lbnQoKSA9PT0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCA/IHRoaXMuZXhpdEZ1bGxTY3JlZW4oKSA6IHRoaXMuZW50ZXJGdWxsU2NyZWVuKCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgIGNvbnN0IHsgX2VsOiB7IG5hdGl2ZUVsZW1lbnQgfSB9OiBUZEZ1bGxzY3JlZW5EaXJlY3RpdmUgPSB0aGlzO1xuICAgIGNvbnN0IGVudGVyRnVsbFNjcmVlbk1hcDogb2JqZWN0ID0ge1xuICAgICAgcmVxdWVzdEZ1bGxzY3JlZW46ICgpID0+IG5hdGl2ZUVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKSwgLy8gQ2hyb21lXG4gICAgICB3ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbjogKCkgPT4gbmF0aXZlRWxlbWVudC53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpLCAvLyBTYWZhcmkgXG4gICAgICBtb3pSZXF1ZXN0RnVsbFNjcmVlbjogKCkgPT4gbmF0aXZlRWxlbWVudC5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpLCAvLyBGaXJlZm94XG4gICAgICBtc1JlcXVlc3RGdWxsc2NyZWVuOiAoKSA9PiBuYXRpdmVFbGVtZW50Lm1zUmVxdWVzdEZ1bGxzY3JlZW4oKSwgLy8gSUVcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIE9iamVjdC5rZXlzKGVudGVyRnVsbFNjcmVlbk1hcCkpIHtcbiAgICAgIGlmIChuYXRpdmVFbGVtZW50W2hhbmRsZXJdKSB7XG4gICAgICAgIGVudGVyRnVsbFNjcmVlbk1hcFtoYW5kbGVyXSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleGl0RnVsbFNjcmVlbigpOiB2b2lkIHtcbiAgICBjb25zdCB7IF9kb2N1bWVudCwgX2VsOiB7IG5hdGl2ZUVsZW1lbnQgfSB9OiBUZEZ1bGxzY3JlZW5EaXJlY3RpdmUgPSB0aGlzO1xuICAgIGNvbnN0IGV4aXRGdWxsU2NyZWVuTWFwOiBvYmplY3QgPSB7XG4gICAgICBleGl0RnVsbHNjcmVlbjogKCkgPT4gX2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCksIC8vIENocm9tZVxuICAgICAgd2Via2l0RXhpdEZ1bGxzY3JlZW46ICgpID0+IF9kb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpLCAvLyBTYWZhcmlcbiAgICAgIG1vekNhbmNlbEZ1bGxTY3JlZW46ICgpID0+IF9kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKCksIC8vIEZpcmVmb3hcbiAgICAgIG1zRXhpdEZ1bGxzY3JlZW46ICgpID0+IF9kb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuKCksIC8vIElFXG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiBPYmplY3Qua2V5cyhleGl0RnVsbFNjcmVlbk1hcCkpIHtcbiAgICAgIGlmIChfZG9jdW1lbnRbaGFuZGxlcl0gJiYgdGhpcy5fZ2V0RnVsbFNjcmVlbkVsZW1lbnQoKSA9PT0gbmF0aXZlRWxlbWVudCkge1xuICAgICAgICBleGl0RnVsbFNjcmVlbk1hcFtoYW5kbGVyXSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldEZ1bGxTY3JlZW5FbGVtZW50KCk6IEVsZW1lbnQge1xuICAgIGNvbnN0IHsgX2RvY3VtZW50IH06IFRkRnVsbHNjcmVlbkRpcmVjdGl2ZSA9IHRoaXM7XG4gICAgY29uc3QgdGRGdWxsU2NyZWVuRWxlbWVudE1hcDogb2JqZWN0ID0ge1xuICAgICAgZnVsbHNjcmVlbkVsZW1lbnQ6ICgpID0+IF9kb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCwgLy8gQ2hyb21lLCBPcGVyYVxuICAgICAgd2Via2l0RnVsbHNjcmVlbkVsZW1lbnQ6ICgpID0+IF9kb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudCwgLy8gU2FmYXJpXG4gICAgICBtb3pGdWxsc2NyZWVuRWxlbWVudDogKCkgPT4gX2RvY3VtZW50Lm1vekZ1bGxzY3JlZW5FbGVtZW50LCAvLyBGaXJlZm94XG4gICAgICBtc0Z1bGxzY3JlZW5FbGVtZW50OiAoKSA9PiBfZG9jdW1lbnQubXNGdWxsc2NyZWVuRWxlbWVudCwgLy8gSUUsIEVkZ2VcbiAgICB9O1xuICAgIGZvciAoY29uc3QgcHJvcHMgb2YgT2JqZWN0LmtleXModGRGdWxsU2NyZWVuRWxlbWVudE1hcCkpIHtcbiAgICAgIGlmIChfZG9jdW1lbnRbcHJvcHNdKSB7XG4gICAgICAgIHJldHVybiBfZG9jdW1lbnRbcHJvcHNdO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19