theme-lib
Version:
This is a simple example Angular Library published to npm.
76 lines • 6.25 kB
JavaScript
/**
* @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