@c8y/ngx-components 1021.78.5 → 1021.80.1
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/core/asset-property/asset-property.model.d.ts +33 -0
- package/core/asset-property/asset-property.model.d.ts.map +1 -0
- package/core/asset-property/asset-property.service.d.ts +20 -0
- package/core/asset-property/asset-property.service.d.ts.map +1 -0
- package/core/common/virtual-scroll/virtual-scroller-wrapper.component.d.ts +7 -1
- package/core/common/virtual-scroll/virtual-scroller-wrapper.component.d.ts.map +1 -1
- package/core/data-grid/configure-custom-column/asset-property-grid.component.d.ts +31 -0
- package/core/data-grid/configure-custom-column/asset-property-grid.component.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/configure-custom-column.service.d.ts +17 -0
- package/core/data-grid/configure-custom-column/configure-custom-column.service.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/identifier.cell-renderer.component.d.ts +9 -0
- package/core/data-grid/configure-custom-column/identifier.cell-renderer.component.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/identifier.data-grid-column.d.ts +6 -0
- package/core/data-grid/configure-custom-column/identifier.data-grid-column.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/tags.cell-renderer.components.d.ts +9 -0
- package/core/data-grid/configure-custom-column/tags.cell-renderer.components.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/tags.data-grid-column.d.ts +6 -0
- package/core/data-grid/configure-custom-column/tags.data-grid-column.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/title.cell-renderer.component.d.ts +9 -0
- package/core/data-grid/configure-custom-column/title.cell-renderer.component.d.ts.map +1 -0
- package/core/data-grid/configure-custom-column/title.data-grid-column.d.ts +6 -0
- package/core/data-grid/configure-custom-column/title.data-grid-column.d.ts.map +1 -0
- package/core/data-grid/data-grid.component.d.ts +4 -5
- package/core/data-grid/data-grid.component.d.ts.map +1 -1
- package/core/data-grid/data-grid.module.d.ts.map +1 -1
- package/core/data-grid/filter-chip/filter-mapper.module.d.ts.map +1 -1
- package/esm2022/core/asset-property/asset-property.model.mjs +2 -0
- package/esm2022/core/asset-property/asset-property.service.mjs +84 -0
- package/esm2022/core/common/virtual-scroll/virtual-scroller-wrapper.component.mjs +25 -6
- package/esm2022/core/data-grid/configure-custom-column/asset-property-grid.component.mjs +131 -0
- package/esm2022/core/data-grid/configure-custom-column/configure-custom-column.component.mjs +3 -3
- package/esm2022/core/data-grid/configure-custom-column/configure-custom-column.service.mjs +51 -0
- package/esm2022/core/data-grid/configure-custom-column/identifier.cell-renderer.component.mjs +20 -0
- package/esm2022/core/data-grid/configure-custom-column/identifier.data-grid-column.mjs +26 -0
- package/esm2022/core/data-grid/configure-custom-column/tags.cell-renderer.components.mjs +20 -0
- package/esm2022/core/data-grid/configure-custom-column/tags.data-grid-column.mjs +25 -0
- package/esm2022/core/data-grid/configure-custom-column/title.cell-renderer.component.mjs +20 -0
- package/esm2022/core/data-grid/configure-custom-column/title.data-grid-column.mjs +26 -0
- package/esm2022/core/data-grid/data-grid.component.mjs +42 -53
- package/esm2022/core/data-grid/data-grid.module.mjs +1 -1
- package/esm2022/core/data-grid/filter-chip/filter-mapper.module.mjs +3 -2
- package/fesm2022/c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs +233 -0
- package/fesm2022/c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs +36646 -0
- package/fesm2022/c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components.mjs +1 -36518
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/locales.pot +30 -0
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface representing a DTM asset property definition.
|
|
3
|
+
*/
|
|
4
|
+
export interface AssetPropertyDefinition {
|
|
5
|
+
identifier: string;
|
|
6
|
+
jsonSchema: {
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
};
|
|
11
|
+
creationTime: string;
|
|
12
|
+
lastUpdated: string;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export interface AssetPropertyDefinitionResponse {
|
|
16
|
+
definitions: AssetPropertyDefinition[];
|
|
17
|
+
pageStatistics: {
|
|
18
|
+
currentPage: number;
|
|
19
|
+
pageSize: number;
|
|
20
|
+
hasMorePages: boolean;
|
|
21
|
+
pageCount: number;
|
|
22
|
+
};
|
|
23
|
+
totalCount: number;
|
|
24
|
+
}
|
|
25
|
+
export interface AssetPropertyFilter {
|
|
26
|
+
identifiers?: string[];
|
|
27
|
+
titles?: string[];
|
|
28
|
+
tags?: string[];
|
|
29
|
+
currentPage?: number;
|
|
30
|
+
pageSize?: number;
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=asset-property.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-property.model.d.ts","sourceRoot":"","sources":["../../../core/asset-property/asset-property.model.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,cAAc,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,OAAO,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FetchClient, Service, IResultList, Paging } from '@c8y/client';
|
|
2
|
+
import { AssetPropertyDefinition, AssetPropertyDefinitionResponse } from './asset-property.model';
|
|
3
|
+
import { AppStateService } from '../common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class AssetPropertyService extends Service<AssetPropertyDefinition> {
|
|
6
|
+
private appState;
|
|
7
|
+
protected baseUrl: string;
|
|
8
|
+
protected listUrl: string;
|
|
9
|
+
protected propertyName: string;
|
|
10
|
+
constructor(client: FetchClient, appState: AppStateService);
|
|
11
|
+
canRetrieveAssetProperties(): Promise<boolean>;
|
|
12
|
+
list(filterInput?: object): Promise<IResultList<AssetPropertyDefinition>>;
|
|
13
|
+
getByIdentifier(identifier: string): Promise<AssetPropertyDefinition>;
|
|
14
|
+
search(searchTerm: string): Promise<IResultList<AssetPropertyDefinition>>;
|
|
15
|
+
private buildFilter;
|
|
16
|
+
protected getPaging(json: AssetPropertyDefinitionResponse, filter: object): Paging<AssetPropertyDefinition>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AssetPropertyService, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AssetPropertyService>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=asset-property.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-property.service.d.ts","sourceRoot":"","sources":["../../../core/asset-property/asset-property.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAE5C,qBAGa,oBAAqB,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IAOtE,OAAO,CAAC,QAAQ;IANlB,SAAS,CAAC,OAAO,SAAiB;IAClC,SAAS,CAAC,OAAO,SAA6B;IAC9C,SAAS,CAAC,YAAY,SAAiB;gBAGrC,MAAM,EAAE,WAAW,EACX,QAAQ,EAAE,eAAe;IAK7B,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAc9C,IAAI,CAAC,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAa7E,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAe3E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAIzE,OAAO,CAAC,WAAW;IAUnB,SAAS,CAAC,SAAS,CACjB,IAAI,EAAE,+BAA+B,EACrC,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,uBAAuB,CAAC;yCAvEvB,oBAAoB;6CAApB,oBAAoB;CAqFhC"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
1
2
|
import { TemplateRef } from '@angular/core';
|
|
2
3
|
import { Observable } from 'rxjs';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class VirtualScrollerWrapperComponent {
|
|
6
|
+
virtualScrollViewport: CdkVirtualScrollViewport;
|
|
5
7
|
items: any;
|
|
6
8
|
itemHeight: any;
|
|
7
9
|
containerHeight: any;
|
|
8
10
|
template: TemplateRef<any>;
|
|
9
|
-
items$: Observable<unknown>;
|
|
10
11
|
filterPipe: import("rxjs").UnaryFunction<Observable<unknown>, Observable<unknown>>;
|
|
11
12
|
strategy: 'fixed' | 'window';
|
|
13
|
+
items$: Observable<unknown>;
|
|
14
|
+
private checkViewportSize$;
|
|
15
|
+
private readonly destroyRef;
|
|
16
|
+
constructor();
|
|
12
17
|
trackByFn: (i: any, item: any) => any;
|
|
18
|
+
ngAfterViewChecked(): void;
|
|
13
19
|
apply(): void;
|
|
14
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<VirtualScrollerWrapperComponent, never>;
|
|
15
21
|
static ɵcmp: i0.ɵɵComponentDeclaration<VirtualScrollerWrapperComponent, "c8y-virtual-scroller-wrapper", never, { "items": { "alias": "items"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "containerHeight": { "alias": "containerHeight"; "required": false; }; "template": { "alias": "template"; "required": false; }; "filterPipe": { "alias": "filterPipe"; "required": false; }; "strategy": { "alias": "strategy"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; }, {}, never, never, false, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-scroller-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../core/common/virtual-scroll/virtual-scroller-wrapper.component.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"virtual-scroller-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../core/common/virtual-scroll/virtual-scroller-wrapper.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAwC,WAAW,EAAa,MAAM,eAAe,CAAC;AAE7F,OAAO,EAAE,UAAU,EAAqB,MAAM,MAAM,CAAC;;AAGrD,qBAIa,+BAA+B;IAE1C,qBAAqB,EAAE,wBAAwB,CAAC;IAEvC,KAAK,MAAC;IACN,UAAU,MAAC;IACX,eAAe,MAAC;IAChB,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,UAAU,yEAAe;IACzB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEtC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;;IAYxC,SAAS,6BAEhB;IAEF,kBAAkB,IAAI,IAAI;IAM1B,KAAK;yCArCM,+BAA+B;2CAA/B,+BAA+B;CA2C3C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Column, CustomColumnConfig, DataSourceModifier, DisplayOptions, Pagination, ServerSideDataCallback, ServerSideDataResult } from '../data-grid.model';
|
|
3
|
+
import { AssetPropertyService } from '../../asset-property/asset-property.service';
|
|
4
|
+
import { BottomDrawerRef } from '../../bottom-drawer';
|
|
5
|
+
import { AlertService } from '../../alert';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class AssetPropertyGridComponent {
|
|
8
|
+
private service;
|
|
9
|
+
private bottomDrawerRef;
|
|
10
|
+
private alertService;
|
|
11
|
+
columns: Column[];
|
|
12
|
+
pagination: Pagination;
|
|
13
|
+
serverSideDataCallback: ServerSideDataCallback;
|
|
14
|
+
headerActionControls: {
|
|
15
|
+
text: "Close";
|
|
16
|
+
callback: () => void;
|
|
17
|
+
icon: string;
|
|
18
|
+
type: string;
|
|
19
|
+
}[];
|
|
20
|
+
displayOptions: DisplayOptions;
|
|
21
|
+
onAddCustomColumn: EventEmitter<CustomColumnConfig>;
|
|
22
|
+
constructor(service: AssetPropertyService, bottomDrawerRef: BottomDrawerRef<AssetPropertyGridComponent>, alertService: AlertService);
|
|
23
|
+
onDataSourceModifier(dataSourceModifier: DataSourceModifier): Promise<ServerSideDataResult>;
|
|
24
|
+
getFilters(columns: Column[], pagination: Pagination): any;
|
|
25
|
+
selectItem(identifiers: string[]): Promise<void>;
|
|
26
|
+
addColumn(path: string): Promise<void>;
|
|
27
|
+
close(): void;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AssetPropertyGridComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AssetPropertyGridComponent, "c8y-asset-property-grid", never, {}, { "onAddCustomColumn": "onAddCustomColumn"; }, never, never, true, never>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=asset-property-grid.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-property-grid.component.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/asset-property-grid.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAU,MAAM,eAAe,CAAC;AAChE,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AASnF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;;AAG3C,qBAYa,0BAA0B;IA2BnC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,YAAY;IA5BtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,oBAAoB;;;;;QASlB;IAEF,cAAc,EAAE,cAAc,CAM5B;IAEQ,iBAAiB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CACpB;gBAG/B,OAAO,EAAE,oBAAoB,EAC7B,eAAe,EAAE,eAAe,CAAC,0BAA0B,CAAC,EAC5D,YAAY,EAAE,YAAY;IA0B9B,oBAAoB,CACxB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAQhC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU;IAmB9C,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE;IAOhC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5C,KAAK;yCA9GM,0BAA0B;2CAA1B,0BAA0B;CAmHtC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BsModalService } from 'ngx-bootstrap/modal';
|
|
2
|
+
import { AssetPropertyService } from '../../asset-property/asset-property.service';
|
|
3
|
+
import { BottomDrawerService } from '../../bottom-drawer';
|
|
4
|
+
import { CustomColumnConfig, Column } from '../data-grid.model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class CustomColumnService {
|
|
7
|
+
private assetPropertiesService;
|
|
8
|
+
private bottomDrawerService;
|
|
9
|
+
private bsModalService;
|
|
10
|
+
constructor(assetPropertiesService: AssetPropertyService, bottomDrawerService: BottomDrawerService, bsModalService: BsModalService);
|
|
11
|
+
openCustomColumns(existingColumns: Column[], onAdd: (config: CustomColumnConfig) => void): Promise<void>;
|
|
12
|
+
private openModal;
|
|
13
|
+
private openDrawer;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomColumnService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CustomColumnService>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=configure-custom-column.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-custom-column.service.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/configure-custom-column.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;;AAEhE,qBACa,mBAAmB;IAE5B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,cAAc;gBAFd,sBAAsB,EAAE,oBAAoB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,cAAc;IAGlC,iBAAiB,CACrB,eAAe,EAAE,MAAM,EAAE,EACzB,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC;IAShB,OAAO,CAAC,SAAS;YAcH,UAAU;yCAjCb,mBAAmB;6CAAnB,mBAAmB;CAyC/B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CellRendererContext } from '../column/cell-renderer';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class IdentifierCellRendererComponent {
|
|
4
|
+
context: CellRendererContext;
|
|
5
|
+
constructor(context: CellRendererContext);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IdentifierCellRendererComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IdentifierCellRendererComponent, "c8y-identifier-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=identifier.cell-renderer.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier.cell-renderer.component.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/identifier.cell-renderer.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;;AAE9D,qBAKa,+BAA+B;IACvB,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;yCADpC,+BAA+B;2CAA/B,+BAA+B;CAE3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier.data-grid-column.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/identifier.data-grid-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAIlC,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,mBAAmB,CAAC,EAAE,YAAY;CAsB/C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CellRendererContext } from '../column/cell-renderer';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TagsCellRendererComponent {
|
|
4
|
+
context: CellRendererContext;
|
|
5
|
+
constructor(context: CellRendererContext);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TagsCellRendererComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TagsCellRendererComponent, "c8y-tags-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=tags.cell-renderer.components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.cell-renderer.components.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/tags.cell-renderer.components.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;;AAE9D,qBAKa,yBAAyB;IACjB,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;yCADpC,yBAAyB;2CAAzB,yBAAyB;CAErC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ColumnConfig } from '../data-grid.model';
|
|
2
|
+
import { BaseColumn } from '../column/base.column';
|
|
3
|
+
export declare class TagsGridColumn extends BaseColumn {
|
|
4
|
+
constructor(initialColumnConfig?: ColumnConfig);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=tags.data-grid-column.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.data-grid-column.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/tags.data-grid-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,qBAAa,cAAe,SAAQ,UAAU;gBAChC,mBAAmB,CAAC,EAAE,YAAY;CAoB/C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CellRendererContext } from '..';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TitleCellRendererComponent {
|
|
4
|
+
context: CellRendererContext;
|
|
5
|
+
constructor(context: CellRendererContext);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TitleCellRendererComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TitleCellRendererComponent, "c8y-title-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=title.cell-renderer.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.cell-renderer.component.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/title.cell-renderer.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;;AAEzC,qBAKa,0BAA0B;IAClB,OAAO,EAAE,mBAAmB;gBAA5B,OAAO,EAAE,mBAAmB;yCADpC,0BAA0B;2CAA1B,0BAA0B;CAEtC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ColumnConfig } from '../data-grid.model';
|
|
2
|
+
import { BaseColumn } from '../column/base.column';
|
|
3
|
+
export declare class TitleGridColumn extends BaseColumn {
|
|
4
|
+
constructor(initialColumnConfig?: ColumnConfig);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=title.data-grid-column.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.data-grid-column.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/configure-custom-column/title.data-grid-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,mBAAmB,CAAC,EAAE,YAAY;CAsB/C"}
|
|
@@ -4,7 +4,6 @@ import { DomSanitizer } from '@angular/platform-browser';
|
|
|
4
4
|
import { ActivatedRoute } from '@angular/router';
|
|
5
5
|
import { IResultList } from '@c8y/client';
|
|
6
6
|
import { BsDropdownDirective } from 'ngx-bootstrap/dropdown';
|
|
7
|
-
import { BsModalService } from 'ngx-bootstrap/modal';
|
|
8
7
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
9
8
|
import { AlertService } from '../alert/alert.service';
|
|
10
9
|
import { EmptyStateContextDirective } from '../common/empty-state/empty-state-context.directive';
|
|
@@ -28,7 +27,6 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
|
|
|
28
27
|
private dataGridService;
|
|
29
28
|
private sanitizer;
|
|
30
29
|
private gainsightService;
|
|
31
|
-
private bsModalService;
|
|
32
30
|
private alertService;
|
|
33
31
|
private actionControlsService;
|
|
34
32
|
private route;
|
|
@@ -235,13 +233,14 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
|
|
|
235
233
|
private manualSearch$;
|
|
236
234
|
private lastManualSearchValue;
|
|
237
235
|
private readonly SEARCH_DEBOUNCE_TIME;
|
|
236
|
+
private customColumnService;
|
|
238
237
|
/**
|
|
239
238
|
* Event emitter, taking boolean values used for loading data grid data with debounce.
|
|
240
239
|
* Default value is set to false. Set to true if data grid is using infinite scroll and page should be reloaded.
|
|
241
240
|
* This is used to avoid having multiple this.loadData() function calls.
|
|
242
241
|
*/
|
|
243
242
|
private triggerLoadData;
|
|
244
|
-
constructor(configurationStrategy: DataGridConfigurationStrategy, dataGridService: DataGridService, sanitizer: DomSanitizer, gainsightService: GainsightService,
|
|
243
|
+
constructor(configurationStrategy: DataGridConfigurationStrategy, dataGridService: DataGridService, sanitizer: DomSanitizer, gainsightService: GainsightService, alertService: AlertService, actionControlsService: ActionControlsExtensionService, route: ActivatedRoute);
|
|
245
244
|
ngOnInit(): void;
|
|
246
245
|
setExpandableRowVisible(row: Row, success: boolean): void;
|
|
247
246
|
ngOnChanges(event: any): void;
|
|
@@ -252,7 +251,7 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
|
|
|
252
251
|
isRowExpanded: (_: any, row: Row) => boolean;
|
|
253
252
|
setColumns(config: GridConfig): void;
|
|
254
253
|
setPageSize(config: GridConfig): void;
|
|
255
|
-
|
|
254
|
+
openCustomColumn(): Promise<void>;
|
|
256
255
|
removeCustomColumn(poConfirm: PopoverConfirmComponent, column: Column, ddConfigureColumns: BsDropdownDirective): Promise<void>;
|
|
257
256
|
removeFilter(filter: Partial<FilterChip>): Promise<void>;
|
|
258
257
|
trackByName(index: any, item: any): any;
|
|
@@ -333,7 +332,7 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
|
|
|
333
332
|
private checkEventPipe;
|
|
334
333
|
private resolveConfigFilter;
|
|
335
334
|
private safelyInvokeMatcher;
|
|
336
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, [{ optional: true; }, null, null, null, null, null, null
|
|
335
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, [{ optional: true; }, null, null, null, null, null, null]>;
|
|
337
336
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "c8y-data-grid", never, { "title": { "alias": "title"; "required": false; }; "loadMoreItemsLabel": { "alias": "loadMoreItemsLabel"; "required": false; }; "loadingItemsLabel": { "alias": "loadingItemsLabel"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "refresh": { "alias": "refresh"; "required": false; }; "_columns": { "alias": "columns"; "required": false; }; "_rows": { "alias": "rows"; "required": false; }; "_pagination": { "alias": "pagination"; "required": false; }; "_infiniteScroll": { "alias": "infiniteScroll"; "required": false; }; "_serverSideDataCallback": { "alias": "serverSideDataCallback"; "required": false; }; "_selectable": { "alias": "selectable"; "required": false; }; "_singleSelection": { "alias": "singleSelection"; "required": false; }; "_selectionPrimaryKey": { "alias": "selectionPrimaryKey"; "required": false; }; "_displayOptions": { "alias": "displayOptions"; "required": false; }; "_actionControls": { "alias": "actionControls"; "required": false; }; "_bulkActionControls": { "alias": "bulkActionControls"; "required": false; }; "_headerActionControls": { "alias": "headerActionControls"; "required": false; }; "searchText": { "alias": "searchText"; "required": false; }; "configureColumnsEnabled": { "alias": "configureColumnsEnabled"; "required": false; }; "showCounterWarning": { "alias": "showCounterWarning"; "required": false; }; "activeClassName": { "alias": "activeClassName"; "required": false; }; "expandableRows": { "alias": "expandableRows"; "required": false; }; "hideReload": { "alias": "hideReload"; "required": false; }; }, { "rowMouseOver": "rowMouseOver"; "rowMouseLeave": "rowMouseLeave"; "rowClick": "rowClick"; "onConfigChange": "onConfigChange"; "onBeforeFilter": "onBeforeFilter"; "onBeforeSearch": "onBeforeSearch"; "onFilter": "onFilter"; "itemsSelect": "itemsSelect"; "onReload": "onReload"; "onAddCustomColumn": "onAddCustomColumn"; "onRemoveCustomColumn": "onRemoveCustomColumn"; "onColumnFilterReset": "onColumnFilterReset"; "onSort": "onSort"; "onPageSizeChange": "onPageSizeChange"; "onColumnReordered": "onColumnReordered"; "onColumnVisibilityChange": "onColumnVisibilityChange"; }, ["expandableRow", "emptyState", "columnRenderers"], ["c8y-ui-empty-state, .c8y-empty-state"], false, never>;
|
|
338
337
|
}
|
|
339
338
|
//# sourceMappingURL=data-grid.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-grid.component.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,aAAa,EAIb,UAAU,EACV,YAAY,EAGZ,SAAS,EAGT,SAAS,EAGT,gBAAgB,
|
|
1
|
+
{"version":3,"file":"data-grid.component.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-grid.module.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"data-grid.module.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,qBA6Ca,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-mapper.module.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/filter-chip/filter-mapper.module.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"filter-mapper.module.d.ts","sourceRoot":"","sources":["../../../../core/data-grid/filter-chip/filter-mapper.module.ts"],"names":[],"mappings":";;;AAaA,qBAYa,kBAAkB;yCAAlB,kBAAkB;0CAAlB,kBAAkB;0CAAlB,kBAAkB;CAAG"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvcGVydHkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2Fzc2V0LXByb3BlcnR5L2Fzc2V0LXByb3BlcnR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBEVE0gYXNzZXQgcHJvcGVydHkgZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldFByb3BlcnR5RGVmaW5pdGlvbiB7XG4gIGlkZW50aWZpZXI6IHN0cmluZztcbiAganNvblNjaGVtYToge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbiAgY3JlYXRpb25UaW1lOiBzdHJpbmc7XG4gIGxhc3RVcGRhdGVkOiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NldFByb3BlcnR5RGVmaW5pdGlvblJlc3BvbnNlIHtcbiAgZGVmaW5pdGlvbnM6IEFzc2V0UHJvcGVydHlEZWZpbml0aW9uW107XG4gIHBhZ2VTdGF0aXN0aWNzOiB7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIGhhc01vcmVQYWdlczogYm9vbGVhbjtcbiAgICBwYWdlQ291bnQ6IG51bWJlcjtcbiAgfTtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0UHJvcGVydHlGaWx0ZXIge1xuICBpZGVudGlmaWVycz86IHN0cmluZ1tdO1xuICB0aXRsZXM/OiBzdHJpbmdbXTtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBjdXJyZW50UGFnZT86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { FetchClient, Service, Paging } from '@c8y/client';
|
|
3
|
+
import { AppStateService } from '../common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@c8y/client";
|
|
6
|
+
import * as i2 from "../common";
|
|
7
|
+
export class AssetPropertyService extends Service {
|
|
8
|
+
constructor(client, appState) {
|
|
9
|
+
super(client);
|
|
10
|
+
this.appState = appState;
|
|
11
|
+
this.baseUrl = 'service/dtm';
|
|
12
|
+
this.listUrl = '/definitions/properties';
|
|
13
|
+
this.propertyName = 'definitions';
|
|
14
|
+
}
|
|
15
|
+
async canRetrieveAssetProperties() {
|
|
16
|
+
const isAppAvailable = await this.appState.isApplicationAvailable('dtm');
|
|
17
|
+
if (!isAppAvailable) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const result = await this.list({ currentPage: 1, pageSize: 1 });
|
|
22
|
+
return result?.data?.length > 0;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async list(filterInput = {}) {
|
|
29
|
+
const headers = { accept: 'application/json' };
|
|
30
|
+
const filter = this.buildFilter(filterInput);
|
|
31
|
+
const res = await this.fetch(this.listUrl, this.changeFetchOptions({ headers, params: filter }, this.listUrl));
|
|
32
|
+
const json = (await res.json());
|
|
33
|
+
const data = json.definitions;
|
|
34
|
+
const paging = this.getPaging(json, filter);
|
|
35
|
+
return { res, data, paging };
|
|
36
|
+
}
|
|
37
|
+
async getByIdentifier(identifier) {
|
|
38
|
+
const url = `${this.listUrl}/${encodeURIComponent(identifier)}`;
|
|
39
|
+
const headers = { accept: 'application/json' };
|
|
40
|
+
const res = await this.fetch(url, this.changeFetchOptions({ headers }, url));
|
|
41
|
+
if (res.status === 404) {
|
|
42
|
+
throw new Error(`Property Definition with identifier '${identifier}' not found (404).`);
|
|
43
|
+
}
|
|
44
|
+
if (!res.ok) {
|
|
45
|
+
throw new Error(`Error fetching Property Definition '${identifier}': ${res.status} ${res.statusText}`);
|
|
46
|
+
}
|
|
47
|
+
return (await res.json());
|
|
48
|
+
}
|
|
49
|
+
search(searchTerm) {
|
|
50
|
+
return this.list({ titles: [searchTerm] });
|
|
51
|
+
}
|
|
52
|
+
buildFilter(filter) {
|
|
53
|
+
const newFilter = { ...filter };
|
|
54
|
+
['identifiers', 'titles', 'tags'].forEach(key => {
|
|
55
|
+
if (Array.isArray(newFilter[key])) {
|
|
56
|
+
newFilter[key] = newFilter[key].join(',');
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return newFilter;
|
|
60
|
+
}
|
|
61
|
+
getPaging(json, filter) {
|
|
62
|
+
if (json.pageStatistics) {
|
|
63
|
+
const { currentPage, hasMorePages } = json.pageStatistics;
|
|
64
|
+
const statistics = {
|
|
65
|
+
...json.pageStatistics,
|
|
66
|
+
nextPage: hasMorePages ? currentPage + 1 : null,
|
|
67
|
+
prevPage: currentPage > 1 ? currentPage - 1 : null,
|
|
68
|
+
totalPages: json.pageStatistics.pageCount,
|
|
69
|
+
totalElements: json.totalCount
|
|
70
|
+
};
|
|
71
|
+
return new Paging(this, statistics, filter);
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPropertyService, deps: [{ token: i1.FetchClient }, { token: i2.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPropertyService, providedIn: 'root' }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPropertyService, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root'
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: () => [{ type: i1.FetchClient }, { type: i2.AppStateService }] });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYXNzZXQtcHJvcGVydHkvYXNzZXQtcHJvcGVydHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFlLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBSzVDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUFnQztJQUt4RSxZQUNFLE1BQW1CLEVBQ1gsUUFBeUI7UUFFakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRk4sYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFOekIsWUFBTyxHQUFHLGFBQWEsQ0FBQztRQUN4QixZQUFPLEdBQUcseUJBQXlCLENBQUM7UUFDcEMsaUJBQVksR0FBRyxhQUFhLENBQUM7SUFPdkMsQ0FBQztJQUVELEtBQUssQ0FBQywwQkFBMEI7UUFDOUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxLQUFLLENBQUM7UUFDZixD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LENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQy9DLFFBQVEsRUFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNsRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTO2dCQUN6QyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDL0IsQ0FBQztZQUNGLE9BQU8sSUFBSSxNQUFNLENBQTBCLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0FwRlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZldGNoQ2xpZW50LCBTZXJ2aWNlLCBJUmVzdWx0TGlzdCwgUGFnaW5nIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQXNzZXRQcm9wZXJ0eURlZmluaXRpb24sIEFzc2V0UHJvcGVydHlEZWZpbml0aW9uUmVzcG9uc2UgfSBmcm9tICcuL2Fzc2V0LXByb3BlcnR5Lm1vZGVsJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0UHJvcGVydHlTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxBc3NldFByb3BlcnR5RGVmaW5pdGlvbj4ge1xuICBwcm90ZWN0ZWQgYmFzZVVybCA9ICdzZXJ2aWNlL2R0bSc7XG4gIHByb3RlY3RlZCBsaXN0VXJsID0gJy9kZWZpbml0aW9ucy9wcm9wZXJ0aWVzJztcbiAgcHJvdGVjdGVkIHByb3BlcnR5TmFtZSA9ICdkZWZpbml0aW9ucyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2xpZW50OiBGZXRjaENsaWVudCxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoY2xpZW50KTtcbiAgfVxuXG4gIGFzeW5jIGNhblJldHJpZXZlQXNzZXRQcm9wZXJ0aWVzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGlzQXBwQXZhaWxhYmxlID0gYXdhaXQgdGhpcy5hcHBTdGF0ZS5pc0FwcGxpY2F0aW9uQXZhaWxhYmxlKCdkdG0nKTtcbiAgICBpZiAoIWlzQXBwQXZhaWxhYmxlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMubGlzdCh7IGN1cnJlbnRQYWdlOiAxLCBwYWdlU2l6ZTogMSB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ/LmRhdGE/Lmxlbmd0aCA+IDA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsaXN0KGZpbHRlcklucHV0OiBvYmplY3QgPSB7fSk6IFByb21pc2U8SVJlc3VsdExpc3Q8QXNzZXRQcm9wZXJ0eURlZmluaXRpb24+PiB7XG4gICAgY29uc3QgaGVhZGVycyA9IHsgYWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmJ1aWxkRmlsdGVyKGZpbHRlcklucHV0KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmZldGNoKFxuICAgICAgdGhpcy5saXN0VXJsLFxuICAgICAgdGhpcy5jaGFuZ2VGZXRjaE9wdGlvbnMoeyBoZWFkZXJzLCBwYXJhbXM6IGZpbHRlciB9LCB0aGlzLmxpc3RVcmwpXG4gICAgKTtcbiAgICBjb25zdCBqc29uID0gKGF3YWl0IHJlcy5qc29uKCkpIGFzIEFzc2V0UHJvcGVydHlEZWZpbml0aW9uUmVzcG9uc2U7XG4gICAgY29uc3QgZGF0YTogQXNzZXRQcm9wZXJ0eURlZmluaXRpb25bXSA9IGpzb24uZGVmaW5pdGlvbnM7XG4gICAgY29uc3QgcGFnaW5nID0gdGhpcy5nZXRQYWdpbmcoanNvbiwgZmlsdGVyKTtcbiAgICByZXR1cm4geyByZXMsIGRhdGEsIHBhZ2luZyB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlJZGVudGlmaWVyKGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8QXNzZXRQcm9wZXJ0eURlZmluaXRpb24+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmxpc3RVcmx9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkZW50aWZpZXIpfWA7XG4gICAgY29uc3QgaGVhZGVycyA9IHsgYWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmZldGNoKHVybCwgdGhpcy5jaGFuZ2VGZXRjaE9wdGlvbnMoeyBoZWFkZXJzIH0sIHVybCkpO1xuICAgIGlmIChyZXMuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvcGVydHkgRGVmaW5pdGlvbiB3aXRoIGlkZW50aWZpZXIgJyR7aWRlbnRpZmllcn0nIG5vdCBmb3VuZCAoNDA0KS5gKTtcbiAgICB9XG4gICAgaWYgKCFyZXMub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEVycm9yIGZldGNoaW5nIFByb3BlcnR5IERlZmluaXRpb24gJyR7aWRlbnRpZmllcn0nOiAke3Jlcy5zdGF0dXN9ICR7cmVzLnN0YXR1c1RleHR9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIChhd2FpdCByZXMuanNvbigpKSBhcyBBc3NldFByb3BlcnR5RGVmaW5pdGlvbjtcbiAgfVxuXG4gIHNlYXJjaChzZWFyY2hUZXJtOiBzdHJpbmcpOiBQcm9taXNlPElSZXN1bHRMaXN0PEFzc2V0UHJvcGVydHlEZWZpbml0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmxpc3QoeyB0aXRsZXM6IFtzZWFyY2hUZXJtXSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGaWx0ZXIoZmlsdGVyOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IG5ld0ZpbHRlciA9IHsgLi4uZmlsdGVyIH07XG4gICAgWydpZGVudGlmaWVycycsICd0aXRsZXMnLCAndGFncyddLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld0ZpbHRlcltrZXldKSkge1xuICAgICAgICBuZXdGaWx0ZXJba2V5XSA9IG5ld0ZpbHRlcltrZXldLmpvaW4oJywnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3RmlsdGVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2luZyhcbiAgICBqc29uOiBBc3NldFByb3BlcnR5RGVmaW5pdGlvblJlc3BvbnNlLFxuICAgIGZpbHRlcjogb2JqZWN0XG4gICk6IFBhZ2luZzxBc3NldFByb3BlcnR5RGVmaW5pdGlvbj4ge1xuICAgIGlmIChqc29uLnBhZ2VTdGF0aXN0aWNzKSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnRQYWdlLCBoYXNNb3JlUGFnZXMgfSA9IGpzb24ucGFnZVN0YXRpc3RpY3M7XG4gICAgICBjb25zdCBzdGF0aXN0aWNzID0ge1xuICAgICAgICAuLi5qc29uLnBhZ2VTdGF0aXN0aWNzLFxuICAgICAgICBuZXh0UGFnZTogaGFzTW9yZVBhZ2VzID8gY3VycmVudFBhZ2UgKyAxIDogbnVsbCxcbiAgICAgICAgcHJldlBhZ2U6IGN1cnJlbnRQYWdlID4gMSA/IGN1cnJlbnRQYWdlIC0gMSA6IG51bGwsXG4gICAgICAgIHRvdGFsUGFnZXM6IGpzb24ucGFnZVN0YXRpc3RpY3MucGFnZUNvdW50LFxuICAgICAgICB0b3RhbEVsZW1lbnRzOiBqc29uLnRvdGFsQ291bnRcbiAgICAgIH07XG4gICAgICByZXR1cm4gbmV3IFBhZ2luZzxBc3NldFByb3BlcnR5RGVmaW5pdGlvbj4odGhpcywgc3RhdGlzdGljcywgZmlsdGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
2
|
+
import { Component, DestroyRef, inject, Input, TemplateRef, ViewChild } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { of, pipe, Subject } from 'rxjs';
|
|
5
|
+
import { debounceTime, map, tap } from 'rxjs/operators';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
import * as i1 from "@angular/common";
|
|
6
8
|
import * as i2 from "@angular/cdk/scrolling";
|
|
@@ -8,20 +10,37 @@ import * as i3 from "./virtual-scroll-window.directive";
|
|
|
8
10
|
export class VirtualScrollerWrapperComponent {
|
|
9
11
|
constructor() {
|
|
10
12
|
this.filterPipe = pipe(tap());
|
|
13
|
+
this.checkViewportSize$ = new Subject();
|
|
14
|
+
this.destroyRef = inject(DestroyRef);
|
|
11
15
|
this.trackByFn = (i, item) => {
|
|
12
16
|
return item.id;
|
|
13
17
|
};
|
|
18
|
+
this.checkViewportSize$
|
|
19
|
+
.pipe(debounceTime(25), takeUntilDestroyed(this.destroyRef))
|
|
20
|
+
.subscribe(() => {
|
|
21
|
+
if (this.virtualScrollViewport) {
|
|
22
|
+
this.virtualScrollViewport.checkViewportSize();
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
ngAfterViewChecked() {
|
|
27
|
+
if (this.virtualScrollViewport) {
|
|
28
|
+
this.checkViewportSize$.next();
|
|
29
|
+
}
|
|
14
30
|
}
|
|
15
31
|
apply() {
|
|
16
32
|
this.items$ = of(this.items).pipe(src => this.filterPipe(src), map(item => item));
|
|
17
33
|
}
|
|
18
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VirtualScrollerWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VirtualScrollerWrapperComponent, selector: "c8y-virtual-scroller-wrapper", inputs: { items: "items", itemHeight: "itemHeight", containerHeight: "containerHeight", template: "template", filterPipe: "filterPipe", strategy: "strategy", trackByFn: "trackByFn" }, ngImport: i0, template: "<ng-container *ngIf=\"items$ |async as items\" [ngSwitch]=\"strategy\">\n <ng-container *ngSwitchCase=\"'window'\">\n <cdk-virtual-scroll-viewport windowVirtualScrollStrategy [itemSizePx]=\"itemHeight\" class=\"inner-scroll\">\n <div *cdkVirtualFor=\"let item of items; index as i; trackBy: trackByFn\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: item, index: i}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'fixed'\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.height]=\"containerHeight + 'px'\" class=\"inner-scroll\">\n <div *cdkVirtualFor=\"let item of items; index as i; trackBy: trackByFn\" >\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: item, index: i}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i3.VirtualScrollWindowDirective, selector: "cdk-virtual-scroll-viewport[windowVirtualScrollStrategy]", inputs: ["itemSizePx", "minBufferPx", "maxBufferPx", "offsetSizePx"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VirtualScrollerWrapperComponent, selector: "c8y-virtual-scroller-wrapper", inputs: { items: "items", itemHeight: "itemHeight", containerHeight: "containerHeight", template: "template", filterPipe: "filterPipe", strategy: "strategy", trackByFn: "trackByFn" }, viewQueries: [{ propertyName: "virtualScrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"items$ |async as items\" [ngSwitch]=\"strategy\">\n <ng-container *ngSwitchCase=\"'window'\">\n <cdk-virtual-scroll-viewport windowVirtualScrollStrategy [itemSizePx]=\"itemHeight\" class=\"inner-scroll\">\n <div *cdkVirtualFor=\"let item of items; index as i; trackBy: trackByFn\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: item, index: i}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'fixed'\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.height]=\"containerHeight + 'px'\" class=\"inner-scroll\">\n <div *cdkVirtualFor=\"let item of items; index as i; trackBy: trackByFn\" >\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: item, index: i}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i3.VirtualScrollWindowDirective, selector: "cdk-virtual-scroll-viewport[windowVirtualScrollStrategy]", inputs: ["itemSizePx", "minBufferPx", "maxBufferPx", "offsetSizePx"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
20
36
|
}
|
|
21
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VirtualScrollerWrapperComponent, decorators: [{
|
|
22
38
|
type: Component,
|
|
23
39
|
args: [{ selector: 'c8y-virtual-scroller-wrapper', template: "<ng-container *ngIf=\"items$ |async as items\" [ngSwitch]=\"strategy\">\n <ng-container *ngSwitchCase=\"'window'\">\n <cdk-virtual-scroll-viewport windowVirtualScrollStrategy [itemSizePx]=\"itemHeight\" class=\"inner-scroll\">\n <div *cdkVirtualFor=\"let item of items; index as i; trackBy: trackByFn\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: item, index: i}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'fixed'\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.height]=\"containerHeight + 'px'\" class=\"inner-scroll\">\n <div *cdkVirtualFor=\"let item of items; index as i; trackBy: trackByFn\" >\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: item, index: i}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n</ng-container>\n" }]
|
|
24
|
-
}], propDecorators: {
|
|
40
|
+
}], ctorParameters: () => [], propDecorators: { virtualScrollViewport: [{
|
|
41
|
+
type: ViewChild,
|
|
42
|
+
args: [CdkVirtualScrollViewport]
|
|
43
|
+
}], items: [{
|
|
25
44
|
type: Input
|
|
26
45
|
}], itemHeight: [{
|
|
27
46
|
type: Input
|
|
@@ -36,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36
55
|
}], trackByFn: [{
|
|
37
56
|
type: Input
|
|
38
57
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGxlci13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3ZpcnR1YWwtc2Nyb2xsL3ZpcnR1YWwtc2Nyb2xsZXItd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi92aXJ0dWFsLXNjcm9sbC92aXJ0dWFsLXNjcm9sbGVyLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNeEQsTUFBTSxPQUFPLCtCQUErQjtJQWlCMUM7UUFUUyxlQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFLMUIsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBWXhDLGNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDO1FBWEEsSUFBSSxDQUFDLGtCQUFrQjthQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQU1ELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBQ0osQ0FBQzsrR0ExQ1UsK0JBQStCO21HQUEvQiwrQkFBK0IsbVRBQy9CLHdCQUF3QixnRENYckMsMDhCQWlCQTs7NEZEUGEsK0JBQStCO2tCQUozQyxTQUFTOytCQUNFLDhCQUE4Qjt3REFLeEMscUJBQXFCO3NCQURwQixTQUFTO3VCQUFDLHdCQUF3QjtnQkFHMUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFrQkcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgcGlwZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXZpcnR1YWwtc2Nyb2xsZXItd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi92aXJ0dWFsLXNjcm9sbGVyLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFZpcnR1YWxTY3JvbGxlcldyYXBwZXJDb21wb25lbnQge1xuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydClcbiAgdmlydHVhbFNjcm9sbFZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgQElucHV0KCkgaXRlbXM7XG4gIEBJbnB1dCgpIGl0ZW1IZWlnaHQ7XG4gIEBJbnB1dCgpIGNvbnRhaW5lckhlaWdodDtcbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZpbHRlclBpcGUgPSBwaXBlKHRhcCgpKTtcbiAgQElucHV0KCkgc3RyYXRlZ3k6ICdmaXhlZCcgfCAnd2luZG93JztcblxuICBpdGVtcyQ6IE9ic2VydmFibGU8dW5rbm93bj47XG5cbiAgcHJpdmF0ZSBjaGVja1ZpZXdwb3J0U2l6ZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNoZWNrVmlld3BvcnRTaXplJFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDI1KSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbFZpZXdwb3J0KSB7XG4gICAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsVmlld3BvcnQuY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSB0cmFja0J5Rm4gPSAoaSwgaXRlbSkgPT4ge1xuICAgIHJldHVybiBpdGVtLmlkO1xuICB9O1xuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHtcbiAgICAgIHRoaXMuY2hlY2tWaWV3cG9ydFNpemUkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBhcHBseSgpIHtcbiAgICB0aGlzLml0ZW1zJCA9IG9mKHRoaXMuaXRlbXMpLnBpcGUoXG4gICAgICBzcmMgPT4gdGhpcy5maWx0ZXJQaXBlKHNyYyksXG4gICAgICBtYXAoaXRlbSA9PiBpdGVtKVxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcyQgfGFzeW5jIGFzIGl0ZW1zXCIgW25nU3dpdGNoXT1cInN0cmF0ZWd5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3dpbmRvdydcIj5cbiAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgd2luZG93VmlydHVhbFNjcm9sbFN0cmF0ZWd5IFtpdGVtU2l6ZVB4XT1cIml0ZW1IZWlnaHRcIiBjbGFzcz1cImlubmVyLXNjcm9sbFwiPlxuICAgICAgICA8ZGl2ICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGl9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZml4ZWQnXCI+XG4gICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJpdGVtSGVpZ2h0XCIgW3N0eWxlLmhlaWdodF09XCJjb250YWluZXJIZWlnaHQgKyAncHgnXCIgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cbiAgICAgICAgPGRpdiAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5Rm5cIiA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBpdGVtLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|