UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

48 lines 5.56 kB
import { Injectable } from '@angular/core'; import { AlertDialogService } from '@iotize/app-common'; import { CurrentDeviceService } from './current-device.service'; import * as i0 from "@angular/core"; import * as i1 from "./current-device.service"; import * as i2 from "@iotize/app-common"; export class DisconnectCurrentTapGuard { tapService; alertDialog; constructor(tapService, alertDialog) { this.tapService = tapService; this.alertDialog = alertDialog; } async canDeactivate(_component, currentRoute) { const showConfirmExitTap = currentRoute.data.showConfirmExitTapDialog; if (showConfirmExitTap) { const confirm = await this.confirmExitDevice(); if (!confirm) { return false; } } await this.tapService.remove(); return true; } async confirmExitDevice() { try { return await this.alertDialog.confirm({ message: 'Are you sure you want to disconnect and go back to home page ?', header: 'Disconnect device', okText: 'Quit', cancelText: 'Cancel', }); } catch (err) { console.warn(`Failed to display confirm exit device dialog`, err); return true; } } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisconnectCurrentTapGuard, deps: [{ token: i1.CurrentDeviceService }, { token: i2.AlertDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisconnectCurrentTapGuard, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisconnectCurrentTapGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [{ type: i1.CurrentDeviceService }, { type: i2.AlertDialogService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY29ubmVjdC1jdXJyZW50LXRhcC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9zcmMvbGliL2Rpc2Nvbm5lY3QtY3VycmVudC10YXAuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUtoRSxNQUFNLE9BQU8seUJBQXlCO0lBRTFCO0lBQ0E7SUFGVixZQUNVLFVBQWdDLEVBQ2hDLFdBQStCO1FBRC9CLGVBQVUsR0FBVixVQUFVLENBQXNCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUN0QyxDQUFDO0lBRUosS0FBSyxDQUFDLGFBQWEsQ0FDakIsVUFBbUIsRUFDbkIsWUFBb0M7UUFFcEMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3RFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLEVBQ0wsZ0VBQWdFO2dCQUNsRSxNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsUUFBUTthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbEUsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzsySEFsQ1UseUJBQXlCOytIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkRlYWN0aXZhdGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGlvdGl6ZS9hcHAtY29tbW9uJztcbmltcG9ydCB7IEN1cnJlbnREZXZpY2VTZXJ2aWNlIH0gZnJvbSAnLi9jdXJyZW50LWRldmljZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERpc2Nvbm5lY3RDdXJyZW50VGFwR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPHVua25vd24+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0YXBTZXJ2aWNlOiBDdXJyZW50RGV2aWNlU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0RGlhbG9nOiBBbGVydERpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGNhbkRlYWN0aXZhdGUoXG4gICAgX2NvbXBvbmVudDogdW5rbm93bixcbiAgICBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcbiAgKSB7XG4gICAgY29uc3Qgc2hvd0NvbmZpcm1FeGl0VGFwID0gY3VycmVudFJvdXRlLmRhdGEuc2hvd0NvbmZpcm1FeGl0VGFwRGlhbG9nO1xuICAgIGlmIChzaG93Q29uZmlybUV4aXRUYXApIHtcbiAgICAgIGNvbnN0IGNvbmZpcm0gPSBhd2FpdCB0aGlzLmNvbmZpcm1FeGl0RGV2aWNlKCk7XG4gICAgICBpZiAoIWNvbmZpcm0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBhd2FpdCB0aGlzLnRhcFNlcnZpY2UucmVtb3ZlKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyBjb25maXJtRXhpdERldmljZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWxlcnREaWFsb2cuY29uZmlybSh7XG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNjb25uZWN0IGFuZCBnbyBiYWNrIHRvIGhvbWUgcGFnZSA/JyxcbiAgICAgICAgaGVhZGVyOiAnRGlzY29ubmVjdCBkZXZpY2UnLFxuICAgICAgICBva1RleHQ6ICdRdWl0JyxcbiAgICAgICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIGRpc3BsYXkgY29uZmlybSBleGl0IGRldmljZSBkaWFsb2dgLCBlcnIpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=