igot-cb-tour-guide
Version:
Guided tour for your Angular6+ applications.
43 lines • 4.12 kB
JavaScript
import { Inject, Injectable, PLATFORM_ID } from "@angular/core";
import { isPlatformBrowser } from "@angular/common";
import * as i0 from "@angular/core";
function getWindow() {
return window;
}
function getMockWindow() {
return {
innerWidth: 0,
innerHeight: 0,
scrollY: 0,
scrollX: 0,
pageYOffset: 0,
pageXOffset: 0,
scroll: () => { },
scrollTo: () => { },
addEventListener: () => { },
removeEventListener: () => { },
};
}
export class WindowRefService {
isBrowser = false;
get nativeWindow() {
if (this.isBrowser) {
return getWindow();
}
else {
return getMockWindow();
}
}
constructor(platformId) {
this.isBrowser = isPlatformBrowser(platformId);
}
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowRefService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowRefService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowRefService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [PLATFORM_ID]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cmVmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ3VpZGVkLXRvdXIvc3JjL2xpYi93aW5kb3dyZWYuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXBELFNBQVMsU0FBUztJQUNkLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGFBQWE7SUFDbEIsT0FBTztRQUNILFVBQVUsRUFBRSxDQUFDO1FBQ2IsV0FBVyxFQUFFLENBQUM7UUFDZCxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO1FBQ1YsV0FBVyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsQ0FBQztRQUNkLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO1FBQ2hCLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO1FBQ2xCLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7UUFDMUIsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztLQUNoQyxDQUFBO0FBQ0wsQ0FBQztBQUdELE1BQU0sT0FBTyxnQkFBZ0I7SUFDUixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRTVDLElBQUksWUFBWTtRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixPQUFPLFNBQVMsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxPQUFPLGFBQWEsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELFlBQWlDLFVBQVU7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDOzJIQWJRLGdCQUFnQixrQkFXTCxXQUFXOytIQVh0QixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQVlNLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmZ1bmN0aW9uIGdldFdpbmRvdygpOiBhbnkge1xuICAgIHJldHVybiB3aW5kb3c7XG59XG5cbmZ1bmN0aW9uIGdldE1vY2tXaW5kb3coKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpbm5lcldpZHRoOiAwLFxuICAgICAgICBpbm5lckhlaWdodDogMCxcbiAgICAgICAgc2Nyb2xsWTogMCxcbiAgICAgICAgc2Nyb2xsWDogMCxcbiAgICAgICAgcGFnZVlPZmZzZXQ6IDAsXG4gICAgICAgIHBhZ2VYT2Zmc2V0OiAwLFxuICAgICAgICBzY3JvbGw6ICgpID0+IHt9LFxuICAgICAgICBzY3JvbGxUbzogKCkgPT4ge30sXG4gICAgICAgIGFkZEV2ZW50TGlzdGVuZXI6ICgpID0+IHt9LFxuICAgICAgICByZW1vdmVFdmVudExpc3RlbmVyOiAoKSA9PiB7fSxcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXaW5kb3dSZWZTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IG5hdGl2ZVdpbmRvdygpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRXaW5kb3coKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRNb2NrV2luZG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkKSB7XG4gICAgICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCk7XG4gICAgfVxufVxuIl19