@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.
@@ -2,8 +2,7 @@ import * as _c8y_client from '@c8y/client';
2
2
  import { IManagedObject, QueriesUtil, InventoryService, UserService, IResult, Paging, IIdentified } from '@c8y/client';
3
3
  import * as i1 from '@c8y/ngx-components';
4
4
  import { NavigatorNode, GroupService, ModalService, AlertService, BreadcrumbService, AppStateService, OptionsService, NavigatorNodeData, GroupFragment, ClickOptions } from '@c8y/ngx-components';
5
- import * as rxjs from 'rxjs';
6
- import { BehaviorSubject, Subject } from 'rxjs';
5
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
7
6
  import { Router, ActivatedRouteSnapshot } from '@angular/router';
8
7
  import { ApiService } from '@c8y/ngx-components/api';
9
8
  import * as i0 from '@angular/core';
@@ -84,6 +83,9 @@ declare class AssetNodeService {
84
83
  draggedData: AssetNode;
85
84
  queriesUtil: QueriesUtil;
86
85
  protected PAGE_SIZE: number;
86
+ private refreshTrigger$;
87
+ private rootGroupsFetched;
88
+ rootGroups$: Observable<any>;
87
89
  inventory: InventoryService;
88
90
  apiService: ApiService;
89
91
  modal: ModalService;
@@ -122,6 +124,8 @@ declare class AssetNodeService {
122
124
  createAssetNode(config: Partial<AssetNode>): AssetNode;
123
125
  createChildNode(managedObject: any, config: Partial<AssetNode>): AssetNode | DynamicGroupNode;
124
126
  getRootNodes(customFilter?: any): Promise<any>;
127
+ refresh(): void;
128
+ fetchRootGroups(customFilter?: any): Promise<any>;
125
129
  getAllInventories(customFilter?: any): Promise<any>;
126
130
  getGroupItems(moId: string, extraFilter?: object, withChildren?: boolean, filterQuery?: string): Promise<_c8y_client.IResultList<IManagedObject>>;
127
131
  getUnassignedDevices(withChildren?: boolean, filterQuery?: string): Promise<_c8y_client.IResultList<IManagedObject>>;
@@ -158,7 +162,7 @@ declare class AssetNodeService {
158
162
  onUpdate({ mo, root }: {
159
163
  mo: any;
160
164
  root: any;
161
- }): rxjs.Observable<{
165
+ }): Observable<{
162
166
  data: IManagedObject;
163
167
  method: string;
164
168
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../assets-navigator/action.enum.ts","../../assets-navigator/asset-node-config.model.ts","../../assets-navigator/group.service.ts","../../assets-navigator/asset-node.service.ts","../../assets-navigator/load-more-node.ts","../../assets-navigator/asset-node.ts","../../assets-navigator/dynamic-group-node.ts","../../assets-navigator/status.model.ts","../../assets-navigator/asset-selector/asset-selector.model.ts","../../assets-navigator/asset-selector/group-node.service.ts","../../assets-navigator/asset-selector/group-node.ts","../../assets-navigator/asset-selector/asset-selector.service.ts","../../assets-navigator/asset-selector/asset-selector-node.component.ts","../../assets-navigator/asset-selector/asset-selector-base.ts","../../assets-navigator/asset-selector/asset-selector.component.ts","../../assets-navigator/asset-selector/miller-view.component.ts","../../assets-navigator/asset-selector/asset-selector.module.ts","../../assets-navigator/assets-navigator.module.ts","../../assets-navigator/asset-node.factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../assets-navigator/action.enum.ts","../../assets-navigator/asset-node-config.model.ts","../../assets-navigator/group.service.ts","../../assets-navigator/asset-node.service.ts","../../assets-navigator/load-more-node.ts","../../assets-navigator/asset-node.ts","../../assets-navigator/dynamic-group-node.ts","../../assets-navigator/status.model.ts","../../assets-navigator/asset-selector/asset-selector.model.ts","../../assets-navigator/asset-selector/group-node.service.ts","../../assets-navigator/asset-selector/group-node.ts","../../assets-navigator/asset-selector/asset-selector.service.ts","../../assets-navigator/asset-selector/asset-selector-node.component.ts","../../assets-navigator/asset-selector/asset-selector-base.ts","../../assets-navigator/asset-selector/asset-selector.component.ts","../../assets-navigator/asset-selector/miller-view.component.ts","../../assets-navigator/asset-selector/asset-selector.module.ts","../../assets-navigator/assets-navigator.module.ts","../../assets-navigator/asset-node.factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -2,14 +2,14 @@ import * as i1 from '@c8y/ngx-components';
2
2
  import { NavigatorNode, DeviceStatusComponent, GroupFragment, ModalService, AlertService, BreadcrumbService, AppStateService, OptionsService, ViewContext, Permissions, IconDirective, C8yTranslateDirective, C8yTranslatePipe, SearchInputComponent, GetGroupIconPipe, LoadingComponent, EmptyStateComponent, CoreModule, CommonModule, CoreSearchModule, ModalModule, DeviceStatusModule, hookNavigator } from '@c8y/ngx-components';
3
3
  import { gettext } from '@c8y/ngx-components/gettext';
4
4
  import { debounce, get } from 'lodash-es';
5
- import { BehaviorSubject, Subject, empty } from 'rxjs';
5
+ import { BehaviorSubject, Subject, firstValueFrom, empty } from 'rxjs';
6
6
  import * as i0 from '@angular/core';
7
7
  import { InjectionToken, Injectable, inject, Optional, Inject, EventEmitter, Output, Input, Component, forwardRef, ViewChild, NgModule } from '@angular/core';
8
8
  import { Router, ActivationEnd } from '@angular/router';
9
9
  import * as i2 from '@c8y/client';
10
10
  import { InventoryService, UserService, QueriesUtil } from '@c8y/client';
11
11
  import { ApiService } from '@c8y/ngx-components/api';
12
- import { filter, first, mergeMap, takeUntil, tap } from 'rxjs/operators';
12
+ import { switchMap, shareReplay, filter, first, skip, mergeMap, takeUntil, tap } from 'rxjs/operators';
13
13
  import * as i1$1 from '@ngx-translate/core';
14
14
  import { TranslateService } from '@ngx-translate/core';
15
15
  import { CollapseDirective, CollapseModule } from 'ngx-bootstrap/collapse';
@@ -126,7 +126,6 @@ class AssetNode extends NavigatorNode {
126
126
  }
127
127
  click(options = {}) {
128
128
  if (this.isDeviceOrProbablyChildDevice && !this.showChildDevices) {
129
- this.service.preferBreadcrumb(this.parents);
130
129
  return;
131
130
  }
132
131
  this.hookEvents();
@@ -432,6 +431,9 @@ class AssetNodeService {
432
431
  constructor() {
433
432
  this.firstUrl = true;
434
433
  this.PAGE_SIZE = 20;
434
+ this.refreshTrigger$ = new BehaviorSubject(undefined);
435
+ this.rootGroupsFetched = false;
436
+ this.rootGroups$ = this.refreshTrigger$.pipe(switchMap(() => this.fetchRootGroups()), shareReplay({ bufferSize: 1, refCount: false }));
435
437
  this.inventory = inject(InventoryService);
436
438
  this.apiService = inject(ApiService);
437
439
  this.modal = inject(ModalService);
@@ -552,7 +554,24 @@ class AssetNodeService {
552
554
  }
553
555
  return this.createAssetNode(config);
554
556
  }
555
- getRootNodes(customFilter) {
557
+ async getRootNodes(customFilter) {
558
+ if (!customFilter) {
559
+ if (this.rootGroupsFetched) {
560
+ const resultPromise = firstValueFrom(this.rootGroups$.pipe(skip(1))); // skip first (current) value on refresh to get fresh value
561
+ this.refresh();
562
+ return resultPromise;
563
+ }
564
+ else {
565
+ this.rootGroupsFetched = true;
566
+ return firstValueFrom(this.rootGroups$);
567
+ }
568
+ }
569
+ return this.fetchRootGroups(customFilter);
570
+ }
571
+ refresh() {
572
+ this.refreshTrigger$.next();
573
+ }
574
+ async fetchRootGroups(customFilter) {
556
575
  const defaultFilter = {
557
576
  pageSize: this.PAGE_SIZE,
558
577
  withChildren: false,
@@ -2047,14 +2066,14 @@ class AssetsNavigatorModule {
2047
2066
  }
2048
2067
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetsNavigatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2049
2068
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AssetsNavigatorModule, imports: [ModalModule, AssetSelectorModule, DeviceStatusModule] }); }
2050
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetsNavigatorModule, providers: [ModalService, AssetNodeService, hookNavigator(AssetNodeFactory)], imports: [ModalModule, AssetSelectorModule, DeviceStatusModule] }); }
2069
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetsNavigatorModule, providers: [ModalService, hookNavigator(AssetNodeFactory)], imports: [ModalModule, AssetSelectorModule, DeviceStatusModule] }); }
2051
2070
  }
2052
2071
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AssetsNavigatorModule, decorators: [{
2053
2072
  type: NgModule,
2054
2073
  args: [{
2055
2074
  declarations: [],
2056
2075
  imports: [ModalModule, AssetSelectorModule, DeviceStatusModule],
2057
- providers: [ModalService, AssetNodeService, hookNavigator(AssetNodeFactory)]
2076
+ providers: [ModalService, hookNavigator(AssetNodeFactory)]
2058
2077
  }]
2059
2078
  }] });
2060
2079