@rfprodz/client-pwa-offline 1.0.0 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/pwa-offline/pwa-offline.component.mjs +5 -6
- package/esm2022/lib/interceptors/pwa-offline.interceptor.mjs +5 -6
- package/esm2022/lib/pwa-offline-routing.module.mjs +6 -7
- package/esm2022/lib/pwa-offline.module.mjs +6 -7
- package/fesm2022/rfprodz-client-pwa-offline.mjs +14 -14
- package/fesm2022/rfprodz-client-pwa-offline.mjs.map +1 -1
- package/package.json +6 -6
|
@@ -8,7 +8,7 @@ import * as i3 from "@angular/material/button";
|
|
|
8
8
|
* PWA offline component.
|
|
9
9
|
* Displays a view that notifies the user of the offline network status.
|
|
10
10
|
*/
|
|
11
|
-
class AppPwaOfflineComponent {
|
|
11
|
+
export class AppPwaOfflineComponent {
|
|
12
12
|
constructor(location) {
|
|
13
13
|
this.location = location;
|
|
14
14
|
}
|
|
@@ -18,12 +18,11 @@ class AppPwaOfflineComponent {
|
|
|
18
18
|
back() {
|
|
19
19
|
this.location.back();
|
|
20
20
|
}
|
|
21
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
22
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
21
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineComponent, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: AppPwaOfflineComponent, selector: "app-pwa-offline", ngImport: i0, template: "<div class=\"container\">\n <span class=\"container__message\"><mat-icon color=\"warn\">wifi_off</mat-icon></span>\n <span class=\"container__message mat-body-2\">You are offline.</span>\n <span class=\"container__message mat-body-2\">Please check your network connection.</span>\n <button mat-button (click)=\"back()\" color=\"accent\"><mat-icon>refresh</mat-icon> Retry</button>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.container{display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;justify-items:center;width:100%;height:100%}.container__message{flex:0 1 auto}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: AppPwaOfflineComponent, decorators: [{
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineComponent, decorators: [{
|
|
26
25
|
type: Component,
|
|
27
26
|
args: [{ selector: 'app-pwa-offline', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\">\n <span class=\"container__message\"><mat-icon color=\"warn\">wifi_off</mat-icon></span>\n <span class=\"container__message mat-body-2\">You are offline.</span>\n <span class=\"container__message mat-body-2\">Please check your network connection.</span>\n <button mat-button (click)=\"back()\" color=\"accent\"><mat-icon>refresh</mat-icon> Retry</button>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.container{display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;justify-items:center;width:100%;height:100%}.container__message{flex:0 1 auto}\n"] }]
|
|
28
27
|
}], ctorParameters: function () { return [{ type: i1.Location }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHdhLW9mZmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtcHdhLW9mZmxpbmUvc3JjL2xpYi9jb21wb25lbnRzL3B3YS1vZmZsaW5lL3B3YS1vZmZsaW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2xpZW50LXB3YS1vZmZsaW5lL3NyYy9saWIvY29tcG9uZW50cy9wd2Etb2ZmbGluZS9wd2Etb2ZmbGluZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFbkU7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUE0QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUVsRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7aUlBUlUsc0JBQXNCO3FIQUF0QixzQkFBc0IsdURDYm5DLDRZQU1BOzsyRkRPYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUFdBIG9mZmxpbmUgY29tcG9uZW50LlxuICogRGlzcGxheXMgYSB2aWV3IHRoYXQgbm90aWZpZXMgdGhlIHVzZXIgb2YgdGhlIG9mZmxpbmUgbmV0d29yayBzdGF0dXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wd2Etb2ZmbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wd2Etb2ZmbGluZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B3YS1vZmZsaW5lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBQd2FPZmZsaW5lQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbikge31cblxuICAvKipcbiAgICogTG9hZHMgYSBwcmV2aW91cyByb3V0ZSB0aGF0IGZhaWxlZCB0byBsb2FkIGR1ZSB0byBvZmZsaW5lIHN0YXR1cy5cbiAgICovXG4gIHB1YmxpYyBiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDxzcGFuIGNsYXNzPVwiY29udGFpbmVyX19tZXNzYWdlXCI+PG1hdC1pY29uIGNvbG9yPVwid2FyblwiPndpZmlfb2ZmPC9tYXQtaWNvbj48L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiY29udGFpbmVyX19tZXNzYWdlIG1hdC1ib2R5LTJcIj5Zb3UgYXJlIG9mZmxpbmUuPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImNvbnRhaW5lcl9fbWVzc2FnZSBtYXQtYm9keS0yXCI+UGxlYXNlIGNoZWNrIHlvdXIgbmV0d29yayBjb25uZWN0aW9uLjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJiYWNrKClcIiBjb2xvcj1cImFjY2VudFwiPjxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj4gUmV0cnk8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -8,7 +8,7 @@ import * as i1 from "@angular/router";
|
|
|
8
8
|
* PWA offline interceptor.
|
|
9
9
|
* Redirects to a dedicated view when the app goes offline.
|
|
10
10
|
*/
|
|
11
|
-
class AppPwaOfflineInterceptor {
|
|
11
|
+
export class AppPwaOfflineInterceptor {
|
|
12
12
|
constructor(navigator, router) {
|
|
13
13
|
this.navigator = navigator;
|
|
14
14
|
this.router = router;
|
|
@@ -21,11 +21,10 @@ class AppPwaOfflineInterceptor {
|
|
|
21
21
|
}
|
|
22
22
|
return next.handle(req);
|
|
23
23
|
}
|
|
24
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
25
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
24
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineInterceptor, deps: [{ token: NAVIGATOR }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineInterceptor, providedIn: 'root' }); }
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: AppPwaOfflineInterceptor, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineInterceptor, decorators: [{
|
|
29
28
|
type: Injectable,
|
|
30
29
|
args: [{
|
|
31
30
|
providedIn: 'root',
|
|
@@ -34,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
34
33
|
type: Inject,
|
|
35
34
|
args: [NAVIGATOR]
|
|
36
35
|
}] }, { type: i1.Router }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHdhLW9mZmxpbmUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1wd2Etb2ZmbGluZS9zcmMvbGliL2ludGVyY2VwdG9ycy9wd2Etb2ZmbGluZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQWdELFNBQW9CLEVBQW1CLE1BQWM7UUFBckQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUVsRyxTQUFTLENBQUMsR0FBeUIsRUFBRSxJQUFpQjtRQUMzRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDM0MsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO2lJQVZVLHdCQUF3QixrQkFDZixTQUFTO3FJQURsQix3QkFBd0IsY0FGdkIsTUFBTTs7MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRWMsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5FVkVSLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5BVklHQVRPUiB9IGZyb20gJy4uL3Byb3ZpZGVycy9uYXZpZ2F0b3IucHJvdmlkZXInO1xuXG4vKipcbiAqIFBXQSBvZmZsaW5lIGludGVyY2VwdG9yLlxuICogUmVkaXJlY3RzIHRvIGEgZGVkaWNhdGVkIHZpZXcgd2hlbiB0aGUgYXBwIGdvZXMgb2ZmbGluZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcFB3YU9mZmxpbmVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkFWSUdBVE9SKSBwcml2YXRlIHJlYWRvbmx5IG5hdmlnYXRvcjogTmF2aWdhdG9yLCBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIHB1YmxpYyBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgIGNvbnN0IHJvdXRlTG9hZGVkID0gdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdvZmZsaW5lJyk7XG4gICAgaWYgKCF0aGlzLm5hdmlnYXRvci5vbkxpbmUgJiYgIXJvdXRlTG9hZGVkKSB7XG4gICAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9vZmZsaW5lJyk7XG4gICAgICByZXR1cm4gTkVWRVI7XG4gICAgfVxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,17 +9,16 @@ const routes = [
|
|
|
9
9
|
component: AppPwaOfflineComponent,
|
|
10
10
|
},
|
|
11
11
|
];
|
|
12
|
-
class AppPwaOfflineRoutingModule {
|
|
13
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
14
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.
|
|
15
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.
|
|
12
|
+
export class AppPwaOfflineRoutingModule {
|
|
13
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
15
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: AppPwaOfflineRoutingModule, decorators: [{
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, decorators: [{
|
|
19
18
|
type: NgModule,
|
|
20
19
|
args: [{
|
|
21
20
|
imports: [RouterModule.forChild(routes)],
|
|
22
21
|
exports: [RouterModule],
|
|
23
22
|
}]
|
|
24
23
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHdhLW9mZmxpbmUtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NsaWVudC1wd2Etb2ZmbGluZS9zcmMvbGliL3B3YS1vZmZsaW5lLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFTLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFFeEYsTUFBTSxNQUFNLEdBQVk7SUFDdEI7UUFDRSxJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxzQkFBc0I7S0FDbEM7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLDBCQUEwQjtpSUFBMUIsMEJBQTBCO2tJQUExQiwwQkFBMEIsd0NBRjNCLFlBQVk7a0lBRVgsMEJBQTBCLFlBSDNCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzJGQUVYLDBCQUEwQjtrQkFKdEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBcHBQd2FPZmZsaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3B3YS1vZmZsaW5lL3B3YS1vZmZsaW5lLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVbXSA9IFtcbiAge1xuICAgIHBhdGg6ICdvZmZsaW5lJyxcbiAgICBjb21wb25lbnQ6IEFwcFB3YU9mZmxpbmVDb21wb25lbnQsXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwUHdhT2ZmbGluZVJvdXRpbmdNb2R1bGUge31cbiJdfQ==
|
|
@@ -12,10 +12,10 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
* PWA offline module.
|
|
13
13
|
* Provides an interceptor that redirects to a dedicated view when the app goes offline.
|
|
14
14
|
*/
|
|
15
|
-
class AppPwaOfflineModule {
|
|
16
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
17
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.
|
|
18
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.
|
|
15
|
+
export class AppPwaOfflineModule {
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, declarations: [AppPwaOfflineComponent], imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule] }); }
|
|
18
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, providers: [
|
|
19
19
|
{
|
|
20
20
|
provide: HTTP_INTERCEPTORS,
|
|
21
21
|
useClass: AppPwaOfflineInterceptor,
|
|
@@ -24,8 +24,7 @@ class AppPwaOfflineModule {
|
|
|
24
24
|
navigatorProvider,
|
|
25
25
|
], imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule] }); }
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: AppPwaOfflineModule, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, decorators: [{
|
|
29
28
|
type: NgModule,
|
|
30
29
|
args: [{
|
|
31
30
|
imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule],
|
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
40
39
|
],
|
|
41
40
|
}]
|
|
42
41
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHdhLW9mZmxpbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jbGllbnQtcHdhLW9mZmxpbmUvc3JjL2xpYi9wd2Etb2ZmbGluZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFMUU7OztHQUdHO0FBYUgsTUFBTSxPQUFPLG1CQUFtQjtpSUFBbkIsbUJBQW1CO2tJQUFuQixtQkFBbUIsaUJBVmYsc0JBQXNCLGFBRDNCLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLDBCQUEwQjtrSUFXdkUsbUJBQW1CLGFBVG5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELGlCQUFpQjtTQUNsQixZQVRTLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLDBCQUEwQjs7MkZBV3ZFLG1CQUFtQjtrQkFaL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDbkYsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsd0JBQXdCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEFwcFB3YU9mZmxpbmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHdhLW9mZmxpbmUvcHdhLW9mZmxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcFB3YU9mZmxpbmVJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL3B3YS1vZmZsaW5lLmludGVyY2VwdG9yJztcbmltcG9ydCB7IG5hdmlnYXRvclByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvbmF2aWdhdG9yLnByb3ZpZGVyJztcbmltcG9ydCB7IEFwcFB3YU9mZmxpbmVSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9wd2Etb2ZmbGluZS1yb3V0aW5nLm1vZHVsZSc7XG5cbi8qKlxuICogUFdBIG9mZmxpbmUgbW9kdWxlLlxuICogUHJvdmlkZXMgYW4gaW50ZXJjZXB0b3IgdGhhdCByZWRpcmVjdHMgdG8gYSBkZWRpY2F0ZWQgdmlldyB3aGVuIHRoZSBhcHAgZ29lcyBvZmZsaW5lLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIEFwcFB3YU9mZmxpbmVSb3V0aW5nTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQXBwUHdhT2ZmbGluZUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IEFwcFB3YU9mZmxpbmVJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgbmF2aWdhdG9yUHJvdmlkZXIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcFB3YU9mZmxpbmVNb2R1bGUge31cbiJdfQ==
|
|
@@ -25,10 +25,10 @@ class AppPwaOfflineComponent {
|
|
|
25
25
|
back() {
|
|
26
26
|
this.location.back();
|
|
27
27
|
}
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
29
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineComponent, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: AppPwaOfflineComponent, selector: "app-pwa-offline", ngImport: i0, template: "<div class=\"container\">\n <span class=\"container__message\"><mat-icon color=\"warn\">wifi_off</mat-icon></span>\n <span class=\"container__message mat-body-2\">You are offline.</span>\n <span class=\"container__message mat-body-2\">Please check your network connection.</span>\n <button mat-button (click)=\"back()\" color=\"accent\"><mat-icon>refresh</mat-icon> Retry</button>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.container{display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;justify-items:center;width:100%;height:100%}.container__message{flex:0 1 auto}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{ selector: 'app-pwa-offline', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\">\n <span class=\"container__message\"><mat-icon color=\"warn\">wifi_off</mat-icon></span>\n <span class=\"container__message mat-body-2\">You are offline.</span>\n <span class=\"container__message mat-body-2\">Please check your network connection.</span>\n <button mat-button (click)=\"back()\" color=\"accent\"><mat-icon>refresh</mat-icon> Retry</button>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.container{display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;justify-items:center;width:100%;height:100%}.container__message{flex:0 1 auto}\n"] }]
|
|
34
34
|
}], ctorParameters: function () { return [{ type: i1.Location }]; } });
|
|
@@ -59,10 +59,10 @@ class AppPwaOfflineInterceptor {
|
|
|
59
59
|
}
|
|
60
60
|
return next.handle(req);
|
|
61
61
|
}
|
|
62
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
63
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
62
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineInterceptor, deps: [{ token: NAVIGATOR }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineInterceptor, providedIn: 'root' }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineInterceptor, decorators: [{
|
|
66
66
|
type: Injectable,
|
|
67
67
|
args: [{
|
|
68
68
|
providedIn: 'root',
|
|
@@ -79,11 +79,11 @@ const routes = [
|
|
|
79
79
|
},
|
|
80
80
|
];
|
|
81
81
|
class AppPwaOfflineRoutingModule {
|
|
82
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
83
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.
|
|
84
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.
|
|
82
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
83
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] }); }
|
|
84
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineRoutingModule, decorators: [{
|
|
87
87
|
type: NgModule,
|
|
88
88
|
args: [{
|
|
89
89
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -96,9 +96,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
96
96
|
* Provides an interceptor that redirects to a dedicated view when the app goes offline.
|
|
97
97
|
*/
|
|
98
98
|
class AppPwaOfflineModule {
|
|
99
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
100
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.
|
|
101
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.
|
|
99
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
100
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, declarations: [AppPwaOfflineComponent], imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule] }); }
|
|
101
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, providers: [
|
|
102
102
|
{
|
|
103
103
|
provide: HTTP_INTERCEPTORS,
|
|
104
104
|
useClass: AppPwaOfflineInterceptor,
|
|
@@ -107,7 +107,7 @@ class AppPwaOfflineModule {
|
|
|
107
107
|
navigatorProvider,
|
|
108
108
|
], imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule] }); }
|
|
109
109
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: AppPwaOfflineModule, decorators: [{
|
|
111
111
|
type: NgModule,
|
|
112
112
|
args: [{
|
|
113
113
|
imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rfprodz-client-pwa-offline.mjs","sources":["../../../../libs/client-pwa-offline/src/lib/components/pwa-offline/pwa-offline.component.ts","../../../../libs/client-pwa-offline/src/lib/components/pwa-offline/pwa-offline.component.html","../../../../libs/client-pwa-offline/src/lib/providers/navigator.provider.ts","../../../../libs/client-pwa-offline/src/lib/interceptors/pwa-offline.interceptor.ts","../../../../libs/client-pwa-offline/src/lib/pwa-offline-routing.module.ts","../../../../libs/client-pwa-offline/src/lib/pwa-offline.module.ts","../../../../libs/client-pwa-offline/src/rfprodz-client-pwa-offline.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * PWA offline component.\n * Displays a view that notifies the user of the offline network status.\n */\n@Component({\n selector: 'app-pwa-offline',\n templateUrl: './pwa-offline.component.html',\n styleUrls: ['./pwa-offline.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppPwaOfflineComponent {\n constructor(public readonly location: Location) {}\n\n /**\n * Loads a previous route that failed to load due to offline status.\n */\n public back(): void {\n this.location.back();\n }\n}\n","<div class=\"container\">\n <span class=\"container__message\"><mat-icon color=\"warn\">wifi_off</mat-icon></span>\n <span class=\"container__message mat-body-2\">You are offline.</span>\n <span class=\"container__message mat-body-2\">Please check your network connection.</span>\n <button mat-button (click)=\"back()\" color=\"accent\"><mat-icon>refresh</mat-icon> Retry</button>\n</div>\n","import { InjectionToken, Provider } from '@angular/core';\n\nexport type TNavigatorToken = InjectionToken<Navigator>;\n\nexport const NAVIGATOR: TNavigatorToken = new InjectionToken<Navigator>('NAVIGATOR');\n\nexport function navigatorFactory() {\n return window.navigator;\n}\n\nexport const navigatorProvider: Provider = {\n provide: NAVIGATOR,\n useFactory: navigatorFactory,\n};\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NEVER, Observable } from 'rxjs';\n\nimport { NAVIGATOR } from '../providers/navigator.provider';\n\n/**\n * PWA offline interceptor.\n * Redirects to a dedicated view when the app goes offline.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AppPwaOfflineInterceptor implements HttpInterceptor {\n constructor(@Inject(NAVIGATOR) private readonly navigator: Navigator, private readonly router: Router) {}\n\n public intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n const routeLoaded = this.router.url.includes('offline');\n if (!this.navigator.onLine && !routeLoaded) {\n void this.router.navigateByUrl('/offline');\n return NEVER;\n }\n return next.handle(req);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Route, RouterModule } from '@angular/router';\n\nimport { AppPwaOfflineComponent } from './components/pwa-offline/pwa-offline.component';\n\nconst routes: Route[] = [\n {\n path: 'offline',\n component: AppPwaOfflineComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AppPwaOfflineRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { AppPwaOfflineComponent } from './components/pwa-offline/pwa-offline.component';\nimport { AppPwaOfflineInterceptor } from './interceptors/pwa-offline.interceptor';\nimport { navigatorProvider } from './providers/navigator.provider';\nimport { AppPwaOfflineRoutingModule } from './pwa-offline-routing.module';\n\n/**\n * PWA offline module.\n * Provides an interceptor that redirects to a dedicated view when the app goes offline.\n */\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule],\n declarations: [AppPwaOfflineComponent],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AppPwaOfflineInterceptor,\n multi: true,\n },\n navigatorProvider,\n ],\n})\nexport class AppPwaOfflineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;AAGA;;;AAGG;
|
|
1
|
+
{"version":3,"file":"rfprodz-client-pwa-offline.mjs","sources":["../../../../libs/client-pwa-offline/src/lib/components/pwa-offline/pwa-offline.component.ts","../../../../libs/client-pwa-offline/src/lib/components/pwa-offline/pwa-offline.component.html","../../../../libs/client-pwa-offline/src/lib/providers/navigator.provider.ts","../../../../libs/client-pwa-offline/src/lib/interceptors/pwa-offline.interceptor.ts","../../../../libs/client-pwa-offline/src/lib/pwa-offline-routing.module.ts","../../../../libs/client-pwa-offline/src/lib/pwa-offline.module.ts","../../../../libs/client-pwa-offline/src/rfprodz-client-pwa-offline.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * PWA offline component.\n * Displays a view that notifies the user of the offline network status.\n */\n@Component({\n selector: 'app-pwa-offline',\n templateUrl: './pwa-offline.component.html',\n styleUrls: ['./pwa-offline.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppPwaOfflineComponent {\n constructor(public readonly location: Location) {}\n\n /**\n * Loads a previous route that failed to load due to offline status.\n */\n public back(): void {\n this.location.back();\n }\n}\n","<div class=\"container\">\n <span class=\"container__message\"><mat-icon color=\"warn\">wifi_off</mat-icon></span>\n <span class=\"container__message mat-body-2\">You are offline.</span>\n <span class=\"container__message mat-body-2\">Please check your network connection.</span>\n <button mat-button (click)=\"back()\" color=\"accent\"><mat-icon>refresh</mat-icon> Retry</button>\n</div>\n","import { InjectionToken, Provider } from '@angular/core';\n\nexport type TNavigatorToken = InjectionToken<Navigator>;\n\nexport const NAVIGATOR: TNavigatorToken = new InjectionToken<Navigator>('NAVIGATOR');\n\nexport function navigatorFactory() {\n return window.navigator;\n}\n\nexport const navigatorProvider: Provider = {\n provide: NAVIGATOR,\n useFactory: navigatorFactory,\n};\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NEVER, Observable } from 'rxjs';\n\nimport { NAVIGATOR } from '../providers/navigator.provider';\n\n/**\n * PWA offline interceptor.\n * Redirects to a dedicated view when the app goes offline.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AppPwaOfflineInterceptor implements HttpInterceptor {\n constructor(@Inject(NAVIGATOR) private readonly navigator: Navigator, private readonly router: Router) {}\n\n public intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n const routeLoaded = this.router.url.includes('offline');\n if (!this.navigator.onLine && !routeLoaded) {\n void this.router.navigateByUrl('/offline');\n return NEVER;\n }\n return next.handle(req);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Route, RouterModule } from '@angular/router';\n\nimport { AppPwaOfflineComponent } from './components/pwa-offline/pwa-offline.component';\n\nconst routes: Route[] = [\n {\n path: 'offline',\n component: AppPwaOfflineComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AppPwaOfflineRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { AppPwaOfflineComponent } from './components/pwa-offline/pwa-offline.component';\nimport { AppPwaOfflineInterceptor } from './interceptors/pwa-offline.interceptor';\nimport { navigatorProvider } from './providers/navigator.provider';\nimport { AppPwaOfflineRoutingModule } from './pwa-offline-routing.module';\n\n/**\n * PWA offline module.\n * Provides an interceptor that redirects to a dedicated view when the app goes offline.\n */\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, AppPwaOfflineRoutingModule],\n declarations: [AppPwaOfflineComponent],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AppPwaOfflineInterceptor,\n multi: true,\n },\n navigatorProvider,\n ],\n})\nexport class AppPwaOfflineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;AAGA;;;AAGG;MAOU,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAA4B,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;AAElD;;AAEG;IACI,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;iIARU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uDCbnC,4YAMA,EAAA,MAAA,EAAA,CAAA,0OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDOa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4YAAA,EAAA,MAAA,EAAA,CAAA,0OAAA,CAAA,EAAA,CAAA;;;AEP1C,MAAM,SAAS,GAAoB,IAAI,cAAc,CAAY,WAAW,CAAC,CAAC;SAErE,gBAAgB,GAAA;IAC9B,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAEM,MAAM,iBAAiB,GAAa;AACzC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,gBAAgB;CAC7B;;ACND;;;AAGG;MAIU,wBAAwB,CAAA;IACnC,WAAgD,CAAA,SAAoB,EAAmB,MAAc,EAAA;QAArD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAAmB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAI;IAElG,SAAS,CAAC,GAAyB,EAAE,IAAiB,EAAA;AAC3D,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;YAC1C,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3C,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACzB;AAVU,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBACf,SAAS,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AADlB,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAEc,MAAM;2BAAC,SAAS,CAAA;;;ACV/B,MAAM,MAAM,GAAY;AACtB,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA;CACF,CAAC;MAMW,0BAA0B,CAAA;iIAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,0CAF3B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;kIAEX,0BAA0B,EAAA,OAAA,EAAA,CAH3B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEX,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACJD;;;AAGG;MAaU,mBAAmB,CAAA;iIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;kIAAnB,mBAAmB,EAAA,YAAA,EAAA,CAVf,sBAAsB,CAD3B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;AAWvE,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,wBAAwB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;YACD,iBAAiB;AAClB,SAAA,EAAA,OAAA,EAAA,CATS,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAWvE,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,0BAA0B,CAAC;oBACnF,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,wBAAwB;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;wBACD,iBAAiB;AAClB,qBAAA;AACF,iBAAA,CAAA;;;AC1BD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rfprodz/client-pwa-offline",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "PWA offline feature for Angular clients.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular-module",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"author": "rfprod <zoidenmacht@zoho.com>",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"tslib": "2.
|
|
21
|
+
"tslib": "2.6.0"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@angular/common": "16.
|
|
25
|
-
"@angular/core": "16.
|
|
26
|
-
"@angular/material": "16.
|
|
27
|
-
"@angular/router": "16.
|
|
24
|
+
"@angular/common": "16.1.2",
|
|
25
|
+
"@angular/core": "16.1.2",
|
|
26
|
+
"@angular/material": "16.1.2",
|
|
27
|
+
"@angular/router": "16.1.2"
|
|
28
28
|
},
|
|
29
29
|
"module": "fesm2022/rfprodz-client-pwa-offline.mjs",
|
|
30
30
|
"typings": "index.d.ts",
|