@c8y/ngx-components 1021.21.0 → 1021.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alarms/alarm-details.component.d.ts +1 -3
- package/alarms/alarm-details.component.d.ts.map +1 -1
- package/alarms/alarm-info.component.d.ts +9 -14
- package/alarms/alarm-info.component.d.ts.map +1 -1
- package/alarms/alarms-view.service.d.ts.map +1 -1
- package/alarms/alarms.component.d.ts.map +1 -1
- package/alarms/alarms.helper.d.ts +5 -0
- package/alarms/alarms.helper.d.ts.map +1 -0
- package/alarms/alarms.module.d.ts.map +1 -1
- package/alarms/cockpit/index.d.ts.map +1 -1
- package/alarms/devicemanagement/index.d.ts.map +1 -1
- package/alarms/index.d.ts +5 -4
- package/alarms/index.d.ts.map +1 -1
- package/core/router/context-route.component.d.ts +8 -3
- package/core/router/context-route.component.d.ts.map +1 -1
- package/core/router/context-route.service.d.ts +29 -3
- package/core/router/context-route.service.d.ts.map +1 -1
- package/core/router/router-tabs.resolver.d.ts +4 -1
- package/core/router/router-tabs.resolver.d.ts.map +1 -1
- package/core/router/router.model.d.ts +40 -3
- package/core/router/router.model.d.ts.map +1 -1
- package/core/router/router.module.d.ts +2 -1
- package/core/router/router.module.d.ts.map +1 -1
- package/core/router/router.service.d.ts +5 -4
- package/core/router/router.service.d.ts.map +1 -1
- package/core/router/scoped-context-route.service.d.ts +57 -0
- package/core/router/scoped-context-route.service.d.ts.map +1 -0
- package/core/router/view-context.service.d.ts +8 -18
- package/core/router/view-context.service.d.ts.map +1 -1
- package/esm2022/alarms/alarm-details.component.mjs +7 -9
- package/esm2022/alarms/alarm-info.component.mjs +23 -33
- package/esm2022/alarms/alarms-view.service.mjs +2 -2
- package/esm2022/alarms/alarms.component.mjs +10 -3
- package/esm2022/alarms/alarms.helper.mjs +32 -0
- package/esm2022/alarms/alarms.module.mjs +5 -5
- package/esm2022/alarms/cockpit/index.mjs +13 -17
- package/esm2022/alarms/devicemanagement/index.mjs +15 -18
- package/esm2022/alarms/index.mjs +6 -5
- package/esm2022/core/router/context-route.component.mjs +23 -13
- package/esm2022/core/router/context-route.service.mjs +37 -5
- package/esm2022/core/router/router-tabs.resolver.mjs +46 -15
- package/esm2022/core/router/router.model.mjs +6 -1
- package/esm2022/core/router/router.module.mjs +20 -13
- package/esm2022/core/router/router.service.mjs +24 -10
- package/esm2022/core/router/scoped-context-route.service.mjs +152 -0
- package/esm2022/core/router/view-context.service.mjs +59 -16
- package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +12 -16
- package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +14 -17
- package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +198 -170
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +403 -131
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -8,10 +8,10 @@ import { castArray, flatten, uniq, sortBy, groupBy, camelCase, isEqual, isUndefi
|
|
|
8
8
|
import { merge, of, defer, combineLatest, race, isObservable, from, Subject, BehaviorSubject, NEVER, Observable, firstValueFrom, fromEvent, pipe, throwError, concat, map as map$2, EMPTY, timer, fromEventPattern, startWith as startWith$1, switchMap as switchMap$1, distinctUntilChanged as distinctUntilChanged$1, takeUntil as takeUntil$1, empty, forkJoin, ReplaySubject, interval, shareReplay as shareReplay$1, mergeMap as mergeMap$1 } from 'rxjs';
|
|
9
9
|
import { map, distinctUntilChanged, filter, startWith, switchMap, take, shareReplay, scan, debounceTime, share, takeUntil, tap, catchError, first as first$1, retryWhen, delay, concatMap, debounce, sample, withLatestFrom, mergeMap, every as every$1, toArray, merge as merge$1, expand, skip, mapTo, finalize, reduce as reduce$1, combineLatestWith } from 'rxjs/operators';
|
|
10
10
|
import * as i1 from '@c8y/client';
|
|
11
|
-
import { ApplicationAvailability, OperationStatus, TenantLoginOptionType, UserManagementSource, GrantType, ApplicationType, aggregationType, BearerAuthFromSessionStorage, FetchClient, Client, PasswordStrength, QueriesUtil, InventoryService, UserService, ApplicationService, TenantService, Service } from '@c8y/client';
|
|
11
|
+
import { ApplicationAvailability, OperationStatus, TenantLoginOptionType, UserManagementSource, GrantType, ApplicationType, aggregationType, BearerAuthFromSessionStorage, FetchClient, Client, PasswordStrength, QueriesUtil, InventoryService, UserService, ApplicationService, TenantService, AlarmService, Service } from '@c8y/client';
|
|
12
12
|
import { __decorate, __metadata } from 'tslib';
|
|
13
13
|
import * as i1$3 from '@angular/router';
|
|
14
|
-
import { NavigationEnd, RouterModule as RouterModule$1, ActivationEnd, NavigationStart, PRIMARY_OUTLET, ActivatedRoute, ROUTES, Router, NavigationCancel, NavigationError } from '@angular/router';
|
|
14
|
+
import { NavigationEnd, RouterModule as RouterModule$1, ActivationEnd, NavigationStart, PRIMARY_OUTLET, ActivatedRoute, ActivationStart, ChildActivationEnd, ROUTES, Router, NavigationCancel, NavigationError } from '@angular/router';
|
|
15
15
|
import * as i4 from '@c8y/ngx-components/api';
|
|
16
16
|
import { DataModule } from '@c8y/ngx-components/api';
|
|
17
17
|
import { satisfies, compare, coerce } from 'semver';
|
|
@@ -52,6 +52,7 @@ import { CdkStepper, STEP_STATE, CdkStepperModule, CdkStep, STEPPER_GLOBAL_OPTIO
|
|
|
52
52
|
import * as i1$5 from '@angular/cdk/bidi';
|
|
53
53
|
import { getThemePreference, setThemePreference, applyTheme } from '@c8y/bootstrap';
|
|
54
54
|
import * as mimeDB from 'mime-db';
|
|
55
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
55
56
|
import * as i6 from '@ngx-formly/core';
|
|
56
57
|
import { FormlyModule, FieldArrayType, FieldType, FieldWrapper, FORMLY_CONFIG, ɵdefineHiddenProp as _defineHiddenProp } from '@ngx-formly/core';
|
|
57
58
|
import * as i5$2 from '@ngx-formly/core/select';
|
|
@@ -66,7 +67,6 @@ import * as i9 from '@angular/cdk/table';
|
|
|
66
67
|
import { CdkTable, CdkHeaderCell, CdkTableModule } from '@angular/cdk/table';
|
|
67
68
|
import * as i19 from 'ngx-bootstrap/pagination';
|
|
68
69
|
import { PaginationModule } from 'ngx-bootstrap/pagination';
|
|
69
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Allows to set a icon. Switches between c8y default icons
|
|
@@ -24148,6 +24148,11 @@ var ViewContext;
|
|
|
24148
24148
|
ViewContext["Service"] = "service/:id";
|
|
24149
24149
|
ViewContext["DatapointLibrary"] = "datapointlibrary/:id";
|
|
24150
24150
|
ViewContext["Simulators"] = "simulators/:id";
|
|
24151
|
+
ViewContext["Alarms"] = "alarms/:id";
|
|
24152
|
+
ViewContext["GroupAlarms"] = "group/:id/alarms/:id";
|
|
24153
|
+
ViewContext["DeviceAlarms"] = "device/:id/alarms/:id";
|
|
24154
|
+
ViewContext["ServiceAlarms"] = "service/:id/alarms/:id";
|
|
24155
|
+
ViewContext["SimulatorsAlarms"] = "simulators/:id/alarms/:id";
|
|
24151
24156
|
})(ViewContext || (ViewContext = {}));
|
|
24152
24157
|
|
|
24153
24158
|
class RouterTabsResolver {
|
|
@@ -24158,9 +24163,10 @@ class RouterTabsResolver {
|
|
|
24158
24163
|
get routerStateSnapshot() {
|
|
24159
24164
|
return this.router.routerState.snapshot;
|
|
24160
24165
|
}
|
|
24161
|
-
resolve(
|
|
24162
|
-
const
|
|
24163
|
-
|
|
24166
|
+
resolve(currentRoute) {
|
|
24167
|
+
const routeConfig = currentRoute.routeConfig;
|
|
24168
|
+
const latestChildren = this.getLatestChildRoutes(routeConfig.rootContext);
|
|
24169
|
+
return from(latestChildren || []).pipe(mergeMap((child) => from(this.getGuards(child)).pipe(map((guard) => guard.canActivate(currentRoute, this.routerStateSnapshot)), mergeMap((result) => {
|
|
24164
24170
|
if (isObservable(result)) {
|
|
24165
24171
|
return result;
|
|
24166
24172
|
}
|
|
@@ -24172,18 +24178,48 @@ class RouterTabsResolver {
|
|
|
24172
24178
|
if (Array.isArray(result)) {
|
|
24173
24179
|
child.tabs = result;
|
|
24174
24180
|
}
|
|
24175
|
-
}), every$1(result => !!result), filter(result => result), mergeMap(() => (Array.isArray(child.tabs) ? from(child.tabs) : of(child))), map(result =>
|
|
24176
|
-
|
|
24177
|
-
|
|
24178
|
-
|
|
24179
|
-
|
|
24180
|
-
|
|
24181
|
-
|
|
24182
|
-
|
|
24183
|
-
|
|
24184
|
-
|
|
24181
|
+
}), every$1(result => !!result), filter(result => result), mergeMap(() => (Array.isArray(child.tabs) ? from(child.tabs) : of(child))), map(result => {
|
|
24182
|
+
const url = this.getBaselUrl(currentRoute).join('/');
|
|
24183
|
+
return result.label || result.path
|
|
24184
|
+
? {
|
|
24185
|
+
label: result.label,
|
|
24186
|
+
icon: result.icon,
|
|
24187
|
+
path: `/${decodeURIComponent(url)}/${result.path}`,
|
|
24188
|
+
priority: result.priority,
|
|
24189
|
+
hide: result.hide,
|
|
24190
|
+
badge: result.badge,
|
|
24191
|
+
tooltipText: result.tooltipText,
|
|
24192
|
+
featureId: result.featureId,
|
|
24193
|
+
tabsOutlet: result.tabsOutlet,
|
|
24194
|
+
showAlways: result.showAlways
|
|
24195
|
+
}
|
|
24196
|
+
: undefined;
|
|
24197
|
+
}))), filter(tabs => !!tabs), toArray());
|
|
24198
|
+
}
|
|
24199
|
+
getBaselUrl(currentRoute) {
|
|
24200
|
+
let prefix = [];
|
|
24201
|
+
if (currentRoute.parent?.url.length > 0) {
|
|
24202
|
+
prefix = this.getBaselUrl(currentRoute.parent);
|
|
24203
|
+
}
|
|
24204
|
+
return [...prefix, ...currentRoute.url];
|
|
24205
|
+
}
|
|
24206
|
+
getLatestChildRoutes(context) {
|
|
24207
|
+
const thisContextRoute = this.findRootContextRoutes(this.router.config, context);
|
|
24208
|
+
return thisContextRoute?.children || [];
|
|
24209
|
+
}
|
|
24210
|
+
findRootContextRoutes(routes, context) {
|
|
24211
|
+
for (const route of routes) {
|
|
24212
|
+
if (route.rootContext === context) {
|
|
24213
|
+
return route;
|
|
24185
24214
|
}
|
|
24186
|
-
|
|
24215
|
+
if (route.children) {
|
|
24216
|
+
const childResult = this.findRootContextRoutes(route.children, context);
|
|
24217
|
+
if (childResult) {
|
|
24218
|
+
return childResult;
|
|
24219
|
+
}
|
|
24220
|
+
}
|
|
24221
|
+
}
|
|
24222
|
+
return null;
|
|
24187
24223
|
}
|
|
24188
24224
|
getGuards(child) {
|
|
24189
24225
|
const guards = (child.canActivate || []).map(guard => {
|
|
@@ -24206,22 +24242,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
24206
24242
|
|
|
24207
24243
|
class ViewContextServices {
|
|
24208
24244
|
static { this.services = {
|
|
24209
|
-
[ViewContext.Device]: InventoryService,
|
|
24210
|
-
[ViewContext.Group]: InventoryService,
|
|
24211
|
-
[ViewContext.User]: UserService,
|
|
24212
|
-
[ViewContext.Application]:
|
|
24213
|
-
|
|
24214
|
-
|
|
24215
|
-
|
|
24216
|
-
|
|
24217
|
-
[ViewContext.
|
|
24218
|
-
|
|
24219
|
-
|
|
24220
|
-
|
|
24221
|
-
|
|
24245
|
+
[ViewContext.Device]: { service: InventoryService, path: ViewContext.Device, autoRoute: true },
|
|
24246
|
+
[ViewContext.Group]: { service: InventoryService, path: ViewContext.Group, autoRoute: true },
|
|
24247
|
+
[ViewContext.User]: { service: UserService, path: ViewContext.User, autoRoute: true },
|
|
24248
|
+
[ViewContext.Application]: {
|
|
24249
|
+
service: ApplicationService,
|
|
24250
|
+
path: ViewContext.Application,
|
|
24251
|
+
autoRoute: true
|
|
24252
|
+
},
|
|
24253
|
+
[ViewContext.Microservice]: {
|
|
24254
|
+
service: ApplicationService,
|
|
24255
|
+
path: ViewContext.Microservice,
|
|
24256
|
+
autoRoute: true
|
|
24257
|
+
},
|
|
24258
|
+
[ViewContext.Extension]: {
|
|
24259
|
+
service: ApplicationService,
|
|
24260
|
+
path: ViewContext.Extension,
|
|
24261
|
+
autoRoute: true
|
|
24262
|
+
},
|
|
24263
|
+
[ViewContext.Feature]: {
|
|
24264
|
+
service: ApplicationService,
|
|
24265
|
+
path: ViewContext.Feature,
|
|
24266
|
+
autoRoute: true
|
|
24267
|
+
},
|
|
24268
|
+
[ViewContext.SubscribedApplications]: {
|
|
24269
|
+
service: ApplicationService,
|
|
24270
|
+
path: ViewContext.SubscribedApplications,
|
|
24271
|
+
autoRoute: true
|
|
24272
|
+
},
|
|
24273
|
+
[ViewContext.Tenant]: { service: TenantService, path: ViewContext.Tenant, autoRoute: true },
|
|
24274
|
+
[ViewContext.Report]: { service: InventoryService, path: ViewContext.Report, autoRoute: true },
|
|
24275
|
+
[ViewContext.Service]: {
|
|
24276
|
+
service: InventoryService,
|
|
24277
|
+
path: ViewContext.Service,
|
|
24278
|
+
autoRoute: true
|
|
24279
|
+
},
|
|
24280
|
+
[ViewContext.DatapointLibrary]: {
|
|
24281
|
+
service: InventoryService,
|
|
24282
|
+
path: ViewContext.DatapointLibrary,
|
|
24283
|
+
autoRoute: true
|
|
24284
|
+
},
|
|
24285
|
+
[ViewContext.Simulators]: {
|
|
24286
|
+
service: InventoryService,
|
|
24287
|
+
path: ViewContext.Simulators,
|
|
24288
|
+
autoRoute: true
|
|
24289
|
+
},
|
|
24290
|
+
[ViewContext.Alarms]: { service: AlarmService, path: ':id', autoRoute: false },
|
|
24291
|
+
[ViewContext.GroupAlarms]: { service: AlarmService, path: ':id', autoRoute: false },
|
|
24292
|
+
[ViewContext.DeviceAlarms]: { service: AlarmService, path: ':id', autoRoute: false },
|
|
24293
|
+
[ViewContext.SimulatorsAlarms]: { service: AlarmService, path: ':id', autoRoute: false },
|
|
24294
|
+
[ViewContext.ServiceAlarms]: { service: AlarmService, path: ':id', autoRoute: false }
|
|
24222
24295
|
}; }
|
|
24223
24296
|
static contextToService(context) {
|
|
24224
|
-
return ViewContextServices.services[context];
|
|
24297
|
+
return ViewContextServices.services[context]?.service;
|
|
24298
|
+
}
|
|
24299
|
+
static getPath(context) {
|
|
24300
|
+
return ViewContextServices.services[context]?.path;
|
|
24301
|
+
}
|
|
24302
|
+
static isAutoRoute(context) {
|
|
24303
|
+
return ViewContextServices.services[context]?.autoRoute;
|
|
24225
24304
|
}
|
|
24226
24305
|
}
|
|
24227
24306
|
|
|
@@ -24233,8 +24312,8 @@ class ContextRouteService {
|
|
|
24233
24312
|
this.apiService = apiService;
|
|
24234
24313
|
this.injector = injector;
|
|
24235
24314
|
this.lastAddedTabs = [];
|
|
24236
|
-
this.refreshTrigger = new Subject();
|
|
24237
24315
|
this.ID_REGEX = /([0-9]+)/;
|
|
24316
|
+
this.refreshTrigger$ = new Subject();
|
|
24238
24317
|
/**
|
|
24239
24318
|
* Last context data snapshot
|
|
24240
24319
|
*/
|
|
@@ -24260,24 +24339,53 @@ class ContextRouteService {
|
|
|
24260
24339
|
}
|
|
24261
24340
|
return null;
|
|
24262
24341
|
}
|
|
24342
|
+
/**
|
|
24343
|
+
* Returns a route for the given ContextData.
|
|
24344
|
+
*
|
|
24345
|
+
* @param contextData The ContextData object.
|
|
24346
|
+
* @returns A route with the ids set correctly.
|
|
24347
|
+
*/
|
|
24263
24348
|
getContextRoute(contextData) {
|
|
24264
|
-
return contextData.context.replace(
|
|
24349
|
+
return contextData.context.replace(/:id/g, contextData.contextData.id);
|
|
24265
24350
|
}
|
|
24351
|
+
/**
|
|
24352
|
+
* Verifies if a given url is a view context route.
|
|
24353
|
+
*
|
|
24354
|
+
* @param url A route url.
|
|
24355
|
+
* @param contextToCheck The view context(s) to check. If not provided, all contexts are checked.
|
|
24356
|
+
* @returns true if the given url is a view context route.
|
|
24357
|
+
*/
|
|
24358
|
+
isContextRoute(url, contextToCheck = []) {
|
|
24359
|
+
const viewContexts = contextToCheck.length === 0 ? Object.values(ViewContext) : contextToCheck;
|
|
24360
|
+
// replace all :id placeholders with a regex matcher for a number
|
|
24361
|
+
const regexMatchers = viewContexts.map(context => `/${context.replace(/:id/g, '([0-9]+)')}`);
|
|
24362
|
+
const matchingRegexContext = regexMatchers.find(context => new RegExp(context).test(url));
|
|
24363
|
+
return !!matchingRegexContext;
|
|
24364
|
+
}
|
|
24365
|
+
/**
|
|
24366
|
+
* @deprecated: Use ScopedContextRouteService instead. Will be removed in 10.22
|
|
24367
|
+
*/
|
|
24266
24368
|
init(route) {
|
|
24267
24369
|
this.routerSubscription = this.router.events
|
|
24268
24370
|
.pipe(filter(e => e instanceof NavigationEnd))
|
|
24269
24371
|
.subscribe(() => this.redirectToFirstTab());
|
|
24270
24372
|
this.dataSubscription = route.data
|
|
24271
|
-
.pipe(merge$1(this.updatedContext(route), this.refreshTrigger), switchMap(() => this.tabsResolver.resolve(route.snapshot)))
|
|
24373
|
+
.pipe(merge$1(this.updatedContext(route), this.refreshTrigger$), switchMap(() => this.tabsResolver.resolve(route.snapshot)))
|
|
24272
24374
|
.subscribe(tabs => this.updateTabs(tabs));
|
|
24273
24375
|
}
|
|
24376
|
+
/**
|
|
24377
|
+
* @deprecated: Use ScopedContextRouteService instead. Will be removed in 10.22
|
|
24378
|
+
*/
|
|
24274
24379
|
destroy() {
|
|
24275
24380
|
this.dataSubscription.unsubscribe();
|
|
24276
24381
|
this.routerSubscription.unsubscribe();
|
|
24277
24382
|
this.lastAddedTabs.forEach(t => this.tabsService.remove(t));
|
|
24278
24383
|
}
|
|
24384
|
+
/**
|
|
24385
|
+
* Reloads all ViewContexts.
|
|
24386
|
+
*/
|
|
24279
24387
|
refreshContext() {
|
|
24280
|
-
this.refreshTrigger
|
|
24388
|
+
this.refreshTrigger$.next();
|
|
24281
24389
|
}
|
|
24282
24390
|
/**
|
|
24283
24391
|
* Sets a new contextData in the ActivatedRoute.
|
|
@@ -24293,6 +24401,9 @@ class ContextRouteService {
|
|
|
24293
24401
|
}
|
|
24294
24402
|
data.contextData = { ...contextData };
|
|
24295
24403
|
}
|
|
24404
|
+
/**
|
|
24405
|
+
* @deprecated: Use ScopedContextRouteService instead. Will be removed in 10.21
|
|
24406
|
+
*/
|
|
24296
24407
|
updatedContext(route) {
|
|
24297
24408
|
const { data } = route.snapshot;
|
|
24298
24409
|
const serviceInstance = ViewContextServices.contextToService(data.context);
|
|
@@ -24372,6 +24483,232 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
24372
24483
|
}]
|
|
24373
24484
|
}], ctorParameters: () => [{ type: RouterTabsResolver }, { type: TabsService }, { type: i1$3.Router }, { type: i4.ApiService }, { type: i0.Injector }] });
|
|
24374
24485
|
|
|
24486
|
+
/**
|
|
24487
|
+
* A service which is injected into the context route component to handle the context data.
|
|
24488
|
+
*/
|
|
24489
|
+
class ScopedContextRouteService {
|
|
24490
|
+
constructor(tabsResolver, tabsService, router, apiService, injector, destroyRef) {
|
|
24491
|
+
this.tabsResolver = tabsResolver;
|
|
24492
|
+
this.tabsService = tabsService;
|
|
24493
|
+
this.router = router;
|
|
24494
|
+
this.apiService = apiService;
|
|
24495
|
+
this.injector = injector;
|
|
24496
|
+
this.destroyRef = destroyRef;
|
|
24497
|
+
this.lastAddedTabs = [];
|
|
24498
|
+
this.refreshTrigger$ = new Subject();
|
|
24499
|
+
this.ID_REGEX = /([0-9]+)/;
|
|
24500
|
+
}
|
|
24501
|
+
/**
|
|
24502
|
+
* Indicates that the data is loading
|
|
24503
|
+
* @returns An boolean observable which indicates if the data is loading.
|
|
24504
|
+
*/
|
|
24505
|
+
isLoading$() {
|
|
24506
|
+
return this.router.events.pipe(filter(e => (e instanceof ActivationStart || e instanceof ChildActivationEnd) &&
|
|
24507
|
+
e.snapshot.routeConfig?.rootContext === this.currentContext), map(e => e instanceof ActivationStart), takeUntilDestroyed(this.destroyRef));
|
|
24508
|
+
}
|
|
24509
|
+
/**
|
|
24510
|
+
* Initializes the context route.
|
|
24511
|
+
* @param route The current activated route.
|
|
24512
|
+
*/
|
|
24513
|
+
init(route) {
|
|
24514
|
+
this.currentContext = route.routeConfig.rootContext;
|
|
24515
|
+
if (!this.currentContext) {
|
|
24516
|
+
throw new Error(`${ScopedContextRouteService.name} should not be used on a route without a rootContext`);
|
|
24517
|
+
}
|
|
24518
|
+
this.router.events
|
|
24519
|
+
.pipe(filter(e => e instanceof ActivationEnd), takeUntilDestroyed(this.destroyRef))
|
|
24520
|
+
.subscribe((e) => this.redirectToFirstTab(e));
|
|
24521
|
+
route.data
|
|
24522
|
+
.pipe(merge$1(this.updatedContext(route), this.refreshTrigger$), switchMap(() => this.tabsResolver.resolve(route.snapshot)), takeUntilDestroyed(this.destroyRef))
|
|
24523
|
+
.subscribe(tabs => this.updateTabs(tabs));
|
|
24524
|
+
}
|
|
24525
|
+
/**
|
|
24526
|
+
* Destroys the service.
|
|
24527
|
+
*/
|
|
24528
|
+
ngOnDestroy() {
|
|
24529
|
+
this.lastAddedTabs.forEach(t => this.tabsService.remove(t));
|
|
24530
|
+
}
|
|
24531
|
+
/**
|
|
24532
|
+
* Refreshes the context.
|
|
24533
|
+
*/
|
|
24534
|
+
refreshContext() {
|
|
24535
|
+
this.refreshTrigger$.next();
|
|
24536
|
+
}
|
|
24537
|
+
/**
|
|
24538
|
+
* Sets an API hook to refresh the contextData on changes.
|
|
24539
|
+
* @param activatedRoute The current activated route.
|
|
24540
|
+
*/
|
|
24541
|
+
updatedContext(route) {
|
|
24542
|
+
const { data } = route.snapshot;
|
|
24543
|
+
const serviceInstance = ViewContextServices.contextToService(data.context);
|
|
24544
|
+
if (serviceInstance) {
|
|
24545
|
+
const service = this.injector.get(serviceInstance);
|
|
24546
|
+
const detailsUrlRegex = service
|
|
24547
|
+
.getDetailUrl(data.contextData)
|
|
24548
|
+
.replace(/\d+/g, '?\\d*');
|
|
24549
|
+
const contextRegex = new RegExp(detailsUrlRegex, 'i');
|
|
24550
|
+
const childrenRegex = new RegExp(`${detailsUrlRegex}/child`, 'i');
|
|
24551
|
+
const filterResponse = ({ url, method }) => {
|
|
24552
|
+
const contextChanged = contextRegex.test(url) && ['POST', 'PUT'].includes(method);
|
|
24553
|
+
const childrenAffected = childrenRegex.test(url) && ['POST', 'DELETE'].includes(method);
|
|
24554
|
+
return contextChanged || childrenAffected;
|
|
24555
|
+
};
|
|
24556
|
+
return this.apiService.hookResponse(filterResponse);
|
|
24557
|
+
}
|
|
24558
|
+
return NEVER;
|
|
24559
|
+
}
|
|
24560
|
+
updateTabs(tabs = []) {
|
|
24561
|
+
this.lastAddedTabs.forEach(t => this.tabsService.remove(t));
|
|
24562
|
+
this.lastAddedTabs = tabs;
|
|
24563
|
+
tabs.forEach(t => this.tabsService.add(t));
|
|
24564
|
+
this.redirectToFirstTab();
|
|
24565
|
+
}
|
|
24566
|
+
redirectToFirstTab(event) {
|
|
24567
|
+
if (event) {
|
|
24568
|
+
if (this.needsRedirect(event)) {
|
|
24569
|
+
const tab = this.tabsService.sortTabs(event.snapshot.data.tabs)?.[0];
|
|
24570
|
+
if (!tab) {
|
|
24571
|
+
return;
|
|
24572
|
+
}
|
|
24573
|
+
const currentContextId = (this.router.url.match(this.ID_REGEX) || []).shift();
|
|
24574
|
+
const tabPathId = (tab.path.match(this.ID_REGEX) || []).shift();
|
|
24575
|
+
if (currentContextId === tabPathId) {
|
|
24576
|
+
this.router.navigateByUrl(tab.path, { replaceUrl: true });
|
|
24577
|
+
}
|
|
24578
|
+
}
|
|
24579
|
+
}
|
|
24580
|
+
else {
|
|
24581
|
+
const currentContextId = (this.router.url.match(this.ID_REGEX) || []).shift();
|
|
24582
|
+
if (this.needsRedirectLegacy()) {
|
|
24583
|
+
this.tabsService.firstTab$.pipe(filter((tab) => !!tab?.path)).subscribe((tab) => {
|
|
24584
|
+
const tabPathId = (tab.path.match(this.ID_REGEX) || []).shift();
|
|
24585
|
+
if (currentContextId === tabPathId) {
|
|
24586
|
+
this.router.navigateByUrl(tab.path, { replaceUrl: true });
|
|
24587
|
+
}
|
|
24588
|
+
});
|
|
24589
|
+
}
|
|
24590
|
+
}
|
|
24591
|
+
}
|
|
24592
|
+
needsRedirectLegacy() {
|
|
24593
|
+
const tree = this.router.parseUrl(this.router.url);
|
|
24594
|
+
const groups = tree.root.children[PRIMARY_OUTLET];
|
|
24595
|
+
const context = this.getMatchingContextRoute(this.router.url);
|
|
24596
|
+
if (!context) {
|
|
24597
|
+
return groups.segments.length === 2;
|
|
24598
|
+
}
|
|
24599
|
+
return context.split('/').length === groups.segments.length;
|
|
24600
|
+
}
|
|
24601
|
+
needsRedirect(event) {
|
|
24602
|
+
const contextRoute = event.snapshot.routeConfig;
|
|
24603
|
+
if (!contextRoute.rootContext) {
|
|
24604
|
+
return false;
|
|
24605
|
+
}
|
|
24606
|
+
const contextRouteFromUrl = this.getMatchingContextRoute(this.router.url);
|
|
24607
|
+
return contextRoute.rootContext === contextRouteFromUrl;
|
|
24608
|
+
}
|
|
24609
|
+
getMatchingContextRoute(url) {
|
|
24610
|
+
const viewContexts = Object.values(ViewContext);
|
|
24611
|
+
// replace all :id placeholders with a regex matcher for a number
|
|
24612
|
+
const regexMatchers = viewContexts.map(context => `^/${context.replace(/:id/g, '([0-9]+)')}$`);
|
|
24613
|
+
const matchingRegexContext = regexMatchers.find(context => new RegExp(context).test(url));
|
|
24614
|
+
return matchingRegexContext ? viewContexts[regexMatchers.indexOf(matchingRegexContext)] : null;
|
|
24615
|
+
}
|
|
24616
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ScopedContextRouteService, deps: [{ token: RouterTabsResolver }, { token: TabsService }, { token: i1$3.Router }, { token: i4.ApiService }, { token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24617
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ScopedContextRouteService }); }
|
|
24618
|
+
}
|
|
24619
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ScopedContextRouteService, decorators: [{
|
|
24620
|
+
type: Injectable
|
|
24621
|
+
}], ctorParameters: () => [{ type: RouterTabsResolver }, { type: TabsService }, { type: i1$3.Router }, { type: i4.ApiService }, { type: i0.Injector }, { type: i0.DestroyRef }] });
|
|
24622
|
+
|
|
24623
|
+
class ContextRouteComponent {
|
|
24624
|
+
constructor(route, scopedContextRouteService, contextRouteService, destroyRef) {
|
|
24625
|
+
this.route = route;
|
|
24626
|
+
this.scopedContextRouteService = scopedContextRouteService;
|
|
24627
|
+
this.contextRouteService = contextRouteService;
|
|
24628
|
+
this.destroyRef = destroyRef;
|
|
24629
|
+
this.isLoading$ = this.scopedContextRouteService.isLoading$();
|
|
24630
|
+
}
|
|
24631
|
+
ngOnInit() {
|
|
24632
|
+
this.contextRouteService.refreshTrigger$
|
|
24633
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
24634
|
+
.subscribe(() => {
|
|
24635
|
+
this.refreshTabs();
|
|
24636
|
+
});
|
|
24637
|
+
this.scopedContextRouteService.init(this.route);
|
|
24638
|
+
}
|
|
24639
|
+
refreshTabs() {
|
|
24640
|
+
this.scopedContextRouteService.refreshContext();
|
|
24641
|
+
}
|
|
24642
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: ScopedContextRouteService }, { token: ContextRouteService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24643
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ContextRouteComponent, selector: "c8y-context-route", providers: [ScopedContextRouteService], ngImport: i0, template: "<router-outlet *ngIf=\"!(isLoading$ | async); else loading\"></router-outlet>\n\n<ng-template #loading>\n <div class=\"d-flex d-col a-i-center j-c-center fit-h\">\n <c8y-loading></c8y-loading>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
24644
|
+
}
|
|
24645
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteComponent, decorators: [{
|
|
24646
|
+
type: Component,
|
|
24647
|
+
args: [{ selector: 'c8y-context-route', providers: [ScopedContextRouteService], template: "<router-outlet *ngIf=\"!(isLoading$ | async); else loading\"></router-outlet>\n\n<ng-template #loading>\n <div class=\"d-flex d-col a-i-center j-c-center fit-h\">\n <c8y-loading></c8y-loading>\n </div>\n</ng-template>\n" }]
|
|
24648
|
+
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: ScopedContextRouteService }, { type: ContextRouteService }, { type: i0.DestroyRef }] });
|
|
24649
|
+
|
|
24650
|
+
class ContextRouteGuard {
|
|
24651
|
+
constructor(injector) {
|
|
24652
|
+
this.injector = injector;
|
|
24653
|
+
this.caches = new Map();
|
|
24654
|
+
}
|
|
24655
|
+
canActivate(route) {
|
|
24656
|
+
const id = route.paramMap.get('id');
|
|
24657
|
+
const service = this.service(route);
|
|
24658
|
+
this.clearDetailCached(service, id);
|
|
24659
|
+
return this.detailCached(service, id).pipe(tap(contextData => {
|
|
24660
|
+
Object.keys(route.data.contextData).forEach(key => delete route.data.contextData[key]);
|
|
24661
|
+
Object.assign(route.data.contextData, contextData);
|
|
24662
|
+
}), map(() => true), catchError(() => of(false)));
|
|
24663
|
+
}
|
|
24664
|
+
service(route) {
|
|
24665
|
+
const serviceInstance = ViewContextServices.contextToService(route.data.context);
|
|
24666
|
+
return this.injector.get(serviceInstance);
|
|
24667
|
+
}
|
|
24668
|
+
detailCached(service, id) {
|
|
24669
|
+
if (id === 'new') {
|
|
24670
|
+
return of(undefined);
|
|
24671
|
+
}
|
|
24672
|
+
const cache = this.getCache(service);
|
|
24673
|
+
let cached = cache[id];
|
|
24674
|
+
if (!cached) {
|
|
24675
|
+
const params = service instanceof InventoryService ? { withChildren: false } : undefined;
|
|
24676
|
+
cached = from(service.detail(id, params)).pipe(map(({ data }) => data), shareReplay(1));
|
|
24677
|
+
cache[id] = cached;
|
|
24678
|
+
}
|
|
24679
|
+
return cached;
|
|
24680
|
+
}
|
|
24681
|
+
clearDetailCached(service, id) {
|
|
24682
|
+
const cache = this.getCache(service);
|
|
24683
|
+
delete cache[id];
|
|
24684
|
+
}
|
|
24685
|
+
getCache(service) {
|
|
24686
|
+
let cache = this.caches.get(service);
|
|
24687
|
+
if (!cache) {
|
|
24688
|
+
cache = {};
|
|
24689
|
+
this.caches.set(service, cache);
|
|
24690
|
+
}
|
|
24691
|
+
return cache;
|
|
24692
|
+
}
|
|
24693
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24694
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteGuard, providedIn: 'root' }); }
|
|
24695
|
+
}
|
|
24696
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteGuard, decorators: [{
|
|
24697
|
+
type: Injectable,
|
|
24698
|
+
args: [{
|
|
24699
|
+
providedIn: 'root'
|
|
24700
|
+
}]
|
|
24701
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
24702
|
+
|
|
24703
|
+
class EmptyComponent {
|
|
24704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24705
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: EmptyComponent, selector: "empty", ngImport: i0, template: '', isInline: true }); }
|
|
24706
|
+
}
|
|
24707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EmptyComponent, decorators: [{
|
|
24708
|
+
type: Component,
|
|
24709
|
+
args: [{ selector: 'empty', template: '' }]
|
|
24710
|
+
}] });
|
|
24711
|
+
|
|
24375
24712
|
/**
|
|
24376
24713
|
* A hook to use for Multi Provider extension.
|
|
24377
24714
|
* @deprecated Consider using the `hookRoute` function instead.
|
|
@@ -24474,16 +24811,17 @@ class RouterService extends ExtensionPointWithoutStateForPlugins {
|
|
|
24474
24811
|
// Empty route needs to be last as of navigation to angularjs routes
|
|
24475
24812
|
// if ** route hit, the angularjs routes are loaded.
|
|
24476
24813
|
const emptyRoute = this.router.config.find(r => r.path === '**');
|
|
24814
|
+
const rootContextRoutes = this.findAllRootContextRoutes([...this.router.config, ...routes]);
|
|
24477
24815
|
this.router.resetConfig([
|
|
24478
24816
|
...this.router.config.filter(r => r.path !== '**'),
|
|
24479
|
-
...routes.map((r) => this.convertRoute(
|
|
24817
|
+
...routes.map((r) => this.convertRoute(rootContextRoutes, r)),
|
|
24480
24818
|
emptyRoute
|
|
24481
24819
|
].filter(Boolean));
|
|
24482
24820
|
}
|
|
24483
|
-
convertRoute(
|
|
24821
|
+
convertRoute(rootContextRoutes, route) {
|
|
24484
24822
|
if (route.context) {
|
|
24485
|
-
|
|
24486
|
-
if (r.
|
|
24823
|
+
rootContextRoutes.forEach((r) => {
|
|
24824
|
+
if (r.rootContext === route.context) {
|
|
24487
24825
|
r.children = [route, ...(r.children || [])];
|
|
24488
24826
|
}
|
|
24489
24827
|
});
|
|
@@ -24491,6 +24829,19 @@ class RouterService extends ExtensionPointWithoutStateForPlugins {
|
|
|
24491
24829
|
}
|
|
24492
24830
|
return route;
|
|
24493
24831
|
}
|
|
24832
|
+
findAllRootContextRoutes(routes) {
|
|
24833
|
+
const result = [];
|
|
24834
|
+
routes.forEach(route => {
|
|
24835
|
+
if (route.rootContext) {
|
|
24836
|
+
result.push(route);
|
|
24837
|
+
}
|
|
24838
|
+
if (route.children) {
|
|
24839
|
+
const childRoutes = this.findAllRootContextRoutes(route.children);
|
|
24840
|
+
result.push(...childRoutes);
|
|
24841
|
+
}
|
|
24842
|
+
});
|
|
24843
|
+
return result;
|
|
24844
|
+
}
|
|
24494
24845
|
resolveRouterForChildRoutes(moduleRef, remoteNgModule) {
|
|
24495
24846
|
// NOTE: stolen from lazy loaded routes from Angular itself.
|
|
24496
24847
|
// https://github.com/angular/angular/blob/da58801f95c66c201e332189af25702bdd722f3f/packages/router/src/router_config_loader.ts#L103-L108
|
|
@@ -24513,90 +24864,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
24513
24864
|
}]
|
|
24514
24865
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1$3.Router }, { type: ContextRouteService }, { type: PluginsResolveService }, { type: OptionsService }] });
|
|
24515
24866
|
|
|
24516
|
-
class ContextRouteComponent {
|
|
24517
|
-
constructor(route, contextRouteService) {
|
|
24518
|
-
this.route = route;
|
|
24519
|
-
this.contextRouteService = contextRouteService;
|
|
24520
|
-
}
|
|
24521
|
-
ngOnInit() {
|
|
24522
|
-
this.contextRouteService.init(this.route);
|
|
24523
|
-
}
|
|
24524
|
-
ngOnDestroy() {
|
|
24525
|
-
this.contextRouteService.destroy();
|
|
24526
|
-
}
|
|
24527
|
-
refreshTabs() {
|
|
24528
|
-
this.contextRouteService.refreshContext();
|
|
24529
|
-
}
|
|
24530
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: ContextRouteService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24531
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ContextRouteComponent, selector: "c8y-context-route", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
24532
|
-
}
|
|
24533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteComponent, decorators: [{
|
|
24534
|
-
type: Component,
|
|
24535
|
-
args: [{ selector: 'c8y-context-route', template: "<router-outlet></router-outlet>\n" }]
|
|
24536
|
-
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: ContextRouteService }] });
|
|
24537
|
-
|
|
24538
|
-
class ContextRouteGuard {
|
|
24539
|
-
constructor(injector) {
|
|
24540
|
-
this.injector = injector;
|
|
24541
|
-
this.caches = new Map();
|
|
24542
|
-
}
|
|
24543
|
-
canActivate(route) {
|
|
24544
|
-
const id = route.paramMap.get('id');
|
|
24545
|
-
const service = this.service(route);
|
|
24546
|
-
this.clearDetailCached(service, id);
|
|
24547
|
-
return this.detailCached(service, id).pipe(tap(contextData => {
|
|
24548
|
-
Object.keys(route.data.contextData).forEach(key => delete route.data.contextData[key]);
|
|
24549
|
-
Object.assign(route.data.contextData, contextData);
|
|
24550
|
-
}), map(() => true), catchError(() => of(false)));
|
|
24551
|
-
}
|
|
24552
|
-
service(route) {
|
|
24553
|
-
const serviceInstance = ViewContextServices.contextToService(route.data.context);
|
|
24554
|
-
return this.injector.get(serviceInstance);
|
|
24555
|
-
}
|
|
24556
|
-
detailCached(service, id) {
|
|
24557
|
-
if (id === 'new') {
|
|
24558
|
-
return of(undefined);
|
|
24559
|
-
}
|
|
24560
|
-
const cache = this.getCache(service);
|
|
24561
|
-
let cached = cache[id];
|
|
24562
|
-
if (!cached) {
|
|
24563
|
-
const params = service instanceof InventoryService ? { withChildren: false } : undefined;
|
|
24564
|
-
cached = from(service.detail(id, params)).pipe(map(({ data }) => data), shareReplay(1));
|
|
24565
|
-
cache[id] = cached;
|
|
24566
|
-
}
|
|
24567
|
-
return cached;
|
|
24568
|
-
}
|
|
24569
|
-
clearDetailCached(service, id) {
|
|
24570
|
-
const cache = this.getCache(service);
|
|
24571
|
-
delete cache[id];
|
|
24572
|
-
}
|
|
24573
|
-
getCache(service) {
|
|
24574
|
-
let cache = this.caches.get(service);
|
|
24575
|
-
if (!cache) {
|
|
24576
|
-
cache = {};
|
|
24577
|
-
this.caches.set(service, cache);
|
|
24578
|
-
}
|
|
24579
|
-
return cache;
|
|
24580
|
-
}
|
|
24581
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24582
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteGuard, providedIn: 'root' }); }
|
|
24583
|
-
}
|
|
24584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ContextRouteGuard, decorators: [{
|
|
24585
|
-
type: Injectable,
|
|
24586
|
-
args: [{
|
|
24587
|
-
providedIn: 'root'
|
|
24588
|
-
}]
|
|
24589
|
-
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
24590
|
-
|
|
24591
|
-
class EmptyComponent {
|
|
24592
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24593
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: EmptyComponent, selector: "empty", ngImport: i0, template: '', isInline: true }); }
|
|
24594
|
-
}
|
|
24595
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EmptyComponent, decorators: [{
|
|
24596
|
-
type: Component,
|
|
24597
|
-
args: [{ selector: 'empty', template: '' }]
|
|
24598
|
-
}] });
|
|
24599
|
-
|
|
24600
24867
|
const extraRoutes = [
|
|
24601
24868
|
{
|
|
24602
24869
|
path: 'users/new',
|
|
@@ -24607,17 +24874,21 @@ const extraRoutes = [
|
|
|
24607
24874
|
component: EmptyComponent
|
|
24608
24875
|
}
|
|
24609
24876
|
];
|
|
24877
|
+
const viewContextRoutes = [];
|
|
24610
24878
|
// tslint:disable-next-line: forin
|
|
24611
24879
|
for (const key in ViewContext) {
|
|
24612
24880
|
const context = ViewContext[key];
|
|
24613
|
-
|
|
24614
|
-
|
|
24881
|
+
if (!ViewContextServices.isAutoRoute(context)) {
|
|
24882
|
+
continue;
|
|
24883
|
+
}
|
|
24884
|
+
viewContextRoutes.push({
|
|
24885
|
+
path: ViewContextServices.getPath(context),
|
|
24886
|
+
rootContext: context,
|
|
24615
24887
|
component: ContextRouteComponent,
|
|
24616
24888
|
canActivate: [ContextRouteGuard],
|
|
24617
24889
|
data: { context, contextData: {} },
|
|
24618
24890
|
resolve: {
|
|
24619
24891
|
tabs: RouterTabsResolver
|
|
24620
|
-
// contextData: ContextRouteGuard
|
|
24621
24892
|
}
|
|
24622
24893
|
});
|
|
24623
24894
|
}
|
|
@@ -24646,10 +24917,10 @@ class RouterModule {
|
|
|
24646
24917
|
// initialNavigation disabled by default because of MTM-44047 (routes triggered before the actual login)
|
|
24647
24918
|
config.initialNavigation = config.initialNavigation ?? 'disabled';
|
|
24648
24919
|
config.useHash = config.useHash ?? true;
|
|
24649
|
-
const ngRouterModule = RouterModule$1.forRoot([...routes, ...extraRoutes], config);
|
|
24920
|
+
const ngRouterModule = RouterModule$1.forRoot([...routes, ...extraRoutes, ...viewContextRoutes], config);
|
|
24650
24921
|
return {
|
|
24651
24922
|
ngModule: RouterModule,
|
|
24652
|
-
providers: [...ngRouterModule.providers]
|
|
24923
|
+
providers: [...ngRouterModule.providers, ScopedContextRouteService]
|
|
24653
24924
|
};
|
|
24654
24925
|
}
|
|
24655
24926
|
constructor(
|
|
@@ -24659,13 +24930,14 @@ class RouterModule {
|
|
|
24659
24930
|
}
|
|
24660
24931
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RouterModule, deps: [{ token: RouterService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24661
24932
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: RouterModule, declarations: [ContextRouteComponent, EmptyComponent], imports: [RouterModule$1, HeaderModule, CommonModule] }); }
|
|
24662
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RouterModule, imports: [RouterModule$1, HeaderModule, CommonModule] }); }
|
|
24933
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RouterModule, providers: [ScopedContextRouteService], imports: [RouterModule$1, HeaderModule, CommonModule] }); }
|
|
24663
24934
|
}
|
|
24664
24935
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RouterModule, decorators: [{
|
|
24665
24936
|
type: NgModule,
|
|
24666
24937
|
args: [{
|
|
24667
24938
|
declarations: [ContextRouteComponent, EmptyComponent],
|
|
24668
|
-
imports: [RouterModule$1, HeaderModule, CommonModule]
|
|
24939
|
+
imports: [RouterModule$1, HeaderModule, CommonModule],
|
|
24940
|
+
providers: [ScopedContextRouteService]
|
|
24669
24941
|
}]
|
|
24670
24942
|
}], ctorParameters: () => [{ type: RouterService }] });
|
|
24671
24943
|
|
|
@@ -34970,5 +35242,5 @@ function colorValidator(allowedModes) {
|
|
|
34970
35242
|
* Generated bundle index. Do not edit.
|
|
34971
35243
|
*/
|
|
34972
35244
|
|
|
34973
|
-
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, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, 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, ChangePasswordComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CredentialsComponent, 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, 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, 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_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, 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, LoginComponent, LoginModule, LoginService, LoginViews, 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_QUERY_PARAM, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthValidatorDirective, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginsExportScopes, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProvidePhoneNumberComponent, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RecoverPasswordComponent, RelativeTimePipe, RequiredInputPlaceholderDirective, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, 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, SkipLinkDirective, SmsChallengeComponent, StandalonePluginInjector, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StrengthValidatorService, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpAuthComponent, TotpChallengeComponent, TotpSetupComponent, TranslateParserCustom, TranslateService, TranslationLoaderService, 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, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, 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, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookVersion, hookWidget, hookWizard, initializeServices, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, wrapperLegendFieldConfig };
|
|
35245
|
+
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, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, 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, ChangePasswordComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CredentialsComponent, 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, 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, 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_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, 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, LoginComponent, LoginModule, LoginService, LoginViews, 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_QUERY_PARAM, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthValidatorDirective, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginsExportScopes, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProvidePhoneNumberComponent, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RecoverPasswordComponent, RelativeTimePipe, RequiredInputPlaceholderDirective, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, 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, SkipLinkDirective, SmsChallengeComponent, StandalonePluginInjector, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StrengthValidatorService, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpAuthComponent, TotpChallengeComponent, TotpSetupComponent, TranslateParserCustom, TranslateService, TranslationLoaderService, 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, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, 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, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookVersion, hookWidget, hookWizard, initializeServices, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, viewContextRoutes, wrapperLegendFieldConfig };
|
|
34974
35246
|
//# sourceMappingURL=c8y-ngx-components.mjs.map
|