@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
46 lines • 5.55 kB
JavaScript
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