@posiwise/shared-components 0.0.144 → 0.0.146
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.
|
@@ -16,51 +16,20 @@ export class PwTabsComponent extends AppBaseComponent {
|
|
|
16
16
|
if (this.withSubscription) {
|
|
17
17
|
this.getUserSubscription().subscribe((subscription) => {
|
|
18
18
|
this.items.forEach(item => {
|
|
19
|
-
// prepends the subscription slug to the route
|
|
20
|
-
|
|
21
|
-
const originalRoute = item.routerLink[0];
|
|
22
|
-
item.routerLink = [`/${subscription?.slug}${originalRoute}`];
|
|
23
|
-
}
|
|
19
|
+
// prepends the subscription slug to the route
|
|
20
|
+
item.routerLink = `/${subscription?.slug}${item.routerLink[0]}`;
|
|
24
21
|
item.visible = item?.state
|
|
25
22
|
? this.permissionService.evaluatePermissions(item.state['permission'], PermissionService.selectedProduct?.feature_key, PermissionService.selectedProduct?.permission_key)
|
|
26
23
|
: item.visible;
|
|
27
24
|
});
|
|
28
|
-
this.updateActiveTab();
|
|
29
25
|
});
|
|
30
26
|
}
|
|
31
|
-
else {
|
|
32
|
-
// For non-subscription tabs, update active tab after view init
|
|
33
|
-
setTimeout(() => this.updateActiveTab(), 0);
|
|
34
|
-
}
|
|
35
27
|
this.routeEventSubscription = this.router.events.subscribe(e => {
|
|
36
28
|
if (e instanceof NavigationEnd) {
|
|
37
|
-
this.
|
|
29
|
+
this.tabInstance.activeItem = this.items.find(item => item.routerLink === this.router.url);
|
|
38
30
|
}
|
|
39
31
|
});
|
|
40
32
|
}
|
|
41
|
-
updateActiveTab() {
|
|
42
|
-
if (!this.tabInstance || !this.items.length) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
const currentUrl = this.router.url.split('?')[0];
|
|
46
|
-
const matchedItem = this.items.find(item => {
|
|
47
|
-
if (!item.routerLink || !item.visible) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
const routePath = Array.isArray(item.routerLink) ? item.routerLink[0] : item.routerLink;
|
|
51
|
-
return routePath === currentUrl;
|
|
52
|
-
});
|
|
53
|
-
if (matchedItem) {
|
|
54
|
-
// Clear previous activeItem first to ensure only one tab is active
|
|
55
|
-
this.tabInstance.activeItem = null;
|
|
56
|
-
// Then set the new activeItem
|
|
57
|
-
this.tabInstance.activeItem = matchedItem;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// Clear activeItem if no match found
|
|
61
|
-
this.tabInstance.activeItem = null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
33
|
ngOnDestroy() {
|
|
65
34
|
this.routeEventSubscription.unsubscribe();
|
|
66
35
|
}
|
|
@@ -78,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
78
47
|
}], withSubscription: [{
|
|
79
48
|
type: Input
|
|
80
49
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHctdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvcHctdGFicy9wdy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9wdy10YWJzL3B3LXRhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU8xQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFjakQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFicEIsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQU12QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFRekIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3RCLDhDQUE4QztvQkFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNoRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxLQUFLO3dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUN4QixpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUM5QyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUNwRDt3QkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUM5QyxDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlDLENBQUM7K0dBOUNRLGVBQWU7bUdBQWYsZUFBZSxnUENmNUIsMlBBU0E7OzRGRE1hLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksU0FBUzs2RUFLbkIsS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUl2QyxnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBUYWJNZW51IH0gZnJvbSAncHJpbWVuZy90YWJtZW51JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiBhcyBSeFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXRhYnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdy10YWJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQd1RhYnNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhYk1lbnUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICB0YWJJbnN0YW5jZTogVGFiTWVudTtcblxuICAgIEBJbnB1dCgpXG4gICAgd2l0aFN1YnNjcmlwdGlvbiA9IGZhbHNlO1xuXG4gICAgYWN0aXZlVGFiOiBNZW51SXRlbTtcblxuICAgIHByaXZhdGUgcm91dGVFdmVudFN1YnNjcmlwdGlvbjogUnhTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy53aXRoU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb24oKS5zdWJzY3JpYmUoKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBwcmVwZW5kcyB0aGUgc3Vic2NyaXB0aW9uIHNsdWcgdG8gdGhlIHJvdXRlXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucm91dGVyTGluayA9IGAvJHtzdWJzY3JpcHRpb24/LnNsdWd9JHtpdGVtLnJvdXRlckxpbmtbMF19YDtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlID0gaXRlbT8uc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5ldmFsdWF0ZVBlcm1pc3Npb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zdGF0ZVsncGVybWlzc2lvbiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRQcm9kdWN0Py5mZWF0dXJlX2tleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkUHJvZHVjdD8ucGVybWlzc2lvbl9rZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpdGVtLnZpc2libGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucm91dGVFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYkluc3RhbmNlLmFjdGl2ZUl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPT4gaXRlbS5yb3V0ZXJMaW5rID09PSB0aGlzLnJvdXRlci51cmxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yb3V0ZUV2ZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBwdy10YWIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxwLXRhYk1lbnUgW21vZGVsXT1cIml0ZW1zXCJcbiAgICAjdGFiTWVudT48L3AtdGFiTWVudT5cbiAgPGRpdiBjbGFzcz1cImRhc2hib2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtYm9keVwiPlxuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1363,51 +1363,20 @@ class PwTabsComponent extends AppBaseComponent {
|
|
|
1363
1363
|
if (this.withSubscription) {
|
|
1364
1364
|
this.getUserSubscription().subscribe((subscription) => {
|
|
1365
1365
|
this.items.forEach(item => {
|
|
1366
|
-
// prepends the subscription slug to the route
|
|
1367
|
-
|
|
1368
|
-
const originalRoute = item.routerLink[0];
|
|
1369
|
-
item.routerLink = [`/${subscription?.slug}${originalRoute}`];
|
|
1370
|
-
}
|
|
1366
|
+
// prepends the subscription slug to the route
|
|
1367
|
+
item.routerLink = `/${subscription?.slug}${item.routerLink[0]}`;
|
|
1371
1368
|
item.visible = item?.state
|
|
1372
1369
|
? this.permissionService.evaluatePermissions(item.state['permission'], PermissionService.selectedProduct?.feature_key, PermissionService.selectedProduct?.permission_key)
|
|
1373
1370
|
: item.visible;
|
|
1374
1371
|
});
|
|
1375
|
-
this.updateActiveTab();
|
|
1376
1372
|
});
|
|
1377
1373
|
}
|
|
1378
|
-
else {
|
|
1379
|
-
// For non-subscription tabs, update active tab after view init
|
|
1380
|
-
setTimeout(() => this.updateActiveTab(), 0);
|
|
1381
|
-
}
|
|
1382
1374
|
this.routeEventSubscription = this.router.events.subscribe(e => {
|
|
1383
1375
|
if (e instanceof NavigationEnd) {
|
|
1384
|
-
this.
|
|
1376
|
+
this.tabInstance.activeItem = this.items.find(item => item.routerLink === this.router.url);
|
|
1385
1377
|
}
|
|
1386
1378
|
});
|
|
1387
1379
|
}
|
|
1388
|
-
updateActiveTab() {
|
|
1389
|
-
if (!this.tabInstance || !this.items.length) {
|
|
1390
|
-
return;
|
|
1391
|
-
}
|
|
1392
|
-
const currentUrl = this.router.url.split('?')[0];
|
|
1393
|
-
const matchedItem = this.items.find(item => {
|
|
1394
|
-
if (!item.routerLink || !item.visible) {
|
|
1395
|
-
return false;
|
|
1396
|
-
}
|
|
1397
|
-
const routePath = Array.isArray(item.routerLink) ? item.routerLink[0] : item.routerLink;
|
|
1398
|
-
return routePath === currentUrl;
|
|
1399
|
-
});
|
|
1400
|
-
if (matchedItem) {
|
|
1401
|
-
// Clear previous activeItem first to ensure only one tab is active
|
|
1402
|
-
this.tabInstance.activeItem = null;
|
|
1403
|
-
// Then set the new activeItem
|
|
1404
|
-
this.tabInstance.activeItem = matchedItem;
|
|
1405
|
-
}
|
|
1406
|
-
else {
|
|
1407
|
-
// Clear activeItem if no match found
|
|
1408
|
-
this.tabInstance.activeItem = null;
|
|
1409
|
-
}
|
|
1410
|
-
}
|
|
1411
1380
|
ngOnDestroy() {
|
|
1412
1381
|
this.routeEventSubscription.unsubscribe();
|
|
1413
1382
|
}
|