@veloceapps/sdk 11.0.0-122 → 11.0.0-124
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/core/services/flow-info.service.d.ts +5 -5
- package/esm2020/core/services/flow-info.service.mjs +14 -14
- package/esm2020/src/guards/product-unload.guard.mjs +4 -2
- package/esm2020/src/pages/product/product.component.mjs +34 -10
- package/esm2020/src/services/flow-router.service.mjs +10 -10
- package/fesm2015/veloceapps-sdk-core.mjs +13 -13
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +40 -15
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +13 -13
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +39 -15
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/pages/product/product.component.d.ts +11 -3
- package/src/services/flow-router.service.d.ts +3 -3
@@ -383,6 +383,15 @@ class FlowRouterService {
|
|
383
383
|
this.integrationState.dispatch(FlowAction.CloseGuidedSelling({ keepState: true }));
|
384
384
|
});
|
385
385
|
}
|
386
|
+
get route$() {
|
387
|
+
return this.lastChildRoute$;
|
388
|
+
}
|
389
|
+
get params$() {
|
390
|
+
return this.lastChildParams$;
|
391
|
+
}
|
392
|
+
get params() {
|
393
|
+
return this.getLastChildParams(this.route.snapshot);
|
394
|
+
}
|
386
395
|
getFlowRootRoute(route) {
|
387
396
|
var _a;
|
388
397
|
const path = [...route.pathFromRoot];
|
@@ -408,15 +417,6 @@ class FlowRouterService {
|
|
408
417
|
.join('/');
|
409
418
|
return '/' + path;
|
410
419
|
}
|
411
|
-
get route$() {
|
412
|
-
return this.lastChildRoute$;
|
413
|
-
}
|
414
|
-
get params$() {
|
415
|
-
return this.lastChildParams$;
|
416
|
-
}
|
417
|
-
get params() {
|
418
|
-
return this.getLastChildParams(this.route.snapshot);
|
419
|
-
}
|
420
420
|
isConfigurationRoute$() {
|
421
421
|
return this.getFlowSubpath$().pipe(map(url => url.startsWith('product')));
|
422
422
|
}
|
@@ -766,9 +766,12 @@ class ProductUnloadGuard {
|
|
766
766
|
observable = this.flowDialogService.showUnsavedChangesDialog();
|
767
767
|
}
|
768
768
|
return observable.pipe(map(unload => {
|
769
|
+
var _a;
|
769
770
|
if (unload) {
|
770
771
|
this.configurationService.reset();
|
771
|
-
|
772
|
+
const currentUrl = currentState.url.split('?')[0];
|
773
|
+
const nextUrl = ((_a = nextState === null || nextState === void 0 ? void 0 : nextState.url) !== null && _a !== void 0 ? _a : '').split('?')[0];
|
774
|
+
if (!nextState || currentUrl === nextUrl) {
|
772
775
|
return true;
|
773
776
|
}
|
774
777
|
// clear obsolete queryParams
|
@@ -1124,28 +1127,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
1124
1127
|
}] });
|
1125
1128
|
|
1126
1129
|
class ProductComponent {
|
1127
|
-
constructor(configurationRuntimeService, configurationStateService) {
|
1130
|
+
constructor(configurationRuntimeService, configurationStateService, flowService, route) {
|
1128
1131
|
this.configurationRuntimeService = configurationRuntimeService;
|
1129
1132
|
this.configurationStateService = configurationStateService;
|
1133
|
+
this.flowService = flowService;
|
1134
|
+
this.route = route;
|
1130
1135
|
this.uiDefinitionContainer$ = new BehaviorSubject(null);
|
1131
1136
|
this.showNotFound$ = new BehaviorSubject(false);
|
1137
|
+
this.isInitialized$ = new BehaviorSubject(true);
|
1138
|
+
this.destroy$ = new Subject();
|
1132
1139
|
this.uiDefinitionContainer$.next(this.configurationRuntimeService.uiDefinitionContainer);
|
1133
1140
|
this.config = {
|
1134
1141
|
init$: () => this.init$(),
|
1135
1142
|
};
|
1136
1143
|
}
|
1144
|
+
ngOnInit() {
|
1145
|
+
let prevParams;
|
1146
|
+
this.route.queryParams
|
1147
|
+
.pipe(tap(params => {
|
1148
|
+
if (prevParams && prevParams['productId'] !== params['productId']) {
|
1149
|
+
this.isInitialized$.next(false);
|
1150
|
+
setTimeout(() => {
|
1151
|
+
this.isInitialized$.next(true);
|
1152
|
+
}, 0);
|
1153
|
+
}
|
1154
|
+
prevParams = params;
|
1155
|
+
}))
|
1156
|
+
.subscribe();
|
1157
|
+
}
|
1158
|
+
ngOnDestroy() {
|
1159
|
+
this.destroy$.next();
|
1160
|
+
this.destroy$.complete();
|
1161
|
+
}
|
1137
1162
|
init$() {
|
1138
1163
|
return this.configurationStateService.init$().pipe(tap(() => {
|
1139
1164
|
this.showNotFound$.next(Boolean(!this.uiDefinitionContainer$.value));
|
1140
1165
|
}));
|
1141
1166
|
}
|
1142
1167
|
}
|
1143
|
-
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, deps: [{ token: i3$1.ConfigurationRuntimeService }, { token: i3$1.ConfigurationStateService }], target: i0.ɵɵFactoryTarget.Component });
|
1144
|
-
ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<vl-cms-preview [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\"
|
1168
|
+
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, deps: [{ token: i3$1.ConfigurationRuntimeService }, { token: i3$1.ConfigurationStateService }, { token: i3$1.FlowInfoService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
1169
|
+
ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<vl-cms-preview\n *ngIf=\"isInitialized$ | async\"\n [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\"\n [config]=\"config\"\n></vl-cms-preview>\n\n<div *ngIf=\"showNotFound$ | async\" class=\"not-found-wrapper\">\n <div class=\"not-found\">\n <div class=\"icon\"></div>\n <div class=\"message\">\n This product doesn't have a linked Configuration UI. <br />\n Please contact your system administrator for further assistance.\n </div>\n </div>\n</div>\n", styles: [".not-found-wrapper{position:absolute;top:0;display:flex;width:100%;height:100%;justify-content:center;align-items:center;background-color:#fff;z-index:1000}.not-found{display:flex;align-items:center;padding:16px;border-radius:8px;gap:8px;background-color:#f5f5f5}.not-found .icon{width:48px;height:42px;background-image:url(\"data:image/svg+xml,%3Csvg width='48' height='42' viewBox='0 0 48 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='24.0798' cy='32.6052' rx='2.85714' ry='2.63158' fill='%231F2029'/%3E%3Cpath d='M22.285 3.35831C23.0618 2.06363 24.9382 2.06363 25.715 3.35831L46.1826 37.471C46.9824 38.8041 46.0222 40.5 44.4676 40.5L3.53238 40.5C1.97779 40.5 1.01757 38.8041 1.8174 37.471L22.285 3.35831Z' stroke='%23141414' stroke-width='2'/%3E%3Cpath d='M24 17.342V26.8157' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A\")}.not-found .message{font-size:14px;color:#141414;font-weight:300}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PreviewComponent, selector: "vl-cms-preview", inputs: ["uiDefinition", "config"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
1145
1170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, decorators: [{
|
1146
1171
|
type: Component,
|
1147
|
-
args: [{ selector: 'vl-flow-product', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vl-cms-preview [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\"
|
1148
|
-
}], ctorParameters: function () { return [{ type: i3$1.ConfigurationRuntimeService }, { type: i3$1.ConfigurationStateService }]; } });
|
1172
|
+
args: [{ selector: 'vl-flow-product', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vl-cms-preview\n *ngIf=\"isInitialized$ | async\"\n [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\"\n [config]=\"config\"\n></vl-cms-preview>\n\n<div *ngIf=\"showNotFound$ | async\" class=\"not-found-wrapper\">\n <div class=\"not-found\">\n <div class=\"icon\"></div>\n <div class=\"message\">\n This product doesn't have a linked Configuration UI. <br />\n Please contact your system administrator for further assistance.\n </div>\n </div>\n</div>\n", styles: [".not-found-wrapper{position:absolute;top:0;display:flex;width:100%;height:100%;justify-content:center;align-items:center;background-color:#fff;z-index:1000}.not-found{display:flex;align-items:center;padding:16px;border-radius:8px;gap:8px;background-color:#f5f5f5}.not-found .icon{width:48px;height:42px;background-image:url(\"data:image/svg+xml,%3Csvg width='48' height='42' viewBox='0 0 48 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='24.0798' cy='32.6052' rx='2.85714' ry='2.63158' fill='%231F2029'/%3E%3Cpath d='M22.285 3.35831C23.0618 2.06363 24.9382 2.06363 25.715 3.35831L46.1826 37.471C46.9824 38.8041 46.0222 40.5 44.4676 40.5L3.53238 40.5C1.97779 40.5 1.01757 38.8041 1.8174 37.471L22.285 3.35831Z' stroke='%23141414' stroke-width='2'/%3E%3Cpath d='M24 17.342V26.8157' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A\")}.not-found .message{font-size:14px;color:#141414;font-weight:300}\n"] }]
|
1173
|
+
}], ctorParameters: function () { return [{ type: i3$1.ConfigurationRuntimeService }, { type: i3$1.ConfigurationStateService }, { type: i3$1.FlowInfoService }, { type: i1$2.ActivatedRoute }]; } });
|
1149
1174
|
|
1150
1175
|
class ProductModule {
|
1151
1176
|
}
|