ngx-histaff-alpha 1.1.4 → 1.1.6
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.
|
@@ -14,9 +14,9 @@ export class CheckForUpdateService {
|
|
|
14
14
|
// Allow the app to stabilize first, before starting
|
|
15
15
|
// polling for updates with `interval()`.
|
|
16
16
|
const appIsStable$ = appRef.isStable.pipe(first(isStable => isStable === true));
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
17
|
+
const everyThirtySeconds$ = interval(30 * 1000);
|
|
18
|
+
const thirtySecondsOnceAppIsStable$ = concat(appIsStable$, everyThirtySeconds$);
|
|
19
|
+
thirtySecondsOnceAppIsStable$.subscribe(async () => {
|
|
20
20
|
try {
|
|
21
21
|
const updateFound = await swUpdate.checkForUpdate();
|
|
22
22
|
alertService.info(updateFound ? 'A new version is available.' : 'Already on the latest version.', noneAutoClosedAlertOptions);
|
|
@@ -29,7 +29,7 @@ export class CheckForUpdateService {
|
|
|
29
29
|
.pipe(filter((evt) => evt.type === 'VERSION_READY'))
|
|
30
30
|
.subscribe(_ => {
|
|
31
31
|
this.pendingAction = "SW_UPDATE";
|
|
32
|
-
zone.run(() => dialogService.createNew(EnumTranslateKey.
|
|
32
|
+
zone.run(() => dialogService.createNew(EnumTranslateKey.UI_CORE_CONFIRM_DIALOG_BUTTON_CONFIRM, undefined, undefined, undefined, EnumTranslateKey.UI_CORE_DIALOG_SERVICE_A_NEW_APP_VERSION_IS_READY_DO_YOU_WANT_TO_UPDATE, []));
|
|
33
33
|
});
|
|
34
34
|
dialogService.dialogConfirmed$.pipe(filter(x => !!x)).subscribe(_ => {
|
|
35
35
|
if (this.pendingAction === 'SW_UPDATE') {
|
|
@@ -40,6 +40,22 @@ export class CheckForUpdateService {
|
|
|
40
40
|
swUpdate.unrecoverable.subscribe(event => {
|
|
41
41
|
alertService.info('An error occurred that we cannot recover from:\n' + event.reason + '\n\nPlease reload the page.', noneAutoClosedAlertOptions);
|
|
42
42
|
});
|
|
43
|
+
swUpdate.versionUpdates.subscribe(evt => {
|
|
44
|
+
switch (evt.type) {
|
|
45
|
+
case 'VERSION_DETECTED':
|
|
46
|
+
alertService.info(`Downloading new app version: ${evt.version.hash}`, alertOptions);
|
|
47
|
+
break;
|
|
48
|
+
case 'NO_NEW_VERSION_DETECTED':
|
|
49
|
+
alertService.info(`No new version detected`, alertOptions);
|
|
50
|
+
break;
|
|
51
|
+
case 'VERSION_READY':
|
|
52
|
+
alertService.info(`Current app version: ${evt.currentVersion.hash}. New app version ready for use: ${evt.latestVersion.hash}`, noneAutoClosedAlertOptions);
|
|
53
|
+
break;
|
|
54
|
+
case 'VERSION_INSTALLATION_FAILED':
|
|
55
|
+
alertService.error(`Failed to install app version '${evt.version.hash}': ${evt.error}`, alertOptions);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
43
59
|
}
|
|
44
60
|
ngOnDestroy() {
|
|
45
61
|
this.subscriptions.map(x => x?.unsubscribe());
|
|
@@ -51,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
51
67
|
type: Injectable,
|
|
52
68
|
args: [{ providedIn: 'root' }]
|
|
53
69
|
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i1.SwUpdate }, { type: i2.AlertService }, { type: i3.DialogService }, { type: i0.NgZone }] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stZm9yLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvc2VydmljZXMvY2hlY2stZm9yLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU5RSxPQUFPLEVBQWdCLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBRzFELE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFDRSxNQUFzQixFQUN0QixRQUFrQixFQUNsQixZQUEwQixFQUMxQixhQUE0QixFQUM1QixJQUFZO1FBUmQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBU3pCLG9EQUFvRDtRQUNwRCx5Q0FBeUM7UUFDekMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRWhGLDZCQUE2QixDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqRCxJQUFJO2dC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QUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN3VXBkYXRlLCBWZXJzaW9uUmVhZHlFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL3NlcnZpY2Utd29ya2VyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBjb25jYXQsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2xpYnJhcmllcy9hbGVydC9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgYWxlcnRPcHRpb25zLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucyB9IGZyb20gJy4uL2NvbnN0YW50cy9hbGVydE9wdGlvbnMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tICdhbHBoYS1nbG9iYWwtY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja0ZvclVwZGF0ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHBlbmRpbmdBY3Rpb246IHN0cmluZyA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICBzd1VwZGF0ZTogU3dVcGRhdGUsXHJcbiAgICBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICB6b25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIC8vIEFsbG93IHRoZSBhcHAgdG8gc3RhYmlsaXplIGZpcnN0LCBiZWZvcmUgc3RhcnRpbmdcclxuICAgIC8vIHBvbGxpbmcgZm9yIHVwZGF0ZXMgd2l0aCBgaW50ZXJ2YWwoKWAuXHJcbiAgICBjb25zdCBhcHBJc1N0YWJsZSQgPSBhcHBSZWYuaXNTdGFibGUucGlwZShmaXJzdChpc1N0YWJsZSA9PiBpc1N0YWJsZSA9PT0gdHJ1ZSkpO1xyXG4gICAgY29uc3QgZXZlcnlUaGlydHlTZWNvbmRzJCA9IGludGVydmFsKDMwICogMTAwMCk7XHJcbiAgICBjb25zdCB0aGlydHlTZWNvbmRzT25jZUFwcElzU3RhYmxlJCA9IGNvbmNhdChhcHBJc1N0YWJsZSQsIGV2ZXJ5VGhpcnR5U2Vjb25kcyQpO1xyXG5cclxuICAgIHRoaXJ0eVNlY29uZHNPbmNlQXBwSXNTdGFibGUkLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgdXBkYXRlRm91bmQgPSBhd2FpdCBzd1VwZGF0ZS5jaGVja0ZvclVwZGF0ZSgpO1xyXG4gICAgICAgIGFsZXJ0U2VydmljZS5pbmZvKHVwZGF0ZUZvdW5kID8gJ0EgbmV3IHZlcnNpb24gaXMgYXZhaWxhYmxlLicgOiAnQWxyZWFkeSBvbiB0aGUgbGF0ZXN0IHZlcnNpb24uJywgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICBhbGVydFNlcnZpY2UuaW5mbygnRmFpbGVkIHRvIGNoZWNrIGZvciB1cGRhdGVzOicsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHN3VXBkYXRlLnZlcnNpb25VcGRhdGVzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZ0KTogZXZ0IGlzIFZlcnNpb25SZWFkeUV2ZW50ID0+IGV2dC50eXBlID09PSAnVkVSU0lPTl9SRUFEWScpKVxyXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgIHRoaXMucGVuZGluZ0FjdGlvbiA9IFwiU1dfVVBEQVRFXCI7XHJcbiAgICAgICAgem9uZS5ydW4oKCkgPT4gZGlhbG9nU2VydmljZS5jcmVhdGVOZXcoRW51bVRyYW5zbGF0ZUtleS5VSV9DT1JFX0NPTkZJUk1fRElBTE9HX0JVVFRPTl9DT05GSVJNLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfRElBTE9HX1NFUlZJQ0VfQV9ORVdfQVBQX1ZFUlNJT05fSVNfUkVBRFlfRE9fWU9VX1dBTlRfVE9fVVBEQVRFLCBbXSkpXHJcbiAgICAgIH0pXHJcblxyXG4gICAgZGlhbG9nU2VydmljZS5kaWFsb2dDb25maXJtZWQkLnBpcGUoZmlsdGVyKHggPT4gISF4KSkuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICBpZiAodGhpcy5wZW5kaW5nQWN0aW9uID09PSAnU1dfVVBEQVRFJykge1xyXG4gICAgICAgIHRoaXMucGVuZGluZ0FjdGlvbiA9ICcnO1xyXG4gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHN3VXBkYXRlLnVucmVjb3ZlcmFibGUuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgYWxlcnRTZXJ2aWNlLmluZm8oJ0FuIGVycm9yIG9jY3VycmVkIHRoYXQgd2UgY2Fubm90IHJlY292ZXIgZnJvbTpcXG4nICsgZXZlbnQucmVhc29uICsgJ1xcblxcblBsZWFzZSByZWxvYWQgdGhlIHBhZ2UuJywgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgfSlcclxuXHJcbiAgICBzd1VwZGF0ZS52ZXJzaW9uVXBkYXRlcy5zdWJzY3JpYmUoZXZ0ID0+IHtcclxuICAgICAgc3dpdGNoIChldnQudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ1ZFUlNJT05fREVURUNURUQnOlxyXG4gICAgICAgICAgYWxlcnRTZXJ2aWNlLmluZm8oYERvd25sb2FkaW5nIG5ldyBhcHAgdmVyc2lvbjogJHtldnQudmVyc2lvbi5oYXNofWAsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdOT19ORVdfVkVSU0lPTl9ERVRFQ1RFRCc6XHJcbiAgICAgICAgICBhbGVydFNlcnZpY2UuaW5mbyhgTm8gbmV3IHZlcnNpb24gZGV0ZWN0ZWRgLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnVkVSU0lPTl9SRUFEWSc6XHJcbiAgICAgICAgICBhbGVydFNlcnZpY2UuaW5mbyhgQ3VycmVudCBhcHAgdmVyc2lvbjogJHtldnQuY3VycmVudFZlcnNpb24uaGFzaH0uIE5ldyBhcHAgdmVyc2lvbiByZWFkeSBmb3IgdXNlOiAke2V2dC5sYXRlc3RWZXJzaW9uLmhhc2h9YCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnVkVSU0lPTl9JTlNUQUxMQVRJT05fRkFJTEVEJzpcclxuICAgICAgICAgIGFsZXJ0U2VydmljZS5lcnJvcihgRmFpbGVkIHRvIGluc3RhbGwgYXBwIHZlcnNpb24gJyR7ZXZ0LnZlcnNpb24uaGFzaH0nOiAke2V2dC5lcnJvcn1gLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5tYXAoeCA9PiB4Py51bnN1YnNjcmliZSgpKVxyXG4gIH1cclxuXHJcbn0iXX0=
|
|
@@ -3220,9 +3220,9 @@ class CheckForUpdateService {
|
|
|
3220
3220
|
// Allow the app to stabilize first, before starting
|
|
3221
3221
|
// polling for updates with `interval()`.
|
|
3222
3222
|
const appIsStable$ = appRef.isStable.pipe(first(isStable => isStable === true));
|
|
3223
|
-
const
|
|
3224
|
-
const
|
|
3225
|
-
|
|
3223
|
+
const everyThirtySeconds$ = interval(30 * 1000);
|
|
3224
|
+
const thirtySecondsOnceAppIsStable$ = concat(appIsStable$, everyThirtySeconds$);
|
|
3225
|
+
thirtySecondsOnceAppIsStable$.subscribe(async () => {
|
|
3226
3226
|
try {
|
|
3227
3227
|
const updateFound = await swUpdate.checkForUpdate();
|
|
3228
3228
|
alertService.info(updateFound ? 'A new version is available.' : 'Already on the latest version.', noneAutoClosedAlertOptions);
|
|
@@ -3235,7 +3235,7 @@ class CheckForUpdateService {
|
|
|
3235
3235
|
.pipe(filter$1((evt) => evt.type === 'VERSION_READY'))
|
|
3236
3236
|
.subscribe(_ => {
|
|
3237
3237
|
this.pendingAction = "SW_UPDATE";
|
|
3238
|
-
zone.run(() => dialogService.createNew(EnumTranslateKey.
|
|
3238
|
+
zone.run(() => dialogService.createNew(EnumTranslateKey.UI_CORE_CONFIRM_DIALOG_BUTTON_CONFIRM, undefined, undefined, undefined, EnumTranslateKey.UI_CORE_DIALOG_SERVICE_A_NEW_APP_VERSION_IS_READY_DO_YOU_WANT_TO_UPDATE, []));
|
|
3239
3239
|
});
|
|
3240
3240
|
dialogService.dialogConfirmed$.pipe(filter$1(x => !!x)).subscribe(_ => {
|
|
3241
3241
|
if (this.pendingAction === 'SW_UPDATE') {
|
|
@@ -3246,6 +3246,22 @@ class CheckForUpdateService {
|
|
|
3246
3246
|
swUpdate.unrecoverable.subscribe(event => {
|
|
3247
3247
|
alertService.info('An error occurred that we cannot recover from:\n' + event.reason + '\n\nPlease reload the page.', noneAutoClosedAlertOptions);
|
|
3248
3248
|
});
|
|
3249
|
+
swUpdate.versionUpdates.subscribe(evt => {
|
|
3250
|
+
switch (evt.type) {
|
|
3251
|
+
case 'VERSION_DETECTED':
|
|
3252
|
+
alertService.info(`Downloading new app version: ${evt.version.hash}`, alertOptions);
|
|
3253
|
+
break;
|
|
3254
|
+
case 'NO_NEW_VERSION_DETECTED':
|
|
3255
|
+
alertService.info(`No new version detected`, alertOptions);
|
|
3256
|
+
break;
|
|
3257
|
+
case 'VERSION_READY':
|
|
3258
|
+
alertService.info(`Current app version: ${evt.currentVersion.hash}. New app version ready for use: ${evt.latestVersion.hash}`, noneAutoClosedAlertOptions);
|
|
3259
|
+
break;
|
|
3260
|
+
case 'VERSION_INSTALLATION_FAILED':
|
|
3261
|
+
alertService.error(`Failed to install app version '${evt.version.hash}': ${evt.error}`, alertOptions);
|
|
3262
|
+
break;
|
|
3263
|
+
}
|
|
3264
|
+
});
|
|
3249
3265
|
}
|
|
3250
3266
|
ngOnDestroy() {
|
|
3251
3267
|
this.subscriptions.map(x => x?.unsubscribe());
|