UNPKG

playable

Version:

Video player based on HTML5Video

48 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var getQueriesForElement_1 = (0, tslib_1.__importDefault)(require("./getQueriesForElement")); var DEFAULT_QUERY_PREFIX = 'data-playable'; var ElementQueries = /** @class */ (function () { function ElementQueries(element, _a) { var _b = _a === void 0 ? {} : _a, _c = _b.prefix, prefix = _c === void 0 ? DEFAULT_QUERY_PREFIX : _c; this._element = element; this._queryPrefix = prefix; this._queries = []; } ElementQueries.prototype._getQueryAttributeValue = function (mode, elementWidth) { return this._queries .filter(function (query) { return query.mode === mode && ((mode === 'max' && query.width >= elementWidth) || (mode === 'min' && query.width <= elementWidth)); }) .map(function (query) { return "".concat(query.width, "px"); }) .join(' '); }; ElementQueries.prototype._setQueryAttribute = function (mode, elementWidth) { var attributeName = this._queryPrefix ? "".concat(this._queryPrefix, "-").concat(mode, "-width") : "".concat(mode, "-width"); var attributeValue = this._getQueryAttributeValue(mode, elementWidth); if (attributeValue) { this._element.setAttribute(attributeName, attributeValue); } else { this._element.removeAttribute(attributeName); } }; ElementQueries.prototype.getQueries = function () { this._queries = (0, getQueriesForElement_1.default)(this._element, this._queryPrefix); }; ElementQueries.prototype.setWidth = function (width) { this._setQueryAttribute('min', width); this._setQueryAttribute('max', width); }; ElementQueries.prototype.destroy = function () { this._element = null; }; return ElementQueries; }()); exports.default = ElementQueries; //# sourceMappingURL=element-queries.js.map