playable
Version:
Video player based on HTML5Video
84 lines • 3.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var tooltip_reference_1 = (0, tslib_1.__importDefault)(require("./tooltip-reference"));
var tooltip_container_1 = (0, tslib_1.__importDefault)(require("./tooltip-container"));
var tooltip_1 = (0, tslib_1.__importDefault)(require("./tooltip"));
var constants_1 = require("../../../../constants");
var TooltipService = /** @class */ (function () {
function TooltipService(_a) {
var eventEmitter = _a.eventEmitter;
this._eventEmitter = eventEmitter;
this._tooltip = new tooltip_1.default();
this._tooltipContainer = new tooltip_container_1.default(this._tooltip);
this._bindEvents();
}
Object.defineProperty(TooltipService.prototype, "isHidden", {
get: function () {
return this._tooltip.isHidden;
},
enumerable: false,
configurable: true
});
Object.defineProperty(TooltipService.prototype, "tooltipContainerElement", {
get: function () {
return this._tooltipContainer.getElement();
},
enumerable: false,
configurable: true
});
TooltipService.prototype._bindEvents = function () {
this._unbindEvents = this._eventEmitter.bindEvents([[constants_1.UIEvent.FULL_SCREEN_STATE_CHANGED, this.hide]], this);
};
/**
* Set new tooltip title
*/
TooltipService.prototype.setText = function (text) {
this._tooltip.setText(text);
};
/**
* Show tooltip with title
*/
TooltipService.prototype.show = function (options) {
// NOTE: its important to set tooltip text before update tooltip position styles
if (options.element) {
this._tooltip.setElement(options.element);
}
else {
this._tooltip.setText(options.text);
}
this._tooltip.setStyle(this._tooltipContainer.getTooltipPositionStyles(options.position));
this._tooltip.show();
};
TooltipService.prototype.clearElement = function () {
this._tooltip.clearElement();
};
/**
* Hide tooltip
*/
TooltipService.prototype.hide = function () {
this._tooltip.hide();
};
/**
* Create tooltip reference which show/hide tooltip on hover and focus events
* @param reference - reference node
* @param options - tooltip title and other options
* @returns tooltip reference instance
*/
TooltipService.prototype.createReference = function (reference, options) {
return new tooltip_reference_1.default(reference, this, options);
};
TooltipService.prototype.destroy = function () {
this._unbindEvents();
this._tooltip.destroy();
this._tooltipContainer.destroy();
this._tooltip = null;
this._tooltipContainer = null;
this._eventEmitter = null;
};
TooltipService.moduleName = 'tooltipService';
TooltipService.dependencies = ['eventEmitter'];
return TooltipService;
}());
exports.default = TooltipService;
//# sourceMappingURL=tooltip-service.js.map