UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

46 lines 5.97 kB
import { __extends } from "tslib"; import { ScrollStrategy } from './scroll-strategy'; /** * Prevents scrolling while the overlay content is shown. */ var BlockScrollStrategy = /** @class */ (function (_super) { __extends(BlockScrollStrategy, _super); function BlockScrollStrategy(scrollContainer) { var _this = _super.call(this, scrollContainer) || this; _this._initialized = false; _this.onScroll = function (ev) { ev.preventDefault(); if (!_this._sourceElement || _this._sourceElement !== ev.target) { _this._sourceElement = ev.target; _this._initialScrollTop = _this._sourceElement.scrollTop; _this._initialScrollLeft = _this._sourceElement.scrollLeft; } _this._sourceElement.scrollTop = _this._initialScrollTop; _this._sourceElement.scrollLeft = _this._initialScrollLeft; }; return _this; } /** @inheritdoc */ BlockScrollStrategy.prototype.initialize = function (document, overlayService, id) { if (this._initialized) { return; } this._document = document; this._initialized = true; }; /** @inheritdoc */ BlockScrollStrategy.prototype.attach = function () { this._document.addEventListener('scroll', this.onScroll, true); }; /** @inheritdoc */ BlockScrollStrategy.prototype.detach = function () { this._document.removeEventListener('scroll', this.onScroll, true); this._sourceElement = null; this._initialScrollTop = 0; this._initialScrollLeft = 0; this._initialized = false; }; return BlockScrollStrategy; }(ScrollStrategy)); export { BlockScrollStrategy }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stc2Nyb2xsLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9vdmVybGF5L3Njcm9sbC9ibG9jay1zY3JvbGwtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRDs7R0FFRztBQUNIO0lBQXlDLHVDQUFjO0lBT25ELDZCQUFZLGVBQTZCO1FBQXpDLFlBQ0ksa0JBQU0sZUFBZSxDQUFDLFNBQ3pCO1FBUk8sa0JBQVksR0FBRyxLQUFLLENBQUM7UUFrQ3JCLGNBQVEsR0FBRyxVQUFDLEVBQVM7WUFDekIsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFJLENBQUMsY0FBYyxJQUFJLEtBQUksQ0FBQyxjQUFjLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRTtnQkFDM0QsS0FBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsTUFBaUIsQ0FBQztnQkFDM0MsS0FBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUN2RCxLQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7YUFDNUQ7WUFFRCxLQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDdkQsS0FBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsS0FBSSxDQUFDLGtCQUFrQixDQUFDO1FBQzdELENBQUMsQ0FBQTs7SUFwQ0QsQ0FBQztJQUVELGtCQUFrQjtJQUNYLHdDQUFVLEdBQWpCLFVBQWtCLFFBQWtCLEVBQUUsY0FBaUMsRUFBRSxFQUFVO1FBQy9FLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsb0NBQU0sR0FBYjtRQUNJLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNYLG9DQUFNLEdBQWI7UUFDSSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBYUwsMEJBQUM7QUFBRCxDQUFDLEFBOUNELENBQXlDLGNBQWMsR0E4Q3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWd4T3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi9vdmVybGF5JztcbmltcG9ydCB7IFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnLi9zY3JvbGwtc3RyYXRlZ3knO1xuXG4vKipcbiAqIFByZXZlbnRzIHNjcm9sbGluZyB3aGlsZSB0aGUgb3ZlcmxheSBjb250ZW50IGlzIHNob3duLlxuICovXG5leHBvcnQgY2xhc3MgQmxvY2tTY3JvbGxTdHJhdGVneSBleHRlbmRzIFNjcm9sbFN0cmF0ZWd5IHtcbiAgICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudDtcbiAgICBwcml2YXRlIF9pbml0aWFsU2Nyb2xsVG9wOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbFNjcm9sbExlZnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIF9zb3VyY2VFbGVtZW50OiBFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3Ioc2Nyb2xsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgc3VwZXIoc2Nyb2xsQ29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZShkb2N1bWVudDogRG9jdW1lbnQsIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZSwgaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2RvY3VtZW50ID0gZG9jdW1lbnQ7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICBwdWJsaWMgYXR0YWNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICBwdWJsaWMgZGV0YWNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5fc291cmNlRWxlbWVudCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2luaXRpYWxTY3JvbGxUb3AgPSAwO1xuICAgICAgICB0aGlzLl9pbml0aWFsU2Nyb2xsTGVmdCA9IDA7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNjcm9sbCA9IChldjogRXZlbnQpID0+IHtcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKCF0aGlzLl9zb3VyY2VFbGVtZW50IHx8IHRoaXMuX3NvdXJjZUVsZW1lbnQgIT09IGV2LnRhcmdldCkge1xuICAgICAgICAgICAgdGhpcy5fc291cmNlRWxlbWVudCA9IGV2LnRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbFNjcm9sbFRvcCA9IHRoaXMuX3NvdXJjZUVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbFNjcm9sbExlZnQgPSB0aGlzLl9zb3VyY2VFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zb3VyY2VFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX2luaXRpYWxTY3JvbGxUb3A7XG4gICAgICAgIHRoaXMuX3NvdXJjZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuX2luaXRpYWxTY3JvbGxMZWZ0O1xuICAgIH1cbn1cbiJdfQ==