UNPKG

@lxlib/theme

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.

131 lines 8.54 kB
/** * @fileoverview added by tsickle * Generated from: src/services/scroll/scroll.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { DOCUMENT } from '@angular/common'; import { Inject, Injectable } from '@angular/core'; import { WINDOW } from '../../win_tokens'; import * as i0 from "@angular/core"; import * as i1 from "../../win_tokens"; import * as i2 from "@angular/common"; var ScrollService = /** @class */ (function () { function ScrollService(win, doc) { this.win = win; this.doc = doc; } /** * 获取滚动条位置 * @param element 指定元素,默认 `window` */ /** * 获取滚动条位置 * @param {?=} element 指定元素,默认 `window` * @return {?} */ ScrollService.prototype.getScrollPosition = /** * 获取滚动条位置 * @param {?=} element 指定元素,默认 `window` * @return {?} */ function (element) { if (element && element !== this.win) { return [element.scrollLeft, element.scrollTop]; } else { return [this.win.pageXOffset, this.win.pageYOffset]; } }; /** * 设置滚动条位置 * @param element 指定元素 */ /** * 设置滚动条位置 * @param {?} element 指定元素 * @param {?} position * @return {?} */ ScrollService.prototype.scrollToPosition = /** * 设置滚动条位置 * @param {?} element 指定元素 * @param {?} position * @return {?} */ function (element, position) { (element || this.win).scrollTo(position[0], position[1]); }; /** * 设置滚动条至指定元素 * @param element 指定元素,默认 `document.body` * @param topOffset 偏移值,默认 `0` */ /** * 设置滚动条至指定元素 * @param {?=} element 指定元素,默认 `document.body` * @param {?=} topOffset 偏移值,默认 `0` * @return {?} */ ScrollService.prototype.scrollToElement = /** * 设置滚动条至指定元素 * @param {?=} element 指定元素,默认 `document.body` * @param {?=} topOffset 偏移值,默认 `0` * @return {?} */ function (element, topOffset) { if (topOffset === void 0) { topOffset = 0; } if (!element) element = this.doc.body; (/** @type {?} */ (element)).scrollIntoView(); /** @type {?} */ var w = this.win; if (w && w.scrollBy) { w.scrollBy(0, (/** @type {?} */ (element)).getBoundingClientRect().top - topOffset); if (w.pageYOffset < 20) { w.scrollBy(0, -w.pageYOffset); } } }; /** * 滚动至顶部 * @param topOffset 偏移值,默认 `0` */ /** * 滚动至顶部 * @param {?=} topOffset 偏移值,默认 `0` * @return {?} */ ScrollService.prototype.scrollToTop = /** * 滚动至顶部 * @param {?=} topOffset 偏移值,默认 `0` * @return {?} */ function (topOffset) { if (topOffset === void 0) { topOffset = 0; } this.scrollToElement(this.doc.body, topOffset); }; ScrollService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ ScrollService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [WINDOW,] }] }, { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] } ]; }; /** @nocollapse */ ScrollService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollService_Factory() { return new ScrollService(i0.ɵɵinject(i1.WINDOW), i0.ɵɵinject(i2.DOCUMENT)); }, token: ScrollService, providedIn: "root" }); return ScrollService; }()); export { ScrollService }; if (false) { /** * @type {?} * @private */ ScrollService.prototype.win; /** * @type {?} * @private */ ScrollService.prototype.doc; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbHhsaWIvdGhlbWUvIiwic291cmNlcyI6WyJzcmMvc2VydmljZXMvc2Nyb2xsL3Njcm9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUUxQztJQUVFLHVCQUFvQyxHQUFRLEVBQTRCLEdBQVE7UUFBNUMsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUE0QixRQUFHLEdBQUgsR0FBRyxDQUFLO0lBQUcsQ0FBQztJQUVwRjs7O09BR0c7Ozs7OztJQUNILHlDQUFpQjs7Ozs7SUFBakIsVUFBa0IsT0FBaUI7UUFDakMsSUFBSSxPQUFPLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDbkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFRDs7O09BR0c7Ozs7Ozs7SUFDSCx3Q0FBZ0I7Ozs7OztJQUFoQixVQUFpQixPQUE0QyxFQUFFLFFBQTBCO1FBQ3ZGLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7OztPQUlHOzs7Ozs7O0lBQ0gsdUNBQWU7Ozs7OztJQUFmLFVBQWdCLE9BQXdCLEVBQUUsU0FBYTtRQUFiLDBCQUFBLEVBQUEsYUFBYTtRQUNyRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUV0QyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7WUFFcEIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDbkIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsbUJBQUEsT0FBTyxFQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFFaEUsSUFBSSxDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDL0I7U0FDRjtJQUNILENBQUM7SUFFRDs7O09BR0c7Ozs7OztJQUNILG1DQUFXOzs7OztJQUFYLFVBQVksU0FBYTtRQUFiLDBCQUFBLEVBQUEsYUFBYTtRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O2dCQWxERixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dEQUVuQixNQUFNLFNBQUMsTUFBTTtnREFBcUIsTUFBTSxTQUFDLFFBQVE7Ozt3QkFOaEU7Q0F1REMsQUFuREQsSUFtREM7U0FsRFksYUFBYTs7Ozs7O0lBQ1osNEJBQWdDOzs7OztJQUFFLDRCQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnLi4vLi4vd2luX3Rva2Vucyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbjogYW55LCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvYzogYW55KSB7fVxuXG4gIC8qKlxuICAgKiDojrflj5bmu5rliqjmnaHkvY3nva5cbiAgICogQHBhcmFtIGVsZW1lbnQg5oyH5a6a5YWD57Sg77yM6buY6K6kIGB3aW5kb3dgXG4gICAqL1xuICBnZXRTY3JvbGxQb3NpdGlvbihlbGVtZW50PzogRWxlbWVudCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQgIT09IHRoaXMud2luKSB7XG4gICAgICByZXR1cm4gW2VsZW1lbnQuc2Nyb2xsTGVmdCwgZWxlbWVudC5zY3JvbGxUb3BdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW3RoaXMud2luLnBhZ2VYT2Zmc2V0LCB0aGlzLndpbi5wYWdlWU9mZnNldF07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOiuvue9rua7muWKqOadoeS9jee9rlxuICAgKiBAcGFyYW0gZWxlbWVudCDmjIflrprlhYPntKBcbiAgICovXG4gIHNjcm9sbFRvUG9zaXRpb24oZWxlbWVudDogRWxlbWVudCB8IFdpbmRvdyB8IG51bGwgfCB1bmRlZmluZWQsIHBvc2l0aW9uOiBbbnVtYmVyLCBudW1iZXJdKTogdm9pZCB7XG4gICAgKGVsZW1lbnQgfHwgdGhpcy53aW4pLnNjcm9sbFRvKHBvc2l0aW9uWzBdLCBwb3NpdGlvblsxXSk7XG4gIH1cblxuICAvKipcbiAgICog6K6+572u5rua5Yqo5p2h6Iez5oyH5a6a5YWD57SgXG4gICAqIEBwYXJhbSBlbGVtZW50IOaMh+WumuWFg+e0oO+8jOm7mOiupCBgZG9jdW1lbnQuYm9keWBcbiAgICogQHBhcmFtIHRvcE9mZnNldCDlgY/np7vlgLzvvIzpu5jorqQgYDBgXG4gICAqL1xuICBzY3JvbGxUb0VsZW1lbnQoZWxlbWVudD86IEVsZW1lbnQgfCBudWxsLCB0b3BPZmZzZXQgPSAwKSB7XG4gICAgaWYgKCFlbGVtZW50KSBlbGVtZW50ID0gdGhpcy5kb2MuYm9keTtcblxuICAgIGVsZW1lbnQhLnNjcm9sbEludG9WaWV3KCk7XG5cbiAgICBjb25zdCB3ID0gdGhpcy53aW47XG4gICAgaWYgKHcgJiYgdy5zY3JvbGxCeSkge1xuICAgICAgdy5zY3JvbGxCeSgwLCBlbGVtZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSB0b3BPZmZzZXQpO1xuXG4gICAgICBpZiAody5wYWdlWU9mZnNldCA8IDIwKSB7XG4gICAgICAgIHcuc2Nyb2xsQnkoMCwgLXcucGFnZVlPZmZzZXQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmu5rliqjoh7Ppobbpg6hcbiAgICogQHBhcmFtIHRvcE9mZnNldCDlgY/np7vlgLzvvIzpu5jorqQgYDBgXG4gICAqL1xuICBzY3JvbGxUb1RvcCh0b3BPZmZzZXQgPSAwKSB7XG4gICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQodGhpcy5kb2MuYm9keSwgdG9wT2Zmc2V0KTtcbiAgfVxufVxuIl19