@c8y/ngx-components 1023.14.8 → 1023.15.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/assets-navigator/index.d.ts +7 -3
- package/assets-navigator/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +25 -6
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +3 -8
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs +192 -0
- package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-module-federation-exports-assets-navigator.mjs +13 -0
- package/fesm2022/c8y-ngx-components-module-federation-exports-assets-navigator.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components.mjs +201 -77
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/group-breadcrumbs/index.d.ts +6 -0
- package/group-breadcrumbs/index.d.ts.map +1 -0
- package/index.d.ts +85 -35
- package/index.d.ts.map +1 -1
- package/locales/de.po +39 -45
- package/locales/es.po +29 -35
- package/locales/fr.po +21 -27
- package/locales/ja_JP.po +18 -24
- package/locales/ko.po +27 -33
- package/locales/locales.pot +1 -13
- package/locales/nl.po +24 -30
- package/locales/pl.po +42 -48
- package/locales/pt_BR.po +26 -32
- package/locales/zh_CN.po +24 -30
- package/locales/zh_TW.po +34 -40
- package/module-federation-exports/assets-navigator/index.d.ts +2 -0
- package/module-federation-exports/assets-navigator/index.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import { castArray, flatten, uniq, sortBy, groupBy, camelCase, isEqual, isUndefi
|
|
|
7
7
|
import { merge, of, defer, combineLatest, race, isObservable, from, Subject, BehaviorSubject, ReplaySubject, firstValueFrom, lastValueFrom, NEVER, Observable, startWith as startWith$1, filter as filter$1, tap as tap$1, mergeMap, fromEvent, pipe, throwError, concat, map as map$2, timer, fromEventPattern, withLatestFrom, distinctUntilChanged as distinctUntilChanged$1, takeUntil as takeUntil$1, switchMap as switchMap$1, shareReplay as shareReplay$1, catchError as catchError$1, empty, forkJoin, interval } from 'rxjs';
|
|
8
8
|
import { map, distinctUntilChanged, filter, startWith, switchMap, shareReplay, take, scan, takeUntil, tap, catchError, debounceTime, share, first as first$1, retryWhen, delay, concatMap, mergeMap as mergeMap$1, debounce, sample, withLatestFrom as withLatestFrom$1, every as every$1, toArray, merge as merge$1, expand, mapTo, skip, reduce, finalize, combineLatestWith } from 'rxjs/operators';
|
|
9
9
|
import * as i1 from '@c8y/client';
|
|
10
|
-
import { OperationStatus, TenantLoginOptionType, UserManagementSource, GrantType, ApplicationType, BasicAuth, CookieAuth, Realtime, FetchClient, BearerAuthFromSessionStorage, FeatureService, ApplicationAvailability,
|
|
10
|
+
import { InventoryService, OperationStatus, TenantLoginOptionType, UserManagementSource, GrantType, ApplicationType, BasicAuth, CookieAuth, Realtime, FetchClient, BearerAuthFromSessionStorage, FeatureService, ApplicationAvailability, QueriesUtil, Client, PasswordStrength, AlarmService, TenantService, ApplicationService, UserService, aggregationType, Service, Paging } from '@c8y/client';
|
|
11
11
|
import { __decorate, __metadata } from 'tslib';
|
|
12
12
|
import * as i1$3 from '@angular/router';
|
|
13
13
|
import { NavigationEnd, RouterModule as RouterModule$1, NavigationStart, RouterLink, RouterLinkActive, RouterOutlet, ActivationEnd, Router, ActivatedRoute, PRIMARY_OUTLET, ActivationStart, ChildActivationEnd, ROUTES, NavigationCancel, NavigationError } from '@angular/router';
|
|
@@ -2971,18 +2971,6 @@ const MESSAGES_CORE_I18N = {
|
|
|
2971
2971
|
placeholders: {
|
|
2972
2972
|
revokedSerials: '$1'
|
|
2973
2973
|
}
|
|
2974
|
-
},
|
|
2975
|
-
"^Certificate serial number hex: '(.+?)'.*$": {
|
|
2976
|
-
gettext: gettext$1('Certificate serial number: "{{ serialNumber }}"'),
|
|
2977
|
-
placeholders: {
|
|
2978
|
-
serialNumber: '$1'
|
|
2979
|
-
}
|
|
2980
|
-
},
|
|
2981
|
-
'^Tenant certificate authority\\(CA\\) signed certificate for device: (.+?)\\.$': {
|
|
2982
|
-
gettext: gettext$1('Tenant certificate authority (CA) signed certificate for device: "{{ deviceId }}".'),
|
|
2983
|
-
placeholders: {
|
|
2984
|
-
deviceId: '$1'
|
|
2985
|
-
}
|
|
2986
2974
|
}
|
|
2987
2975
|
};
|
|
2988
2976
|
|
|
@@ -8690,6 +8678,133 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
8690
8678
|
}]
|
|
8691
8679
|
}], ctorParameters: () => [] });
|
|
8692
8680
|
|
|
8681
|
+
/**
|
|
8682
|
+
* Service for retrieving ancestor paths in the Cumulocity asset hierarchy.
|
|
8683
|
+
*
|
|
8684
|
+
* This service traverses upward through parent relationships (assetParents, deviceParents,
|
|
8685
|
+
* additionParents) to find all possible paths from root ancestors down to a target asset.
|
|
8686
|
+
*
|
|
8687
|
+
* @example
|
|
8688
|
+
* Given this hierarchy:
|
|
8689
|
+
* ```
|
|
8690
|
+
* Root1 -> Building1 -> Floor1 -> Device
|
|
8691
|
+
* Root2 -> Building2 -> Floor1 -> Device
|
|
8692
|
+
* ```
|
|
8693
|
+
*
|
|
8694
|
+
* Calling `getAncestorPaths('Device')` returns:
|
|
8695
|
+
* ```
|
|
8696
|
+
* [
|
|
8697
|
+
* [Root1, Building1, Floor1, Device],
|
|
8698
|
+
* [Root2, Building2, Floor1, Device]
|
|
8699
|
+
* ]
|
|
8700
|
+
* ```
|
|
8701
|
+
*/
|
|
8702
|
+
class AssetHierarchyService {
|
|
8703
|
+
constructor() {
|
|
8704
|
+
this.inventory = inject(InventoryService);
|
|
8705
|
+
this.alertService = inject(AlertService);
|
|
8706
|
+
}
|
|
8707
|
+
/**
|
|
8708
|
+
* Retrieves all ancestor paths from root nodes down to the specified asset.
|
|
8709
|
+
*
|
|
8710
|
+
* This method fetches the target asset and all its ancestors, then constructs
|
|
8711
|
+
* all possible paths from root ancestors (objects with no parents) down to the
|
|
8712
|
+
* target asset. Multiple paths may exist if the asset has multiple parent chains.
|
|
8713
|
+
*
|
|
8714
|
+
* @param assetId - The ID of the target asset
|
|
8715
|
+
* @returns A promise that resolves to an array of paths, where each path is an
|
|
8716
|
+
* array of managed objects ordered from root to target asset.
|
|
8717
|
+
* Returns an empty array if the asset is not found or an error occurs.
|
|
8718
|
+
*/
|
|
8719
|
+
async getAncestorPaths(assetId) {
|
|
8720
|
+
if (!assetId) {
|
|
8721
|
+
return [];
|
|
8722
|
+
}
|
|
8723
|
+
try {
|
|
8724
|
+
const { data: asset } = await this.inventory.detail(assetId, {
|
|
8725
|
+
withParents: true
|
|
8726
|
+
});
|
|
8727
|
+
const parentIdsOfAsset = this.getParentIds(asset).filter(id => id !== assetId); // Remove self-references to avoid fetching the asset twice in case of circular relations
|
|
8728
|
+
// If asset has no parents, it's a root node itself
|
|
8729
|
+
if (!parentIdsOfAsset || parentIdsOfAsset.length === 0) {
|
|
8730
|
+
return [[asset]];
|
|
8731
|
+
}
|
|
8732
|
+
const { data: parents } = await this.inventory.list({
|
|
8733
|
+
pageSize: 2000,
|
|
8734
|
+
ids: parentIdsOfAsset.join(','),
|
|
8735
|
+
withParents: true,
|
|
8736
|
+
withChildren: true
|
|
8737
|
+
});
|
|
8738
|
+
// Deduplicate managed objects by ID to handle self-referencing parents and circular relationships
|
|
8739
|
+
const allManagedObjects = [asset, ...parents];
|
|
8740
|
+
const uniqueManagedObjectsMap = new Map(allManagedObjects.map(mo => [mo.id, mo]));
|
|
8741
|
+
const parentsAndAsset = Array.from(uniqueManagedObjectsMap.values());
|
|
8742
|
+
const roots = parentsAndAsset.filter(parent => this.getParentIds(parent).length === 0);
|
|
8743
|
+
// Find all paths from each root to the target asset
|
|
8744
|
+
const breadcrumbPaths = [];
|
|
8745
|
+
roots.forEach(root => {
|
|
8746
|
+
const paths = this.findAllPathsToAsset(root, assetId, parentsAndAsset);
|
|
8747
|
+
breadcrumbPaths.push(...paths);
|
|
8748
|
+
});
|
|
8749
|
+
return breadcrumbPaths;
|
|
8750
|
+
}
|
|
8751
|
+
catch (e) {
|
|
8752
|
+
this.alertService.addServerFailure(e);
|
|
8753
|
+
return [];
|
|
8754
|
+
}
|
|
8755
|
+
}
|
|
8756
|
+
/**
|
|
8757
|
+
* Gets all parent IDs of a managed object.
|
|
8758
|
+
*/
|
|
8759
|
+
getParentIds(managedObject) {
|
|
8760
|
+
const assetParents = managedObject.assetParents?.references?.map(parent => parent.managedObject.id) ?? [];
|
|
8761
|
+
const deviceParents = managedObject.deviceParents?.references?.map(parent => parent.managedObject.id) ?? [];
|
|
8762
|
+
const additionParents = managedObject.additionParents?.references?.map(parent => parent.managedObject.id) ?? [];
|
|
8763
|
+
return [...assetParents, ...deviceParents, ...additionParents];
|
|
8764
|
+
}
|
|
8765
|
+
/**
|
|
8766
|
+
* Gets all child IDs of a managed object.
|
|
8767
|
+
*/
|
|
8768
|
+
getChildrenIds(managedObject) {
|
|
8769
|
+
const childAssets = managedObject.childAssets?.references?.map(child => child.managedObject.id) ?? [];
|
|
8770
|
+
const childDevices = managedObject.childDevices?.references?.map(child => child.managedObject.id) ?? [];
|
|
8771
|
+
const childAdditions = managedObject.childAdditions?.references?.map(child => child.managedObject.id) ?? [];
|
|
8772
|
+
return [...childAssets, ...childDevices, ...childAdditions];
|
|
8773
|
+
}
|
|
8774
|
+
/**
|
|
8775
|
+
* Recursively finds all paths from a root node to the target asset.
|
|
8776
|
+
* Returns an array of paths, where each path is an array of managed objects.
|
|
8777
|
+
*/
|
|
8778
|
+
findAllPathsToAsset(managedObject, targetAssetId, allManagedObjects, currentPath = []) {
|
|
8779
|
+
// Check for cycles - if this node is already in the current path, stop traversal
|
|
8780
|
+
if (currentPath.some(ancestor => ancestor.id === managedObject.id)) {
|
|
8781
|
+
return [];
|
|
8782
|
+
}
|
|
8783
|
+
const newPath = [...currentPath, managedObject];
|
|
8784
|
+
// If we found the target asset, return this path
|
|
8785
|
+
if (managedObject.id === targetAssetId) {
|
|
8786
|
+
return [newPath];
|
|
8787
|
+
}
|
|
8788
|
+
// Otherwise, continue searching in children
|
|
8789
|
+
const childrenIds = this.getChildrenIds(managedObject);
|
|
8790
|
+
const filteredChildren = allManagedObjects.filter(mo => childrenIds.includes(mo.id));
|
|
8791
|
+
const allPaths = [];
|
|
8792
|
+
filteredChildren.forEach(child => {
|
|
8793
|
+
const paths = this.findAllPathsToAsset(child, targetAssetId, allManagedObjects, newPath);
|
|
8794
|
+
allPaths.push(...paths);
|
|
8795
|
+
});
|
|
8796
|
+
return allPaths;
|
|
8797
|
+
}
|
|
8798
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetHierarchyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8799
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetHierarchyService, providedIn: 'root' }); }
|
|
8800
|
+
}
|
|
8801
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetHierarchyService, decorators: [{
|
|
8802
|
+
type: Injectable,
|
|
8803
|
+
args: [{
|
|
8804
|
+
providedIn: 'root'
|
|
8805
|
+
}]
|
|
8806
|
+
}] });
|
|
8807
|
+
|
|
8693
8808
|
class GeoService {
|
|
8694
8809
|
constructor() {
|
|
8695
8810
|
this.C8Y_POSITION_FRAGMENT = 'c8y_Position';
|
|
@@ -11616,55 +11731,6 @@ class DynamicBulkIIdentifiedResolver extends DynamicBulkDetailsResolver {
|
|
|
11616
11731
|
}
|
|
11617
11732
|
}
|
|
11618
11733
|
|
|
11619
|
-
class MOChunkLoaderService {
|
|
11620
|
-
constructor(inventory) {
|
|
11621
|
-
this.inventory = inventory;
|
|
11622
|
-
}
|
|
11623
|
-
async processInChunks(ids, chunkSize, loadChunkFn) {
|
|
11624
|
-
if (!ids.length) {
|
|
11625
|
-
return { results: [], errors: [] };
|
|
11626
|
-
}
|
|
11627
|
-
const promiseArray = [];
|
|
11628
|
-
const idsCopy = [...ids];
|
|
11629
|
-
while (idsCopy.length) {
|
|
11630
|
-
const batch = idsCopy.splice(0, chunkSize);
|
|
11631
|
-
promiseArray.push(loadChunkFn(batch));
|
|
11632
|
-
}
|
|
11633
|
-
const chunkResults = await Promise.all(promiseArray);
|
|
11634
|
-
const results = chunkResults.flatMap(r => r.managedObjects);
|
|
11635
|
-
const errors = chunkResults.flatMap(r => r.errors);
|
|
11636
|
-
return { results, errors };
|
|
11637
|
-
}
|
|
11638
|
-
async loadAChunkOfManagedObjectsBase(uniqIds, inventory, pageSize, getStatusDetails, queryFilter) {
|
|
11639
|
-
const { data: managedObjects } = await inventory.list(Object.assign({}, queryFilter || {}, {
|
|
11640
|
-
ids: uniqIds.join(),
|
|
11641
|
-
pageSize
|
|
11642
|
-
}));
|
|
11643
|
-
const notFoundMOs = uniqIds.filter(id => !managedObjects.find(tmp => tmp.id === id));
|
|
11644
|
-
if (notFoundMOs.length) {
|
|
11645
|
-
const promArray = notFoundMOs.map(id => getStatusDetails(id));
|
|
11646
|
-
const res = await Promise.all(promArray);
|
|
11647
|
-
return { managedObjects, errors: res };
|
|
11648
|
-
}
|
|
11649
|
-
return { managedObjects, errors: [] };
|
|
11650
|
-
}
|
|
11651
|
-
async getStatusDetails(moId) {
|
|
11652
|
-
try {
|
|
11653
|
-
const res = await this.inventory.detail(moId);
|
|
11654
|
-
return { id: moId, ...pick(res.res, ['status', 'statusText']) };
|
|
11655
|
-
}
|
|
11656
|
-
catch (e) {
|
|
11657
|
-
return { id: moId, ...pick(e.res, ['status', 'statusText']) };
|
|
11658
|
-
}
|
|
11659
|
-
}
|
|
11660
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MOChunkLoaderService, deps: [{ token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11661
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MOChunkLoaderService, providedIn: 'root' }); }
|
|
11662
|
-
}
|
|
11663
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MOChunkLoaderService, decorators: [{
|
|
11664
|
-
type: Injectable,
|
|
11665
|
-
args: [{ providedIn: 'root' }]
|
|
11666
|
-
}], ctorParameters: () => [{ type: i1.InventoryService }] });
|
|
11667
|
-
|
|
11668
11734
|
/**
|
|
11669
11735
|
* A DynamicDetailsResolver responsible to resolve managedObjects for dynamic components.
|
|
11670
11736
|
* This service implements bulk resolving. This reduces the number of requests made to
|
|
@@ -11809,6 +11875,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
11809
11875
|
args: [{ providedIn: 'root' }]
|
|
11810
11876
|
}] });
|
|
11811
11877
|
|
|
11878
|
+
class MOChunkLoaderService {
|
|
11879
|
+
constructor(inventory) {
|
|
11880
|
+
this.inventory = inventory;
|
|
11881
|
+
}
|
|
11882
|
+
async processInChunks(ids, chunkSize, loadChunkFn) {
|
|
11883
|
+
if (!ids.length) {
|
|
11884
|
+
return { results: [], errors: [] };
|
|
11885
|
+
}
|
|
11886
|
+
const promiseArray = [];
|
|
11887
|
+
const idsCopy = [...ids];
|
|
11888
|
+
while (idsCopy.length) {
|
|
11889
|
+
const batch = idsCopy.splice(0, chunkSize);
|
|
11890
|
+
promiseArray.push(loadChunkFn(batch));
|
|
11891
|
+
}
|
|
11892
|
+
const chunkResults = await Promise.all(promiseArray);
|
|
11893
|
+
const results = chunkResults.flatMap(r => r.managedObjects);
|
|
11894
|
+
const errors = chunkResults.flatMap(r => r.errors);
|
|
11895
|
+
return { results, errors };
|
|
11896
|
+
}
|
|
11897
|
+
async loadAChunkOfManagedObjectsBase(uniqIds, inventory, pageSize, getStatusDetails, queryFilter) {
|
|
11898
|
+
const { data: managedObjects } = await inventory.list(Object.assign({}, queryFilter || {}, {
|
|
11899
|
+
ids: uniqIds.join(),
|
|
11900
|
+
pageSize
|
|
11901
|
+
}));
|
|
11902
|
+
const notFoundMOs = uniqIds.filter(id => !managedObjects.find(tmp => tmp.id === id));
|
|
11903
|
+
if (notFoundMOs.length) {
|
|
11904
|
+
const promArray = notFoundMOs.map(id => getStatusDetails(id));
|
|
11905
|
+
const res = await Promise.all(promArray);
|
|
11906
|
+
return { managedObjects, errors: res };
|
|
11907
|
+
}
|
|
11908
|
+
return { managedObjects, errors: [] };
|
|
11909
|
+
}
|
|
11910
|
+
async getStatusDetails(moId) {
|
|
11911
|
+
try {
|
|
11912
|
+
const res = await this.inventory.detail(moId);
|
|
11913
|
+
return { id: moId, ...pick(res.res, ['status', 'statusText']) };
|
|
11914
|
+
}
|
|
11915
|
+
catch (e) {
|
|
11916
|
+
return { id: moId, ...pick(e.res, ['status', 'statusText']) };
|
|
11917
|
+
}
|
|
11918
|
+
}
|
|
11919
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MOChunkLoaderService, deps: [{ token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11920
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MOChunkLoaderService, providedIn: 'root' }); }
|
|
11921
|
+
}
|
|
11922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MOChunkLoaderService, decorators: [{
|
|
11923
|
+
type: Injectable,
|
|
11924
|
+
args: [{ providedIn: 'root' }]
|
|
11925
|
+
}], ctorParameters: () => [{ type: i1.InventoryService }] });
|
|
11926
|
+
|
|
11812
11927
|
class AppSwitcherService {
|
|
11813
11928
|
constructor(ui) {
|
|
11814
11929
|
this.ui = ui;
|
|
@@ -13959,7 +14074,7 @@ class BreadcrumbService extends ExtensionPointForPlugins {
|
|
|
13959
14074
|
}
|
|
13960
14075
|
sortByPreferredPath(breadcrumbs) {
|
|
13961
14076
|
if (this.preferredPath) {
|
|
13962
|
-
return breadcrumbs.sort(bc => bc.items.find((item) => !!item.path
|
|
14077
|
+
return breadcrumbs.sort(bc => bc.items.find((item) => !!item.path?.match(this.preferredPath)) ? -1 : 1);
|
|
13963
14078
|
}
|
|
13964
14079
|
return breadcrumbs;
|
|
13965
14080
|
}
|
|
@@ -14378,6 +14493,8 @@ class BreadcrumbOutletComponent {
|
|
|
14378
14493
|
constructor() {
|
|
14379
14494
|
this.showAll = false;
|
|
14380
14495
|
this.breadcrumbs = [];
|
|
14496
|
+
this.dropdownOpen = false;
|
|
14497
|
+
this.GROUP_ICON = 'c8y-group';
|
|
14381
14498
|
}
|
|
14382
14499
|
/**
|
|
14383
14500
|
* For upgrade only. Old angularjs routes start with hash, new ones not.
|
|
@@ -14385,23 +14502,27 @@ class BreadcrumbOutletComponent {
|
|
|
14385
14502
|
normalizePath(path) {
|
|
14386
14503
|
return path?.replace(/^#\/?/, '');
|
|
14387
14504
|
}
|
|
14505
|
+
ngOnChanges() {
|
|
14506
|
+
this.dropdownOpen =
|
|
14507
|
+
this.breadcrumbs?.length > 1 && this.breadcrumbs.some(b => b.forceDropdownOpen);
|
|
14508
|
+
}
|
|
14388
14509
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BreadcrumbOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14389
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
14510
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: BreadcrumbOutletComponent, isStandalone: true, selector: "c8y-breadcrumb-outlet", inputs: { breadcrumbs: "breadcrumbs", dropdownOpen: "dropdownOpen" }, usesOnChanges: true, ngImport: i0, template: "@if (breadcrumbs && breadcrumbs.length > 0) {\n <div class=\"breadcrumbs-container d-flex\">\n @if (breadcrumbs.length > 1) {\n <div\n container=\"body\"\n dropdown\n #breadcrumbDropdown=\"bs-dropdown\"\n [isOpen]=\"dropdownOpen\"\n >\n <button\n class=\"btn-clean btn-xs btn p-l-4 p-r-4\"\n title=\"{{ 'Show all paths' | translate }}\"\n type=\"button\"\n dropdownToggle\n >\n <i [c8yIcon]=\"breadcrumbDropdown.isOpen ? 'caret-down' : 'caret-right'\"></i>\n </button>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n @for (breadcrumb of breadcrumbs; track breadcrumb; let i = $index; let first = $first) {\n <!-- in dropdown menu, show all breadcrumbs except the first one -->\n @if (!first) {\n <div class=\"p-t-8 p-r-8 p-b-8 p-l-16 separator-bottom\">\n <ul class=\"breadcrumbs text-muted m-l-4\">\n @for (\n item of breadcrumb.items;\n track item;\n let isLast = $last;\n let isFirst = $first\n ) {\n <li class=\"text-muted\">\n @if (!isFirst) {\n <span><i [c8yIcon]=\"'forward'\"></i></span>\n }\n @if (!isLast) {\n <a\n class=\"word-break\"\n [routerLink]=\"item.path\"\n >\n @if (item.icon) {\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n }\n <span>{{ item.label | translate }}</span>\n </a>\n } @else {\n @if (item.icon) {\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n }\n <span>{{ item.label | translate }}</span>\n }\n </li>\n }\n </ul>\n </div>\n }\n }\n </div>\n </div>\n }\n <ul\n class=\"breadcrumbs text-muted\"\n [attr.role]=\"'navigation'\"\n >\n <!-- show only first breadcrumb- applicable both for single and multiple breadcrumb cases (for multiple breadcrumbs, rest are in dropdown) -->\n @for (item of breadcrumbs[0].items; track item; let firstItem = $first) {\n <li class=\"text-muted\">\n @if (!firstItem) {\n <span><i c8yIcon=\"forward\"></i></span>\n }\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: breadcrumbs[0].injector\"\n ></ng-container>\n @if (item.label && item.path) {\n <a\n class=\"word-break\"\n title=\"{{ item.label | translate }}\"\n [attr.aria-label]=\"'breadcrumb'\"\n [routerLink]=\"normalizePath(item.path)\"\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n <span>{{ item.label | translate }}</span>\n </a>\n }\n @if (item.label && !item.path) {\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n <span title=\"{{ item.label | translate }}\">{{ item.label | translate }}</span>\n }\n </li>\n }\n </ul>\n </div>\n}\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: OutletDirective, selector: "[c8yOutlet]", inputs: ["c8yOutlet", "c8yOutletProperties", "c8yOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i1$4.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i1$4.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i1$4.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
14390
14511
|
}
|
|
14391
14512
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BreadcrumbOutletComponent, decorators: [{
|
|
14392
14513
|
type: Component,
|
|
14393
14514
|
args: [{ selector: 'c8y-breadcrumb-outlet', standalone: true, imports: [
|
|
14394
|
-
NgIf,
|
|
14395
|
-
NgClass,
|
|
14396
14515
|
IconDirective,
|
|
14397
14516
|
TooltipModule,
|
|
14398
|
-
NgFor,
|
|
14399
14517
|
OutletDirective,
|
|
14400
14518
|
RouterLink,
|
|
14401
|
-
C8yTranslatePipe
|
|
14402
|
-
|
|
14519
|
+
C8yTranslatePipe,
|
|
14520
|
+
BsDropdownModule
|
|
14521
|
+
], template: "@if (breadcrumbs && breadcrumbs.length > 0) {\n <div class=\"breadcrumbs-container d-flex\">\n @if (breadcrumbs.length > 1) {\n <div\n container=\"body\"\n dropdown\n #breadcrumbDropdown=\"bs-dropdown\"\n [isOpen]=\"dropdownOpen\"\n >\n <button\n class=\"btn-clean btn-xs btn p-l-4 p-r-4\"\n title=\"{{ 'Show all paths' | translate }}\"\n type=\"button\"\n dropdownToggle\n >\n <i [c8yIcon]=\"breadcrumbDropdown.isOpen ? 'caret-down' : 'caret-right'\"></i>\n </button>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n @for (breadcrumb of breadcrumbs; track breadcrumb; let i = $index; let first = $first) {\n <!-- in dropdown menu, show all breadcrumbs except the first one -->\n @if (!first) {\n <div class=\"p-t-8 p-r-8 p-b-8 p-l-16 separator-bottom\">\n <ul class=\"breadcrumbs text-muted m-l-4\">\n @for (\n item of breadcrumb.items;\n track item;\n let isLast = $last;\n let isFirst = $first\n ) {\n <li class=\"text-muted\">\n @if (!isFirst) {\n <span><i [c8yIcon]=\"'forward'\"></i></span>\n }\n @if (!isLast) {\n <a\n class=\"word-break\"\n [routerLink]=\"item.path\"\n >\n @if (item.icon) {\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n }\n <span>{{ item.label | translate }}</span>\n </a>\n } @else {\n @if (item.icon) {\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n }\n <span>{{ item.label | translate }}</span>\n }\n </li>\n }\n </ul>\n </div>\n }\n }\n </div>\n </div>\n }\n <ul\n class=\"breadcrumbs text-muted\"\n [attr.role]=\"'navigation'\"\n >\n <!-- show only first breadcrumb- applicable both for single and multiple breadcrumb cases (for multiple breadcrumbs, rest are in dropdown) -->\n @for (item of breadcrumbs[0].items; track item; let firstItem = $first) {\n <li class=\"text-muted\">\n @if (!firstItem) {\n <span><i c8yIcon=\"forward\"></i></span>\n }\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: breadcrumbs[0].injector\"\n ></ng-container>\n @if (item.label && item.path) {\n <a\n class=\"word-break\"\n title=\"{{ item.label | translate }}\"\n [attr.aria-label]=\"'breadcrumb'\"\n [routerLink]=\"normalizePath(item.path)\"\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n <span>{{ item.label | translate }}</span>\n </a>\n }\n @if (item.label && !item.path) {\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"item.icon\"\n ></i>\n <span title=\"{{ item.label | translate }}\">{{ item.label | translate }}</span>\n }\n </li>\n }\n </ul>\n </div>\n}\n" }]
|
|
14403
14522
|
}], propDecorators: { breadcrumbs: [{
|
|
14404
14523
|
type: Input
|
|
14524
|
+
}], dropdownOpen: [{
|
|
14525
|
+
type: Input
|
|
14405
14526
|
}] } });
|
|
14406
14527
|
|
|
14407
14528
|
class SearchOutletComponent {
|
|
@@ -14492,13 +14613,12 @@ class HeaderBarComponent {
|
|
|
14492
14613
|
this.headerService.closeRightDrawer();
|
|
14493
14614
|
}
|
|
14494
14615
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderBarComponent, deps: [{ token: HeaderService }, { token: ActionService }, { token: BreadcrumbService }, { token: SearchService }, { token: AppStateService }, { token: UserMenuService }, { token: DocsService }, { token: i4.ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
14616
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HeaderBarComponent, isStandalone: true, selector: "c8y-header-bar", inputs: { simple: "simple" }, ngImport: i0, template: "<div\n class=\"app-main-header\"\n [ngClass]=\"{\n open: (headerService.navigatorOpen$ | async) && !simple,\n drawerOpen: headerService.rightDrawerOpen$ | async\n }\"\n>\n <div\n class=\"header-bar\"\n role=\"banner\"\n >\n @if ((headerService.canToggleNavigator$ | async) && !simple) {\n <button\n class=\"navigator-toggle main-header-button\"\n title=\"{{ 'Toggle navigation bar' | translate }}\"\n [attr.aria-expanded]=\"headerService.navigatorOpen$ | async\"\n [attr.aria-controls]=\"'navigator'\"\n type=\"button\"\n data-cy=\"header-bar--main-header-button\"\n (click)=\"headerService.toggleNavigator()\"\n >\n @if (!(headerService.navigatorOpen$ | async)) {\n <i [c8yIcon]=\"'outdent'\"></i>\n }\n @if (headerService.navigatorOpen$ | async) {\n <i [c8yIcon]=\"'dedent-right'\"></i>\n }\n </button>\n }\n <div class=\"app-view\">\n <c8y-app-icon\n [name]=\"(appState$ | async).app?.name\"\n [contextPath]=\"(appState$ | async).app?.contextPath\"\n [app]=\"(app$ | async) || (appState$ | async).app\"\n ></c8y-app-icon>\n\n <span class=\"page-header\">\n <c8y-title-outlet></c8y-title-outlet>\n @if (!simple) {\n <c8y-breadcrumb-outlet\n class=\"app-breadcrumbs\"\n [breadcrumbs]=\"breadcrumbService.items$ | async\"\n ></c8y-breadcrumb-outlet>\n }\n </span>\n </div>\n @if (!simple) {\n <c8y-search-outlet\n class=\"main-header-item\"\n [search]=\"searchService.items$ | async\"\n ></c8y-search-outlet>\n }\n @if (!simple) {\n <c8y-action-outlet [items]=\"actionService.items$ | async\"></c8y-action-outlet>\n }\n @if (appState.currentUser.value) {\n <c8y-app-switcher\n class=\"main-header-item\"\n title=\"{{ 'Application switcher' | translate }}\"\n ></c8y-app-switcher>\n }\n @if (showNotification$ | async) {\n <button\n class=\"main-header-button drawer-toggle\"\n [attr.aria-label]=\"appState.currentUser | async | shortenUserName\"\n tooltip=\"{{ appState.currentUser | async | shortenUserName }}\n{{ 'New features available' | translate }}\"\n placement=\"left\"\n [attr.aria-expanded]=\"headerService.rightDrawerOpen$ | async\"\n [attr.aria-controls]=\"'right-drawer'\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"toggleDrawer()\"\n [attr.data-cy]=\"'right-drawer-toggle-button'\"\n >\n @if (appState.currentUser | async) {\n <span\n class=\"user-dot user-dot-notification\"\n data-cy=\"header-bar--user-dot\"\n >\n {{ appState.currentUser | async | userNameInitials }}\n </span>\n }\n <span class=\"close-dot\">×</span>\n </button>\n @if (!(headerService.rightDrawerOpen$ | async)) {\n <div class=\"p-relative a-s-stretch no-pointer\">\n @if (showNotification$ | async) {\n <span class=\"c8y-pulse c8y-pulse--md active\"></span>\n }\n </div>\n }\n } @else {\n <button\n class=\"main-header-button drawer-toggle\"\n [attr.aria-label]=\"appState.currentUser | async | shortenUserName\"\n tooltip=\"{{ appState.currentUser | async | shortenUserName }}\"\n placement=\"left\"\n [attr.aria-expanded]=\"headerService.rightDrawerOpen$ | async\"\n [attr.aria-controls]=\"'right-drawer'\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"toggleDrawer()\"\n [attr.data-cy]=\"'right-drawer-toggle-button'\"\n >\n @if (appState.currentUser | async) {\n <span\n class=\"user-dot user-dot-notification\"\n data-cy=\"header-bar--user-dot\"\n >\n {{ appState.currentUser | async | userNameInitials }}\n </span>\n }\n <span class=\"close-dot\">×</span>\n </button>\n }\n </div>\n <div class=\"head-toggler\">\n <button\n title=\"{{ 'Toggle' | translate }}\"\n type=\"button\"\n data-cy=\"header-bar--toggle\"\n (click)=\"headerService.toggle()\"\n >\n <i [c8yIcon]=\"'angle-right'\"></i>\n </button>\n </div>\n <c8y-drawer-outlet\n id=\"right-drawer\"\n [tabindex]=\"(headerService.rightDrawerOpen$ | async) ? '0' : '-1'\"\n [attr.aria-hidden]=\"!(headerService.rightDrawerOpen$ | async)\"\n position=\"right\"\n [open]=\"headerService.rightDrawerOpen$ | async\"\n ></c8y-drawer-outlet>\n <div\n class=\"loading-bar\"\n [ngClass]=\"loadingClass$ | async\"\n ></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: AppIconComponent, selector: "c8y-app-icon", inputs: ["contextPath", "name", "app"] }, { kind: "component", type: TitleOutletComponent, selector: "c8y-title-outlet" }, { kind: "component", type: BreadcrumbOutletComponent, selector: "c8y-breadcrumb-outlet", inputs: ["breadcrumbs", "dropdownOpen"] }, { kind: "component", type: SearchOutletComponent, selector: "c8y-search-outlet", inputs: ["search"] }, { kind: "component", type: ActionOutletComponent, selector: "c8y-action-outlet", inputs: ["items"] }, { kind: "component", type: AppSwitcherComponent, selector: "c8y-app-switcher" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1$5.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: DrawerOutletComponent, selector: "c8y-drawer-outlet", inputs: ["position", "open"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ShortenUserNamePipe, name: "shortenUserName" }, { kind: "pipe", type: UserNameInitialsPipe, name: "userNameInitials" }] }); }
|
|
14496
14617
|
}
|
|
14497
14618
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderBarComponent, decorators: [{
|
|
14498
14619
|
type: Component,
|
|
14499
14620
|
args: [{ selector: 'c8y-header-bar', standalone: true, imports: [
|
|
14500
14621
|
NgClass,
|
|
14501
|
-
NgIf,
|
|
14502
14622
|
IconDirective,
|
|
14503
14623
|
AppIconComponent,
|
|
14504
14624
|
TitleOutletComponent,
|
|
@@ -14512,7 +14632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
14512
14632
|
AsyncPipe,
|
|
14513
14633
|
ShortenUserNamePipe,
|
|
14514
14634
|
UserNameInitialsPipe
|
|
14515
|
-
], template: "<div\n class=\"app-main-header\"\n [ngClass]=\"{\n open: (headerService.navigatorOpen$ | async) && !simple,\n drawerOpen: headerService.rightDrawerOpen$ | async\n }\"\n>\n <div\n class=\"header-bar\"\n role=\"banner\"\n >\n <button\n
|
|
14635
|
+
], template: "<div\n class=\"app-main-header\"\n [ngClass]=\"{\n open: (headerService.navigatorOpen$ | async) && !simple,\n drawerOpen: headerService.rightDrawerOpen$ | async\n }\"\n>\n <div\n class=\"header-bar\"\n role=\"banner\"\n >\n @if ((headerService.canToggleNavigator$ | async) && !simple) {\n <button\n class=\"navigator-toggle main-header-button\"\n title=\"{{ 'Toggle navigation bar' | translate }}\"\n [attr.aria-expanded]=\"headerService.navigatorOpen$ | async\"\n [attr.aria-controls]=\"'navigator'\"\n type=\"button\"\n data-cy=\"header-bar--main-header-button\"\n (click)=\"headerService.toggleNavigator()\"\n >\n @if (!(headerService.navigatorOpen$ | async)) {\n <i [c8yIcon]=\"'outdent'\"></i>\n }\n @if (headerService.navigatorOpen$ | async) {\n <i [c8yIcon]=\"'dedent-right'\"></i>\n }\n </button>\n }\n <div class=\"app-view\">\n <c8y-app-icon\n [name]=\"(appState$ | async).app?.name\"\n [contextPath]=\"(appState$ | async).app?.contextPath\"\n [app]=\"(app$ | async) || (appState$ | async).app\"\n ></c8y-app-icon>\n\n <span class=\"page-header\">\n <c8y-title-outlet></c8y-title-outlet>\n @if (!simple) {\n <c8y-breadcrumb-outlet\n class=\"app-breadcrumbs\"\n [breadcrumbs]=\"breadcrumbService.items$ | async\"\n ></c8y-breadcrumb-outlet>\n }\n </span>\n </div>\n @if (!simple) {\n <c8y-search-outlet\n class=\"main-header-item\"\n [search]=\"searchService.items$ | async\"\n ></c8y-search-outlet>\n }\n @if (!simple) {\n <c8y-action-outlet [items]=\"actionService.items$ | async\"></c8y-action-outlet>\n }\n @if (appState.currentUser.value) {\n <c8y-app-switcher\n class=\"main-header-item\"\n title=\"{{ 'Application switcher' | translate }}\"\n ></c8y-app-switcher>\n }\n @if (showNotification$ | async) {\n <button\n class=\"main-header-button drawer-toggle\"\n [attr.aria-label]=\"appState.currentUser | async | shortenUserName\"\n tooltip=\"{{ appState.currentUser | async | shortenUserName }}\n{{ 'New features available' | translate }}\"\n placement=\"left\"\n [attr.aria-expanded]=\"headerService.rightDrawerOpen$ | async\"\n [attr.aria-controls]=\"'right-drawer'\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"toggleDrawer()\"\n [attr.data-cy]=\"'right-drawer-toggle-button'\"\n >\n @if (appState.currentUser | async) {\n <span\n class=\"user-dot user-dot-notification\"\n data-cy=\"header-bar--user-dot\"\n >\n {{ appState.currentUser | async | userNameInitials }}\n </span>\n }\n <span class=\"close-dot\">×</span>\n </button>\n @if (!(headerService.rightDrawerOpen$ | async)) {\n <div class=\"p-relative a-s-stretch no-pointer\">\n @if (showNotification$ | async) {\n <span class=\"c8y-pulse c8y-pulse--md active\"></span>\n }\n </div>\n }\n } @else {\n <button\n class=\"main-header-button drawer-toggle\"\n [attr.aria-label]=\"appState.currentUser | async | shortenUserName\"\n tooltip=\"{{ appState.currentUser | async | shortenUserName }}\"\n placement=\"left\"\n [attr.aria-expanded]=\"headerService.rightDrawerOpen$ | async\"\n [attr.aria-controls]=\"'right-drawer'\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"toggleDrawer()\"\n [attr.data-cy]=\"'right-drawer-toggle-button'\"\n >\n @if (appState.currentUser | async) {\n <span\n class=\"user-dot user-dot-notification\"\n data-cy=\"header-bar--user-dot\"\n >\n {{ appState.currentUser | async | userNameInitials }}\n </span>\n }\n <span class=\"close-dot\">×</span>\n </button>\n }\n </div>\n <div class=\"head-toggler\">\n <button\n title=\"{{ 'Toggle' | translate }}\"\n type=\"button\"\n data-cy=\"header-bar--toggle\"\n (click)=\"headerService.toggle()\"\n >\n <i [c8yIcon]=\"'angle-right'\"></i>\n </button>\n </div>\n <c8y-drawer-outlet\n id=\"right-drawer\"\n [tabindex]=\"(headerService.rightDrawerOpen$ | async) ? '0' : '-1'\"\n [attr.aria-hidden]=\"!(headerService.rightDrawerOpen$ | async)\"\n position=\"right\"\n [open]=\"headerService.rightDrawerOpen$ | async\"\n ></c8y-drawer-outlet>\n <div\n class=\"loading-bar\"\n [ngClass]=\"loadingClass$ | async\"\n ></div>\n</div>\n" }]
|
|
14516
14636
|
}], ctorParameters: () => [{ type: HeaderService }, { type: ActionService }, { type: BreadcrumbService }, { type: SearchService }, { type: AppStateService }, { type: UserMenuService }, { type: DocsService }, { type: i4.ApiService }], propDecorators: { simple: [{
|
|
14517
14637
|
type: Input
|
|
14518
14638
|
}] } });
|
|
@@ -16091,8 +16211,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
16091
16211
|
* Navigator node renderer.
|
|
16092
16212
|
*/
|
|
16093
16213
|
class NavigatorNodeComponent {
|
|
16094
|
-
constructor(router) {
|
|
16214
|
+
constructor(router, breadcrumbService) {
|
|
16095
16215
|
this.router = router;
|
|
16216
|
+
this.breadcrumbService = breadcrumbService;
|
|
16096
16217
|
/**
|
|
16097
16218
|
* Event emitter responsible for broadcasting one of the following events: "icon", "expander" or "link" as string value.
|
|
16098
16219
|
*
|
|
@@ -16185,6 +16306,9 @@ class NavigatorNodeComponent {
|
|
|
16185
16306
|
break;
|
|
16186
16307
|
}
|
|
16187
16308
|
this.handleExpandCollapse(open, from, $event);
|
|
16309
|
+
if (this.node.parents?.length === 1) {
|
|
16310
|
+
this.breadcrumbService.selectPreferredByPath(this.node.parents[0].path);
|
|
16311
|
+
}
|
|
16188
16312
|
this.nodeClick.emit(from);
|
|
16189
16313
|
}
|
|
16190
16314
|
/**
|
|
@@ -16253,7 +16377,7 @@ class NavigatorNodeComponent {
|
|
|
16253
16377
|
injector: this.node.injector
|
|
16254
16378
|
});
|
|
16255
16379
|
}
|
|
16256
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NavigatorNodeComponent, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16380
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NavigatorNodeComponent, deps: [{ token: i1$3.Router }, { token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16257
16381
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: NavigatorNodeComponent, isStandalone: true, selector: "c8y-navigator-node", inputs: { node: "node", isRoot: "isRoot" }, outputs: { nodeClick: "nodeClick" }, viewQueries: [{ propertyName: "iconSlot", first: true, predicate: ["icon"], descendants: true, read: ViewContainerRef }, { propertyName: "confirm", first: true, predicate: PopoverConfirmComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (node.component) {\n <ng-container\n *c8yComponentOutlet=\"node.component; environmentInjector: node.injector\"\n ></ng-container>\n}\n\n@if (!node.component) {\n <div\n class=\"slot\"\n [hidden]=\"node.hidden\"\n (dragstart)=\"node.dragStart($event)\"\n (dragend)=\"node.dragEnd($event)\"\n (drop)=\"node.drop($event)\"\n [draggable]=\"node.draggable\"\n [ngClass]=\"{ dragged: node.dragged, disabled: node.loading }\"\n >\n <ng-container>\n <div\n class=\"link\"\n tabindex=\"-1\"\n [routerLink]=\"node.canNavigate ? node.path : undefined\"\n [ngClass]=\"{\n active: isActive$ | async,\n 'dragged-hover': node.draggedHover && !node.dragged\n }\"\n (dragover)=\"node.canDrop && $event.preventDefault()\"\n (dragenter)=\"node.canDrop && node.dragEnter($event)\"\n (dragleave)=\"node.canDrop && node.dragLeave($event)\"\n >\n <ng-container *ngTemplateOutlet=\"navicon\"></ng-container>\n <button\n class=\"btn-clean\"\n title=\"{{ node.translateLabel ? (node.label | translate) : node.label }}\"\n [attr.aria-expanded]=\"node.hasChildren ? node.open : null\"\n type=\"button\"\n draggable=\"false\"\n [attr.data-cy]=\"node.label\"\n [attr.id]=\"isRoot ? node.id : undefined\"\n (click)=\"click(node.canNavigate ? 'link' : 'expander', $event)\"\n [ngClass]=\"{\n 'root-link': isRoot,\n open: node.open && node.hasChildren,\n parent: node.hasChildren\n }\"\n >\n <ng-container *ngTemplateOutlet=\"inner\"></ng-container>\n </button>\n </div>\n </ng-container>\n @if (node.children.length) {\n <div\n class=\"children panel-expand expand\"\n [collapse]=\"!node.open\"\n [isAnimated]=\"true\"\n >\n @for (childNode of node.children; track childNode) {\n <c8y-navigator-node\n [node]=\"childNode\"\n (nodeClick)=\"nodeClick.emit($event)\"\n ></c8y-navigator-node>\n }\n </div>\n }\n </div>\n}\n\n<!-- icon -->\n<ng-template #navicon>\n <!-- loader -->\n @if (node.loading && !isRoot) {\n <i\n class=\"icon-spin loadingIndicator\"\n [c8yIcon]=\"'circle-o-notch'\"\n [ngClass]=\"{ 'm-l-16': isRoot, 'm-l-8': !isRoot }\"\n ></i>\n }\n <ng-container #icon></ng-container>\n</ng-template>\n\n<ng-template #inner>\n <!--title -->\n <span>{{ node.translateLabel ? (node.label | translate) : node.label }}</span>\n\n <!--expander -->\n @if (node.hasChildren) {\n <i\n class=\"expander\"\n [c8yIcon]=\"'chevron-down'\"\n [attr.aria-label]=\"expandTitle\"\n role=\"button\"\n (click)=\"click('expander', $event)\"\n data-cy=\"c8y-navigator-node--expander\"\n ></i>\n }\n\n <!-- Popover confirm -->\n <c8y-popover-confirm\n triggers=\"focus\"\n containerClass=\"navigator-popover\"\n ></c8y-popover-confirm>\n</ng-template>\n", dependencies: [{ kind: "component", type: NavigatorNodeComponent, selector: "c8y-navigator-node", inputs: ["node", "isRoot"], outputs: ["nodeClick"] }, { kind: "directive", type: C8yComponentOutlet, selector: "[c8yComponentOutlet]", inputs: ["c8yComponentOutlet", "c8yComponentOutletInjector", "c8yComponentOutletEnvironmentInjector", "c8yComponentOutletProviders", "c8yComponentOutletInitialState"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: CollapseModule }, { kind: "directive", type: i2$1.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: PopoverConfirmComponent, selector: "c8y-popover-confirm", inputs: ["buttons", "message", "title", "isOpen", "containerClass", "placement", "outsideClick", "adaptivePosition", "container"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
16258
16382
|
}
|
|
16259
16383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NavigatorNodeComponent, decorators: [{
|
|
@@ -16269,7 +16393,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
16269
16393
|
C8yTranslatePipe,
|
|
16270
16394
|
AsyncPipe
|
|
16271
16395
|
], template: "@if (node.component) {\n <ng-container\n *c8yComponentOutlet=\"node.component; environmentInjector: node.injector\"\n ></ng-container>\n}\n\n@if (!node.component) {\n <div\n class=\"slot\"\n [hidden]=\"node.hidden\"\n (dragstart)=\"node.dragStart($event)\"\n (dragend)=\"node.dragEnd($event)\"\n (drop)=\"node.drop($event)\"\n [draggable]=\"node.draggable\"\n [ngClass]=\"{ dragged: node.dragged, disabled: node.loading }\"\n >\n <ng-container>\n <div\n class=\"link\"\n tabindex=\"-1\"\n [routerLink]=\"node.canNavigate ? node.path : undefined\"\n [ngClass]=\"{\n active: isActive$ | async,\n 'dragged-hover': node.draggedHover && !node.dragged\n }\"\n (dragover)=\"node.canDrop && $event.preventDefault()\"\n (dragenter)=\"node.canDrop && node.dragEnter($event)\"\n (dragleave)=\"node.canDrop && node.dragLeave($event)\"\n >\n <ng-container *ngTemplateOutlet=\"navicon\"></ng-container>\n <button\n class=\"btn-clean\"\n title=\"{{ node.translateLabel ? (node.label | translate) : node.label }}\"\n [attr.aria-expanded]=\"node.hasChildren ? node.open : null\"\n type=\"button\"\n draggable=\"false\"\n [attr.data-cy]=\"node.label\"\n [attr.id]=\"isRoot ? node.id : undefined\"\n (click)=\"click(node.canNavigate ? 'link' : 'expander', $event)\"\n [ngClass]=\"{\n 'root-link': isRoot,\n open: node.open && node.hasChildren,\n parent: node.hasChildren\n }\"\n >\n <ng-container *ngTemplateOutlet=\"inner\"></ng-container>\n </button>\n </div>\n </ng-container>\n @if (node.children.length) {\n <div\n class=\"children panel-expand expand\"\n [collapse]=\"!node.open\"\n [isAnimated]=\"true\"\n >\n @for (childNode of node.children; track childNode) {\n <c8y-navigator-node\n [node]=\"childNode\"\n (nodeClick)=\"nodeClick.emit($event)\"\n ></c8y-navigator-node>\n }\n </div>\n }\n </div>\n}\n\n<!-- icon -->\n<ng-template #navicon>\n <!-- loader -->\n @if (node.loading && !isRoot) {\n <i\n class=\"icon-spin loadingIndicator\"\n [c8yIcon]=\"'circle-o-notch'\"\n [ngClass]=\"{ 'm-l-16': isRoot, 'm-l-8': !isRoot }\"\n ></i>\n }\n <ng-container #icon></ng-container>\n</ng-template>\n\n<ng-template #inner>\n <!--title -->\n <span>{{ node.translateLabel ? (node.label | translate) : node.label }}</span>\n\n <!--expander -->\n @if (node.hasChildren) {\n <i\n class=\"expander\"\n [c8yIcon]=\"'chevron-down'\"\n [attr.aria-label]=\"expandTitle\"\n role=\"button\"\n (click)=\"click('expander', $event)\"\n data-cy=\"c8y-navigator-node--expander\"\n ></i>\n }\n\n <!-- Popover confirm -->\n <c8y-popover-confirm\n triggers=\"focus\"\n containerClass=\"navigator-popover\"\n ></c8y-popover-confirm>\n</ng-template>\n" }]
|
|
16272
|
-
}], ctorParameters: () => [{ type: i1$3.Router }], propDecorators: { iconSlot: [{
|
|
16396
|
+
}], ctorParameters: () => [{ type: i1$3.Router }, { type: BreadcrumbService }], propDecorators: { iconSlot: [{
|
|
16273
16397
|
type: ViewChild,
|
|
16274
16398
|
args: ['icon', { read: ViewContainerRef, static: false }]
|
|
16275
16399
|
}], node: [{
|
|
@@ -29062,7 +29186,7 @@ class DashboardChildChange {
|
|
|
29062
29186
|
this.child = childToChange;
|
|
29063
29187
|
}
|
|
29064
29188
|
get resize$() {
|
|
29065
|
-
return this.child.dragSource.moved.pipe(map(move => this.getPixelSize(move)), tap(resizeDimension => this.setPixelSize(resizeDimension)), map(resizeDimension => this.getDimensionSize(resizeDimension)), distinctUntilChanged((prev, next) => prev.width === next.width && prev.height === next.height), map(dimension => this.setDimension(dimension)), this.arrangePipe());
|
|
29189
|
+
return this.child.dragSource.moved.pipe(map(move => this.getPixelSize(move)), tap(resizeDimension => this.setPixelSize(resizeDimension)), map(resizeDimension => this.getDimensionSize(resizeDimension)), distinctUntilChanged((prev, next) => prev.width === next.width && prev.height === next.height), map(dimension => this.setDimension(dimension)), tap(() => console.log('Resize dimension:', this.child)), this.arrangePipe());
|
|
29066
29190
|
}
|
|
29067
29191
|
get drag$() {
|
|
29068
29192
|
return this.child.dragSource.moved.pipe(map(move => this.getDimensionPosition(move)), filter(dimension => dimension.x >= 0 &&
|
|
@@ -38007,5 +38131,5 @@ function colorValidator(allowedModes) {
|
|
|
38007
38131
|
* Generated bundle index. Do not edit.
|
|
38008
38132
|
*/
|
|
38009
38133
|
|
|
38010
|
-
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, C8Y_PLUGIN_CONTEXT_PATH, C8Y_PLUGIN_NAME, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yTranslationCache, C8yTranslationLoader, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeCurrentUserPasswordService, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, CustomTranslateService, CustomTranslateStore, 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, DatapointSyncService, 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, FeedbackFormComponent, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterByPipe, 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, MOChunkLoaderService, 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, ResizableGridComponent, 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, 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, TranslateService, 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_CONFIGURATION_GRID_SIZE, WIDGET_TYPE_VALUES, WILDCARD_SEARCH_FEATURE_KEY, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetTimeContextMediatorService, WidgetsDashboardComponent, WidgetsDashboardEventService, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, gettext, 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, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, provideCommonPipes, provideCommonServices, provideDefaultOptionsAppInitializer, provideI18n, provideLanguageSelectorAppInitializer, providePluginsLoaderServiceAppInitializer, provideTranslationServiceInstance, ratiosByColumnTypes, removeContextIndicators, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
|
|
38134
|
+
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, AssetHierarchyService, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8Y_PLUGIN_CONTEXT_PATH, C8Y_PLUGIN_NAME, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yTranslationCache, C8yTranslationLoader, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeCurrentUserPasswordService, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, CustomTranslateService, CustomTranslateStore, 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, DatapointSyncService, 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, FeedbackFormComponent, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterByPipe, 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, MOChunkLoaderService, 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, ResizableGridComponent, 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, 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, TranslateService, 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_CONFIGURATION_GRID_SIZE, WIDGET_TYPE_VALUES, WILDCARD_SEARCH_FEATURE_KEY, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetTimeContextMediatorService, WidgetsDashboardComponent, WidgetsDashboardEventService, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, gettext, 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, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, provideCommonPipes, provideCommonServices, provideDefaultOptionsAppInitializer, provideI18n, provideLanguageSelectorAppInitializer, providePluginsLoaderServiceAppInitializer, provideTranslationServiceInstance, ratiosByColumnTypes, removeContextIndicators, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
|
|
38011
38135
|
//# sourceMappingURL=c8y-ngx-components.mjs.map
|