@c8y/ngx-components 1022.8.0 → 1022.9.2
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/context-dashboard/context-dashboard.component.d.ts +1 -3
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/core/core.module.d.ts.map +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.d.ts.map +1 -1
- package/core/preview-feature/feature-cache.service.d.ts +3 -1
- package/core/preview-feature/feature-cache.service.d.ts.map +1 -1
- package/core/preview-feature/preview-feature-button.component.d.ts +3 -2
- package/core/preview-feature/preview-feature-button.component.d.ts.map +1 -1
- package/core/preview-feature/preview-feature-query-param.factory.d.ts +24 -0
- package/core/preview-feature/preview-feature-query-param.factory.d.ts.map +1 -0
- package/core/preview-feature/preview-feature-show-notification.service.d.ts +4 -1
- package/core/preview-feature/preview-feature-show-notification.service.d.ts.map +1 -1
- package/core/preview-feature/preview-feature.component.d.ts +2 -0
- package/core/preview-feature/preview-feature.component.d.ts.map +1 -1
- package/core/preview-feature/preview-feature.model.d.ts +1 -1
- package/core/preview-feature/preview-feature.model.d.ts.map +1 -1
- package/core/preview-feature/preview-feature.providers.d.ts.map +1 -1
- package/core/query-param-handler/index.d.ts +5 -0
- package/core/query-param-handler/index.d.ts.map +1 -0
- package/core/query-param-handler/query-param-bottom-drawer.service.d.ts +48 -0
- package/core/query-param-handler/query-param-bottom-drawer.service.d.ts.map +1 -0
- package/core/query-param-handler/query-param-handler.service.d.ts +31 -0
- package/core/query-param-handler/query-param-handler.service.d.ts.map +1 -0
- package/core/query-param-handler/query-param-modal-handler.service.d.ts +79 -0
- package/core/query-param-handler/query-param-modal-handler.service.d.ts.map +1 -0
- package/datapoint-explorer/view/datapoint-explorer.component.d.ts +3 -2
- package/datapoint-explorer/view/datapoint-explorer.component.d.ts.map +1 -1
- package/datapoint-explorer/view/datapoint-explorer.service.d.ts +2 -0
- package/datapoint-explorer/view/datapoint-explorer.service.d.ts.map +1 -1
- package/datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.d.ts +24 -0
- package/datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.d.ts.map +1 -0
- package/datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.d.ts +1 -1
- package/echart/charts.component.d.ts.map +1 -1
- package/echart/services/y-axis.service.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +4 -20
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +121 -39
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +7 -4
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sensor-phone.mjs +331 -8
- package/fesm2022/c8y-ngx-components-sensor-phone.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +415 -99
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +29 -3
- package/locales/es.po +29 -3
- package/locales/fr.po +28 -3
- package/locales/ja_JP.po +28 -3
- package/locales/ko.po +28 -3
- package/locales/locales.pot +17 -3
- package/locales/nl.po +29 -3
- package/locales/pl.po +29 -3
- package/locales/pt_BR.po +29 -3
- package/locales/zh_CN.po +28 -3
- package/locales/zh_TW.po +29 -3
- package/package.json +1 -1
- package/sensor-phone/sensor-phone.module.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-query-param-modal-handler.mjs +0 -115
- package/fesm2022/c8y-ngx-components-query-param-modal-handler.mjs.map +0 -1
- package/query-param-modal-handler/c8y-ngx-components-query-param-modal-handler.d.ts.map +0 -1
- package/query-param-modal-handler/index.d.ts +0 -2
- package/query-param-modal-handler/index.d.ts.map +0 -1
- package/query-param-modal-handler/query-param-modal-handler.service.d.ts +0 -77
- package/query-param-modal-handler/query-param-modal-handler.service.d.ts.map +0 -1
|
@@ -1205,7 +1205,7 @@ class RealtimeSubjectService {
|
|
|
1205
1205
|
realtimeSubscription = this.realtime.resubscribe(realtimeSubscription);
|
|
1206
1206
|
}
|
|
1207
1207
|
catch (e) {
|
|
1208
|
-
console.warn(
|
|
1208
|
+
console.warn('Failed to resubscribe to channel after reconnect.', channel, e);
|
|
1209
1209
|
observer.error(e);
|
|
1210
1210
|
}
|
|
1211
1211
|
});
|
|
@@ -11179,11 +11179,11 @@ class AlertOutletComponent extends AlertOutletBase {
|
|
|
11179
11179
|
this.alertService.remove(alert);
|
|
11180
11180
|
}
|
|
11181
11181
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AlertOutletComponent, deps: [{ token: 'position', attribute: true }, { token: AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11182
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AlertOutletComponent, isStandalone: true, selector: "c8y-alert-outlet", host: { properties: { "class.static": "this.isStatic" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"alert animated fadeInRightBig m-t-16\"\n data-cy=\"c8y-alert--message\"\n *ngFor=\"let alert of alerts | async\"\n [ngClass]=\"[getClass(alert), isDetailsShow(alert) ? 'expanded' : '']\"\n>\n <button
|
|
11182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AlertOutletComponent, isStandalone: true, selector: "c8y-alert-outlet", host: { properties: { "class.static": "this.isStatic" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"alert animated fadeInRightBig m-t-16\"\n data-cy=\"c8y-alert--message\"\n *ngFor=\"let alert of alerts | async\"\n [ngClass]=\"[getClass(alert), isDetailsShow(alert) ? 'expanded' : '']\"\n>\n <button\n class=\"close\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"close(alert)\"\n >\n <span\n aria-hidden=\"true\"\n data-cy=\"alert--close-alert-message\"\n >\n <i c8yIcon=\"times\"></i>\n </span>\n <span class=\"sr-only\">{{ 'Close' | translate }}</span>\n </button>\n\n <div *ngIf=\"!isTemplateRef(alert.text); else template(alert.text)\">\n <strong\n class=\"message\"\n *ngIf=\"!alert.allowHtml\"\n [textContent]=\"alert.text | translate\"\n ></strong>\n <strong\n class=\"message\"\n *ngIf=\"alert.allowHtml\"\n [innerHTML]=\"alert.text | translate\"\n ></strong>\n </div>\n <p\n class=\"text-muted m-t-8\"\n *ngIf=\"hasDetails(alert) && !isDetailsShow(alert)\"\n >\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Show details' | translate }}\"\n (click)=\"showDetails(alert)\"\n >\n <i c8yIcon=\"chevron-down\"></i>\n {{ 'Show details' | translate }}\n </button>\n </p>\n <p\n class=\"text-muted m-t-8\"\n *ngIf=\"hasDetails(alert) && isDetailsShow(alert)\"\n >\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Hide details' | translate }}\"\n (click)=\"closeDetails()\"\n >\n <i c8yIcon=\"chevron-up\"></i>\n {{ 'Hide details' | translate }}\n </button>\n </p>\n <div *ngIf=\"isDetailsShow(alert)\">\n <div *ngIf=\"!isTemplateRef(detailDisplayedAlert.contents); else template(alert.detailedData)\">\n <pre><code [textContent]=\"detailDisplayedAlert.contents | translate\"></code></pre>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
11183
11183
|
}
|
|
11184
11184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AlertOutletComponent, decorators: [{
|
|
11185
11185
|
type: Component,
|
|
11186
|
-
args: [{ selector: 'c8y-alert-outlet', standalone: true, imports: [NgFor, NgClass, IconDirective, NgIf, C8yTranslatePipe, AsyncPipe], template: "<div\n class=\"alert animated fadeInRightBig m-t-16\"\n data-cy=\"c8y-alert--message\"\n *ngFor=\"let alert of alerts | async\"\n [ngClass]=\"[getClass(alert), isDetailsShow(alert) ? 'expanded' : '']\"\n>\n <button
|
|
11186
|
+
args: [{ selector: 'c8y-alert-outlet', standalone: true, imports: [NgFor, NgClass, IconDirective, NgIf, C8yTranslatePipe, AsyncPipe], template: "<div\n class=\"alert animated fadeInRightBig m-t-16\"\n data-cy=\"c8y-alert--message\"\n *ngFor=\"let alert of alerts | async\"\n [ngClass]=\"[getClass(alert), isDetailsShow(alert) ? 'expanded' : '']\"\n>\n <button\n class=\"close\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"close(alert)\"\n >\n <span\n aria-hidden=\"true\"\n data-cy=\"alert--close-alert-message\"\n >\n <i c8yIcon=\"times\"></i>\n </span>\n <span class=\"sr-only\">{{ 'Close' | translate }}</span>\n </button>\n\n <div *ngIf=\"!isTemplateRef(alert.text); else template(alert.text)\">\n <strong\n class=\"message\"\n *ngIf=\"!alert.allowHtml\"\n [textContent]=\"alert.text | translate\"\n ></strong>\n <strong\n class=\"message\"\n *ngIf=\"alert.allowHtml\"\n [innerHTML]=\"alert.text | translate\"\n ></strong>\n </div>\n <p\n class=\"text-muted m-t-8\"\n *ngIf=\"hasDetails(alert) && !isDetailsShow(alert)\"\n >\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Show details' | translate }}\"\n (click)=\"showDetails(alert)\"\n >\n <i c8yIcon=\"chevron-down\"></i>\n {{ 'Show details' | translate }}\n </button>\n </p>\n <p\n class=\"text-muted m-t-8\"\n *ngIf=\"hasDetails(alert) && isDetailsShow(alert)\"\n >\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Hide details' | translate }}\"\n (click)=\"closeDetails()\"\n >\n <i c8yIcon=\"chevron-up\"></i>\n {{ 'Hide details' | translate }}\n </button>\n </p>\n <div *ngIf=\"isDetailsShow(alert)\">\n <div *ngIf=\"!isTemplateRef(detailDisplayedAlert.contents); else template(alert.detailedData)\">\n <pre><code [textContent]=\"detailDisplayedAlert.contents | translate\"></code></pre>\n </div>\n </div>\n</div>\n" }]
|
|
11187
11187
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
11188
11188
|
type: Attribute,
|
|
11189
11189
|
args: ['position']
|
|
@@ -34931,10 +34931,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
34931
34931
|
}] });
|
|
34932
34932
|
|
|
34933
34933
|
class FeatureCacheService {
|
|
34934
|
-
constructor(featureService) {
|
|
34934
|
+
constructor(featureService, appState) {
|
|
34935
34935
|
this.featureService = featureService;
|
|
34936
|
+
this.appState = appState;
|
|
34936
34937
|
this.refreshTrigger = new BehaviorSubject(undefined);
|
|
34937
|
-
this.features$ = this.
|
|
34938
|
+
this.features$ = this.appState.currentUser.pipe(switchMap(user => {
|
|
34939
|
+
if (!user) {
|
|
34940
|
+
return NEVER;
|
|
34941
|
+
}
|
|
34942
|
+
return this.refreshTrigger.pipe(switchMap(() => this.loadFeatures()));
|
|
34943
|
+
}), shareReplay(1));
|
|
34938
34944
|
}
|
|
34939
34945
|
/**
|
|
34940
34946
|
* Needed for the angularJS implmentation to show/hide some old features.
|
|
@@ -34970,13 +34976,13 @@ class FeatureCacheService {
|
|
|
34970
34976
|
return [];
|
|
34971
34977
|
}
|
|
34972
34978
|
}
|
|
34973
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FeatureCacheService, deps: [{ token: i1.FeatureService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34979
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FeatureCacheService, deps: [{ token: i1.FeatureService }, { token: AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34974
34980
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FeatureCacheService, providedIn: 'root' }); }
|
|
34975
34981
|
}
|
|
34976
34982
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FeatureCacheService, decorators: [{
|
|
34977
34983
|
type: Injectable,
|
|
34978
34984
|
args: [{ providedIn: 'root' }]
|
|
34979
|
-
}], ctorParameters: () => [{ type: i1.FeatureService }] });
|
|
34985
|
+
}], ctorParameters: () => [{ type: i1.FeatureService }, { type: AppStateService }] });
|
|
34980
34986
|
|
|
34981
34987
|
const HOOK_PREVIEW = new InjectionToken('HOOK_PREVIEW');
|
|
34982
34988
|
function hookPreview(preview, options) {
|
|
@@ -35098,7 +35104,378 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
35098
35104
|
args: [{ providedIn: 'root' }]
|
|
35099
35105
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: PluginsResolveService }] });
|
|
35100
35106
|
|
|
35101
|
-
const
|
|
35107
|
+
const SHOW_PREVIEW_FEATURES = 'showPreviewFeatures';
|
|
35108
|
+
|
|
35109
|
+
class PreviewFeatureButtonComponent {
|
|
35110
|
+
constructor() {
|
|
35111
|
+
this.previewService = inject(PreviewService);
|
|
35112
|
+
this.headerService = inject(HeaderService);
|
|
35113
|
+
this.router = inject(Router);
|
|
35114
|
+
this.route = inject(ActivatedRoute);
|
|
35115
|
+
this.destroy$ = new Subject();
|
|
35116
|
+
}
|
|
35117
|
+
async ngOnInit() {
|
|
35118
|
+
this.hasUnseenFeatures$ = this.previewService.hasUnseenFeatures$;
|
|
35119
|
+
this.open$ = this.headerService.rightDrawerOpen$;
|
|
35120
|
+
}
|
|
35121
|
+
async openPreviewFeature() {
|
|
35122
|
+
this.headerService.closeRightDrawer();
|
|
35123
|
+
this.router.navigate([], {
|
|
35124
|
+
relativeTo: this.route,
|
|
35125
|
+
queryParams: { showPreviewFeatures: true },
|
|
35126
|
+
queryParamsHandling: 'merge',
|
|
35127
|
+
replaceUrl: true
|
|
35128
|
+
});
|
|
35129
|
+
}
|
|
35130
|
+
ngOnDestroy() {
|
|
35131
|
+
this.destroy$.next();
|
|
35132
|
+
this.destroy$.complete();
|
|
35133
|
+
}
|
|
35134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PreviewFeatureButtonComponent, isStandalone: true, selector: "c8y-preview-feature-button", ngImport: i0, template: "<div class=\"separator-top p-t-8 m-t-auto c8y-right-drawer__item sticky-top\">\n <i class=\"dlt-c8y-icon-science\"></i>\n <span\n class=\"text-bold\"\n translate\n >\n Preview features\n </span>\n <span\n class=\"m-l-8 tag tag--primary\"\n *ngIf=\"hasUnseenFeatures$ | async\"\n >\n {{ 'New' | translate }}\n </span>\n</div>\n<ul class=\"list-unstyled\">\n <li class=\"c8y-right-drawer__item\">\n <small translate>\n Enable or disable experimental features. Your feedback helps us improve functionality before\n final release.\n </small>\n </li>\n <li class=\"c8y-right-drawer__item\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Manage preview features' | translate }}\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n (click)=\"openPreviewFeature()\"\n >\n <i class=\"m-t-0 m-b-9 text-14 dlt-c8y-icon-settings\"></i>\n <span translate>Manage preview features</span>\n </button>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
35136
|
+
}
|
|
35137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureButtonComponent, decorators: [{
|
|
35138
|
+
type: Component,
|
|
35139
|
+
args: [{ selector: 'c8y-preview-feature-button', standalone: true, imports: [C8yTranslateDirective, C8yTranslatePipe, AsyncPipe, NgIf], template: "<div class=\"separator-top p-t-8 m-t-auto c8y-right-drawer__item sticky-top\">\n <i class=\"dlt-c8y-icon-science\"></i>\n <span\n class=\"text-bold\"\n translate\n >\n Preview features\n </span>\n <span\n class=\"m-l-8 tag tag--primary\"\n *ngIf=\"hasUnseenFeatures$ | async\"\n >\n {{ 'New' | translate }}\n </span>\n</div>\n<ul class=\"list-unstyled\">\n <li class=\"c8y-right-drawer__item\">\n <small translate>\n Enable or disable experimental features. Your feedback helps us improve functionality before\n final release.\n </small>\n </li>\n <li class=\"c8y-right-drawer__item\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Manage preview features' | translate }}\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n (click)=\"openPreviewFeature()\"\n >\n <i class=\"m-t-0 m-b-9 text-14 dlt-c8y-icon-settings\"></i>\n <span translate>Manage preview features</span>\n </button>\n </li>\n</ul>\n" }]
|
|
35140
|
+
}] });
|
|
35141
|
+
|
|
35142
|
+
class PreviewFeatureDrawerFactory {
|
|
35143
|
+
constructor(options, previewService, permissions) {
|
|
35144
|
+
this.options = options;
|
|
35145
|
+
this.previewService = previewService;
|
|
35146
|
+
this.permissions = permissions;
|
|
35147
|
+
this.drawerItem = {
|
|
35148
|
+
component: PreviewFeatureButtonComponent,
|
|
35149
|
+
position: 'right',
|
|
35150
|
+
priority: 80,
|
|
35151
|
+
id: 'previewFeature'
|
|
35152
|
+
};
|
|
35153
|
+
}
|
|
35154
|
+
get() {
|
|
35155
|
+
return this.shouldShowPreviewFeature$().pipe(distinctUntilChanged(), map(shouldShowPreviewFeature => {
|
|
35156
|
+
if (shouldShowPreviewFeature) {
|
|
35157
|
+
return this.drawerItem;
|
|
35158
|
+
}
|
|
35159
|
+
return [];
|
|
35160
|
+
}));
|
|
35161
|
+
}
|
|
35162
|
+
shouldShowPreviewFeature$() {
|
|
35163
|
+
return combineLatest([
|
|
35164
|
+
this.options.get$('hidePreviewFeature'),
|
|
35165
|
+
this.previewService.getAvailableFeatures$()
|
|
35166
|
+
]).pipe(map(([hidePreviewFeature, items]) => {
|
|
35167
|
+
const hasItems = items.length > 0;
|
|
35168
|
+
if (!hasItems) {
|
|
35169
|
+
return false;
|
|
35170
|
+
}
|
|
35171
|
+
const hasAdminRole = this.permissions.hasRole(Permissions.ROLE_TENANT_MANAGEMENT_ADMIN);
|
|
35172
|
+
if (hidePreviewFeature === undefined) {
|
|
35173
|
+
return hasItems && hasAdminRole;
|
|
35174
|
+
}
|
|
35175
|
+
return !hidePreviewFeature && hasItems && hasAdminRole;
|
|
35176
|
+
}));
|
|
35177
|
+
}
|
|
35178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureDrawerFactory, deps: [{ token: OptionsService }, { token: PreviewService }, { token: Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35179
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureDrawerFactory, providedIn: 'root' }); }
|
|
35180
|
+
}
|
|
35181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureDrawerFactory, decorators: [{
|
|
35182
|
+
type: Injectable,
|
|
35183
|
+
args: [{ providedIn: 'root' }]
|
|
35184
|
+
}], ctorParameters: () => [{ type: OptionsService }, { type: PreviewService }, { type: Permissions }] });
|
|
35185
|
+
|
|
35186
|
+
class PreviewFeatureShowNotification {
|
|
35187
|
+
constructor(previewService, permissions, appState) {
|
|
35188
|
+
this.previewService = previewService;
|
|
35189
|
+
this.permissions = permissions;
|
|
35190
|
+
this.appState = appState;
|
|
35191
|
+
this.shouldShowNotification$ = this.appState.currentUser.pipe(switchMap$1(user => {
|
|
35192
|
+
if (!user) {
|
|
35193
|
+
return of(false);
|
|
35194
|
+
}
|
|
35195
|
+
const hasAdminRole = this.permissions.hasRole(Permissions.ROLE_TENANT_MANAGEMENT_ADMIN);
|
|
35196
|
+
if (!hasAdminRole) {
|
|
35197
|
+
return of(false);
|
|
35198
|
+
}
|
|
35199
|
+
return this.previewService.hasUnseenFeatures$;
|
|
35200
|
+
}));
|
|
35201
|
+
}
|
|
35202
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureShowNotification, deps: [{ token: PreviewService }, { token: Permissions }, { token: AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35203
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureShowNotification, providedIn: 'root' }); }
|
|
35204
|
+
}
|
|
35205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureShowNotification, decorators: [{
|
|
35206
|
+
type: Injectable,
|
|
35207
|
+
args: [{ providedIn: 'root' }]
|
|
35208
|
+
}], ctorParameters: () => [{ type: PreviewService }, { type: Permissions }, { type: AppStateService }] });
|
|
35209
|
+
|
|
35210
|
+
class PluginLoadedPipe {
|
|
35211
|
+
constructor(pluginsResolve) {
|
|
35212
|
+
this.pluginsResolve = pluginsResolve;
|
|
35213
|
+
}
|
|
35214
|
+
transform(pluginName) {
|
|
35215
|
+
if (!pluginName) {
|
|
35216
|
+
return of(false);
|
|
35217
|
+
}
|
|
35218
|
+
return this.pluginsResolve.loadedPluginNames$.pipe(map$2(pluginNames => pluginNames.includes(pluginName)), distinctUntilChanged$1());
|
|
35219
|
+
}
|
|
35220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginLoadedPipe, deps: [{ token: PluginsResolveService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
35221
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: PluginLoadedPipe, isStandalone: true, name: "c8yPluginLoaded" }); }
|
|
35222
|
+
}
|
|
35223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginLoadedPipe, decorators: [{
|
|
35224
|
+
type: Pipe,
|
|
35225
|
+
args: [{
|
|
35226
|
+
name: 'c8yPluginLoaded',
|
|
35227
|
+
standalone: true
|
|
35228
|
+
}]
|
|
35229
|
+
}], ctorParameters: () => [{ type: PluginsResolveService }] });
|
|
35230
|
+
|
|
35231
|
+
const HOOK_QUERY_PARAM = new InjectionToken('HOOK_QUERY_PARAM');
|
|
35232
|
+
function hookQueryParam(config, options) {
|
|
35233
|
+
return hookGeneric(config, HOOK_QUERY_PARAM, options);
|
|
35234
|
+
}
|
|
35235
|
+
class QueryParamHandlerService extends ExtensionPointWithoutStateForPlugins {
|
|
35236
|
+
constructor(rootInjector, router, pluginService, activatedRoute) {
|
|
35237
|
+
super(rootInjector, pluginService);
|
|
35238
|
+
this.router = router;
|
|
35239
|
+
this.activatedRoute = activatedRoute;
|
|
35240
|
+
this.items$ = this.setupItemsObservable();
|
|
35241
|
+
combineLatest([this.items$, this.activatedRoute?.queryParamMap || NEVER])
|
|
35242
|
+
.pipe(distinctUntilChanged$1(([prevItems, prevParamsMap], [currItems, currParamsMap]) => {
|
|
35243
|
+
const previousItems = prevItems.map(item => item.queryParam).sort();
|
|
35244
|
+
const currentItems = currItems.map(item => item.queryParam).sort();
|
|
35245
|
+
const itemsUnchanged = JSON.stringify(previousItems) === JSON.stringify(currentItems);
|
|
35246
|
+
const prevParams = {};
|
|
35247
|
+
prevParamsMap.keys.forEach(key => {
|
|
35248
|
+
const value = prevParamsMap.get(key);
|
|
35249
|
+
if (value !== null) {
|
|
35250
|
+
prevParams[key] = value;
|
|
35251
|
+
}
|
|
35252
|
+
});
|
|
35253
|
+
const currParams = {};
|
|
35254
|
+
currParamsMap.keys.forEach(key => {
|
|
35255
|
+
const value = currParamsMap.get(key);
|
|
35256
|
+
if (value !== null) {
|
|
35257
|
+
currParams[key] = value;
|
|
35258
|
+
}
|
|
35259
|
+
});
|
|
35260
|
+
const paramsUnchanged = JSON.stringify(prevParams) === JSON.stringify(currParams);
|
|
35261
|
+
return itemsUnchanged && paramsUnchanged;
|
|
35262
|
+
}), tap$1(([items, params]) => {
|
|
35263
|
+
items.forEach(item => {
|
|
35264
|
+
const paramValue = params.get(item.queryParam);
|
|
35265
|
+
if (paramValue !== null) {
|
|
35266
|
+
runInInjectionContext(item.injector || rootInjector, () => {
|
|
35267
|
+
item.trigger();
|
|
35268
|
+
});
|
|
35269
|
+
}
|
|
35270
|
+
});
|
|
35271
|
+
}))
|
|
35272
|
+
.subscribe();
|
|
35273
|
+
}
|
|
35274
|
+
setupItemsObservable() {
|
|
35275
|
+
return fromTrigger(this.router, this.refresh$, [
|
|
35276
|
+
getInjectedHooks(HOOK_QUERY_PARAM, this.injectors),
|
|
35277
|
+
() => this.factories
|
|
35278
|
+
]).pipe(distinctUntilChanged$1(), shareReplay$1(1));
|
|
35279
|
+
}
|
|
35280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamHandlerService, deps: [{ token: i0.Injector }, { token: i1$4.Router }, { token: PluginsResolveService }, { token: i1$4.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35281
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamHandlerService, providedIn: 'root' }); }
|
|
35282
|
+
}
|
|
35283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamHandlerService, decorators: [{
|
|
35284
|
+
type: Injectable,
|
|
35285
|
+
args: [{
|
|
35286
|
+
providedIn: 'root'
|
|
35287
|
+
}]
|
|
35288
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1$4.Router }, { type: PluginsResolveService }, { type: i1$4.ActivatedRoute, decorators: [{
|
|
35289
|
+
type: Optional
|
|
35290
|
+
}] }] });
|
|
35291
|
+
|
|
35292
|
+
const HOOK_QUERY_PARAM_BOTTOM_DRAWER = new InjectionToken('HOOK_QUERY_PARAM_BOTTOM_DRAWER');
|
|
35293
|
+
function hookQueryParamBottomDrawer(config, options) {
|
|
35294
|
+
return hookGeneric(config, HOOK_QUERY_PARAM_BOTTOM_DRAWER, options);
|
|
35295
|
+
}
|
|
35296
|
+
class QueryParamBottomDrawerStateService extends ExtensionPointWithoutStateForPlugins {
|
|
35297
|
+
constructor(rootInjector, pluginService) {
|
|
35298
|
+
super(rootInjector, pluginService);
|
|
35299
|
+
this.items$ = this.setupItemsObservable();
|
|
35300
|
+
}
|
|
35301
|
+
setupItemsObservable() {
|
|
35302
|
+
return fromTriggerOnce(undefined, this.refresh$, [
|
|
35303
|
+
getInjectedHooks(HOOK_QUERY_PARAM_BOTTOM_DRAWER, this.injectors),
|
|
35304
|
+
() => this.factories
|
|
35305
|
+
]).pipe(distinctUntilChanged(), shareReplay(1));
|
|
35306
|
+
}
|
|
35307
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamBottomDrawerStateService, deps: [{ token: i0.Injector }, { token: PluginsResolveService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35308
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamBottomDrawerStateService, providedIn: 'root' }); }
|
|
35309
|
+
}
|
|
35310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamBottomDrawerStateService, decorators: [{
|
|
35311
|
+
type: Injectable,
|
|
35312
|
+
args: [{
|
|
35313
|
+
providedIn: 'root'
|
|
35314
|
+
}]
|
|
35315
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: PluginsResolveService }] });
|
|
35316
|
+
class QueryParamBottomDrawerFactory {
|
|
35317
|
+
constructor(queryParamBottomDrawerStateService, bottomDrawerService) {
|
|
35318
|
+
this.queryParamBottomDrawerStateService = queryParamBottomDrawerStateService;
|
|
35319
|
+
this.bottomDrawerService = bottomDrawerService;
|
|
35320
|
+
}
|
|
35321
|
+
get() {
|
|
35322
|
+
return this.queryParamBottomDrawerStateService.items$.pipe(map(items => {
|
|
35323
|
+
return items.map(item => {
|
|
35324
|
+
const config = {
|
|
35325
|
+
queryParam: item.queryParam,
|
|
35326
|
+
trigger: () => {
|
|
35327
|
+
this.handleQueryParamBottomDrawer(item);
|
|
35328
|
+
},
|
|
35329
|
+
injector: item.injector
|
|
35330
|
+
};
|
|
35331
|
+
return config;
|
|
35332
|
+
});
|
|
35333
|
+
}));
|
|
35334
|
+
}
|
|
35335
|
+
async handleQueryParamBottomDrawer(config) {
|
|
35336
|
+
const bottomDrawer = this.bottomDrawerService.openDrawer(config.component, {
|
|
35337
|
+
closeOnNavigation: config.closeOnNavigation,
|
|
35338
|
+
disableClickOutside: config.disableClickOutside
|
|
35339
|
+
});
|
|
35340
|
+
try {
|
|
35341
|
+
const result = await bottomDrawer.instance.shouldClose;
|
|
35342
|
+
if (result) {
|
|
35343
|
+
bottomDrawer.close();
|
|
35344
|
+
}
|
|
35345
|
+
}
|
|
35346
|
+
catch (e) {
|
|
35347
|
+
// intended empty
|
|
35348
|
+
}
|
|
35349
|
+
}
|
|
35350
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamBottomDrawerFactory, deps: [{ token: QueryParamBottomDrawerStateService }, { token: BottomDrawerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35351
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamBottomDrawerFactory, providedIn: 'root' }); }
|
|
35352
|
+
}
|
|
35353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamBottomDrawerFactory, decorators: [{
|
|
35354
|
+
type: Injectable,
|
|
35355
|
+
args: [{
|
|
35356
|
+
providedIn: 'root'
|
|
35357
|
+
}]
|
|
35358
|
+
}], ctorParameters: () => [{ type: QueryParamBottomDrawerStateService }, { type: BottomDrawerService }] });
|
|
35359
|
+
|
|
35360
|
+
const HOOK_QUERY_PARAM_MODAL = new InjectionToken('HOOK_QUERY_PARAM_MODAL');
|
|
35361
|
+
function hookQueryParamModal(config, options) {
|
|
35362
|
+
return hookGeneric(config, HOOK_QUERY_PARAM_MODAL, options);
|
|
35363
|
+
}
|
|
35364
|
+
/**
|
|
35365
|
+
* Service to manage the display of modals based on URL query parameter.
|
|
35366
|
+
*
|
|
35367
|
+
* This service listens for specific query parameters in the URL and opens corresponding modals when detected.
|
|
35368
|
+
* It automatically cleans up the query parameters from the URL when the modal is closed or query parameter value passed as 'false'.
|
|
35369
|
+
*/
|
|
35370
|
+
class QueryParamModalStateService extends ExtensionPointWithoutStateForPlugins {
|
|
35371
|
+
constructor(rootInjector, pluginService) {
|
|
35372
|
+
super(rootInjector, pluginService);
|
|
35373
|
+
this.items$ = this.setupItemsObservable();
|
|
35374
|
+
}
|
|
35375
|
+
setupItemsObservable() {
|
|
35376
|
+
return fromTriggerOnce(undefined, this.refresh$, [
|
|
35377
|
+
getInjectedHooks(HOOK_QUERY_PARAM_MODAL, this.injectors),
|
|
35378
|
+
() => this.factories
|
|
35379
|
+
]).pipe(distinctUntilChanged(), shareReplay(1));
|
|
35380
|
+
}
|
|
35381
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamModalStateService, deps: [{ token: i0.Injector }, { token: PluginsResolveService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35382
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamModalStateService, providedIn: 'root' }); }
|
|
35383
|
+
}
|
|
35384
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamModalStateService, decorators: [{
|
|
35385
|
+
type: Injectable,
|
|
35386
|
+
args: [{
|
|
35387
|
+
providedIn: 'root'
|
|
35388
|
+
}]
|
|
35389
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: PluginsResolveService }] });
|
|
35390
|
+
class QueryParamModalFactory {
|
|
35391
|
+
constructor(queryParamModalStateService, bsModalService, router, activatedRoute) {
|
|
35392
|
+
this.queryParamModalStateService = queryParamModalStateService;
|
|
35393
|
+
this.bsModalService = bsModalService;
|
|
35394
|
+
this.router = router;
|
|
35395
|
+
this.activatedRoute = activatedRoute;
|
|
35396
|
+
this.modalCloseSubscription = null;
|
|
35397
|
+
}
|
|
35398
|
+
get() {
|
|
35399
|
+
return this.queryParamModalStateService.items$.pipe(map(items => {
|
|
35400
|
+
return items.map(item => {
|
|
35401
|
+
const config = {
|
|
35402
|
+
queryParam: item.queryParam,
|
|
35403
|
+
trigger: () => {
|
|
35404
|
+
this.handleQueryParamModal(item);
|
|
35405
|
+
},
|
|
35406
|
+
injector: item.injector
|
|
35407
|
+
};
|
|
35408
|
+
return config;
|
|
35409
|
+
});
|
|
35410
|
+
}));
|
|
35411
|
+
}
|
|
35412
|
+
/**
|
|
35413
|
+
* Handles the display of a modal based on a specific query parameter.
|
|
35414
|
+
*
|
|
35415
|
+
* @param config - Configuration object specifying the query parameter, component, and optional modal settings.
|
|
35416
|
+
* @returns An observable that listens for changes in the query parameter.
|
|
35417
|
+
*/
|
|
35418
|
+
handleQueryParamModal(config) {
|
|
35419
|
+
this.showModal(config.component, config.modalConfig);
|
|
35420
|
+
this.modalCloseSubscription = this.bsModalService.onHidden.subscribe(() => {
|
|
35421
|
+
this.removeQueryParam(config.queryParam);
|
|
35422
|
+
this.cleanup();
|
|
35423
|
+
});
|
|
35424
|
+
}
|
|
35425
|
+
/**
|
|
35426
|
+
* Removes the specified query parameter from the URL.
|
|
35427
|
+
*
|
|
35428
|
+
* @param paramKey - The key of the query parameter to remove.
|
|
35429
|
+
*/
|
|
35430
|
+
removeQueryParam(paramKey) {
|
|
35431
|
+
const queryParams = {
|
|
35432
|
+
[paramKey]: null
|
|
35433
|
+
};
|
|
35434
|
+
this.router.navigate([], {
|
|
35435
|
+
relativeTo: this.activatedRoute,
|
|
35436
|
+
queryParams,
|
|
35437
|
+
queryParamsHandling: 'merge'
|
|
35438
|
+
});
|
|
35439
|
+
}
|
|
35440
|
+
/**
|
|
35441
|
+
* Displays a modal with the specified component and configuration.
|
|
35442
|
+
*
|
|
35443
|
+
* @param component - The component to display in the modal.
|
|
35444
|
+
* @param modalConfig - Optional settings for the modal appearance and behavior.
|
|
35445
|
+
*/
|
|
35446
|
+
showModal(component, modalConfig) {
|
|
35447
|
+
this.bsModalService.show(component, modalConfig);
|
|
35448
|
+
}
|
|
35449
|
+
/**
|
|
35450
|
+
* Cleans up subscriptions related to modal events.
|
|
35451
|
+
* Ensures no memory leaks by unsubscribing from modal close events.
|
|
35452
|
+
*/
|
|
35453
|
+
cleanup() {
|
|
35454
|
+
if (this.modalCloseSubscription) {
|
|
35455
|
+
this.modalCloseSubscription.unsubscribe();
|
|
35456
|
+
this.modalCloseSubscription = null;
|
|
35457
|
+
}
|
|
35458
|
+
}
|
|
35459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamModalFactory, deps: [{ token: QueryParamModalStateService }, { token: i1$7.BsModalService }, { token: i1$4.Router }, { token: i1$4.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35460
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamModalFactory, providedIn: 'root' }); }
|
|
35461
|
+
}
|
|
35462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: QueryParamModalFactory, decorators: [{
|
|
35463
|
+
type: Injectable,
|
|
35464
|
+
args: [{
|
|
35465
|
+
providedIn: 'root'
|
|
35466
|
+
}]
|
|
35467
|
+
}], ctorParameters: () => [{ type: QueryParamModalStateService }, { type: i1$7.BsModalService }, { type: i1$4.Router }, { type: i1$4.ActivatedRoute, decorators: [{
|
|
35468
|
+
type: Optional
|
|
35469
|
+
}] }] });
|
|
35470
|
+
|
|
35471
|
+
const QUERY_PARAM_HANDLER_PROVIDERS = [
|
|
35472
|
+
// This will ensure that the QueryParamHandlerService is initialized
|
|
35473
|
+
provideAppInitializer(() => {
|
|
35474
|
+
inject(QueryParamHandlerService);
|
|
35475
|
+
}),
|
|
35476
|
+
hookQueryParam(QueryParamBottomDrawerFactory),
|
|
35477
|
+
hookQueryParam(QueryParamModalFactory)
|
|
35478
|
+
];
|
|
35102
35479
|
|
|
35103
35480
|
class FeatureStatePipe {
|
|
35104
35481
|
constructor(previewService) {
|
|
@@ -35123,6 +35500,8 @@ class PreviewFeatureComponent {
|
|
|
35123
35500
|
this.description$ = new BehaviorSubject('');
|
|
35124
35501
|
this.previewFeatureService = inject(PreviewService);
|
|
35125
35502
|
this.markdownToHtmlPipe = inject(MarkdownToHtmlPipe);
|
|
35503
|
+
this.router = inject(Router);
|
|
35504
|
+
this.route = inject(ActivatedRoute);
|
|
35126
35505
|
this.features$ = this.previewFeatureService.getAvailableFeatures$();
|
|
35127
35506
|
this.shouldClose = new Promise(resolve => {
|
|
35128
35507
|
this.resolveClose = resolve;
|
|
@@ -35156,6 +35535,19 @@ class PreviewFeatureComponent {
|
|
|
35156
35535
|
}
|
|
35157
35536
|
close() {
|
|
35158
35537
|
this.resolveClose(true);
|
|
35538
|
+
this.router
|
|
35539
|
+
.navigate([], {
|
|
35540
|
+
relativeTo: this.route,
|
|
35541
|
+
queryParams: { showPreviewFeatures: null },
|
|
35542
|
+
queryParamsHandling: 'merge',
|
|
35543
|
+
replaceUrl: true
|
|
35544
|
+
})
|
|
35545
|
+
.then(() => {
|
|
35546
|
+
// Reload if needed
|
|
35547
|
+
if (this.previewFeatureService.reload$.value) {
|
|
35548
|
+
window.location.reload();
|
|
35549
|
+
}
|
|
35550
|
+
});
|
|
35159
35551
|
}
|
|
35160
35552
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35161
35553
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PreviewFeatureComponent, isStandalone: true, selector: "c8y-preview-feature", host: { classAttribute: "d-contents" }, providers: [MarkdownToHtmlPipe], ngImport: i0, template: "<div class=\"card-block separator-bottom bg-component text-center flex-no-shrink p-24\">\n <div class=\"d-flex fit-w a-i-center j-c-center\">\n <i\n class=\"icon-24 m-r-8\"\n [c8yIcon]=\"'science'\"\n ></i>\n <h3\n class=\"m-0\"\n translate\n >\n Preview features\n </h3>\n </div>\n <p class=\"text-16 m-t-8\">\n {{\n 'Select any feature to view additional details and documentation. Toggle features on or off using the switches.'\n | translate\n }}\n </p>\n\n <p>\n {{\n 'These beta capabilities may change or be removed before final release. We value your feedback. The descriptions for the features below are available only in English.'\n | translate\n }}\n </p>\n</div>\n\n<div class=\"card-block p-0\">\n <div class=\"d-flex fit-h\">\n <div class=\"col-md-4 col-lg-3 p-l-0 p-r-0 sticky-top m-t-0 inner-scroll bg-level-1\">\n <div class=\"nav-tabs nav-tabs-vertical nav-tabs-vertical--wide p-t-0\">\n <div\n [class.active]=\"feature === selectedFeature\"\n class=\"d-flex fit-w a-i-center\"\n *ngFor=\"let feature of features$ | async\"\n >\n <button\n class=\"d-flex gap-4 text-truncate flex-grow min-width-0\"\n title=\"{{ feature.label }}\"\n [ngClass]=\"{\n 'bg-component': feature === selectedFeature,\n 'bg-level-1': feature !== selectedFeature\n }\"\n (click)=\"updateSelectedFeature(feature)\"\n >\n <i\n class=\"m-l-0\"\n [c8yIcon]=\"'science'\"\n ></i>\n <span class=\"text-truncate\">\n {{ feature.label }}\n </span>\n </button>\n <div\n class=\"a-s-stretch d-flex a-i-center separator-bottom p-r-16\"\n [ngClass]=\"{\n 'bg-component': feature === selectedFeature,\n 'bg-level-1': feature !== selectedFeature\n }\"\n >\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Enable or disable' | translate }}\"\n >\n <input\n [attr.aria-label]=\"feature.label\"\n type=\"checkbox\"\n [checked]=\"feature.key | featureState | async\"\n (change)=\"$event.stopPropagation(); onToggle(feature, $event)\"\n />\n <span class=\"slider round\"></span>\n </label>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"col-md-8 col-lg-9 p-24 inner-scroll markdown-content\"\n *ngIf=\"selectedFeature\"\n >\n <span class=\"tag tag--primary h4\">\n {{ 'Feature preview' | translate }} \u2014 {{ selectedFeature.label }}\n </span>\n <div *ngIf=\"isComponent(description$.value); else stringDescription\">\n <ng-container *ngComponentOutlet=\"description$.value\"></ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"close()\"\n >\n {{ 'Close' | translate }}\n </button>\n</div>\n\n<ng-template #stringDescription>\n <p [innerHTML]=\"description$.value\"></p>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i1$a.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$a.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: ListGroupModule }, { kind: "pipe", type: FeatureStatePipe, name: "featureState" }] }); }
|
|
@@ -35165,66 +35557,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
35165
35557
|
args: [{ selector: 'c8y-preview-feature', host: { class: 'd-contents' }, standalone: true, imports: [NgForOf, NgIf, AsyncPipe, CommonModule, ListGroupModule, FeatureStatePipe], providers: [MarkdownToHtmlPipe], template: "<div class=\"card-block separator-bottom bg-component text-center flex-no-shrink p-24\">\n <div class=\"d-flex fit-w a-i-center j-c-center\">\n <i\n class=\"icon-24 m-r-8\"\n [c8yIcon]=\"'science'\"\n ></i>\n <h3\n class=\"m-0\"\n translate\n >\n Preview features\n </h3>\n </div>\n <p class=\"text-16 m-t-8\">\n {{\n 'Select any feature to view additional details and documentation. Toggle features on or off using the switches.'\n | translate\n }}\n </p>\n\n <p>\n {{\n 'These beta capabilities may change or be removed before final release. We value your feedback. The descriptions for the features below are available only in English.'\n | translate\n }}\n </p>\n</div>\n\n<div class=\"card-block p-0\">\n <div class=\"d-flex fit-h\">\n <div class=\"col-md-4 col-lg-3 p-l-0 p-r-0 sticky-top m-t-0 inner-scroll bg-level-1\">\n <div class=\"nav-tabs nav-tabs-vertical nav-tabs-vertical--wide p-t-0\">\n <div\n [class.active]=\"feature === selectedFeature\"\n class=\"d-flex fit-w a-i-center\"\n *ngFor=\"let feature of features$ | async\"\n >\n <button\n class=\"d-flex gap-4 text-truncate flex-grow min-width-0\"\n title=\"{{ feature.label }}\"\n [ngClass]=\"{\n 'bg-component': feature === selectedFeature,\n 'bg-level-1': feature !== selectedFeature\n }\"\n (click)=\"updateSelectedFeature(feature)\"\n >\n <i\n class=\"m-l-0\"\n [c8yIcon]=\"'science'\"\n ></i>\n <span class=\"text-truncate\">\n {{ feature.label }}\n </span>\n </button>\n <div\n class=\"a-s-stretch d-flex a-i-center separator-bottom p-r-16\"\n [ngClass]=\"{\n 'bg-component': feature === selectedFeature,\n 'bg-level-1': feature !== selectedFeature\n }\"\n >\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Enable or disable' | translate }}\"\n >\n <input\n [attr.aria-label]=\"feature.label\"\n type=\"checkbox\"\n [checked]=\"feature.key | featureState | async\"\n (change)=\"$event.stopPropagation(); onToggle(feature, $event)\"\n />\n <span class=\"slider round\"></span>\n </label>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"col-md-8 col-lg-9 p-24 inner-scroll markdown-content\"\n *ngIf=\"selectedFeature\"\n >\n <span class=\"tag tag--primary h4\">\n {{ 'Feature preview' | translate }} \u2014 {{ selectedFeature.label }}\n </span>\n <div *ngIf=\"isComponent(description$.value); else stringDescription\">\n <ng-container *ngComponentOutlet=\"description$.value\"></ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"close()\"\n >\n {{ 'Close' | translate }}\n </button>\n</div>\n\n<ng-template #stringDescription>\n <p [innerHTML]=\"description$.value\"></p>\n</ng-template>\n" }]
|
|
35166
35558
|
}], ctorParameters: () => [] });
|
|
35167
35559
|
|
|
35168
|
-
class
|
|
35169
|
-
constructor() {
|
|
35170
|
-
this.previewService = inject(PreviewService);
|
|
35171
|
-
this.bottomDrawerService = inject(BottomDrawerService);
|
|
35172
|
-
this.headerService = inject(HeaderService);
|
|
35173
|
-
this.destroy$ = new Subject();
|
|
35174
|
-
}
|
|
35175
|
-
ngOnInit() {
|
|
35176
|
-
this.hasUnseenFeatures$ = this.previewService.hasUnseenFeatures$;
|
|
35177
|
-
this.open$ = this.headerService.rightDrawerOpen$;
|
|
35178
|
-
}
|
|
35179
|
-
async openPreviewFeature() {
|
|
35180
|
-
this.headerService.closeRightDrawer();
|
|
35181
|
-
const bottomDrawer = this.bottomDrawerService.openDrawer(PreviewFeatureComponent, {
|
|
35182
|
-
closeOnNavigation: false,
|
|
35183
|
-
disableClickOutside: true
|
|
35184
|
-
});
|
|
35185
|
-
bottomDrawer.onClosed$.pipe(takeUntil$1(this.destroy$)).subscribe(() => {
|
|
35186
|
-
if (this.previewService.reload$.value) {
|
|
35187
|
-
window.location.reload();
|
|
35188
|
-
}
|
|
35189
|
-
});
|
|
35190
|
-
try {
|
|
35191
|
-
const result = await bottomDrawer.instance.shouldClose;
|
|
35192
|
-
if (result) {
|
|
35193
|
-
bottomDrawer.close();
|
|
35194
|
-
}
|
|
35195
|
-
}
|
|
35196
|
-
catch (e) {
|
|
35197
|
-
// intended empty
|
|
35198
|
-
}
|
|
35199
|
-
}
|
|
35200
|
-
ngOnDestroy() {
|
|
35201
|
-
this.destroy$.next();
|
|
35202
|
-
this.destroy$.complete();
|
|
35203
|
-
}
|
|
35204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35205
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PreviewFeatureButtonComponent, isStandalone: true, selector: "c8y-preview-feature-button", ngImport: i0, template: "<div class=\"separator-top p-t-8 m-t-auto c8y-right-drawer__item sticky-top\">\n <i class=\"dlt-c8y-icon-science\"></i>\n <span\n class=\"text-bold\"\n translate\n >\n Preview features\n </span>\n <span\n class=\"m-l-8 tag tag--primary\"\n *ngIf=\"hasUnseenFeatures$ | async\"\n >\n {{ 'New' | translate }}\n </span>\n</div>\n<ul class=\"list-unstyled\">\n <li class=\"c8y-right-drawer__item\">\n <small translate>\n Enable or disable experimental features. Your feedback helps us improve functionality before\n final release.\n </small>\n </li>\n <li class=\"c8y-right-drawer__item\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Manage preview features' | translate }}\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n (click)=\"openPreviewFeature()\"\n >\n <i class=\"m-t-0 m-b-9 text-14 dlt-c8y-icon-settings\"></i>\n <span translate>Manage preview features</span>\n </button>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
35206
|
-
}
|
|
35207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureButtonComponent, decorators: [{
|
|
35208
|
-
type: Component,
|
|
35209
|
-
args: [{ selector: 'c8y-preview-feature-button', standalone: true, imports: [C8yTranslateDirective, C8yTranslatePipe, AsyncPipe, NgIf], template: "<div class=\"separator-top p-t-8 m-t-auto c8y-right-drawer__item sticky-top\">\n <i class=\"dlt-c8y-icon-science\"></i>\n <span\n class=\"text-bold\"\n translate\n >\n Preview features\n </span>\n <span\n class=\"m-l-8 tag tag--primary\"\n *ngIf=\"hasUnseenFeatures$ | async\"\n >\n {{ 'New' | translate }}\n </span>\n</div>\n<ul class=\"list-unstyled\">\n <li class=\"c8y-right-drawer__item\">\n <small translate>\n Enable or disable experimental features. Your feedback helps us improve functionality before\n final release.\n </small>\n </li>\n <li class=\"c8y-right-drawer__item\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Manage preview features' | translate }}\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n (click)=\"openPreviewFeature()\"\n >\n <i class=\"m-t-0 m-b-9 text-14 dlt-c8y-icon-settings\"></i>\n <span translate>Manage preview features</span>\n </button>\n </li>\n</ul>\n" }]
|
|
35210
|
-
}] });
|
|
35211
|
-
|
|
35212
|
-
class PreviewFeatureDrawerFactory {
|
|
35560
|
+
class PreviewFeatureQueryParamDrawerFactory {
|
|
35213
35561
|
constructor(options, previewService, permissions) {
|
|
35214
35562
|
this.options = options;
|
|
35215
35563
|
this.previewService = previewService;
|
|
35216
35564
|
this.permissions = permissions;
|
|
35217
|
-
this.
|
|
35218
|
-
|
|
35219
|
-
|
|
35220
|
-
|
|
35221
|
-
|
|
35565
|
+
this.queryParamConfig = {
|
|
35566
|
+
queryParam: SHOW_PREVIEW_FEATURES,
|
|
35567
|
+
closeOnNavigation: false,
|
|
35568
|
+
disableClickOutside: true,
|
|
35569
|
+
component: PreviewFeatureComponent
|
|
35222
35570
|
};
|
|
35223
35571
|
}
|
|
35224
35572
|
get() {
|
|
35225
35573
|
return this.shouldShowPreviewFeature$().pipe(distinctUntilChanged(), map(shouldShowPreviewFeature => {
|
|
35226
35574
|
if (shouldShowPreviewFeature) {
|
|
35227
|
-
return this.
|
|
35575
|
+
return this.queryParamConfig;
|
|
35228
35576
|
}
|
|
35229
35577
|
return [];
|
|
35230
35578
|
}));
|
|
@@ -35245,30 +35593,18 @@ class PreviewFeatureDrawerFactory {
|
|
|
35245
35593
|
return !hidePreviewFeature && hasItems && hasAdminRole;
|
|
35246
35594
|
}));
|
|
35247
35595
|
}
|
|
35248
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type:
|
|
35249
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type:
|
|
35596
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureQueryParamDrawerFactory, deps: [{ token: OptionsService }, { token: PreviewService }, { token: Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35597
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureQueryParamDrawerFactory, providedIn: 'root' }); }
|
|
35250
35598
|
}
|
|
35251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type:
|
|
35599
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureQueryParamDrawerFactory, decorators: [{
|
|
35252
35600
|
type: Injectable,
|
|
35253
35601
|
args: [{ providedIn: 'root' }]
|
|
35254
35602
|
}], ctorParameters: () => [{ type: OptionsService }, { type: PreviewService }, { type: Permissions }] });
|
|
35255
35603
|
|
|
35256
|
-
class PreviewFeatureShowNotification {
|
|
35257
|
-
constructor(previewService) {
|
|
35258
|
-
this.previewService = previewService;
|
|
35259
|
-
this.shouldShowNotification$ = this.previewService.hasUnseenFeatures$;
|
|
35260
|
-
}
|
|
35261
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureShowNotification, deps: [{ token: PreviewService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35262
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureShowNotification, providedIn: 'root' }); }
|
|
35263
|
-
}
|
|
35264
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PreviewFeatureShowNotification, decorators: [{
|
|
35265
|
-
type: Injectable,
|
|
35266
|
-
args: [{ providedIn: 'root' }]
|
|
35267
|
-
}], ctorParameters: () => [{ type: PreviewService }] });
|
|
35268
|
-
|
|
35269
35604
|
const PREVIEW_FEATURE_PROVIDERS = [
|
|
35270
35605
|
hookDrawer(PreviewFeatureDrawerFactory),
|
|
35271
|
-
hookService('notificationService', PreviewFeatureShowNotification)
|
|
35606
|
+
hookService('notificationService', PreviewFeatureShowNotification),
|
|
35607
|
+
hookQueryParamBottomDrawer(PreviewFeatureQueryParamDrawerFactory)
|
|
35272
35608
|
];
|
|
35273
35609
|
|
|
35274
35610
|
class ChangeIconComponent {
|
|
@@ -35347,7 +35683,8 @@ class CoreModule {
|
|
|
35347
35683
|
...UiSettingsModule.providers(),
|
|
35348
35684
|
...UserModule.providers(),
|
|
35349
35685
|
...VersionModule.providers(),
|
|
35350
|
-
...PREVIEW_FEATURE_PROVIDERS
|
|
35686
|
+
...PREVIEW_FEATURE_PROVIDERS,
|
|
35687
|
+
...QUERY_PARAM_HANDLER_PROVIDERS
|
|
35351
35688
|
]
|
|
35352
35689
|
};
|
|
35353
35690
|
}
|
|
@@ -36271,27 +36608,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
36271
36608
|
class RealtimeMessage {
|
|
36272
36609
|
}
|
|
36273
36610
|
|
|
36274
|
-
class PluginLoadedPipe {
|
|
36275
|
-
constructor(pluginsResolve) {
|
|
36276
|
-
this.pluginsResolve = pluginsResolve;
|
|
36277
|
-
}
|
|
36278
|
-
transform(pluginName) {
|
|
36279
|
-
if (!pluginName) {
|
|
36280
|
-
return of(false);
|
|
36281
|
-
}
|
|
36282
|
-
return this.pluginsResolve.loadedPluginNames$.pipe(map$2(pluginNames => pluginNames.includes(pluginName)), distinctUntilChanged$1());
|
|
36283
|
-
}
|
|
36284
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginLoadedPipe, deps: [{ token: PluginsResolveService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
36285
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: PluginLoadedPipe, isStandalone: true, name: "c8yPluginLoaded" }); }
|
|
36286
|
-
}
|
|
36287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginLoadedPipe, decorators: [{
|
|
36288
|
-
type: Pipe,
|
|
36289
|
-
args: [{
|
|
36290
|
-
name: 'c8yPluginLoaded',
|
|
36291
|
-
standalone: true
|
|
36292
|
-
}]
|
|
36293
|
-
}], ctorParameters: () => [{ type: PluginsResolveService }] });
|
|
36294
|
-
|
|
36295
36611
|
/**
|
|
36296
36612
|
* AssetTypesService is being used to manage a cache of all existing asset types.
|
|
36297
36613
|
* This service is injected in the AssetOverviewNavigationFactory class, which will trigger
|
|
@@ -36509,5 +36825,5 @@ function colorValidator(allowedModes) {
|
|
|
36509
36825
|
* Generated bundle index. Do not edit.
|
|
36510
36826
|
*/
|
|
36511
36827
|
|
|
36512
|
-
export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LABELS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, AGGREGATION_VALUES, AGGREGATION_VALUES_ARR, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AggregationPickerComponent, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppHrefPipe, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DateContextQueryParamNames, DateFilterMapper, DateFormatService, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FeatureCacheService, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GLOBAL_CONTEXT_AUTO_REFRESH, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_CURRENT_APPLICATION, HOOK_CURRENT_TENANT, HOOK_CURRENT_USER, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_PLUGIN, HOOK_PREVIEW, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InterAppService, IntervalBasedReload, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_ROUTER_STATE_PROP, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PREVIEW_FEATURE_PROVIDERS, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthService, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginLoadedPipe, PluginsExportScopes, PluginsLoaderService, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, PreviewFeatureButtonComponent, PreviewFeatureShowNotification, PreviewService, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeControlComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RelativeTimePipe, RequiredInputPlaceholderDirective, ResolverServerError, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SHOW_BETA_PREVIEW, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SimplifiedAuthService, SkipLinkDirective, StandalonePluginInjector, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpChallengeComponent, TotpSetupComponent, TranslateParserCustom, TranslateService, TranslationLoaderService, TreeNodeCellRendererComponent, TreeNodeColumn, TreeNodeHeaderCellRendererComponent, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WIDGET_TYPE_VALUES, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetsDashboardComponent, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, globalAutoRefreshLoading, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookCurrentApplication, hookCurrentTenant, hookCurrentUser, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookPlugin, hookPreview, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookUserMenu, hookVersion, hookWidget, hookWizard, initializeServices, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
|
|
36828
|
+
export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LABELS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, AGGREGATION_VALUES, AGGREGATION_VALUES_ARR, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AggregationPickerComponent, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppHrefPipe, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DateContextQueryParamNames, DateFilterMapper, DateFormatService, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FeatureCacheService, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GLOBAL_CONTEXT_AUTO_REFRESH, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_CURRENT_APPLICATION, HOOK_CURRENT_TENANT, HOOK_CURRENT_USER, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_PLUGIN, HOOK_PREVIEW, HOOK_QUERY_PARAM, HOOK_QUERY_PARAM_BOTTOM_DRAWER, HOOK_QUERY_PARAM_MODAL, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InterAppService, IntervalBasedReload, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_ROUTER_STATE_PROP, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PREVIEW_FEATURE_PROVIDERS, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthService, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginLoadedPipe, PluginsExportScopes, PluginsLoaderService, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, PreviewFeatureButtonComponent, PreviewFeatureShowNotification, PreviewService, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QUERY_PARAM_HANDLER_PROVIDERS, QueryParamBottomDrawerFactory, QueryParamBottomDrawerStateService, QueryParamHandlerService, QueryParamModalFactory, QueryParamModalStateService, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeControlComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RelativeTimePipe, RequiredInputPlaceholderDirective, ResolverServerError, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SHOW_PREVIEW_FEATURES, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SimplifiedAuthService, SkipLinkDirective, StandalonePluginInjector, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpChallengeComponent, TotpSetupComponent, TranslateParserCustom, TranslateService, TranslationLoaderService, TreeNodeCellRendererComponent, TreeNodeColumn, TreeNodeHeaderCellRendererComponent, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WIDGET_TYPE_VALUES, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetsDashboardComponent, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, globalAutoRefreshLoading, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookCurrentApplication, hookCurrentTenant, hookCurrentUser, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookPlugin, hookPreview, hookQueryParam, hookQueryParamBottomDrawer, hookQueryParamModal, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookUserMenu, hookVersion, hookWidget, hookWizard, initializeServices, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
|
|
36513
36829
|
//# sourceMappingURL=c8y-ngx-components.mjs.map
|