UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

76 lines 6.25 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, NgZone } from '@angular/core'; import { ViewportRuler } from '@angular/cdk/overlay'; import { map } from 'rxjs/operators'; import { NbPlatform } from '../overlay/mapping'; import { NbLayoutRulerService } from '../../../services/ruler.service'; import { NbLayoutScrollService } from '../../../services/scroll.service'; export class NbViewportRulerAdapter extends ViewportRuler { /** * @param {?} platform * @param {?} ngZone * @param {?} ruler * @param {?} scroll */ constructor(platform, ngZone, ruler, scroll) { super(platform, ngZone); this.ruler = ruler; this.scroll = scroll; } /** * @return {?} */ getViewportSize() { /** @type {?} */ let res; /* * getDimensions call is really synchronous operation. * And we have to conform with the interface of the original service. * */ this.ruler.getDimensions() .pipe(map(dimensions => ({ width: dimensions.clientWidth, height: dimensions.clientHeight }))) .subscribe(rect => res = rect); return res; } /** * @return {?} */ getViewportScrollPosition() { /** @type {?} */ let res; /* * getPosition call is really synchronous operation. * And we have to conform with the interface of the original service. * */ this.scroll.getPosition() .pipe(map((position) => ({ top: position.y, left: position.x }))) .subscribe(position => res = position); return res; } } NbViewportRulerAdapter.decorators = [ { type: Injectable } ]; /** @nocollapse */ NbViewportRulerAdapter.ctorParameters = () => [ { type: NbPlatform }, { type: NgZone }, { type: NbLayoutRulerService }, { type: NbLayoutScrollService } ]; if (false) { /** * @type {?} * @protected */ NbViewportRulerAdapter.prototype.ruler; /** * @type {?} * @protected */ NbViewportRulerAdapter.prototype.scroll; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtcnVsZXItYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3RoZW1lLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Nkay9hZGFwdGVyL3ZpZXdwb3J0LXJ1bGVyLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBb0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUkzRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTs7Ozs7OztJQUN2RCxZQUFZLFFBQW9CLEVBQUUsTUFBYyxFQUMxQixLQUEyQixFQUMzQixNQUE2QjtRQUNqRCxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRkosVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7SUFFbkQsQ0FBQzs7OztJQUVELGVBQWU7O1lBQ1QsR0FBRztRQUNQOzs7WUFHSTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO2FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0YsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7OztJQUVELHlCQUF5Qjs7WUFDbkIsR0FBRztRQUNQOzs7WUFHSTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO2FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbEYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7O1lBOUJGLFVBQVU7Ozs7WUFMRixVQUFVO1lBSkUsTUFBTTtZQUtsQixvQkFBb0I7WUFDcEIscUJBQXFCOzs7Ozs7O0lBTWhCLHVDQUFxQzs7Ozs7SUFDckMsd0NBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE5iUGxhdGZvcm0gfSBmcm9tICcuLi9vdmVybGF5L21hcHBpbmcnO1xyXG5pbXBvcnQgeyBOYkxheW91dFJ1bGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3J1bGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYkxheW91dFNjcm9sbFNlcnZpY2UsIE5iU2Nyb2xsUG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zY3JvbGwuc2VydmljZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmJWaWV3cG9ydFJ1bGVyQWRhcHRlciBleHRlbmRzIFZpZXdwb3J0UnVsZXIge1xyXG4gIGNvbnN0cnVjdG9yKHBsYXRmb3JtOiBOYlBsYXRmb3JtLCBuZ1pvbmU6IE5nWm9uZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcnVsZXI6IE5iTGF5b3V0UnVsZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBzY3JvbGw6IE5iTGF5b3V0U2Nyb2xsU2VydmljZSkge1xyXG4gICAgc3VwZXIocGxhdGZvcm0sIG5nWm9uZSk7XHJcbiAgfVxyXG5cclxuICBnZXRWaWV3cG9ydFNpemUoKTogUmVhZG9ubHk8eyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgfT4ge1xyXG4gICAgbGV0IHJlcztcclxuICAgIC8qXHJcbiAgICAqIGdldERpbWVuc2lvbnMgY2FsbCBpcyByZWFsbHkgc3luY2hyb25vdXMgb3BlcmF0aW9uLlxyXG4gICAgKiBBbmQgd2UgaGF2ZSB0byBjb25mb3JtIHdpdGggdGhlIGludGVyZmFjZSBvZiB0aGUgb3JpZ2luYWwgc2VydmljZS5cclxuICAgICogKi9cclxuICAgIHRoaXMucnVsZXIuZ2V0RGltZW5zaW9ucygpXHJcbiAgICAgIC5waXBlKG1hcChkaW1lbnNpb25zID0+ICh7IHdpZHRoOiBkaW1lbnNpb25zLmNsaWVudFdpZHRoLCBoZWlnaHQ6IGRpbWVuc2lvbnMuY2xpZW50SGVpZ2h0IH0pKSlcclxuICAgICAgLnN1YnNjcmliZShyZWN0ID0+IHJlcyA9IHJlY3QpO1xyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIGdldFZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oKTogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0ge1xyXG4gICAgbGV0IHJlcztcclxuICAgIC8qXHJcbiAgICAqIGdldFBvc2l0aW9uIGNhbGwgaXMgcmVhbGx5IHN5bmNocm9ub3VzIG9wZXJhdGlvbi5cclxuICAgICogQW5kIHdlIGhhdmUgdG8gY29uZm9ybSB3aXRoIHRoZSBpbnRlcmZhY2Ugb2YgdGhlIG9yaWdpbmFsIHNlcnZpY2UuXHJcbiAgICAqICovXHJcbiAgICB0aGlzLnNjcm9sbC5nZXRQb3NpdGlvbigpXHJcbiAgICAgIC5waXBlKG1hcCgocG9zaXRpb246IE5iU2Nyb2xsUG9zaXRpb24pID0+ICh7IHRvcDogcG9zaXRpb24ueSwgbGVmdDogcG9zaXRpb24ueCB9KSkpXHJcbiAgICAgIC5zdWJzY3JpYmUocG9zaXRpb24gPT4gcmVzID0gcG9zaXRpb24pO1xyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcbn1cclxuIl19