@c8y/ngx-components 1021.78.2 → 1021.78.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"shared-branding.module.d.ts","sourceRoot":"","sources":["../../../branding/shared/shared-branding.module.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EAIL,MAAM,EACP,MAAM,iBAAiB,CAAC;;;AAUzB,eAAO,MAAM,0BAA0B,EAAE,KAAK,EAsB7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAiE9B,CAAC;AAEF,qBAQa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
1
+ {"version":3,"file":"shared-branding.module.d.ts","sourceRoot":"","sources":["../../../branding/shared/shared-branding.module.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EAIL,MAAM,EACP,MAAM,iBAAiB,CAAC;;;AAUzB,eAAO,MAAM,0BAA0B,EAAE,KAAK,EAsB7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAsE9B,CAAC;AAEF,qBAQa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
@@ -1,7 +1,7 @@
1
1
  import { NgModule, inject } from '@angular/core';
2
2
  import { RouterModule } from '@angular/router';
3
3
  import { SupportsBrandingService } from './supports-branding.service';
4
- import { hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';
4
+ import { AppStateService, hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';
5
5
  import { BrandingTabFactory, lightThemeTabName, genericTabName } from './branding-tab.factory';
6
6
  import { StoreBrandingService } from '@c8y/ngx-components/branding/shared/data';
7
7
  import * as i0 from "@angular/core";
@@ -51,6 +51,11 @@ export const BRANDING_ROUTING = [
51
51
  fallbackBranding: (async (_route, _state) => {
52
52
  try {
53
53
  const store = inject(StoreBrandingService);
54
+ const appState = inject(AppStateService);
55
+ // management tenant should be free to change what every they want, so we do not provide a fallback branding
56
+ if (appState.currentTenant.value?.name === 'management') {
57
+ return {};
58
+ }
54
59
  const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');
55
60
  return fallbackBranding;
56
61
  }
@@ -107,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
107
112
  ]
108
113
  }]
109
114
  }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWJyYW5kaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2JyYW5kaW5nL3NoYXJlZC9zaGFyZWQtYnJhbmRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxZQUFZLEVBTWIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEVBR0wsb0JBQW9CLEVBQ3JCLE1BQU0sMENBQTBDLENBQUM7OztBQUVsRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBWTtJQUNqRDtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLE1BQU07UUFDakIsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7UUFDdkYsSUFBSSxFQUFFO1lBQ0osT0FBTyxFQUFFLGNBQWM7U0FDeEI7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztRQUM1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QUFDLGtCQUFrQixDQUFDO1NBQzVCLFlBTFMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQzs7NEZBT3RDLG9CQUFvQjtrQkFSaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ2xELFNBQVMsRUFBRTt3QkFDVCxzSkFBc0o7d0JBQ3RKLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3dCQUM1RixPQUFPLENBQUMsa0JBQWtCLENBQUM7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUm91dGVyTW9kdWxlLFxuICBSb3V0ZSxcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgUmVzb2x2ZUZuLFxuICBSb3V0ZXNcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1cHBvcnRzQnJhbmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9zdXBwb3J0cy1icmFuZGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IGhvb2tOYXZpZ2F0b3IsIEhvb2tQcm92aWRlclR5cGVzLCBob29rVGFiIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCcmFuZGluZ1RhYkZhY3RvcnksIGxpZ2h0VGhlbWVUYWJOYW1lLCBnZW5lcmljVGFiTmFtZSB9IGZyb20gJy4vYnJhbmRpbmctdGFiLmZhY3RvcnknO1xuaW1wb3J0IHtcbiAgQnJhbmRpbmdGaWxlRGV0YWlscyxcbiAgQnJhbmRpbmdPcHRpb25zSnNvbixcbiAgU3RvcmVCcmFuZGluZ1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQvZGF0YSc7XG5cbmV4cG9ydCBjb25zdCBCUkFORElOR19FRElUX0NISUxEX1JPVVRFUzogUm91dGVbXSA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgIHJlZGlyZWN0VG86ICdnZW5lcmljJ1xuICB9LFxuICB7XG4gICAgcGF0aDogJ2dlbmVyaWMnLFxuICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvYnJhbmRpbmcvc2hhcmVkL2xhenknKS50aGVuKG0gPT4gbS5CcmFuZGluZ0Zvcm1Db21wb25lbnQpLFxuICAgIGRhdGE6IHtcbiAgICAgIHRhYk5hbWU6IGdlbmVyaWNUYWJOYW1lXG4gICAgfVxuICB9LFxuICB7XG4gICAgcGF0aDogJ2xpZ2h0JyxcbiAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL2JyYW5kaW5nL3NoYXJlZC9sYXp5JykudGhlbihtID0+IG0uQnJhbmRpbmdUaGVtZUZvcm1Db21wb25lbnQpLFxuICAgIGRhdGE6IHtcbiAgICAgIHRhYk5hbWU6IGxpZ2h0VGhlbWVUYWJOYW1lXG4gICAgfVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgQlJBTkRJTkdfUk9VVElORzogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ2JyYW5kaW5nLWVkaXRvcicsXG4gICAgY2FuQWN0aXZhdGU6IFtTdXBwb3J0c0JyYW5kaW5nU2VydmljZV0sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJycsXG4gICAgICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQvbGF6eScpLnRoZW4obSA9PiBtLkJyYW5kaW5nQ29tcG9uZW50KVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJzpuYW1lJyxcbiAgICAgICAgcmVzb2x2ZToge1xuICAgICAgICAgIGJyYW5kaW5nOiAoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBfc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpbmplY3QoU3RvcmVCcmFuZGluZ1NlcnZpY2UpLmdldEJyYW5kaW5nT3B0aW9uc0ZvclZlcnNpb24ocm91dGUucGFyYW1zLm5hbWUpO1xuICAgICAgICAgIH0pIGFzIFJlc29sdmVGbjxCcmFuZGluZ0ZpbGVEZXRhaWxzW10+LFxuICAgICAgICAgIHRhZ3M6IChhc3luYyAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIF9zdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoU3RvcmVCcmFuZGluZ1NlcnZpY2UpO1xuICAgICAgICAgICAgY29uc3QgeyB2YXJpYW50cyB9ID0gYXdhaXQgc3RvcmUubG9hZEJyYW5kaW5nVmFyaWFudHMoKTtcbiAgICAgICAgICAgIHJldHVybiB2YXJpYW50cy5maW5kKHYgPT4gdj8udGFncz8uaW5jbHVkZXMocm91dGUucGFyYW1zLm5hbWUpKT8udGFncztcbiAgICAgICAgICB9KSBhcyBSZXNvbHZlRm48c3RyaW5nW10+LFxuICAgICAgICAgIGZhbGxiYWNrQnJhbmRpbmc6IChhc3luYyAoXG4gICAgICAgICAgICBfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgICAgICAgICBfc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcbiAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KFN0b3JlQnJhbmRpbmdTZXJ2aWNlKTtcbiAgICAgICAgICAgICAgY29uc3QgZmFsbGJhY2tCcmFuZGluZyA9IGF3YWl0IHN0b3JlLmdldEJyYW5kaW5nT3B0aW9uc0ZvclZlcnNpb24oJ2ZhbGxiYWNrJyk7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxsYmFja0JyYW5kaW5nO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgYXMgUmVzb2x2ZUZuPEJyYW5kaW5nT3B0aW9uc0pzb24+XG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICBwYXRoTWF0Y2g6ICdmdWxsJyxcbiAgICAgICAgICAgIHJlZGlyZWN0VG86ICdlZGl0J1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGF0aDogJ2VkaXQnLFxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL2JyYW5kaW5nL3NoYXJlZC9sYXp5JykudGhlbihcbiAgICAgICAgICAgICAgICBtID0+IG0uRWRpdEJyYW5kaW5nUm91dGVyT3V0bGV0Q29tcG9uZW50XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBjaGlsZHJlbjogQlJBTkRJTkdfRURJVF9DSElMRF9ST1VURVNcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIC8vIFJlZGlyZWN0cyBmb3IgbGVnYWN5IHBhdGhzIGZyb20gb2xkIGFuZ3VsYXJKUyBpbXBsZW1lbnRhdGlvblxuICAvLyBhbGxvd3MgdG8ga2VlcCBvbGQgbGlua3Mgd29ya2luZyBhbmQgdG8gdXNlIHRoZSBvbGQgYnJhbmRpbmcgbWFuYWdlciAoYXMgbG9uZyBhcyB3ZSBzdGlsbCBzaGlwIGl0KSB3aGVuIHRoZSBuZXcgcGx1Z2lucyBhcmUgcmVtb3ZlZCBmcm9tIGFkbWluIGFwcFxuICB7XG4gICAgcGF0aDogJ2VudGVycHJpc2UvYnJhbmRpbmcnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgIHJlZGlyZWN0VG86ICdicmFuZGluZy1lZGl0b3InXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnYnJhbmRpbmcnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgIHJlZGlyZWN0VG86ICdicmFuZGluZy1lZGl0b3InXG4gIH1cbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoQlJBTkRJTkdfUk9VVElORyldLFxuICBwcm92aWRlcnM6IFtcbiAgICAvLyBwcm92aWRlclR5cGU6IEhvb2tQcm92aWRlclR5cGVzLkV4aXN0aW5nUHJvdmlkZXIgaXMgdXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgaG9vayBpcyBvbmx5IGFwcGxpZWQgb25jZSBldmVuIGlmIHRoZSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXNcbiAgICBob29rTmF2aWdhdG9yKFN1cHBvcnRzQnJhbmRpbmdTZXJ2aWNlLCB7IHByb3ZpZGVyVHlwZTogSG9va1Byb3ZpZGVyVHlwZXMuRXhpc3RpbmdQcm92aWRlciB9KSxcbiAgICBob29rVGFiKEJyYW5kaW5nVGFiRmFjdG9yeSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRCcmFuZGluZ01vZHVsZSB7fVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWJyYW5kaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2JyYW5kaW5nL3NoYXJlZC9zaGFyZWQtYnJhbmRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxZQUFZLEVBTWIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUdMLG9CQUFvQixFQUNyQixNQUFNLDBDQUEwQyxDQUFDOzs7QUFFbEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQVk7SUFDakQ7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLFVBQVUsRUFBRSxTQUFTO0tBQ3RCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsU0FBUztRQUNmLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1FBQ3ZGLElBQUksRUFBRTtZQUNKLE9BQU8sRUFBRSxjQUFjO1NBQ3hCO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBC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QUFDO0FBVUYsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixhQU5wQjtZQUNULHNKQUFzSjtZQUN0SixhQUFhLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1RixPQUFPLENBQUMsa0JBQWtCLENBQUM7U0FDNUIsWUFMUyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDOzs0RkFPdEMsb0JBQW9CO2tCQVJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDbEQsU0FBUyxFQUFFO3dCQUNULHNKQUFzSjt3QkFDdEosYUFBYSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLENBQUM7d0JBQzVGLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBSb3V0ZXJNb2R1bGUsXG4gIFJvdXRlLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSZXNvbHZlRm4sXG4gIFJvdXRlc1xufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3VwcG9ydHNCcmFuZGluZ1NlcnZpY2UgfSBmcm9tICcuL3N1cHBvcnRzLWJyYW5kaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBob29rTmF2aWdhdG9yLCBIb29rUHJvdmlkZXJUeXBlcywgaG9va1RhYiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQnJhbmRpbmdUYWJGYWN0b3J5LCBsaWdodFRoZW1lVGFiTmFtZSwgZ2VuZXJpY1RhYk5hbWUgfSBmcm9tICcuL2JyYW5kaW5nLXRhYi5mYWN0b3J5JztcbmltcG9ydCB7XG4gIEJyYW5kaW5nRmlsZURldGFpbHMsXG4gIEJyYW5kaW5nT3B0aW9uc0pzb24sXG4gIFN0b3JlQnJhbmRpbmdTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYnJhbmRpbmcvc2hhcmVkL2RhdGEnO1xuXG5leHBvcnQgY29uc3QgQlJBTkRJTkdfRURJVF9DSElMRF9ST1VURVM6IFJvdXRlW10gPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBwYXRoTWF0Y2g6ICdmdWxsJyxcbiAgICByZWRpcmVjdFRvOiAnZ2VuZXJpYydcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdnZW5lcmljJyxcbiAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL2JyYW5kaW5nL3NoYXJlZC9sYXp5JykudGhlbihtID0+IG0uQnJhbmRpbmdGb3JtQ29tcG9uZW50KSxcbiAgICBkYXRhOiB7XG4gICAgICB0YWJOYW1lOiBnZW5lcmljVGFiTmFtZVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICdsaWdodCcsXG4gICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQvbGF6eScpLnRoZW4obSA9PiBtLkJyYW5kaW5nVGhlbWVGb3JtQ29tcG9uZW50KSxcbiAgICBkYXRhOiB7XG4gICAgICB0YWJOYW1lOiBsaWdodFRoZW1lVGFiTmFtZVxuICAgIH1cbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IEJSQU5ESU5HX1JPVVRJTkc6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICdicmFuZGluZy1lZGl0b3InLFxuICAgIGNhbkFjdGl2YXRlOiBbU3VwcG9ydHNCcmFuZGluZ1NlcnZpY2VdLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBwYXRoTWF0Y2g6ICdmdWxsJyxcbiAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICBpbXBvcnQoJ0BjOHkvbmd4LWNvbXBvbmVudHMvYnJhbmRpbmcvc2hhcmVkL2xhenknKS50aGVuKG0gPT4gbS5CcmFuZGluZ0NvbXBvbmVudClcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICc6bmFtZScsXG4gICAgICAgIHJlc29sdmU6IHtcbiAgICAgICAgICBicmFuZGluZzogKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgX3N0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaW5qZWN0KFN0b3JlQnJhbmRpbmdTZXJ2aWNlKS5nZXRCcmFuZGluZ09wdGlvbnNGb3JWZXJzaW9uKHJvdXRlLnBhcmFtcy5uYW1lKTtcbiAgICAgICAgICB9KSBhcyBSZXNvbHZlRm48QnJhbmRpbmdGaWxlRGV0YWlsc1tdPixcbiAgICAgICAgICB0YWdzOiAoYXN5bmMgKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBfc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KFN0b3JlQnJhbmRpbmdTZXJ2aWNlKTtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFyaWFudHMgfSA9IGF3YWl0IHN0b3JlLmxvYWRCcmFuZGluZ1ZhcmlhbnRzKCk7XG4gICAgICAgICAgICByZXR1cm4gdmFyaWFudHMuZmluZCh2ID0+IHY/LnRhZ3M/LmluY2x1ZGVzKHJvdXRlLnBhcmFtcy5uYW1lKSk/LnRhZ3M7XG4gICAgICAgICAgfSkgYXMgUmVzb2x2ZUZuPHN0cmluZ1tdPixcbiAgICAgICAgICBmYWxsYmFja0JyYW5kaW5nOiAoYXN5bmMgKFxuICAgICAgICAgICAgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgICAgICAgICAgX3N0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4gICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBzdG9yZSA9IGluamVjdChTdG9yZUJyYW5kaW5nU2VydmljZSk7XG4gICAgICAgICAgICAgIGNvbnN0IGFwcFN0YXRlID0gaW5qZWN0KEFwcFN0YXRlU2VydmljZSk7XG4gICAgICAgICAgICAgIC8vIG1hbmFnZW1lbnQgdGVuYW50IHNob3VsZCBiZSBmcmVlIHRvIGNoYW5nZSB3aGF0IGV2ZXJ5IHRoZXkgd2FudCwgc28gd2UgZG8gbm90IHByb3ZpZGUgYSBmYWxsYmFjayBicmFuZGluZ1xuICAgICAgICAgICAgICBpZiAoYXBwU3RhdGUuY3VycmVudFRlbmFudC52YWx1ZT8ubmFtZSA9PT0gJ21hbmFnZW1lbnQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrQnJhbmRpbmcgPSBhd2FpdCBzdG9yZS5nZXRCcmFuZGluZ09wdGlvbnNGb3JWZXJzaW9uKCdmYWxsYmFjaycpO1xuICAgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2tCcmFuZGluZztcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIGFzIFJlc29sdmVGbjxCcmFuZGluZ09wdGlvbnNKc29uPlxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgcGF0aE1hdGNoOiAnZnVsbCcsXG4gICAgICAgICAgICByZWRpcmVjdFRvOiAnZWRpdCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhdGg6ICdlZGl0JyxcbiAgICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQvbGF6eScpLnRoZW4oXG4gICAgICAgICAgICAgICAgbSA9PiBtLkVkaXRCcmFuZGluZ1JvdXRlck91dGxldENvbXBvbmVudFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgY2hpbGRyZW46IEJSQU5ESU5HX0VESVRfQ0hJTERfUk9VVEVTXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9LFxuICAvLyBSZWRpcmVjdHMgZm9yIGxlZ2FjeSBwYXRocyBmcm9tIG9sZCBhbmd1bGFySlMgaW1wbGVtZW50YXRpb25cbiAgLy8gYWxsb3dzIHRvIGtlZXAgb2xkIGxpbmtzIHdvcmtpbmcgYW5kIHRvIHVzZSB0aGUgb2xkIGJyYW5kaW5nIG1hbmFnZXIgKGFzIGxvbmcgYXMgd2Ugc3RpbGwgc2hpcCBpdCkgd2hlbiB0aGUgbmV3IHBsdWdpbnMgYXJlIHJlbW92ZWQgZnJvbSBhZG1pbiBhcHBcbiAge1xuICAgIHBhdGg6ICdlbnRlcnByaXNlL2JyYW5kaW5nJyxcbiAgICBwYXRoTWF0Y2g6ICdmdWxsJyxcbiAgICByZWRpcmVjdFRvOiAnYnJhbmRpbmctZWRpdG9yJ1xuICB9LFxuICB7XG4gICAgcGF0aDogJ2JyYW5kaW5nJyxcbiAgICBwYXRoTWF0Y2g6ICdmdWxsJyxcbiAgICByZWRpcmVjdFRvOiAnYnJhbmRpbmctZWRpdG9yJ1xuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKEJSQU5ESU5HX1JPVVRJTkcpXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gcHJvdmlkZXJUeXBlOiBIb29rUHJvdmlkZXJUeXBlcy5FeGlzdGluZ1Byb3ZpZGVyIGlzIHVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGhvb2sgaXMgb25seSBhcHBsaWVkIG9uY2UgZXZlbiBpZiB0aGUgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzXG4gICAgaG9va05hdmlnYXRvcihTdXBwb3J0c0JyYW5kaW5nU2VydmljZSwgeyBwcm92aWRlclR5cGU6IEhvb2tQcm92aWRlclR5cGVzLkV4aXN0aW5nUHJvdmlkZXIgfSksXG4gICAgaG9va1RhYihCcmFuZGluZ1RhYkZhY3RvcnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkQnJhbmRpbmdNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { ApplicationService } from '@c8y/client';
3
+ import { MESSAGING_MANAGEMENT_FEATURE_KEY, MESSAGING_MANAGEMENT_MICROSERVICE_NAME } from './constants';
4
+ import * as i0 from "@angular/core";
5
+ export class MessagingManagementPreviewFactory {
6
+ constructor() {
7
+ this.applicationService = inject(ApplicationService);
8
+ }
9
+ async get() {
10
+ const microserviceSubscribed = await this.applicationService
11
+ .isAvailable(MESSAGING_MANAGEMENT_MICROSERVICE_NAME)
12
+ .then(({ data: subscribed }) => subscribed)
13
+ .catch(() => false);
14
+ if (!microserviceSubscribed) {
15
+ return null;
16
+ }
17
+ return {
18
+ key: MESSAGING_MANAGEMENT_FEATURE_KEY,
19
+ label: 'Messaging service - monitoring & management',
20
+ description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
21
+ settings: {
22
+ reload: true
23
+ }
24
+ };
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementPreviewFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementPreviewFactory, providedIn: 'root' }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementPreviewFactory, decorators: [{
30
+ type: Injectable,
31
+ args: [{ providedIn: 'root' }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnaW5nLW1hbmFnZW1lbnQtcHJldmlldy5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbWVzc2FnaW5nLW1hbmFnZW1lbnQvbWVzc2FnaW5nLW1hbmFnZW1lbnQtcHJldmlldy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHNDQUFzQyxFQUN2QyxNQUFNLGFBQWEsQ0FBQzs7QUFHckIsTUFBTSxPQUFPLGlDQUFpQztJQUQ5QztRQUVtQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQXNCbEU7SUFwQkMsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQjthQUN6RCxXQUFXLENBQUMsc0NBQXNDLENBQUM7YUFDbkQsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQzthQUMxQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsRUFBRSxnQ0FBZ0M7WUFDckMsS0FBSyxFQUFFLDZDQUE2QztZQUNwRCxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQ2hCLE1BQU0sQ0FBQywyREFBMkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDMUYsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2FBQ2I7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0F0QlUsaUNBQWlDO21IQUFqQyxpQ0FBaUMsY0FEcEIsTUFBTTs7NEZBQ25CLGlDQUFpQztrQkFEN0MsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJldGFGZWF0dXJlLCBFeHRlbnNpb25GYWN0b3J5IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBNRVNTQUdJTkdfTUFOQUdFTUVOVF9GRUFUVVJFX0tFWSxcbiAgTUVTU0FHSU5HX01BTkFHRU1FTlRfTUlDUk9TRVJWSUNFX05BTUVcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2luZ01hbmFnZW1lbnRQcmV2aWV3RmFjdG9yeSBpbXBsZW1lbnRzIEV4dGVuc2lvbkZhY3Rvcnk8QmV0YUZlYXR1cmU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBsaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXBwbGljYXRpb25TZXJ2aWNlKTtcblxuICBhc3luYyBnZXQoKSB7XG4gICAgY29uc3QgbWljcm9zZXJ2aWNlU3Vic2NyaWJlZCA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlXG4gICAgICAuaXNBdmFpbGFibGUoTUVTU0FHSU5HX01BTkFHRU1FTlRfTUlDUk9TRVJWSUNFX05BTUUpXG4gICAgICAudGhlbigoeyBkYXRhOiBzdWJzY3JpYmVkIH0pID0+IHN1YnNjcmliZWQpXG4gICAgICAuY2F0Y2goKCkgPT4gZmFsc2UpO1xuXG4gICAgaWYgKCFtaWNyb3NlcnZpY2VTdWJzY3JpYmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBNRVNTQUdJTkdfTUFOQUdFTUVOVF9GRUFUVVJFX0tFWSxcbiAgICAgIGxhYmVsOiAnTWVzc2FnaW5nIHNlcnZpY2UgLSBtb25pdG9yaW5nICYgbWFuYWdlbWVudCcsXG4gICAgICBkZXNjcmlwdGlvbjogKCkgPT5cbiAgICAgICAgaW1wb3J0KCdAYzh5L3N0eWxlL21hcmtkb3duLWZpbGVzL21lc3NhZ2luZy1tYW5hZ2VtZW50LXByZXZpZXcubWQnKS50aGVuKG0gPT4gbS5kZWZhdWx0KSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHJlbG9hZDogdHJ1ZVxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -5,8 +5,9 @@ import { NamespaceListComponent } from './messaging/namespace-list/namespace-lis
5
5
  import { TopicListViewComponent } from './messaging/topic/topic-list-view.component';
6
6
  import { TopicSubscribersViewComponent } from './messaging/topic/topic-subscribers-view/topic-subscribers-view.component';
7
7
  import { TopicDetailsTabFactory } from './navigator/topic-details-tab.factory';
8
- import { basePath, MESSAGING_MANAGEMENT_FEATURE_KEY } from './constants';
8
+ import { basePath } from './constants';
9
9
  import { MessagingManagementGuard } from './messaging-management.guard';
10
+ import { MessagingManagementPreviewFactory } from './messaging-management-preview.factory';
10
11
  import * as i0 from "@angular/core";
11
12
  export class MessagingManagementModule {
12
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -36,14 +37,7 @@ export class MessagingManagementModule {
36
37
  ]),
37
38
  hookTab(TopicDetailsTabFactory),
38
39
  hookNavigator(MessagingNavigatorNodeFactory),
39
- hookPreview({
40
- key: MESSAGING_MANAGEMENT_FEATURE_KEY,
41
- label: 'Messaging service - monitoring & management',
42
- description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
43
- settings: {
44
- reload: true
45
- }
46
- })
40
+ hookPreview(MessagingManagementPreviewFactory)
47
41
  ] }); }
48
42
  }
49
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementModule, decorators: [{
@@ -74,15 +68,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
74
68
  ]),
75
69
  hookTab(TopicDetailsTabFactory),
76
70
  hookNavigator(MessagingNavigatorNodeFactory),
77
- hookPreview({
78
- key: MESSAGING_MANAGEMENT_FEATURE_KEY,
79
- label: 'Messaging service - monitoring & management',
80
- description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
81
- settings: {
82
- reload: true
83
- }
84
- })
71
+ hookPreview(MessagingManagementPreviewFactory)
85
72
  ]
86
73
  }]
87
74
  }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnaW5nLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbWVzc2FnaW5nLW1hbmFnZW1lbnQvbWVzc2FnaW5nLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQzFILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBdUN4RSxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGFBcEN6QjtZQUNULFNBQVMsQ0FBQztnQkFDUjtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUsc0JBQXNCO29CQUNqQyxXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDeEM7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyx1QkFBdUI7b0JBQ3hDLFNBQVMsRUFBRSxzQkFBc0I7b0JBQ2pDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN4QztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxHQUFHLG9DQUFvQztvQkFDckQsVUFBVSxFQUFFLFFBQVEsR0FBRyxnREFBZ0Q7b0JBQ3ZFLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxHQUFHLGdEQUFnRDtvQkFDakUsU0FBUyxFQUFFLDZCQUE2QjtvQkFDeEMsV0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3hDO2FBQ0YsQ0FBQztZQUNGLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztZQUMvQixhQUFhLENBQUMsNkJBQTZCLENBQUM7WUFDNUMsV0FBVyxDQUFDO2dCQUNWLEdBQUcsRUFBRSxnQ0FBZ0M7Z0JBQ3JDLEtBQUssRUFBRSw2Q0FBNkM7Z0JBQ3BELFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FDaEIsTUFBTSxDQUFDLDJEQUEyRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDMUYsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxJQUFJO2lCQUNiO2FBQ0YsQ0FBQztTQUNIOzs0RkFFVSx5QkFBeUI7a0JBckNyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxTQUFTLENBQUM7NEJBQ1I7Z0NBQ0UsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsU0FBUyxFQUFFLHNCQUFzQjtnQ0FDakMsV0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUM7NkJBQ3hDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxRQUFRLEdBQUcsdUJBQXVCO2dDQUN4QyxTQUFTLEVBQUUsc0JBQXNCO2dDQUNqQyxXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzs2QkFDeEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyxvQ0FBb0M7Z0NBQ3JELFVBQVUsRUFBRSxRQUFRLEdBQUcsZ0RBQWdEO2dDQUN2RSxTQUFTLEVBQUUsTUFBTTs2QkFDbEI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyxnREFBZ0Q7Z0NBQ2pFLFNBQVMsRUFBRSw2QkFBNkI7Z0NBQ3hDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDOzZCQUN4Qzt5QkFDRixDQUFDO3dCQUNGLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDL0IsYUFBYSxDQUFDLDZCQUE2QixDQUFDO3dCQUM1QyxXQUFXLENBQUM7NEJBQ1YsR0FBRyxFQUFFLGdDQUFnQzs0QkFDckMsS0FBSyxFQUFFLDZDQUE2Qzs0QkFDcEQsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUNoQixNQUFNLENBQUMsMkRBQTJELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzRCQUMxRixRQUFRLEVBQUU7Z0NBQ1IsTUFBTSxFQUFFLElBQUk7NkJBQ2I7eUJBQ0YsQ0FBQztxQkFDSDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBob29rTmF2aWdhdG9yLCBob29rUHJldmlldywgaG9va1JvdXRlLCBob29rVGFiIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNZXNzYWdpbmdOYXZpZ2F0b3JOb2RlRmFjdG9yeSB9IGZyb20gJy4vbmF2aWdhdG9yL21lc3NhZ2luZy1uYXZpZ2F0b3ItZmFjdG9yeSc7XG5pbXBvcnQgeyBOYW1lc3BhY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdpbmcvbmFtZXNwYWNlLWxpc3QvbmFtZXNwYWNlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRvcGljTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2luZy90b3BpYy90b3BpYy1saXN0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFRvcGljU3Vic2NyaWJlcnNWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdpbmcvdG9waWMvdG9waWMtc3Vic2NyaWJlcnMtdmlldy90b3BpYy1zdWJzY3JpYmVycy12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb3BpY0RldGFpbHNUYWJGYWN0b3J5IH0gZnJvbSAnLi9uYXZpZ2F0b3IvdG9waWMtZGV0YWlscy10YWIuZmFjdG9yeSc7XG5pbXBvcnQgeyBiYXNlUGF0aCwgTUVTU0FHSU5HX01BTkFHRU1FTlRfRkVBVFVSRV9LRVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBNZXNzYWdpbmdNYW5hZ2VtZW50R3VhcmQgfSBmcm9tICcuL21lc3NhZ2luZy1tYW5hZ2VtZW50Lmd1YXJkJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgaG9va1JvdXRlKFtcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGgsXG4gICAgICAgIGNvbXBvbmVudDogTmFtZXNwYWNlTGlzdENvbXBvbmVudCxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtNZXNzYWdpbmdNYW5hZ2VtZW50R3VhcmRdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBiYXNlUGF0aCArICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UnLFxuICAgICAgICBjb21wb25lbnQ6IFRvcGljTGlzdFZpZXdDb21wb25lbnQsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbTWVzc2FnaW5nTWFuYWdlbWVudEd1YXJkXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGggKyAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3RvcGljLzp0b3BpYycsXG4gICAgICAgIHJlZGlyZWN0VG86IGJhc2VQYXRoICsgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS90b3BpYy86dG9waWMvc3Vic2NyaWJlcnMnLFxuICAgICAgICBwYXRoTWF0Y2g6ICdmdWxsJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGggKyAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3RvcGljLzp0b3BpYy9zdWJzY3JpYmVycycsXG4gICAgICAgIGNvbXBvbmVudDogVG9waWNTdWJzY3JpYmVyc1ZpZXdDb21wb25lbnQsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbTWVzc2FnaW5nTWFuYWdlbWVudEd1YXJkXVxuICAgICAgfVxuICAgIF0pLFxuICAgIGhvb2tUYWIoVG9waWNEZXRhaWxzVGFiRmFjdG9yeSksXG4gICAgaG9va05hdmlnYXRvcihNZXNzYWdpbmdOYXZpZ2F0b3JOb2RlRmFjdG9yeSksXG4gICAgaG9va1ByZXZpZXcoe1xuICAgICAga2V5OiBNRVNTQUdJTkdfTUFOQUdFTUVOVF9GRUFUVVJFX0tFWSxcbiAgICAgIGxhYmVsOiAnTWVzc2FnaW5nIHNlcnZpY2UgLSBtb25pdG9yaW5nICYgbWFuYWdlbWVudCcsXG4gICAgICBkZXNjcmlwdGlvbjogKCkgPT5cbiAgICAgICAgaW1wb3J0KCdAYzh5L3N0eWxlL21hcmtkb3duLWZpbGVzL21lc3NhZ2luZy1tYW5hZ2VtZW50LXByZXZpZXcubWQnKS50aGVuKG0gPT4gbS5kZWZhdWx0KSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHJlbG9hZDogdHJ1ZVxuICAgICAgfVxuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnaW5nTWFuYWdlbWVudE1vZHVsZSB7fVxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnaW5nLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbWVzc2FnaW5nLW1hbmFnZW1lbnQvbWVzc2FnaW5nLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQzFILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBK0IzRixNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGFBNUJ6QjtZQUNULFNBQVMsQ0FBQztnQkFDUjtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUsc0JBQXNCO29CQUNqQyxXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDeEM7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyx1QkFBdUI7b0JBQ3hDLFNBQVMsRUFBRSxzQkFBc0I7b0JBQ2pDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN4QztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxHQUFHLG9DQUFvQztvQkFDckQsVUFBVSxFQUFFLFFBQVEsR0FBRyxnREFBZ0Q7b0JBQ3ZFLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxHQUFHLGdEQUFnRDtvQkFDakUsU0FBUyxFQUFFLDZCQUE2QjtvQkFDeEMsV0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3hDO2FBQ0YsQ0FBQztZQUNGLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztZQUMvQixhQUFhLENBQUMsNkJBQTZCLENBQUM7WUFDNUMsV0FBVyxDQUFDLGlDQUFpQyxDQUFDO1NBQy9DOzs0RkFFVSx5QkFBeUI7a0JBN0JyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxTQUFTLENBQUM7NEJBQ1I7Z0NBQ0UsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsU0FBUyxFQUFFLHNCQUFzQjtnQ0FDakMsV0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUM7NkJBQ3hDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxRQUFRLEdBQUcsdUJBQXVCO2dDQUN4QyxTQUFTLEVBQUUsc0JBQXNCO2dDQUNqQyxXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzs2QkFDeEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyxvQ0FBb0M7Z0NBQ3JELFVBQVUsRUFBRSxRQUFRLEdBQUcsZ0RBQWdEO2dDQUN2RSxTQUFTLEVBQUUsTUFBTTs2QkFDbEI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyxnREFBZ0Q7Z0NBQ2pFLFNBQVMsRUFBRSw2QkFBNkI7Z0NBQ3hDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDOzZCQUN4Qzt5QkFDRixDQUFDO3dCQUNGLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDL0IsYUFBYSxDQUFDLDZCQUE2QixDQUFDO3dCQUM1QyxXQUFXLENBQUMsaUNBQWlDLENBQUM7cUJBQy9DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhvb2tOYXZpZ2F0b3IsIGhvb2tQcmV2aWV3LCBob29rUm91dGUsIGhvb2tUYWIgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IE1lc3NhZ2luZ05hdmlnYXRvck5vZGVGYWN0b3J5IH0gZnJvbSAnLi9uYXZpZ2F0b3IvbWVzc2FnaW5nLW5hdmlnYXRvci1mYWN0b3J5JztcbmltcG9ydCB7IE5hbWVzcGFjZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2luZy9uYW1lc3BhY2UtbGlzdC9uYW1lc3BhY2UtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9waWNMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnaW5nL3RvcGljL3RvcGljLWxpc3Qtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9waWNTdWJzY3JpYmVyc1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2luZy90b3BpYy90b3BpYy1zdWJzY3JpYmVycy12aWV3L3RvcGljLXN1YnNjcmliZXJzLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFRvcGljRGV0YWlsc1RhYkZhY3RvcnkgfSBmcm9tICcuL25hdmlnYXRvci90b3BpYy1kZXRhaWxzLXRhYi5mYWN0b3J5JztcbmltcG9ydCB7IGJhc2VQYXRoIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWVzc2FnaW5nTWFuYWdlbWVudEd1YXJkIH0gZnJvbSAnLi9tZXNzYWdpbmctbWFuYWdlbWVudC5ndWFyZCc7XG5pbXBvcnQgeyBNZXNzYWdpbmdNYW5hZ2VtZW50UHJldmlld0ZhY3RvcnkgfSBmcm9tICcuL21lc3NhZ2luZy1tYW5hZ2VtZW50LXByZXZpZXcuZmFjdG9yeSc7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIGhvb2tSb3V0ZShbXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGJhc2VQYXRoLFxuICAgICAgICBjb21wb25lbnQ6IE5hbWVzcGFjZUxpc3RDb21wb25lbnQsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbTWVzc2FnaW5nTWFuYWdlbWVudEd1YXJkXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGggKyAnL25hbWVzcGFjZS86bmFtZXNwYWNlJyxcbiAgICAgICAgY29tcG9uZW50OiBUb3BpY0xpc3RWaWV3Q29tcG9uZW50LFxuICAgICAgICBjYW5BY3RpdmF0ZTogW01lc3NhZ2luZ01hbmFnZW1lbnRHdWFyZF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGJhc2VQYXRoICsgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS90b3BpYy86dG9waWMnLFxuICAgICAgICByZWRpcmVjdFRvOiBiYXNlUGF0aCArICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UvdG9waWMvOnRvcGljL3N1YnNjcmliZXJzJyxcbiAgICAgICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGJhc2VQYXRoICsgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS90b3BpYy86dG9waWMvc3Vic2NyaWJlcnMnLFxuICAgICAgICBjb21wb25lbnQ6IFRvcGljU3Vic2NyaWJlcnNWaWV3Q29tcG9uZW50LFxuICAgICAgICBjYW5BY3RpdmF0ZTogW01lc3NhZ2luZ01hbmFnZW1lbnRHdWFyZF1cbiAgICAgIH1cbiAgICBdKSxcbiAgICBob29rVGFiKFRvcGljRGV0YWlsc1RhYkZhY3RvcnkpLFxuICAgIGhvb2tOYXZpZ2F0b3IoTWVzc2FnaW5nTmF2aWdhdG9yTm9kZUZhY3RvcnkpLFxuICAgIGhvb2tQcmV2aWV3KE1lc3NhZ2luZ01hbmFnZW1lbnRQcmV2aWV3RmFjdG9yeSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdpbmdNYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0=
@@ -3,7 +3,7 @@ import { Injectable, inject, NgModule } from '@angular/core';
3
3
  import * as i1$1 from '@angular/router';
4
4
  import { RouterModule } from '@angular/router';
5
5
  import * as i1 from '@c8y/ngx-components';
6
- import { NavigatorNode, gettext, hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';
6
+ import { NavigatorNode, gettext, AppStateService, hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';
7
7
  import { map, shareReplay, distinctUntilChanged, switchMap, filter } from 'rxjs/operators';
8
8
  import { of, merge } from 'rxjs';
9
9
  import { StoreBrandingService } from '@c8y/ngx-components/branding/shared/data';
@@ -133,6 +133,11 @@ const BRANDING_ROUTING = [
133
133
  fallbackBranding: (async (_route, _state) => {
134
134
  try {
135
135
  const store = inject(StoreBrandingService);
136
+ const appState = inject(AppStateService);
137
+ // management tenant should be free to change what every they want, so we do not provide a fallback branding
138
+ if (appState.currentTenant.value?.name === 'management') {
139
+ return {};
140
+ }
136
141
  const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');
137
142
  return fallbackBranding;
138
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-branding-shared.mjs","sources":["../../branding/shared/supports-branding.service.ts","../../branding/shared/branding-tab.factory.ts","../../branding/shared/shared-branding.module.ts","../../branding/shared/c8y-ngx-components-branding-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { AppStateService, ExtensionFactory, NavigatorNode } from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class SupportsBrandingService implements CanActivate, ExtensionFactory<NavigatorNode> {\n private supportsBranding$: Observable<boolean>;\n private node: NavigatorNode;\n constructor(private appState: AppStateService) {\n this.supportsBranding$ = this.appState.currentAppsOfUser.pipe(\n map(apps => {\n const brandingFeatureApp = apps.find(\n app => app.name === 'feature-branding' && app.owner?.tenant?.id === 'management'\n );\n return !!brandingFeatureApp;\n }),\n shareReplay(1)\n );\n this.node = new NavigatorNode({\n featureId: 'branding-editor',\n label: 'Branding',\n // will be redirected to the branding-editor route\n // TODO: change back to branding-editor when angular JS implementation is removed (1022.0.0)\n path: 'branding',\n icon: 'palette',\n parent: 'Settings',\n routerLinkExact: false,\n preventDuplicates: true\n });\n }\n\n get(): Observable<NavigatorNode | NavigatorNode[]> {\n return this.supportsBranding$.pipe(\n map(supported => {\n if (supported) {\n return this.node;\n }\n return [];\n })\n );\n }\n\n canActivate(): boolean | UrlTree | Observable<boolean | UrlTree> | Promise<boolean | UrlTree> {\n return this.supportsBranding$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ExtensionFactory, Tab, gettext } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { distinctUntilChanged, map, filter, switchMap } from 'rxjs/operators';\n\nexport const lightThemeTabName = gettext('Light theme');\nexport const genericTabName = gettext('Generic');\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingTabFactory implements ExtensionFactory<Tab> {\n get(activatedRoute?: ActivatedRoute): Observable<Tab | Tab[]> {\n const routes = activatedRoute.pathFromRoot.map(route => route.url);\n return this.shouldShowTab$().pipe(\n distinctUntilChanged(),\n switchMap(value => {\n if (!value) {\n return of([]);\n }\n return merge(...routes).pipe(\n filter(urlSegments =>\n urlSegments.some(urlSegment => urlSegment.path === 'branding-editor')\n ),\n switchMap(() => this.shouldShowTab$()),\n filter(shouldShow => !!shouldShow),\n switchMap(() =>\n activatedRoute.parent?.params.pipe(\n map(params => params.name),\n distinctUntilChanged(),\n filter(name => !!name),\n map(name => this.getTabsForVersion(name))\n )\n )\n );\n })\n );\n }\n\n protected shouldShowTab$(): Observable<boolean> {\n return of(true);\n }\n\n protected getPathForBranding<T extends string>(brandingName: string, subPath: T) {\n return `branding-editor/${brandingName}/edit/${subPath}` as const;\n }\n\n protected getTabsForVersion(name: string): Tab[] {\n return [\n {\n path: this.getPathForBranding(name, 'generic'),\n label: genericTabName,\n icon: 'palette',\n priority: 600\n },\n {\n path: this.getPathForBranding(name, 'light'),\n label: lightThemeTabName,\n icon: 'sun',\n priority: 500\n }\n ];\n }\n}\n","import { NgModule, inject } from '@angular/core';\nimport {\n RouterModule,\n Route,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n ResolveFn,\n Routes\n} from '@angular/router';\nimport { SupportsBrandingService } from './supports-branding.service';\nimport { hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';\nimport { BrandingTabFactory, lightThemeTabName, genericTabName } from './branding-tab.factory';\nimport {\n BrandingFileDetails,\n BrandingOptionsJson,\n StoreBrandingService\n} from '@c8y/ngx-components/branding/shared/data';\n\nexport const BRANDING_EDIT_CHILD_ROUTES: Route[] = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'generic'\n },\n {\n path: 'generic',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingFormComponent),\n data: {\n tabName: genericTabName\n }\n },\n {\n path: 'light',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingThemeFormComponent),\n data: {\n tabName: lightThemeTabName\n }\n }\n];\n\nexport const BRANDING_ROUTING: Routes = [\n {\n path: 'branding-editor',\n canActivate: [SupportsBrandingService],\n children: [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingComponent)\n },\n {\n path: ':name',\n resolve: {\n branding: ((route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n return inject(StoreBrandingService).getBrandingOptionsForVersion(route.params.name);\n }) as ResolveFn<BrandingFileDetails[]>,\n tags: (async (route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n const store = inject(StoreBrandingService);\n const { variants } = await store.loadBrandingVariants();\n return variants.find(v => v?.tags?.includes(route.params.name))?.tags;\n }) as ResolveFn<string[]>,\n fallbackBranding: (async (\n _route: ActivatedRouteSnapshot,\n _state: RouterStateSnapshot\n ) => {\n try {\n const store = inject(StoreBrandingService);\n const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');\n return fallbackBranding;\n } catch (e) {\n return {};\n }\n }) as ResolveFn<BrandingOptionsJson>\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'edit'\n },\n {\n path: 'edit',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(\n m => m.EditBrandingRouterOutletComponent\n ),\n children: BRANDING_EDIT_CHILD_ROUTES\n }\n ]\n }\n ]\n },\n // Redirects for legacy paths from old angularJS implementation\n // allows to keep old links working and to use the old branding manager (as long as we still ship it) when the new plugins are removed from admin app\n {\n path: 'enterprise/branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n },\n {\n path: 'branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(BRANDING_ROUTING)],\n providers: [\n // providerType: HookProviderTypes.ExistingProvider is used to ensure that the hook is only applied once even if the module is imported multiple times\n hookNavigator(SupportsBrandingService, { providerType: HookProviderTypes.ExistingProvider }),\n hookTab(BrandingTabFactory)\n ]\n})\nexport class SharedBrandingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-branding-shared.mjs","sources":["../../branding/shared/supports-branding.service.ts","../../branding/shared/branding-tab.factory.ts","../../branding/shared/shared-branding.module.ts","../../branding/shared/c8y-ngx-components-branding-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { AppStateService, ExtensionFactory, NavigatorNode } from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class SupportsBrandingService implements CanActivate, ExtensionFactory<NavigatorNode> {\n private supportsBranding$: Observable<boolean>;\n private node: NavigatorNode;\n constructor(private appState: AppStateService) {\n this.supportsBranding$ = this.appState.currentAppsOfUser.pipe(\n map(apps => {\n const brandingFeatureApp = apps.find(\n app => app.name === 'feature-branding' && app.owner?.tenant?.id === 'management'\n );\n return !!brandingFeatureApp;\n }),\n shareReplay(1)\n );\n this.node = new NavigatorNode({\n featureId: 'branding-editor',\n label: 'Branding',\n // will be redirected to the branding-editor route\n // TODO: change back to branding-editor when angular JS implementation is removed (1022.0.0)\n path: 'branding',\n icon: 'palette',\n parent: 'Settings',\n routerLinkExact: false,\n preventDuplicates: true\n });\n }\n\n get(): Observable<NavigatorNode | NavigatorNode[]> {\n return this.supportsBranding$.pipe(\n map(supported => {\n if (supported) {\n return this.node;\n }\n return [];\n })\n );\n }\n\n canActivate(): boolean | UrlTree | Observable<boolean | UrlTree> | Promise<boolean | UrlTree> {\n return this.supportsBranding$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ExtensionFactory, Tab, gettext } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { distinctUntilChanged, map, filter, switchMap } from 'rxjs/operators';\n\nexport const lightThemeTabName = gettext('Light theme');\nexport const genericTabName = gettext('Generic');\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingTabFactory implements ExtensionFactory<Tab> {\n get(activatedRoute?: ActivatedRoute): Observable<Tab | Tab[]> {\n const routes = activatedRoute.pathFromRoot.map(route => route.url);\n return this.shouldShowTab$().pipe(\n distinctUntilChanged(),\n switchMap(value => {\n if (!value) {\n return of([]);\n }\n return merge(...routes).pipe(\n filter(urlSegments =>\n urlSegments.some(urlSegment => urlSegment.path === 'branding-editor')\n ),\n switchMap(() => this.shouldShowTab$()),\n filter(shouldShow => !!shouldShow),\n switchMap(() =>\n activatedRoute.parent?.params.pipe(\n map(params => params.name),\n distinctUntilChanged(),\n filter(name => !!name),\n map(name => this.getTabsForVersion(name))\n )\n )\n );\n })\n );\n }\n\n protected shouldShowTab$(): Observable<boolean> {\n return of(true);\n }\n\n protected getPathForBranding<T extends string>(brandingName: string, subPath: T) {\n return `branding-editor/${brandingName}/edit/${subPath}` as const;\n }\n\n protected getTabsForVersion(name: string): Tab[] {\n return [\n {\n path: this.getPathForBranding(name, 'generic'),\n label: genericTabName,\n icon: 'palette',\n priority: 600\n },\n {\n path: this.getPathForBranding(name, 'light'),\n label: lightThemeTabName,\n icon: 'sun',\n priority: 500\n }\n ];\n }\n}\n","import { NgModule, inject } from '@angular/core';\nimport {\n RouterModule,\n Route,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n ResolveFn,\n Routes\n} from '@angular/router';\nimport { SupportsBrandingService } from './supports-branding.service';\nimport { AppStateService, hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';\nimport { BrandingTabFactory, lightThemeTabName, genericTabName } from './branding-tab.factory';\nimport {\n BrandingFileDetails,\n BrandingOptionsJson,\n StoreBrandingService\n} from '@c8y/ngx-components/branding/shared/data';\n\nexport const BRANDING_EDIT_CHILD_ROUTES: Route[] = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'generic'\n },\n {\n path: 'generic',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingFormComponent),\n data: {\n tabName: genericTabName\n }\n },\n {\n path: 'light',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingThemeFormComponent),\n data: {\n tabName: lightThemeTabName\n }\n }\n];\n\nexport const BRANDING_ROUTING: Routes = [\n {\n path: 'branding-editor',\n canActivate: [SupportsBrandingService],\n children: [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingComponent)\n },\n {\n path: ':name',\n resolve: {\n branding: ((route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n return inject(StoreBrandingService).getBrandingOptionsForVersion(route.params.name);\n }) as ResolveFn<BrandingFileDetails[]>,\n tags: (async (route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n const store = inject(StoreBrandingService);\n const { variants } = await store.loadBrandingVariants();\n return variants.find(v => v?.tags?.includes(route.params.name))?.tags;\n }) as ResolveFn<string[]>,\n fallbackBranding: (async (\n _route: ActivatedRouteSnapshot,\n _state: RouterStateSnapshot\n ) => {\n try {\n const store = inject(StoreBrandingService);\n const appState = inject(AppStateService);\n // management tenant should be free to change what every they want, so we do not provide a fallback branding\n if (appState.currentTenant.value?.name === 'management') {\n return {};\n }\n const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');\n return fallbackBranding;\n } catch (e) {\n return {};\n }\n }) as ResolveFn<BrandingOptionsJson>\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'edit'\n },\n {\n path: 'edit',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(\n m => m.EditBrandingRouterOutletComponent\n ),\n children: BRANDING_EDIT_CHILD_ROUTES\n }\n ]\n }\n ]\n },\n // Redirects for legacy paths from old angularJS implementation\n // allows to keep old links working and to use the old branding manager (as long as we still ship it) when the new plugins are removed from admin app\n {\n path: 'enterprise/branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n },\n {\n path: 'branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(BRANDING_ROUTING)],\n providers: [\n // providerType: HookProviderTypes.ExistingProvider is used to ensure that the hook is only applied once even if the module is imported multiple times\n hookNavigator(SupportsBrandingService, { providerType: HookProviderTypes.ExistingProvider }),\n hookTab(BrandingTabFactory)\n ]\n})\nexport class SharedBrandingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1155,6 +1155,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1155
1155
  type: Injectable
1156
1156
  }], ctorParameters: () => [{ type: i1$3.Router }] });
1157
1157
 
1158
+ class MessagingManagementPreviewFactory {
1159
+ constructor() {
1160
+ this.applicationService = inject(ApplicationService);
1161
+ }
1162
+ async get() {
1163
+ const microserviceSubscribed = await this.applicationService
1164
+ .isAvailable(MESSAGING_MANAGEMENT_MICROSERVICE_NAME)
1165
+ .then(({ data: subscribed }) => subscribed)
1166
+ .catch(() => false);
1167
+ if (!microserviceSubscribed) {
1168
+ return null;
1169
+ }
1170
+ return {
1171
+ key: MESSAGING_MANAGEMENT_FEATURE_KEY,
1172
+ label: 'Messaging service - monitoring & management',
1173
+ description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
1174
+ settings: {
1175
+ reload: true
1176
+ }
1177
+ };
1178
+ }
1179
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementPreviewFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1180
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementPreviewFactory, providedIn: 'root' }); }
1181
+ }
1182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementPreviewFactory, decorators: [{
1183
+ type: Injectable,
1184
+ args: [{ providedIn: 'root' }]
1185
+ }] });
1186
+
1158
1187
  class MessagingManagementModule {
1159
1188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1160
1189
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementModule }); }
@@ -1183,14 +1212,7 @@ class MessagingManagementModule {
1183
1212
  ]),
1184
1213
  hookTab(TopicDetailsTabFactory),
1185
1214
  hookNavigator(MessagingNavigatorNodeFactory),
1186
- hookPreview({
1187
- key: MESSAGING_MANAGEMENT_FEATURE_KEY,
1188
- label: 'Messaging service - monitoring & management',
1189
- description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
1190
- settings: {
1191
- reload: true
1192
- }
1193
- })
1215
+ hookPreview(MessagingManagementPreviewFactory)
1194
1216
  ] }); }
1195
1217
  }
1196
1218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementModule, decorators: [{
@@ -1221,14 +1243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1221
1243
  ]),
1222
1244
  hookTab(TopicDetailsTabFactory),
1223
1245
  hookNavigator(MessagingNavigatorNodeFactory),
1224
- hookPreview({
1225
- key: MESSAGING_MANAGEMENT_FEATURE_KEY,
1226
- label: 'Messaging service - monitoring & management',
1227
- description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
1228
- settings: {
1229
- reload: true
1230
- }
1231
- })
1246
+ hookPreview(MessagingManagementPreviewFactory)
1232
1247
  ]
1233
1248
  }]
1234
1249
  }] });