UNPKG

ngx-gem-spaas

Version:

This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.

58 lines 6.84 kB
import { fromEvent, timer } from 'rxjs'; import { Injectable } from '@angular/core'; import { take } from 'rxjs/operators'; import { PwaInstallComponent } from "../pwa-install/pwa-install.component"; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/bottom-sheet"; import * as i2 from "./local-storage.service"; import * as i3 from "@angular/cdk/platform"; export class PwaInstallService { constructor(bottomSheet, lsService, platform) { this.bottomSheet = bottomSheet; this.lsService = lsService; this.platform = platform; this.LS_ALREADY_PROMPTED = 'installPrompted'; } installPrompt() { if (!this.platform.IOS) { fromEvent(window, 'beforeinstallprompt') .subscribe((e) => { e.preventDefault(); this.promptEvent = e; this.openBottomSheet(); }); } else { const isInStandaloneMode = ('standalone' in window.navigator) && (window.navigator['standalone']); if (!isInStandaloneMode) { this.openBottomSheet(); } } } openBottomSheet() { console.log('will prompt install'); if (this.lsService.getItem(this.LS_ALREADY_PROMPTED) === 'true') { return; } timer(3000) .pipe(take(1)) .subscribe(() => { this.bottomSheet.open(PwaInstallComponent); }); } doInstall() { this.promptEvent.prompt(); } ignoreInstall() { this.lsService.setItem(this.LS_ALREADY_PROMPTED, true); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PwaInstallService, deps: [{ token: i1.MatBottomSheet }, { token: i2.LocalStorageService }, { token: i3.Platform }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PwaInstallService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PwaInstallService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.MatBottomSheet }, { type: i2.LocalStorageService }, { type: i3.Platform }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHdhLWluc3RhbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nZW0tc3BhYXMvc3JjL19zZXJ2aWNlcy9wd2EtaW5zdGFsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQU16RSxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQ1UsV0FBMkIsRUFDM0IsU0FBOEIsRUFDOUIsUUFBa0I7UUFGbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQWCx3QkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztJQVN6RCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLFNBQVMsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7aUJBQ3JDLFNBQVMsQ0FDUixDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNKLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2hFLE9BQU87UUFDVCxDQUFDO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQWpEVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtmcm9tRXZlbnQsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hdEJvdHRvbVNoZWV0fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0XCI7XG5pbXBvcnQge1B3YUluc3RhbGxDb21wb25lbnR9IGZyb20gXCIuLi9wd2EtaW5zdGFsbC9wd2EtaW5zdGFsbC5jb21wb25lbnRcIjtcbmltcG9ydCB7TG9jYWxTdG9yYWdlU2VydmljZX0gZnJvbSBcIi4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFB3YUluc3RhbGxTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IExTX0FMUkVBRFlfUFJPTVBURUQgPSAnaW5zdGFsbFByb21wdGVkJztcblxuICBwcml2YXRlIHByb21wdEV2ZW50OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBib3R0b21TaGVldDogTWF0Qm90dG9tU2hlZXQsXG4gICAgcHJpdmF0ZSBsc1NlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICkge1xuICB9XG5cbiAgaW5zdGFsbFByb21wdCgpIHtcbiAgICBpZiAoIXRoaXMucGxhdGZvcm0uSU9TKSB7XG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnYmVmb3JlaW5zdGFsbHByb21wdCcpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMucHJvbXB0RXZlbnQgPSBlO1xuICAgICAgICAgICAgdGhpcy5vcGVuQm90dG9tU2hlZXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlzSW5TdGFuZGFsb25lTW9kZSA9ICgnc3RhbmRhbG9uZScgaW4gd2luZG93Lm5hdmlnYXRvcikgJiYgKHdpbmRvdy5uYXZpZ2F0b3JbJ3N0YW5kYWxvbmUnXSk7XG4gICAgICBpZiAoIWlzSW5TdGFuZGFsb25lTW9kZSkge1xuICAgICAgICB0aGlzLm9wZW5Cb3R0b21TaGVldCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlbkJvdHRvbVNoZWV0KCkge1xuICAgIGNvbnNvbGUubG9nKCd3aWxsIHByb21wdCBpbnN0YWxsJyk7XG4gICAgaWYgKHRoaXMubHNTZXJ2aWNlLmdldEl0ZW0odGhpcy5MU19BTFJFQURZX1BST01QVEVEKSA9PT0gJ3RydWUnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRpbWVyKDMwMDApXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYm90dG9tU2hlZXQub3BlbihQd2FJbnN0YWxsQ29tcG9uZW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZG9JbnN0YWxsKCk6IHZvaWQge1xuICAgIHRoaXMucHJvbXB0RXZlbnQucHJvbXB0KCk7XG4gIH1cblxuICBpZ25vcmVJbnN0YWxsKCk6IHZvaWQge1xuICAgIHRoaXMubHNTZXJ2aWNlLnNldEl0ZW0odGhpcy5MU19BTFJFQURZX1BST01QVEVELCB0cnVlKTtcbiAgfVxuXG59XG4iXX0=