playable
Version:
Video player based on HTML5Video
61 lines • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var view_1 = (0, tslib_1.__importDefault)(require("../core/view"));
var templates_1 = require("./templates");
var htmlToElement_1 = (0, tslib_1.__importDefault)(require("../core/htmlToElement"));
var getElementByHook_1 = (0, tslib_1.__importDefault)(require("../core/getElementByHook"));
var subtitles_scss_1 = (0, tslib_1.__importDefault)(require("./subtitles.scss"));
var SubtitlesView = /** @class */ (function (_super) {
(0, tslib_1.__extends)(SubtitlesView, _super);
function SubtitlesView() {
var _this = _super.call(this) || this;
_this._initDOM();
return _this;
}
SubtitlesView.prototype._initDOM = function () {
this._$rootElement = (0, htmlToElement_1.default)((0, templates_1.subtitlesTemplate)({
styles: this.styleNames,
}));
this._$subtitles = (0, getElementByHook_1.default)(this._$rootElement, 'subtitles-container');
};
SubtitlesView.prototype.getElement = function () {
return this._$rootElement;
};
SubtitlesView.prototype.moveSubtitlesUp = function () {
this._$subtitles.classList.add(this.styleNames.controlsShown);
};
SubtitlesView.prototype.moveSubtitlesDown = function () {
this._$subtitles.classList.remove(this.styleNames.controlsShown);
};
SubtitlesView.prototype.showSubtitles = function (subtitles) {
var _this = this;
this.clearSubtitles();
subtitles.forEach(function (subtitle) {
var subtitleElement = (0, htmlToElement_1.default)((0, templates_1.singleSubtitleTemplate)({
styles: _this.styleNames,
}));
subtitleElement.innerHTML = subtitle;
_this._$subtitles.appendChild(subtitleElement);
});
};
SubtitlesView.prototype.show = function () {
this._$rootElement.classList.remove(this.styleNames.hidden);
};
SubtitlesView.prototype.hide = function () {
this._$rootElement.classList.add(this.styleNames.hidden);
};
SubtitlesView.prototype.clearSubtitles = function () {
this._$subtitles.innerHTML = '';
};
SubtitlesView.prototype.destroy = function () {
if (this._$rootElement.parentNode) {
this._$rootElement.parentNode.removeChild(this._$rootElement);
}
this._$rootElement = null;
};
return SubtitlesView;
}(view_1.default));
SubtitlesView.extendStyleNames(subtitles_scss_1.default);
exports.default = SubtitlesView;
//# sourceMappingURL=subtitles.view.js.map