@softpak/components 19.26.0-beta.3 → 19.26.0
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/fesm2022/softpak-components-spx-update.mjs +49 -234
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/package.json +6 -9
- package/spx-update/public-api.d.ts +1 -7
- package/spx-update/spx-update-page-v2.component.d.ts +0 -17
- package/spx-update/store/spx-update-check-v2/spx-update-check.actions.d.ts +0 -28
- package/spx-update/store/spx-update-check-v2/spx-update-check.effects.d.ts +0 -14
- package/spx-update/store/spx-update-check-v2/spx-update-check.initial.d.ts +0 -2
- package/spx-update/store/spx-update-check-v2/spx-update-check.reducer.d.ts +0 -10
- package/spx-update/store/spx-update-check-v2/spx-update-check.state.d.ts +0 -5
|
@@ -21,79 +21,78 @@ import { captureMessage } from '@sentry/angular';
|
|
|
21
21
|
import { Capacitor } from '@capacitor/core';
|
|
22
22
|
import { App } from '@capacitor/app';
|
|
23
23
|
import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
|
|
24
|
-
import { LiveUpdate } from '@capawesome/capacitor-live-update';
|
|
25
24
|
|
|
26
|
-
const anUpdateIsReady
|
|
27
|
-
const clearError
|
|
28
|
-
const checkFailed
|
|
29
|
-
const initialize
|
|
30
|
-
const noUpdateWasFound
|
|
31
|
-
const notAvailableOnWeb
|
|
32
|
-
const runCheck
|
|
33
|
-
const all$
|
|
34
|
-
anUpdateIsReady
|
|
35
|
-
clearError
|
|
36
|
-
checkFailed
|
|
37
|
-
initialize
|
|
38
|
-
noUpdateWasFound
|
|
39
|
-
notAvailableOnWeb
|
|
40
|
-
runCheck
|
|
25
|
+
const anUpdateIsReady = createAction('[SPX / Update Check] An update is ready', props());
|
|
26
|
+
const clearError = createAction('[SPX / Update Check] Clear error', props());
|
|
27
|
+
const checkFailed = createAction('[SPX / Update Check] Error happened', props());
|
|
28
|
+
const initialize = createAction('[SPX / Update Check] Initialize', props());
|
|
29
|
+
const noUpdateWasFound = createAction('[SPX / Update Check] No update was found', props());
|
|
30
|
+
const notAvailableOnWeb = createAction('[SPX / Update Check] Not available on web', props());
|
|
31
|
+
const runCheck = createAction('[SPX / Update Check] Run', props());
|
|
32
|
+
const all$1 = union({
|
|
33
|
+
anUpdateIsReady,
|
|
34
|
+
clearError,
|
|
35
|
+
checkFailed,
|
|
36
|
+
initialize,
|
|
37
|
+
noUpdateWasFound,
|
|
38
|
+
notAvailableOnWeb,
|
|
39
|
+
runCheck,
|
|
41
40
|
});
|
|
42
41
|
|
|
43
|
-
var spxUpdateCheck_actions
|
|
42
|
+
var spxUpdateCheck_actions = /*#__PURE__*/Object.freeze({
|
|
44
43
|
__proto__: null,
|
|
45
|
-
anUpdateIsReady: anUpdateIsReady
|
|
46
|
-
checkFailed: checkFailed
|
|
47
|
-
clearError: clearError
|
|
48
|
-
initialize: initialize
|
|
49
|
-
noUpdateWasFound: noUpdateWasFound
|
|
50
|
-
notAvailableOnWeb: notAvailableOnWeb
|
|
51
|
-
runCheck: runCheck
|
|
44
|
+
anUpdateIsReady: anUpdateIsReady,
|
|
45
|
+
checkFailed: checkFailed,
|
|
46
|
+
clearError: clearError,
|
|
47
|
+
initialize: initialize,
|
|
48
|
+
noUpdateWasFound: noUpdateWasFound,
|
|
49
|
+
notAvailableOnWeb: notAvailableOnWeb,
|
|
50
|
+
runCheck: runCheck
|
|
52
51
|
});
|
|
53
52
|
|
|
54
|
-
const initialState$
|
|
53
|
+
const initialState$1 = {
|
|
55
54
|
forceWaitForUpdate: false,
|
|
56
55
|
lastCheck: null,
|
|
57
56
|
showError: false,
|
|
58
57
|
};
|
|
59
58
|
|
|
60
|
-
var spxUpdateCheck_initial
|
|
59
|
+
var spxUpdateCheck_initial = /*#__PURE__*/Object.freeze({
|
|
61
60
|
__proto__: null,
|
|
62
|
-
initialState: initialState$
|
|
61
|
+
initialState: initialState$1
|
|
63
62
|
});
|
|
64
63
|
|
|
65
|
-
var updCheck
|
|
64
|
+
var updCheck = createFeature({
|
|
66
65
|
name: 'spxUpdateCheck',
|
|
67
|
-
reducer: createReducer(initialState$
|
|
66
|
+
reducer: createReducer(initialState$1, on(anUpdateIsReady, (state) => {
|
|
68
67
|
return {
|
|
69
68
|
...state,
|
|
70
69
|
lastCheck: DateTime.now().toISO(),
|
|
71
70
|
showError: false,
|
|
72
71
|
};
|
|
73
|
-
}), on(clearError
|
|
72
|
+
}), on(clearError, (state) => {
|
|
74
73
|
return {
|
|
75
74
|
...state,
|
|
76
75
|
showError: false,
|
|
77
76
|
};
|
|
78
|
-
}), on(checkFailed
|
|
77
|
+
}), on(checkFailed, (state) => {
|
|
79
78
|
return {
|
|
80
79
|
...state,
|
|
81
80
|
forceWaitForUpdate: false,
|
|
82
81
|
showError: true,
|
|
83
82
|
};
|
|
84
|
-
}), on(noUpdateWasFound
|
|
83
|
+
}), on(noUpdateWasFound, (state) => {
|
|
85
84
|
return {
|
|
86
85
|
...state,
|
|
87
86
|
forceWaitForUpdate: false,
|
|
88
87
|
lastCheck: DateTime.now().toISO(),
|
|
89
88
|
showError: false,
|
|
90
89
|
};
|
|
91
|
-
}), on(runCheck
|
|
90
|
+
}), on(runCheck, (state, { forceWaitForUpdate }) => {
|
|
92
91
|
return {
|
|
93
92
|
...state,
|
|
94
93
|
forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate
|
|
95
94
|
};
|
|
96
|
-
}), on(notAvailableOnWeb
|
|
95
|
+
}), on(notAvailableOnWeb, (state) => {
|
|
97
96
|
return {
|
|
98
97
|
...state,
|
|
99
98
|
forceWaitForUpdate: false
|
|
@@ -101,15 +100,15 @@ var updCheck$1 = createFeature({
|
|
|
101
100
|
})),
|
|
102
101
|
});
|
|
103
102
|
|
|
104
|
-
var spxUpdateCheck_reducer
|
|
103
|
+
var spxUpdateCheck_reducer = /*#__PURE__*/Object.freeze({
|
|
105
104
|
__proto__: null,
|
|
106
|
-
default: updCheck
|
|
105
|
+
default: updCheck
|
|
107
106
|
});
|
|
108
107
|
|
|
109
108
|
class SpxUpdatePageComponent {
|
|
110
109
|
ngOnInit() {
|
|
111
|
-
this.appStore.dispatch(runCheck
|
|
112
|
-
this.subscriptions.updCheck = this.appStore.select(updCheck
|
|
110
|
+
this.appStore.dispatch(runCheck({ forceWaitForUpdate: true }));
|
|
111
|
+
this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {
|
|
113
112
|
if (forceWaitForUpdate === false) {
|
|
114
113
|
if (this.activatedRoute.snapshot.data['url'] === undefined) {
|
|
115
114
|
console.error('configure data property \'url\' in route for update page');
|
|
@@ -149,7 +148,7 @@ const hasBeenDownloaded = createAction('[SPX / Update Pending] Has been download
|
|
|
149
148
|
const hasBeenInstalled = createAction('[SPX / Update Pending] Has been installed', props());
|
|
150
149
|
const postpone = createAction('[SPX / Update Pending] Postpone', props());
|
|
151
150
|
const postponeExpired = createAction('[SPX / Update Pending] Postpone expired', props());
|
|
152
|
-
const all
|
|
151
|
+
const all = union({
|
|
153
152
|
acceptUpdate,
|
|
154
153
|
hasBeenDownloaded,
|
|
155
154
|
hasBeenInstalled,
|
|
@@ -166,19 +165,19 @@ var spxUpdatePending_actions = /*#__PURE__*/Object.freeze({
|
|
|
166
165
|
postponeExpired: postponeExpired
|
|
167
166
|
});
|
|
168
167
|
|
|
169
|
-
const initialState
|
|
168
|
+
const initialState = {
|
|
170
169
|
showLiveUpdateReady: false,
|
|
171
170
|
updateIsDownloadedAndPending: false,
|
|
172
171
|
};
|
|
173
172
|
|
|
174
173
|
var spxUpdatePending_initial = /*#__PURE__*/Object.freeze({
|
|
175
174
|
__proto__: null,
|
|
176
|
-
initialState: initialState
|
|
175
|
+
initialState: initialState
|
|
177
176
|
});
|
|
178
177
|
|
|
179
178
|
var updPending = createFeature({
|
|
180
179
|
name: 'spxUpdatePending',
|
|
181
|
-
reducer: createReducer(initialState
|
|
180
|
+
reducer: createReducer(initialState, on(hasBeenDownloaded, (state) => {
|
|
182
181
|
return {
|
|
183
182
|
...state,
|
|
184
183
|
showLiveUpdateReady: true,
|
|
@@ -255,137 +254,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
|
255
254
|
args: ['style']
|
|
256
255
|
}] } });
|
|
257
256
|
|
|
258
|
-
const anUpdateIsReady = createAction('[SPX / Update Check V2] An update is ready', props());
|
|
259
|
-
const clearError = createAction('[SPX / Update Check V2] Clear error', props());
|
|
260
|
-
const checkFailed = createAction('[SPX / Update Check V2] Error happened', props());
|
|
261
|
-
const initialize = createAction('[SPX / Update Check V2] Initialize', props());
|
|
262
|
-
const noUpdateWasFound = createAction('[SPX / Update Check V2] No update was found', props());
|
|
263
|
-
const notAvailableOnWeb = createAction('[SPX / Update Check V2] Not available on web', props());
|
|
264
|
-
const runCheck = createAction('[SPX / Update Check V2] Run', props());
|
|
265
|
-
const all = union({
|
|
266
|
-
anUpdateIsReady,
|
|
267
|
-
clearError,
|
|
268
|
-
checkFailed,
|
|
269
|
-
initialize,
|
|
270
|
-
noUpdateWasFound,
|
|
271
|
-
notAvailableOnWeb,
|
|
272
|
-
runCheck,
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
var spxUpdateCheck_actions = /*#__PURE__*/Object.freeze({
|
|
276
|
-
__proto__: null,
|
|
277
|
-
anUpdateIsReady: anUpdateIsReady,
|
|
278
|
-
checkFailed: checkFailed,
|
|
279
|
-
clearError: clearError,
|
|
280
|
-
initialize: initialize,
|
|
281
|
-
noUpdateWasFound: noUpdateWasFound,
|
|
282
|
-
notAvailableOnWeb: notAvailableOnWeb,
|
|
283
|
-
runCheck: runCheck
|
|
284
|
-
});
|
|
285
|
-
|
|
286
|
-
const initialState = {
|
|
287
|
-
forceWaitForUpdate: false,
|
|
288
|
-
lastCheck: null,
|
|
289
|
-
showError: false,
|
|
290
|
-
};
|
|
291
|
-
|
|
292
|
-
var spxUpdateCheck_initial = /*#__PURE__*/Object.freeze({
|
|
293
|
-
__proto__: null,
|
|
294
|
-
initialState: initialState
|
|
295
|
-
});
|
|
296
|
-
|
|
297
|
-
var updCheck = createFeature({
|
|
298
|
-
name: 'spxUpdateCheck',
|
|
299
|
-
reducer: createReducer(initialState, on(anUpdateIsReady, (state) => {
|
|
300
|
-
return {
|
|
301
|
-
...state,
|
|
302
|
-
lastCheck: DateTime.now().toISO(),
|
|
303
|
-
showError: false,
|
|
304
|
-
};
|
|
305
|
-
}), on(clearError, (state) => {
|
|
306
|
-
return {
|
|
307
|
-
...state,
|
|
308
|
-
showError: false,
|
|
309
|
-
};
|
|
310
|
-
}), on(checkFailed, (state) => {
|
|
311
|
-
return {
|
|
312
|
-
...state,
|
|
313
|
-
forceWaitForUpdate: false,
|
|
314
|
-
showError: true,
|
|
315
|
-
};
|
|
316
|
-
}), on(noUpdateWasFound, (state) => {
|
|
317
|
-
return {
|
|
318
|
-
...state,
|
|
319
|
-
forceWaitForUpdate: false,
|
|
320
|
-
lastCheck: DateTime.now().toISO(),
|
|
321
|
-
showError: false,
|
|
322
|
-
};
|
|
323
|
-
}), on(runCheck, (state, { forceWaitForUpdate }) => {
|
|
324
|
-
return {
|
|
325
|
-
...state,
|
|
326
|
-
forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate
|
|
327
|
-
};
|
|
328
|
-
}), on(notAvailableOnWeb, (state) => {
|
|
329
|
-
return {
|
|
330
|
-
...state,
|
|
331
|
-
forceWaitForUpdate: false
|
|
332
|
-
};
|
|
333
|
-
})),
|
|
334
|
-
});
|
|
335
|
-
|
|
336
|
-
var spxUpdateCheck_reducer = /*#__PURE__*/Object.freeze({
|
|
337
|
-
__proto__: null,
|
|
338
|
-
default: updCheck
|
|
339
|
-
});
|
|
340
|
-
|
|
341
|
-
class SpxUpdatePageV2Component {
|
|
342
|
-
ngOnInit() {
|
|
343
|
-
3;
|
|
344
|
-
this.appStore.dispatch(runCheck({ forceWaitForUpdate: true }));
|
|
345
|
-
this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {
|
|
346
|
-
if (forceWaitForUpdate === false) {
|
|
347
|
-
if (this.activatedRoute.snapshot.data['url'] === undefined) {
|
|
348
|
-
console.error('configure data property \'url\' in route for update page');
|
|
349
|
-
}
|
|
350
|
-
this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
ngOnDestroy() {
|
|
355
|
-
unsubscribeSubscriptions(this.subscriptions);
|
|
356
|
-
}
|
|
357
|
-
constructor(appStore, activatedRoute, navController) {
|
|
358
|
-
this.appStore = appStore;
|
|
359
|
-
this.activatedRoute = activatedRoute;
|
|
360
|
-
this.navController = navController;
|
|
361
|
-
this.spxTextCheckingForUpdates = spxTextCheckingForUpdates;
|
|
362
|
-
this.spxTextOneMomentPlease = spxTextOneMomentPlease;
|
|
363
|
-
this.subscriptions = {};
|
|
364
|
-
}
|
|
365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SpxUpdatePageV2Component, deps: [{ token: i1.Store }, { token: i2.ActivatedRoute }, { token: i3.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
366
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SpxUpdatePageV2Component, isStandalone: true, selector: "spx-update-page", ngImport: i0, template: "<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n", dependencies: [{ kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
367
|
-
}
|
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SpxUpdatePageV2Component, decorators: [{
|
|
369
|
-
type: Component,
|
|
370
|
-
args: [{ selector: 'spx-update-page', imports: [
|
|
371
|
-
IonContent,
|
|
372
|
-
IonHeader,
|
|
373
|
-
IonToolbar,
|
|
374
|
-
IonTitle,
|
|
375
|
-
SpxCapitalizePipe,
|
|
376
|
-
TranslatePipe,
|
|
377
|
-
], standalone: true, template: "<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n" }]
|
|
378
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.ActivatedRoute }, { type: i3.NavController }] });
|
|
379
|
-
|
|
380
257
|
const spxUpdateUrl = '';
|
|
381
258
|
|
|
382
|
-
let Effects$
|
|
259
|
+
let Effects$1 = class Effects {
|
|
383
260
|
constructor(actions$) {
|
|
384
261
|
this.actions$ = actions$;
|
|
385
|
-
this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(initialize
|
|
386
|
-
runCheck
|
|
262
|
+
this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(initialize), delay(120000), mergeMap(() => [
|
|
263
|
+
runCheck({}),
|
|
387
264
|
])));
|
|
388
|
-
this.onRun$ = createEffect(() => this.actions$.pipe(ofType(runCheck
|
|
265
|
+
this.onRun$ = createEffect(() => this.actions$.pipe(ofType(runCheck), tap(async () => {
|
|
389
266
|
if (Capacitor.getPlatform() !== 'web') {
|
|
390
267
|
// Migrate from e.g. 1.2.x to 1.3.x
|
|
391
268
|
const binaryInfo = await App.getInfo();
|
|
@@ -410,78 +287,16 @@ let Effects$2 = class Effects {
|
|
|
410
287
|
if (action.forceWaitForUpdate) {
|
|
411
288
|
reload();
|
|
412
289
|
}
|
|
413
|
-
return anUpdateIsReady$1({});
|
|
414
|
-
}
|
|
415
|
-
else {
|
|
416
|
-
return noUpdateWasFound$1({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });
|
|
417
|
-
}
|
|
418
|
-
}), catchError((err) => {
|
|
419
|
-
if (err.message !== 'Not implemented for web only') {
|
|
420
|
-
captureMessage("[UPD] Handled: " + err.message);
|
|
421
|
-
}
|
|
422
|
-
return err.message === 'Not implemented for web only' ? of(notAvailableOnWeb$1({})) : of(checkFailed$1({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }));
|
|
423
|
-
})))));
|
|
424
|
-
this.whenAndUpdateIsReady$ = createEffect(() => this.actions$.pipe(ofType(anUpdateIsReady$1), mergeMap(() => [
|
|
425
|
-
hasBeenDownloaded({}),
|
|
426
|
-
])));
|
|
427
|
-
this.whenCheckHasFailed$ = createEffect(() => this.actions$.pipe(ofType(checkFailed$1), delay(30000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
|
|
428
|
-
runCheck$1({}),
|
|
429
|
-
])));
|
|
430
|
-
this.whenNoUpdateWasFound$ = createEffect(() => this.actions$.pipe(ofType(noUpdateWasFound$1), delay(120000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
|
|
431
|
-
runCheck$1({}),
|
|
432
|
-
])));
|
|
433
|
-
}
|
|
434
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: Effects, deps: [{ token: i1$1.Actions }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
435
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: Effects }); }
|
|
436
|
-
};
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: Effects$2, decorators: [{
|
|
438
|
-
type: Injectable
|
|
439
|
-
}], ctorParameters: () => [{ type: i1$1.Actions }] });
|
|
440
|
-
|
|
441
|
-
var spxUpdateCheck_effects$1 = /*#__PURE__*/Object.freeze({
|
|
442
|
-
__proto__: null,
|
|
443
|
-
Effects: Effects$2
|
|
444
|
-
});
|
|
445
|
-
|
|
446
|
-
var spxUpdateCheck_state$1 = /*#__PURE__*/Object.freeze({
|
|
447
|
-
__proto__: null
|
|
448
|
-
});
|
|
449
|
-
|
|
450
|
-
let Effects$1 = class Effects {
|
|
451
|
-
constructor(actions$) {
|
|
452
|
-
this.actions$ = actions$;
|
|
453
|
-
this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(initialize), delay(120000), mergeMap(() => [
|
|
454
|
-
runCheck({}),
|
|
455
|
-
])));
|
|
456
|
-
this.onRun$ = createEffect(() => this.actions$.pipe(ofType(runCheck), tap(async () => {
|
|
457
|
-
if (Capacitor.getPlatform() !== 'web') {
|
|
458
|
-
// Migrate from e.g. 1.2.x to 1.3.x
|
|
459
|
-
const binaryVersionGroup = (await App.getInfo()).version.split('.').slice(0, 1).join('.'); // version without last digit, e.g. "1.4",
|
|
460
|
-
const channel = await LiveUpdate.getChannel();
|
|
461
|
-
const channelVersionGroup = channel.channel.split('-')[1].split('.').slice(0, 1).join('.'); // version without last digit, e.g. "1.4",
|
|
462
|
-
let channelType = channel.channel.split('-')[0];
|
|
463
|
-
if (channelType === null || binaryVersionGroup != channelVersionGroup) {
|
|
464
|
-
await LiveUpdate.setChannel({
|
|
465
|
-
channel: `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
// End migrate from e.g. 1.2.x to 1.3.x
|
|
469
|
-
}
|
|
470
|
-
}), exhaustMap((action) => from(LiveUpdate.sync()).pipe(map((syncResult) => {
|
|
471
|
-
if (syncResult.nextBundleId) {
|
|
472
|
-
if (action.forceWaitForUpdate) {
|
|
473
|
-
LiveUpdate.reload();
|
|
474
|
-
}
|
|
475
290
|
return anUpdateIsReady({});
|
|
476
291
|
}
|
|
477
292
|
else {
|
|
478
293
|
return noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });
|
|
479
294
|
}
|
|
480
295
|
}), catchError((err) => {
|
|
481
|
-
if (err.message !==
|
|
482
|
-
captureMessage(
|
|
296
|
+
if (err.message !== 'Not implemented for web only') {
|
|
297
|
+
captureMessage("[UPD] Handled: " + err.message);
|
|
483
298
|
}
|
|
484
|
-
return err.message ===
|
|
299
|
+
return err.message === 'Not implemented for web only' ? of(notAvailableOnWeb({})) : of(checkFailed({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }));
|
|
485
300
|
})))));
|
|
486
301
|
this.whenAndUpdateIsReady$ = createEffect(() => this.actions$.pipe(ofType(anUpdateIsReady), mergeMap(() => [
|
|
487
302
|
hasBeenDownloaded({}),
|
|
@@ -537,5 +352,5 @@ var spxUpdatePending_state = /*#__PURE__*/Object.freeze({
|
|
|
537
352
|
* Generated bundle index. Do not edit.
|
|
538
353
|
*/
|
|
539
354
|
|
|
540
|
-
export { SpxUpdatePageComponent,
|
|
355
|
+
export { SpxUpdatePageComponent, SpxUpdatePendingComponent, spxUpdateCheck_actions as spxUpdateCheckActions, spxUpdateCheck_effects as spxUpdateCheckEffects, spxUpdateCheck_initial as spxUpdateCheckInitial, spxUpdateCheck_reducer as spxUpdateCheckReducer, spxUpdateCheck_state as spxUpdateCheckState, spxUpdatePending_actions as spxUpdatePendingActions, spxUpdatePending_effects as spxUpdatePendingEffects, spxUpdatePending_initial as spxUpdatePendingInitial, spxUpdatePending_reducer as spxUpdatePendingReducer, spxUpdatePending_state as spxUpdatePendingState, spxUpdateUrl };
|
|
541
356
|
//# sourceMappingURL=softpak-components-spx-update.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-update.mjs","sources":["../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.html","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.html","../../../../projects/softpak/components/spx-update/store/spx-update-check-v2/spx-update-check.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check-v2/spx-update-check.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check-v2/spx-update-check.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-page-v2.component.ts","../../../../projects/softpak/components/spx-update/spx-update-page-v2.component.html","../../../../projects/softpak/components/spx-update/spx-update-url.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.effects.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check-v2/spx-update-check.effects.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.effects.ts","../../../../projects/softpak/components/spx-update/softpak-components-spx-update.ts"],"sourcesContent":["import { createAction, props, union } from '@ngrx/store';\n\nexport const anUpdateIsReady = createAction('[SPX / Update Check] An update is ready', props<Record<string, unknown>>());\nexport const clearError = createAction('[SPX / Update Check] Clear error', props<Record<string, unknown>>());\nexport const checkFailed = createAction('[SPX / Update Check] Error happened', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const initialize = createAction('[SPX / Update Check] Initialize', props<Record<string, unknown>>());\nexport const noUpdateWasFound = createAction('[SPX / Update Check] No update was found', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const notAvailableOnWeb = createAction('[SPX / Update Check] Not available on web', props<Record<string, unknown>>());\nexport const runCheck = createAction('[SPX / Update Check] Run', props<{ forceWaitForUpdate?: boolean; }>());\n\nconst all = union({\n anUpdateIsReady,\n clearError,\n checkFailed,\n initialize,\n noUpdateWasFound,\n notAvailableOnWeb,\n runCheck,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-update-check.state\";\n\nexport const initialState: StateI = {\n forceWaitForUpdate: false,\n lastCheck: null,\n showError: false,\n};\n","\nimport * as actions from './spx-update-check.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-update-check.state';\nimport { initialState } from './spx-update-check.initial';\nimport { DateTime } from 'luxon';\n \nexport default createFeature({\n name: 'spxUpdateCheck',\n reducer: createReducer(\n initialState,\n on(actions.anUpdateIsReady, (state: StateI): StateI => {\n return {\n ...state,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.clearError, (state: StateI): StateI => {\n return {\n ...state,\n showError: false,\n };\n }),\n on(actions.checkFailed, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n showError: true,\n };\n }),\n on(actions.noUpdateWasFound, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.runCheck, (state: StateI, { forceWaitForUpdate }): StateI => {\n return {\n ...state,\n forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate\n };\n }),\n on(actions.notAvailableOnWeb, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false\n };\n }),\n ),\n});\n","import { Component } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { runCheck } from './store/spx-update-check/spx-update-check.actions';\nimport { default as updCheck } from './store/spx-update-check/spx-update-check.reducer';\nimport { unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { spxTextCheckingForUpdates, spxTextOneMomentPlease } from '@softpak/components/spx-translate';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'spx-update-page',\n imports: [\n IonContent,\n IonHeader,\n IonToolbar,\n IonTitle,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-page.component.html`,\n standalone: true,\n})\nexport class SpxUpdatePageComponent {\n spxTextCheckingForUpdates = spxTextCheckingForUpdates;\n spxTextOneMomentPlease = spxTextOneMomentPlease;\n\n private subscriptions: {\n updCheck?: Subscription;\n } = {};\n\n ngOnInit() {\n this.appStore.dispatch(runCheck({ forceWaitForUpdate: true }));\n this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {\n if (forceWaitForUpdate === false) {\n if (this.activatedRoute.snapshot.data['url'] === undefined) {\n console.error('configure data property \\'url\\' in route for update page');\n }\n this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private readonly activatedRoute: ActivatedRoute,\n private readonly navController: NavController,\n ) {\n }\n}\n","<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n","import { createAction, props, union } from '@ngrx/store';\n\nexport const acceptUpdate = createAction('[SPX / Update Pending] Accept update', props<Record<string, unknown>>());\nexport const hasBeenDownloaded = createAction('[SPX / Update Pending] Has been downloaded', props<Record<string, unknown>>());\nexport const hasBeenInstalled = createAction('[SPX / Update Pending] Has been installed', props<Record<string, unknown>>());\nexport const postpone = createAction('[SPX / Update Pending] Postpone', props<Record<string, unknown>>());\nexport const postponeExpired = createAction('[SPX / Update Pending] Postpone expired', props<Record<string, unknown>>());\n\nconst all = union({\n acceptUpdate,\n hasBeenDownloaded,\n hasBeenInstalled,\n postpone,\n postponeExpired,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-update-pending.state\";\n\nexport const initialState: StateI = {\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n};\n","\nimport * as actions from './spx-update-pending.actions';\nimport { createReducer, on, createFeature } from '@ngrx/store';\nimport { StateI } from './spx-update-pending.state';\nimport { initialState } from './spx-update-pending.initial';\n\nexport default createFeature({\n name: 'spxUpdatePending',\n reducer: createReducer(\n initialState,\n on(actions.hasBeenDownloaded, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n updateIsDownloadedAndPending: true,\n };\n }),\n on(actions.hasBeenInstalled, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n };\n }),\n on(actions.postpone, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n };\n }),\n on(actions.postponeExpired, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n };\n }),\n ),\n});\n","import { ChangeDetectionStrategy, Component, HostBinding, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { acceptUpdate } from './store/spx-update-pending/spx-update-pending.actions';\nimport { default as updPending } from './store/spx-update-pending/spx-update-pending.reducer';\nimport { SpxSeverityEnum, unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { spxTextOpenAppStore, spxTextPatchAvailable, spxTextReadyToBeInstalled, spxTextUpdate, spxTextUpdateAvailable } from '@softpak/components/spx-translate';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n selector: 'spx-update-pending',\n imports: [\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-pending.component.html`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxUpdatePendingComponent {\n @HostBinding('style') baseStyle?: SafeStyle;\n availableStoreVersion = signal<undefined | string>(undefined);\n currentStoreVersion = signal<undefined | string>(undefined);\n severitySuccess = SpxSeverityEnum.success;\n showLiveUpdateReady = signal<boolean>(false);\n spxTextUpdate = spxTextUpdate;\n spxTextReadyToBeInstalled = spxTextReadyToBeInstalled;\n spxTextPatchAvailable = spxTextPatchAvailable;\n spxTextUpdateAvailable = spxTextUpdateAvailable;\n spxTextOpenAppStore = spxTextOpenAppStore;\n\n private subscriptions: {\n updPending?: Subscription;\n } = {};\n\n ngOnInit() {\n this.subscriptions.updPending = this.appStore.select(updPending.selectShowLiveUpdateReady).subscribe(showLiveUpdateReady => {\n this.showLiveUpdateReady.set(showLiveUpdateReady);\n if (showLiveUpdateReady) {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: block;');\n } else {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: none;');\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private sanitizer: DomSanitizer,\n ) {}\n\n onUpdate(): void {\n this.appStore.dispatch(acceptUpdate({}));\n }\n}\n","@if (showLiveUpdateReady()) {\n<div class=\"bg-zinc-700 text-black p-3 rounded flex gap-3 mx-auto max-w-lg items-center\">\n <div class=\"grow\">\n <p\n class=\"text-xl font-extrabold bg-clip-text text-transparent bg-[linear-gradient(to_right,theme(colors.green.300),theme(colors.green.100),theme(colors.sky.400),theme(colors.yellow.200),theme(colors.sky.400),theme(colors.green.100),theme(colors.green.300))] bg-[length:200%_auto] animate-gradient\">\n {{ spxTextPatchAvailable | translate | capitalize }}</p>\n <div class=\"text-sm text-zinc-300\">{{ spxTextReadyToBeInstalled | translate | capitalize }}</div>\n </div>\n <spx-button [spxSeverity]=\"severitySuccess\" (spxClick)=\"onUpdate()\">{{ spxTextUpdate | translate | capitalize\n }}</spx-button>\n</div>\n}","import { createAction, props, union } from '@ngrx/store';\n\nexport const anUpdateIsReady = createAction('[SPX / Update Check V2] An update is ready', props<Record<string, unknown>>());\nexport const clearError = createAction('[SPX / Update Check V2] Clear error', props<Record<string, unknown>>());\nexport const checkFailed = createAction('[SPX / Update Check V2] Error happened', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const initialize = createAction('[SPX / Update Check V2] Initialize', props<Record<string, unknown>>());\nexport const noUpdateWasFound = createAction('[SPX / Update Check V2] No update was found', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const notAvailableOnWeb = createAction('[SPX / Update Check V2] Not available on web', props<Record<string, unknown>>());\nexport const runCheck = createAction('[SPX / Update Check V2] Run', props<{ forceWaitForUpdate?: boolean; }>());\n\nconst all = union({\n anUpdateIsReady,\n clearError,\n checkFailed,\n initialize,\n noUpdateWasFound,\n notAvailableOnWeb,\n runCheck,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-update-check.state\";\n\nexport const initialState: StateI = {\n forceWaitForUpdate: false,\n lastCheck: null,\n showError: false,\n};\n","\nimport * as actions from './spx-update-check.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-update-check.state';\nimport { initialState } from './spx-update-check.initial';\nimport { DateTime } from 'luxon';\n \nexport default createFeature({\n name: 'spxUpdateCheck',\n reducer: createReducer(\n initialState,\n on(actions.anUpdateIsReady, (state: StateI): StateI => {\n return {\n ...state,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.clearError, (state: StateI): StateI => {\n return {\n ...state,\n showError: false,\n };\n }),\n on(actions.checkFailed, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n showError: true,\n };\n }),\n on(actions.noUpdateWasFound, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.runCheck, (state: StateI, { forceWaitForUpdate }): StateI => {\n return {\n ...state,\n forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate\n };\n }),\n on(actions.notAvailableOnWeb, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false\n };\n }),\n ),\n});\n","import { Component } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { runCheck } from './store/spx-update-check-v2/spx-update-check.actions';\nimport { default as updCheck } from './store/spx-update-check-v2/spx-update-check.reducer';\nimport { unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { spxTextCheckingForUpdates, spxTextOneMomentPlease } from '@softpak/components/spx-translate';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'spx-update-page',\n imports: [\n IonContent,\n IonHeader,\n IonToolbar,\n IonTitle,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-page-v2.component.html`,\n standalone: true,\n})\nexport class SpxUpdatePageV2Component {\n spxTextCheckingForUpdates = spxTextCheckingForUpdates;\n spxTextOneMomentPlease = spxTextOneMomentPlease;\n\n private subscriptions: {\n updCheck?: Subscription;\n } = {};\n\n ngOnInit() {3\n this.appStore.dispatch(runCheck({ forceWaitForUpdate: true }));\n this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {\n if (forceWaitForUpdate === false) {\n if (this.activatedRoute.snapshot.data['url'] === undefined) {\n console.error('configure data property \\'url\\' in route for update page');\n }\n this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private readonly activatedRoute: ActivatedRoute,\n private readonly navController: NavController,\n ) {\n }\n}\n","<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n","export const spxUpdateUrl = '';","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { from, Observable, of } from 'rxjs';\nimport { catchError, delay, exhaustMap, map, mergeMap, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport * as actions from './spx-update-check.actions';\nimport { getConfig, reload, setConfig, sync, SyncResult } from '@capacitor/live-updates';\nimport { captureMessage } from '@sentry/angular';\nimport { Capacitor } from '@capacitor/core';\nimport { App } from '@capacitor/app';\nimport { hasBeenDownloaded } from '../spx-update-pending/spx-update-pending.actions';\nimport { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\n\n@Injectable()\nexport class Effects {\n afterInitialize$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.initialize),\n delay(120000),\n mergeMap(() => [\n actions.runCheck({}),\n ]))\n );\n onRun$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.runCheck),\n tap(async () => {\n if (Capacitor.getPlatform() !== 'web') {\n // Migrate from e.g. 1.2.x to 1.3.x\n const binaryInfo = await App.getInfo()\n const binaryVersionGroup = binaryInfo.version.substring(0, 3);\n const config = await getConfig();\n const channelVersionGroup = config.channel!.split('-')[1].substring(0, 3); // e.g. \"1.4\"\n let channelType = config.channel!.split('-')[0];\n // Temp fix\n if (channelType === 'null') {\n channelType = 'Production';\n }\n // End temp fix\n if (channelType === null || binaryVersionGroup != channelVersionGroup) {\n await setConfig({\n channel: `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`\n });\n }\n // End migrate from e.g. 1.2.x to 1.3.x\n }\n }),\n exhaustMap((action) => from(sync()).pipe(\n map((syncResult: SyncResult) => {\n if (syncResult.activeApplicationPathChanged) {\n if (action.forceWaitForUpdate) {\n reload();\n }\n return actions.anUpdateIsReady({});\n } else {\n return actions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });\n }\n }),\n catchError((err) => {\n if (err.message !== 'Not implemented for web only') {\n captureMessage(\"[UPD] Handled: \" + err.message);\n }\n return err.message === 'Not implemented for web only' ? of(actions.notAvailableOnWeb({})) : of(actions.checkFailed({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }))\n })\n )),\n ));\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAndUpdateIsReady$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.anUpdateIsReady),\n mergeMap(() => [\n hasBeenDownloaded({}),\n ]))\n );\n\n whenCheckHasFailed$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.checkFailed),\n delay(30000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n actions.runCheck({}),\n ]))\n );\n\n whenNoUpdateWasFound$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.noUpdateWasFound),\n delay(120000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n actions.runCheck({}),\n ]))\n );\n}\n\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { from, Observable, of } from 'rxjs';\nimport { catchError, delay, exhaustMap, map, mergeMap, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { captureMessage } from '@sentry/angular';\nimport { Capacitor } from '@capacitor/core';\nimport { App } from '@capacitor/app';\nimport { hasBeenDownloaded } from '../spx-update-pending/spx-update-pending.actions';\nimport { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { LiveUpdate } from '@capawesome/capacitor-live-update';\nimport { anUpdateIsReady, checkFailed, initialize, notAvailableOnWeb, noUpdateWasFound, runCheck } from './spx-update-check.actions';\n\n@Injectable()\nexport class Effects {\n afterInitialize$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(initialize),\n delay(120000),\n mergeMap(() => [\n runCheck({}),\n ]))\n );\n onRun$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(runCheck),\n tap(async () => {\n if (Capacitor.getPlatform() !== 'web') {\n // Migrate from e.g. 1.2.x to 1.3.x\n const binaryVersionGroup = (await App.getInfo()).version.split('.').slice(0, 1).join('.'); // version without last digit, e.g. \"1.4\",\n const channel = await LiveUpdate.getChannel();\n const channelVersionGroup = channel.channel!.split('-')[1].split('.').slice(0, 1).join('.'); // version without last digit, e.g. \"1.4\",\n let channelType = channel.channel!.split('-')[0];\n\n if (channelType === null || binaryVersionGroup != channelVersionGroup) {\n await LiveUpdate.setChannel({\n channel: `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`\n });\n }\n // End migrate from e.g. 1.2.x to 1.3.x\n }\n }),\n exhaustMap((action) => from(LiveUpdate.sync()).pipe(\n map((syncResult) => {\n if (syncResult.nextBundleId) {\n if (action.forceWaitForUpdate) {\n LiveUpdate.reload();\n }\n return anUpdateIsReady({});\n } else {\n return noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });\n }\n }),\n catchError((err) => {\n if (err.message !== `Not implemented for web only`) {\n captureMessage(`[UPD] Handled: ${err.message}`);\n }\n return err.message === `Not implemented for web only` ? of(notAvailableOnWeb({})) : of(checkFailed({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }))\n })\n )),\n ));\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAndUpdateIsReady$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(anUpdateIsReady),\n mergeMap(() => [\n hasBeenDownloaded({}),\n ]))\n );\n\n whenCheckHasFailed$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(checkFailed),\n delay(30000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n runCheck({}),\n ]))\n );\n\n whenNoUpdateWasFound$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(noUpdateWasFound),\n delay(120000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n runCheck({}),\n ]))\n );\n}\n\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Observable } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport * as actions from './spx-update-pending.actions';\nimport { reload } from '@capacitor/live-updates';\n\n@Injectable()\nexport class Effects {\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAccepted$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.acceptUpdate),\n mergeMap(() => {\n reload();\n return []; \n })) as any\n );\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["anUpdateIsReady","clearError","checkFailed","initialize","noUpdateWasFound","notAvailableOnWeb","runCheck","all","initialState","actions.anUpdateIsReady","actions.clearError","actions.checkFailed","actions.noUpdateWasFound","actions.runCheck","actions.notAvailableOnWeb","updCheck","actions.hasBeenDownloaded","actions.hasBeenInstalled","actions.postpone","actions.postponeExpired","i2","actions.initialize","i1","Effects","actions.acceptUpdate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-update.mjs","sources":["../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.html","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.html","../../../../projects/softpak/components/spx-update/spx-update-url.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.effects.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.effects.ts","../../../../projects/softpak/components/spx-update/softpak-components-spx-update.ts"],"sourcesContent":["import { createAction, props, union } from '@ngrx/store';\n\nexport const anUpdateIsReady = createAction('[SPX / Update Check] An update is ready', props<Record<string, unknown>>());\nexport const clearError = createAction('[SPX / Update Check] Clear error', props<Record<string, unknown>>());\nexport const checkFailed = createAction('[SPX / Update Check] Error happened', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const initialize = createAction('[SPX / Update Check] Initialize', props<Record<string, unknown>>());\nexport const noUpdateWasFound = createAction('[SPX / Update Check] No update was found', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const notAvailableOnWeb = createAction('[SPX / Update Check] Not available on web', props<Record<string, unknown>>());\nexport const runCheck = createAction('[SPX / Update Check] Run', props<{ forceWaitForUpdate?: boolean; }>());\n\nconst all = union({\n anUpdateIsReady,\n clearError,\n checkFailed,\n initialize,\n noUpdateWasFound,\n notAvailableOnWeb,\n runCheck,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-update-check.state\";\n\nexport const initialState: StateI = {\n forceWaitForUpdate: false,\n lastCheck: null,\n showError: false,\n};\n","\nimport * as actions from './spx-update-check.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-update-check.state';\nimport { initialState } from './spx-update-check.initial';\nimport { DateTime } from 'luxon';\n \nexport default createFeature({\n name: 'spxUpdateCheck',\n reducer: createReducer(\n initialState,\n on(actions.anUpdateIsReady, (state: StateI): StateI => {\n return {\n ...state,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.clearError, (state: StateI): StateI => {\n return {\n ...state,\n showError: false,\n };\n }),\n on(actions.checkFailed, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n showError: true,\n };\n }),\n on(actions.noUpdateWasFound, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.runCheck, (state: StateI, { forceWaitForUpdate }): StateI => {\n return {\n ...state,\n forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate\n };\n }),\n on(actions.notAvailableOnWeb, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false\n };\n }),\n ),\n});\n","import { Component } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { runCheck } from './store/spx-update-check/spx-update-check.actions';\nimport { default as updCheck } from './store/spx-update-check/spx-update-check.reducer';\nimport { unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { spxTextCheckingForUpdates, spxTextOneMomentPlease } from '@softpak/components/spx-translate';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'spx-update-page',\n imports: [\n IonContent,\n IonHeader,\n IonToolbar,\n IonTitle,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-page.component.html`,\n standalone: true,\n})\nexport class SpxUpdatePageComponent {\n spxTextCheckingForUpdates = spxTextCheckingForUpdates;\n spxTextOneMomentPlease = spxTextOneMomentPlease;\n\n private subscriptions: {\n updCheck?: Subscription;\n } = {};\n\n ngOnInit() {\n this.appStore.dispatch(runCheck({ forceWaitForUpdate: true }));\n this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {\n if (forceWaitForUpdate === false) {\n if (this.activatedRoute.snapshot.data['url'] === undefined) {\n console.error('configure data property \\'url\\' in route for update page');\n }\n this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private readonly activatedRoute: ActivatedRoute,\n private readonly navController: NavController,\n ) {\n }\n}\n","<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n","import { createAction, props, union } from '@ngrx/store';\n\nexport const acceptUpdate = createAction('[SPX / Update Pending] Accept update', props<Record<string, unknown>>());\nexport const hasBeenDownloaded = createAction('[SPX / Update Pending] Has been downloaded', props<Record<string, unknown>>());\nexport const hasBeenInstalled = createAction('[SPX / Update Pending] Has been installed', props<Record<string, unknown>>());\nexport const postpone = createAction('[SPX / Update Pending] Postpone', props<Record<string, unknown>>());\nexport const postponeExpired = createAction('[SPX / Update Pending] Postpone expired', props<Record<string, unknown>>());\n\nconst all = union({\n acceptUpdate,\n hasBeenDownloaded,\n hasBeenInstalled,\n postpone,\n postponeExpired,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-update-pending.state\";\n\nexport const initialState: StateI = {\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n};\n","\nimport * as actions from './spx-update-pending.actions';\nimport { createReducer, on, createFeature } from '@ngrx/store';\nimport { StateI } from './spx-update-pending.state';\nimport { initialState } from './spx-update-pending.initial';\n\nexport default createFeature({\n name: 'spxUpdatePending',\n reducer: createReducer(\n initialState,\n on(actions.hasBeenDownloaded, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n updateIsDownloadedAndPending: true,\n };\n }),\n on(actions.hasBeenInstalled, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n };\n }),\n on(actions.postpone, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n };\n }),\n on(actions.postponeExpired, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n };\n }),\n ),\n});\n","import { ChangeDetectionStrategy, Component, HostBinding, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { acceptUpdate } from './store/spx-update-pending/spx-update-pending.actions';\nimport { default as updPending } from './store/spx-update-pending/spx-update-pending.reducer';\nimport { SpxSeverityEnum, unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { spxTextOpenAppStore, spxTextPatchAvailable, spxTextReadyToBeInstalled, spxTextUpdate, spxTextUpdateAvailable } from '@softpak/components/spx-translate';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n selector: 'spx-update-pending',\n imports: [\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-pending.component.html`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxUpdatePendingComponent {\n @HostBinding('style') baseStyle?: SafeStyle;\n availableStoreVersion = signal<undefined | string>(undefined);\n currentStoreVersion = signal<undefined | string>(undefined);\n severitySuccess = SpxSeverityEnum.success;\n showLiveUpdateReady = signal<boolean>(false);\n spxTextUpdate = spxTextUpdate;\n spxTextReadyToBeInstalled = spxTextReadyToBeInstalled;\n spxTextPatchAvailable = spxTextPatchAvailable;\n spxTextUpdateAvailable = spxTextUpdateAvailable;\n spxTextOpenAppStore = spxTextOpenAppStore;\n\n private subscriptions: {\n updPending?: Subscription;\n } = {};\n\n ngOnInit() {\n this.subscriptions.updPending = this.appStore.select(updPending.selectShowLiveUpdateReady).subscribe(showLiveUpdateReady => {\n this.showLiveUpdateReady.set(showLiveUpdateReady);\n if (showLiveUpdateReady) {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: block;');\n } else {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: none;');\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private sanitizer: DomSanitizer,\n ) {}\n\n onUpdate(): void {\n this.appStore.dispatch(acceptUpdate({}));\n }\n}\n","@if (showLiveUpdateReady()) {\n<div class=\"bg-zinc-700 text-black p-3 rounded flex gap-3 mx-auto max-w-lg items-center\">\n <div class=\"grow\">\n <p\n class=\"text-xl font-extrabold bg-clip-text text-transparent bg-[linear-gradient(to_right,theme(colors.green.300),theme(colors.green.100),theme(colors.sky.400),theme(colors.yellow.200),theme(colors.sky.400),theme(colors.green.100),theme(colors.green.300))] bg-[length:200%_auto] animate-gradient\">\n {{ spxTextPatchAvailable | translate | capitalize }}</p>\n <div class=\"text-sm text-zinc-300\">{{ spxTextReadyToBeInstalled | translate | capitalize }}</div>\n </div>\n <spx-button [spxSeverity]=\"severitySuccess\" (spxClick)=\"onUpdate()\">{{ spxTextUpdate | translate | capitalize\n }}</spx-button>\n</div>\n}","export const spxUpdateUrl = '';","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { from, Observable, of } from 'rxjs';\nimport { catchError, delay, exhaustMap, map, mergeMap, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport * as actions from './spx-update-check.actions';\nimport { getConfig, reload, setConfig, sync, SyncResult } from '@capacitor/live-updates';\nimport { captureMessage } from '@sentry/angular';\nimport { Capacitor } from '@capacitor/core';\nimport { App } from '@capacitor/app';\nimport { hasBeenDownloaded } from '../spx-update-pending/spx-update-pending.actions';\nimport { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\n\n@Injectable()\nexport class Effects {\n afterInitialize$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.initialize),\n delay(120000),\n mergeMap(() => [\n actions.runCheck({}),\n ]))\n );\n onRun$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.runCheck),\n tap(async () => {\n if (Capacitor.getPlatform() !== 'web') {\n // Migrate from e.g. 1.2.x to 1.3.x\n const binaryInfo = await App.getInfo()\n const binaryVersionGroup = binaryInfo.version.substring(0, 3);\n const config = await getConfig();\n const channelVersionGroup = config.channel!.split('-')[1].substring(0, 3); // e.g. \"1.4\"\n let channelType = config.channel!.split('-')[0];\n // Temp fix\n if (channelType === 'null') {\n channelType = 'Production';\n }\n // End temp fix\n if (channelType === null || binaryVersionGroup != channelVersionGroup) {\n await setConfig({\n channel: `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`\n });\n }\n // End migrate from e.g. 1.2.x to 1.3.x\n }\n }),\n exhaustMap((action) => from(sync()).pipe(\n map((syncResult: SyncResult) => {\n if (syncResult.activeApplicationPathChanged) {\n if (action.forceWaitForUpdate) {\n reload();\n }\n return actions.anUpdateIsReady({});\n } else {\n return actions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });\n }\n }),\n catchError((err) => {\n if (err.message !== 'Not implemented for web only') {\n captureMessage(\"[UPD] Handled: \" + err.message);\n }\n return err.message === 'Not implemented for web only' ? of(actions.notAvailableOnWeb({})) : of(actions.checkFailed({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }))\n })\n )),\n ));\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAndUpdateIsReady$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.anUpdateIsReady),\n mergeMap(() => [\n hasBeenDownloaded({}),\n ]))\n );\n\n whenCheckHasFailed$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.checkFailed),\n delay(30000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n actions.runCheck({}),\n ]))\n );\n\n whenNoUpdateWasFound$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.noUpdateWasFound),\n delay(120000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n actions.runCheck({}),\n ]))\n );\n}\n\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Observable } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport * as actions from './spx-update-pending.actions';\nimport { reload } from '@capacitor/live-updates';\n\n@Injectable()\nexport class Effects {\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAccepted$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.acceptUpdate),\n mergeMap(() => {\n reload();\n return []; \n })) as any\n );\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["all","initialState","actions.anUpdateIsReady","actions.clearError","actions.checkFailed","actions.noUpdateWasFound","actions.runCheck","actions.notAvailableOnWeb","actions.hasBeenDownloaded","actions.hasBeenInstalled","actions.postpone","actions.postponeExpired","i2","actions.initialize","i1","Effects","actions.acceptUpdate"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,eAAe,GAAG,YAAY,CAAC,yCAAyC,EAAE,KAAK,EAA2B,CAAC;AACjH,MAAM,UAAU,GAAG,YAAY,CAAC,kCAAkC,EAAE,KAAK,EAA2B,CAAC;AACrG,MAAM,WAAW,GAAG,YAAY,CAAC,qCAAqC,EAAE,KAAK,EAA8C,CAAC;AAC5H,MAAM,UAAU,GAAG,YAAY,CAAC,iCAAiC,EAAE,KAAK,EAA2B,CAAC;AACpG,MAAM,gBAAgB,GAAG,YAAY,CAAC,0CAA0C,EAAE,KAAK,EAA8C,CAAC;AACtI,MAAM,iBAAiB,GAAG,YAAY,CAAC,2CAA2C,EAAE,KAAK,EAA2B,CAAC;AACrH,MAAM,QAAQ,GAAG,YAAY,CAAC,0BAA0B,EAAE,KAAK,EAAqC,CAAC;AAE5G,MAAMA,KAAG,GAAG,KAAK,CAAC;IACd,eAAe;IACf,UAAU;IACV,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,QAAQ;AACX,CAAA,CAAC;;;;;;;;;;;;;AChBK,MAAMC,cAAY,GAAW;AAChC,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,SAAS,EAAE,KAAK;CACnB;;;;;;;ACCD,eAAe,aAAa,CAAC;AACzB,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,OAAO,EAAE,aAAa,CAClBA,cAAY,EACZ,EAAE,CAACC,eAAuB,EAAE,CAAC,KAAa,KAAY;QAClD,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;AACjC,YAAA,SAAS,EAAE,KAAK;SACnB;KACJ,CAAC,EACF,EAAE,CAACC,UAAkB,EAAE,CAAC,KAAa,KAAY;QAC7C,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,SAAS,EAAE,KAAK;SACnB;KACJ,CAAC,EACF,EAAE,CAACC,WAAmB,EAAE,CAAC,KAAa,KAAY;QAC9C,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,SAAS,EAAE,IAAI;SAClB;KACJ,CAAC,EACF,EAAE,CAACC,gBAAwB,EAAE,CAAC,KAAa,KAAY;QACnD,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;AACjC,YAAA,SAAS,EAAE,KAAK;SACnB;AACL,KAAC,CAAC,EACF,EAAE,CAACC,QAAgB,EAAE,CAAC,KAAa,EAAE,EAAE,kBAAkB,EAAE,KAAY;QACnE,OAAO;AACH,YAAA,GAAG,KAAK;YACR,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,GAAG,KAAK,CAAC;SACzD;KACJ,CAAC,EACF,EAAE,CAACC,iBAAyB,EAAE,CAAC,KAAa,KAAY;QACpD,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,kBAAkB,EAAE;SACvB;AACL,KAAC,CAAC,CACL;AACJ,CAAA,CAAC;;;;;;;MC3BW,sBAAsB,CAAA;IAQjC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,kBAAkB,IAAG;AACnH,YAAA,IAAI,kBAAkB,KAAK,KAAK,EAAE;AAChC,gBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;AAC1D,oBAAA,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC;;AAE3E,gBAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAE7E,SAAC,CAAC;;IAGJ,WAAW,GAAA;AACT,QAAA,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC;;AAG9C,IAAA,WAAA,CACmB,QAAe,EACf,cAA8B,EAC9B,aAA4B,EAAA;QAF5B,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAa,CAAA,aAAA,GAAb,aAAa;QA1BhC,IAAyB,CAAA,yBAAA,GAAG,yBAAyB;QACrD,IAAsB,CAAA,sBAAA,GAAG,sBAAsB;QAEvC,IAAa,CAAA,aAAA,GAEjB,EAAE;;+GANK,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,ECzBnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,4SAWA,EDII,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAU,EACV,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,EACT,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAU,EACV,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAQ,EACR,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,iBAAiB,8CACjB,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKJ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAClB,OAAA,EAAA;wBACP,UAAU;wBACV,SAAS;wBACT,UAAU;wBACV,QAAQ;wBACR,iBAAiB;wBACjB,aAAa;AACd,qBAAA,EAAA,UAAA,EAEW,IAAI,EAAA,QAAA,EAAA,4SAAA,EAAA;;;AErBX,MAAM,YAAY,GAAG,YAAY,CAAC,sCAAsC,EAAE,KAAK,EAA2B,CAAC;AAC3G,MAAM,iBAAiB,GAAG,YAAY,CAAC,4CAA4C,EAAE,KAAK,EAA2B,CAAC;AACtH,MAAM,gBAAgB,GAAG,YAAY,CAAC,2CAA2C,EAAE,KAAK,EAA2B,CAAC;AACpH,MAAM,QAAQ,GAAG,YAAY,CAAC,iCAAiC,EAAE,KAAK,EAA2B,CAAC;AAClG,MAAM,eAAe,GAAG,YAAY,CAAC,yCAAyC,EAAE,KAAK,EAA2B,CAAC;AAExH,MAAM,GAAG,GAAG,KAAK,CAAC;IACd,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,QAAQ;IACR,eAAe;AAClB,CAAA,CAAC;;;;;;;;;;;ACZK,MAAM,YAAY,GAAW;AAChC,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,4BAA4B,EAAE,KAAK;CACtC;;;;;;;ACCD,iBAAe,aAAa,CAAC;AACzB,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,OAAO,EAAE,aAAa,CAClB,YAAY,EACZ,EAAE,CAACC,iBAAyB,EAAE,CAAC,KAAa,KAAY;QACpD,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,4BAA4B,EAAE,IAAI;SACrC;KACJ,CAAC,EACF,EAAE,CAACC,gBAAwB,EAAE,CAAC,KAAa,KAAY;QACnD,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,4BAA4B,EAAE,KAAK;SACtC;KACJ,CAAC,EACF,EAAE,CAACC,QAAgB,EAAE,CAAC,KAAa,KAAY;QAC3C,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,mBAAmB,EAAE,KAAK;SAC7B;KACJ,CAAC,EACF,EAAE,CAACC,eAAuB,EAAE,CAAC,KAAa,KAAY;QAClD,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,mBAAmB,EAAE,IAAI;SAC5B;AACL,KAAC,CAAC,CACL;AACJ,CAAA,CAAC;;;;;;;MCdW,yBAAyB,CAAA;IAgBpC,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,mBAAmB,IAAG;AACzH,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACjD,IAAI,mBAAmB,EAAE;gBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;;iBACtE;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,CAAC;;AAE9E,SAAC,CAAC;;IAGJ,WAAW,GAAA;AACT,QAAA,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC;;IAG9C,WACmB,CAAA,QAAe,EACxB,SAAuB,EAAA;QADd,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACjB,IAAS,CAAA,SAAA,GAAT,SAAS;AA/BnB,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAqB,SAAS,CAAC;AAC7D,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAqB,SAAS,CAAC;AAC3D,QAAA,IAAA,CAAA,eAAe,GAAG,eAAe,CAAC,OAAO;AACzC,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAU,KAAK,CAAC;QAC5C,IAAa,CAAA,aAAA,GAAG,aAAa;QAC7B,IAAyB,CAAA,yBAAA,GAAG,yBAAyB;QACrD,IAAqB,CAAA,qBAAA,GAAG,qBAAqB;QAC7C,IAAsB,CAAA,sBAAA,GAAG,sBAAsB;QAC/C,IAAmB,CAAA,mBAAA,GAAG,mBAAmB;QAEjC,IAAa,CAAA,aAAA,GAEjB,EAAE;;IAsBN,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;;+GArC/B,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,mICvBtC,ozBAWC,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIK,kBAAkB,EAClB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,iBAAiB,8CACjB,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAXrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACrB,OAAA,EAAA;wBACP,kBAAkB;wBAClB,iBAAiB;wBACjB,aAAa;AACd,qBAAA,EAAA,UAAA,EAEW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ozBAAA,EAAA;uGAG3B,SAAS,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;AExBf,MAAM,YAAY,GAAG;;sBCaf,OAAO,CAAA;AAmDhB,IAAA,WAAA,CACqB,QAAiB,EAAA;QAAjB,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAnD7B,QAAA,IAAA,CAAA,gBAAgB,GAAoB,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrE,MAAM,CAACC,UAAkB,CAAC,EAC1B,KAAK,CAAC,MAAM,CAAC,EACb,QAAQ,CAAC,MAAM;AACX,YAAAP,QAAgB,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC,CACN;QACD,IAAM,CAAA,MAAA,GAAoB,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC3D,MAAM,CAACA,QAAgB,CAAC,EACxB,GAAG,CAAC,YAAW;AACX,YAAA,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;;AAEnC,gBAAA,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE;AACtC,gBAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7D,gBAAA,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE;gBAChC,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,gBAAA,IAAI,WAAW,GAAG,MAAM,CAAC,OAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;AAE/C,gBAAA,IAAI,WAAW,KAAK,MAAM,EAAE;oBACxB,WAAW,GAAG,YAAY;;;gBAG9B,IAAI,WAAW,KAAK,IAAI,IAAI,kBAAkB,IAAI,mBAAmB,EAAE;AACnE,oBAAA,MAAM,SAAS,CAAC;AACZ,wBAAA,OAAO,EAAE,CAAA,EAAG,WAAW,GAAG,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAA,CAAA,EAAI,kBAAkB,CAAI,EAAA;AACrG,qBAAA,CAAC;;;;SAIb,CAAC,EACF,UAAU,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACpC,GAAG,CAAC,CAAC,UAAsB,KAAI;AAC3B,YAAA,IAAI,UAAU,CAAC,4BAA4B,EAAE;AACzC,gBAAA,IAAI,MAAM,CAAC,kBAAkB,EAAE;AAC3B,oBAAA,MAAM,EAAE;;AAEZ,gBAAA,OAAOJ,eAAuB,CAAC,EAAE,CAAC;;iBAC/B;AACH,gBAAA,OAAOG,gBAAwB,CAAC,EAAE,4BAA4B,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;;AAErG,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,GAAG,KAAI;AACf,YAAA,IAAI,GAAG,CAAC,OAAO,KAAK,8BAA8B,EAAE;AAChD,gBAAA,cAAc,CAAC,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC;;AAEnD,YAAA,OAAO,GAAG,CAAC,OAAO,KAAK,8BAA8B,GAAG,EAAE,CAACE,iBAAyB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAACH,WAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACrL,SAAC,CAAC,CACL,CAAC,CACL,CAAC;QAMF,IAAqB,CAAA,qBAAA,GAAoB,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC1E,MAAM,CAACF,eAAuB,CAAC,EAC/B,QAAQ,CAAC,MAAM;YACX,iBAAiB,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC,CACN;AAED,QAAA,IAAA,CAAA,mBAAmB,GAAoB,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxE,MAAM,CAACE,WAAmB,CAAC,EAC3B,KAAK,CAAC,KAAK,CAAC,EACZ,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,4BAA4B,GAAG,EAAE,GAAG;AAC7D,YAAAE,QAAgB,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC,CACN;AAED,QAAA,IAAA,CAAA,qBAAqB,GAAoB,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC1E,MAAM,CAACD,gBAAwB,CAAC,EAChC,KAAK,CAAC,MAAM,CAAC,EACb,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,4BAA4B,GAAG,EAAE,GAAG;AAC7D,YAAAC,QAAgB,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC,CACN;;+GA5EQ,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAQ,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAP,OAAO,EAAA,CAAA,CAAA;;4FAAPC,SAAO,EAAA,UAAA,EAAA,CAAA;kBADnB;;;;;;;;;;;;MCJY,OAAO,CAAA;AAEhB,IAAA,WAAA,CACqB,QAAiB,EAAA;QAAjB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAG7B,IAAa,CAAA,aAAA,GAAoB,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAClE,MAAM,CAACC,YAAoB,CAAC,EAC5B,QAAQ,CAAC,MAAK;AACV,YAAA,MAAM,EAAE;AACR,YAAA,OAAO,EAAE;SACZ,CAAC,CAAQ,CACb;;+GAZQ,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAP,OAAO,EAAA,CAAA,CAAA;;4FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB;;;;;;;;;;;;ACPD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softpak/components",
|
|
3
|
-
"version": "19.26.0
|
|
3
|
+
"version": "19.26.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "19.x.x",
|
|
7
7
|
"@angular/core": "19.x.x",
|
|
8
8
|
"@capacitor/app": "6.x.x || 7.x.x",
|
|
9
9
|
"@capacitor/device": "6.x.x || 7.x.x",
|
|
10
|
+
"@capacitor/live-updates": "0.3.x || 0.4.x",
|
|
10
11
|
"@fortawesome/free-solid-svg-icons": "6.x.x",
|
|
11
12
|
"@ionic/angular": "8.x.x",
|
|
12
13
|
"@ngrx/effects": "19.x.x",
|
|
@@ -14,10 +15,6 @@
|
|
|
14
15
|
"@ngx-translate/core": "16.x.x",
|
|
15
16
|
"@sentry/angular": "9.x.x"
|
|
16
17
|
},
|
|
17
|
-
"optionalDependencies": {
|
|
18
|
-
"@capacitor/live-updates": "0.3.x || 0.4.x",
|
|
19
|
-
"@capawesome/capacitor-live-update": "7.2.x"
|
|
20
|
-
},
|
|
21
18
|
"dependencies": {
|
|
22
19
|
"tslib": "^2.3.0"
|
|
23
20
|
},
|
|
@@ -48,14 +45,14 @@
|
|
|
48
45
|
"types": "./spx-app-configuration/index.d.ts",
|
|
49
46
|
"default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
|
|
50
47
|
},
|
|
51
|
-
"./spx-capitalize": {
|
|
52
|
-
"types": "./spx-capitalize/index.d.ts",
|
|
53
|
-
"default": "./fesm2022/softpak-components-spx-capitalize.mjs"
|
|
54
|
-
},
|
|
55
48
|
"./spx-app-expiry": {
|
|
56
49
|
"types": "./spx-app-expiry/index.d.ts",
|
|
57
50
|
"default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
|
|
58
51
|
},
|
|
52
|
+
"./spx-capitalize": {
|
|
53
|
+
"types": "./spx-capitalize/index.d.ts",
|
|
54
|
+
"default": "./fesm2022/softpak-components-spx-capitalize.mjs"
|
|
55
|
+
},
|
|
59
56
|
"./spx-card": {
|
|
60
57
|
"types": "./spx-card/index.d.ts",
|
|
61
58
|
"default": "./fesm2022/softpak-components-spx-card.mjs"
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
export * from './spx-update-page.component';
|
|
2
2
|
export * from './spx-update-pending.component';
|
|
3
|
-
export * from './spx-update-page-v2.component';
|
|
4
3
|
export * from './spx-update-url';
|
|
5
4
|
export * as spxUpdateCheckActions from './store/spx-update-check/spx-update-check.actions';
|
|
6
5
|
export * as spxUpdateCheckEffects from './store/spx-update-check/spx-update-check.effects';
|
|
7
6
|
export * as spxUpdateCheckInitial from './store/spx-update-check/spx-update-check.initial';
|
|
8
7
|
export * as spxUpdateCheckReducer from './store/spx-update-check/spx-update-check.reducer';
|
|
9
|
-
export * as spxUpdateCheckState from './store/spx-update-check
|
|
10
|
-
export * as spxUpdateCheckV2Actions from './store/spx-update-check-v2/spx-update-check.actions';
|
|
11
|
-
export * as spxUpdateCheckV2Effects from './store/spx-update-check-v2/spx-update-check.effects';
|
|
12
|
-
export * as spxUpdateCheckV2Initial from './store/spx-update-check-v2/spx-update-check.initial';
|
|
13
|
-
export * as spxUpdateCheckV2Reducer from './store/spx-update-check-v2/spx-update-check.reducer';
|
|
14
|
-
export * as spxUpdateCheckV2State from './store/spx-update-check/spx-update-check.state';
|
|
8
|
+
export * as spxUpdateCheckState from './store/spx-update-check/spx-update-check.state';
|
|
15
9
|
export * as spxUpdatePendingActions from './store/spx-update-pending/spx-update-pending.actions';
|
|
16
10
|
export * as spxUpdatePendingEffects from './store/spx-update-pending/spx-update-pending.effects';
|
|
17
11
|
export * as spxUpdatePendingInitial from './store/spx-update-pending/spx-update-pending.initial';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NavController } from '@ionic/angular/standalone';
|
|
2
|
-
import { Store } from '@ngrx/store';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SpxUpdatePageV2Component {
|
|
6
|
-
private readonly appStore;
|
|
7
|
-
private readonly activatedRoute;
|
|
8
|
-
private readonly navController;
|
|
9
|
-
spxTextCheckingForUpdates: string;
|
|
10
|
-
spxTextOneMomentPlease: string;
|
|
11
|
-
private subscriptions;
|
|
12
|
-
ngOnInit(): void;
|
|
13
|
-
ngOnDestroy(): void;
|
|
14
|
-
constructor(appStore: Store, activatedRoute: ActivatedRoute, navController: NavController);
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SpxUpdatePageV2Component, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxUpdatePageV2Component, "spx-update-page", never, {}, {}, never, never, true, never>;
|
|
17
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare const anUpdateIsReady: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] An update is ready", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] An update is ready">>;
|
|
2
|
-
export declare const clearError: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Clear error", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Clear error">>;
|
|
3
|
-
export declare const checkFailed: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Error happened", (props: {
|
|
4
|
-
startUpdateAgainAfterTimeout?: boolean;
|
|
5
|
-
}) => {
|
|
6
|
-
startUpdateAgainAfterTimeout?: boolean;
|
|
7
|
-
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Error happened">>;
|
|
8
|
-
export declare const initialize: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Initialize", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Initialize">>;
|
|
9
|
-
export declare const noUpdateWasFound: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] No update was found", (props: {
|
|
10
|
-
startUpdateAgainAfterTimeout?: boolean;
|
|
11
|
-
}) => {
|
|
12
|
-
startUpdateAgainAfterTimeout?: boolean;
|
|
13
|
-
} & import("@ngrx/store").Action<"[SPX / Update Check V2] No update was found">>;
|
|
14
|
-
export declare const notAvailableOnWeb: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Not available on web", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Not available on web">>;
|
|
15
|
-
export declare const runCheck: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Run", (props: {
|
|
16
|
-
forceWaitForUpdate?: boolean;
|
|
17
|
-
}) => {
|
|
18
|
-
forceWaitForUpdate?: boolean;
|
|
19
|
-
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Run">>;
|
|
20
|
-
declare const all: ({
|
|
21
|
-
forceWaitForUpdate?: boolean;
|
|
22
|
-
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Run">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] An update is ready">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Clear error">) | ({
|
|
23
|
-
startUpdateAgainAfterTimeout?: boolean;
|
|
24
|
-
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Error happened">) | ({
|
|
25
|
-
startUpdateAgainAfterTimeout?: boolean;
|
|
26
|
-
} & import("@ngrx/store").Action<"[SPX / Update Check V2] No update was found">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Not available on web">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Initialize">);
|
|
27
|
-
export type Actions = typeof all;
|
|
28
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Actions } from '@ngrx/effects';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class Effects {
|
|
5
|
-
private readonly actions$;
|
|
6
|
-
afterInitialize$: Observable<any>;
|
|
7
|
-
onRun$: Observable<any>;
|
|
8
|
-
constructor(actions$: Actions);
|
|
9
|
-
whenAndUpdateIsReady$: Observable<any>;
|
|
10
|
-
whenCheckHasFailed$: Observable<any>;
|
|
11
|
-
whenNoUpdateWasFound$: Observable<any>;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<Effects, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<Effects>;
|
|
14
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { StateI } from './spx-update-check.state';
|
|
2
|
-
declare const _default: {
|
|
3
|
-
name: "spxUpdateCheck";
|
|
4
|
-
reducer: import("@ngrx/store").ActionReducer<StateI, import("@ngrx/store").Action<string>>;
|
|
5
|
-
selectSpxUpdateCheckState: import("@ngrx/store").MemoizedSelector<Record<string, any>, StateI, (featureState: StateI) => StateI>;
|
|
6
|
-
selectForceWaitForUpdate: import("@ngrx/store").MemoizedSelector<Record<string, any>, boolean, (featureState: StateI) => boolean>;
|
|
7
|
-
selectLastCheck: import("@ngrx/store").MemoizedSelector<Record<string, any>, string | null, (featureState: StateI) => string | null>;
|
|
8
|
-
selectShowError: import("@ngrx/store").MemoizedSelector<Record<string, any>, boolean, (featureState: StateI) => boolean>;
|
|
9
|
-
};
|
|
10
|
-
export default _default;
|