playable
Version:
Video player based on HTML5Video
83 lines • 3.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var getTooltipPositionByReferenceElement_1 = (0, tslib_1.__importDefault)(require("./utils/getTooltipPositionByReferenceElement"));
var SHOW_EVENTS = ['mouseenter', 'focus'];
var HIDE_EVENTS = ['mouseleave', 'blur'];
var TooltipReference = /** @class */ (function () {
function TooltipReference(reference, tooltipService, options) {
this._$reference = reference;
this._options = options;
this._tooltipService = tooltipService;
this._eventListeners = [];
this._bindEvents();
}
TooltipReference.prototype._bindEvents = function () {
var _this = this;
SHOW_EVENTS.forEach(function (event) {
var fn = function () {
_this.show();
};
_this._eventListeners.push({ event: event, fn: fn });
_this._$reference.addEventListener(event, fn);
});
HIDE_EVENTS.forEach(function (event) {
var fn = function () {
_this.hide();
};
_this._eventListeners.push({ event: event, fn: fn });
_this._$reference.addEventListener(event, fn);
});
};
Object.defineProperty(TooltipReference.prototype, "isHidden", {
get: function () {
return this._tooltipService.isHidden;
},
enumerable: false,
configurable: true
});
Object.defineProperty(TooltipReference.prototype, "isDisabled", {
get: function () {
return this._isDisabled;
},
enumerable: false,
configurable: true
});
TooltipReference.prototype.show = function () {
if (this._isDisabled) {
return;
}
this._tooltipService.show({
text: this._options.text,
element: this._options.element,
position: (0, getTooltipPositionByReferenceElement_1.default)(this._$reference, this._tooltipService.tooltipContainerElement),
});
};
TooltipReference.prototype.hide = function () {
this._tooltipService.hide();
};
TooltipReference.prototype.setText = function (text) {
this._options.text = text;
this._tooltipService.setText(text);
};
TooltipReference.prototype.disable = function () {
this._isDisabled = true;
};
TooltipReference.prototype.enable = function () {
this._isDisabled = false;
};
TooltipReference.prototype.destroy = function () {
var _this = this;
this._eventListeners.forEach(function (_a) {
var event = _a.event, fn = _a.fn;
_this._$reference.removeEventListener(event, fn);
});
this._eventListeners = null;
this._$reference = null;
this._tooltipService = null;
this._options = null;
};
return TooltipReference;
}());
exports.default = TooltipReference;
//# sourceMappingURL=tooltip-reference.js.map