UNPKG

@iotize/ionic

Version:

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

46 lines 5.55 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 { 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 */ DisconnectCurrentTapGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisconnectCurrentTapGuard, deps: [{ token: i1.CurrentDeviceService }, { token: i2.AlertDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ DisconnectCurrentTapGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisconnectCurrentTapGuard, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisconnectCurrentTapGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.CurrentDeviceService }, { type: i2.AlertDialogService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY29ubmVjdC1jdXJyZW50LXRhcC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9zcmMvbGliL2Rpc2Nvbm5lY3QtY3VycmVudC10YXAuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUtoRSxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQ1UsVUFBZ0MsRUFDaEMsV0FBK0I7UUFEL0IsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO0lBQ3RDLENBQUM7SUFFSixLQUFLLENBQUMsYUFBYSxDQUNqQixVQUFtQixFQUNuQixZQUFvQztRQUVwQyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDdEUsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsSUFBSTtZQUNGLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztnQkFDcEMsT0FBTyxFQUNMLGdFQUFnRTtnQkFDbEUsTUFBTSxFQUFFLG1CQUFtQjtnQkFDM0IsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsVUFBVSxFQUFFLFFBQVE7YUFDckIsQ0FBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbEUsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7OzBJQWxDVSx5QkFBeUI7OElBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5EZWFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nU2VydmljZSB9IGZyb20gJ0Bpb3RpemUvYXBwLWNvbW1vbic7XG5pbXBvcnQgeyBDdXJyZW50RGV2aWNlU2VydmljZSB9IGZyb20gJy4vY3VycmVudC1kZXZpY2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEaXNjb25uZWN0Q3VycmVudFRhcEd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTx1bmtub3duPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGFwU2VydmljZTogQ3VycmVudERldmljZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydERpYWxvZzogQWxlcnREaWFsb2dTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKFxuICAgIF9jb21wb25lbnQ6IHVua25vd24sXG4gICAgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XG4gICkge1xuICAgIGNvbnN0IHNob3dDb25maXJtRXhpdFRhcCA9IGN1cnJlbnRSb3V0ZS5kYXRhLnNob3dDb25maXJtRXhpdFRhcERpYWxvZztcbiAgICBpZiAoc2hvd0NvbmZpcm1FeGl0VGFwKSB7XG4gICAgICBjb25zdCBjb25maXJtID0gYXdhaXQgdGhpcy5jb25maXJtRXhpdERldmljZSgpO1xuICAgICAgaWYgKCFjb25maXJtKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgYXdhaXQgdGhpcy50YXBTZXJ2aWNlLnJlbW92ZSgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgY29uZmlybUV4aXREZXZpY2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFsZXJ0RGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzY29ubmVjdCBhbmQgZ28gYmFjayB0byBob21lIHBhZ2UgPycsXG4gICAgICAgIGhlYWRlcjogJ0Rpc2Nvbm5lY3QgZGV2aWNlJyxcbiAgICAgICAgb2tUZXh0OiAnUXVpdCcsXG4gICAgICAgIGNhbmNlbFRleHQ6ICdDYW5jZWwnLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBkaXNwbGF5IGNvbmZpcm0gZXhpdCBkZXZpY2UgZGlhbG9nYCwgZXJyKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19