@tetacom/svg-charts 1.1.8 → 1.1.9
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/chart/chart-container/annotation/annotation.component.d.ts +18 -0
- package/chart/chart-container/plotband/plot-band.component.d.ts +1 -0
- package/chart/chart-container/series/area-series/area-series.component.d.ts +2 -1
- package/chart/chart-container/series/line/line-series.component.d.ts +1 -1
- package/chart/chart-container/tooltip/tooltip.component.d.ts +2 -7
- package/chart/chart.module.d.ts +3 -2
- package/chart/directives/zoomable.directive.d.ts +12 -5
- package/chart/model/annotation.d.ts +31 -0
- package/chart/model/enum/fill-type.d.ts +4 -0
- package/chart/model/i-broadcast-message.d.ts +15 -4
- package/chart/model/i-chart-config.d.ts +2 -0
- package/chart/model/public-api.d.ts +1 -0
- package/chart/model/series.d.ts +2 -1
- package/chart/service/broadcast.service.d.ts +7 -4
- package/chart/service/brush.service.d.ts +3 -1
- package/chart/service/chart.service.d.ts +4 -2
- package/chart/service/zoom.service.d.ts +2 -6
- package/esm2020/chart/chart/chart.component.mjs +1 -1
- package/esm2020/chart/chart-container/annotation/annotation.component.mjs +57 -0
- package/esm2020/chart/chart-container/chart-container.component.mjs +19 -16
- package/esm2020/chart/chart-container/plotband/plot-band.component.mjs +6 -5
- package/esm2020/chart/chart-container/plotline/plotline.component.mjs +4 -3
- package/esm2020/chart/chart-container/series/area-series/area-series.component.mjs +5 -4
- package/esm2020/chart/chart-container/series/line/line-series.component.mjs +12 -10
- package/esm2020/chart/chart-container/series/scatter-series/scatter-series.component.mjs +3 -3
- package/esm2020/chart/chart-container/tooltip/tooltip.component.mjs +3 -18
- package/esm2020/chart/chart.module.mjs +5 -2
- package/esm2020/chart/directives/brushable.directive.mjs +5 -2
- package/esm2020/chart/directives/zoomable.directive.mjs +89 -11
- package/esm2020/chart/model/annotation.mjs +13 -0
- package/esm2020/chart/model/enum/fill-type.mjs +6 -1
- package/esm2020/chart/model/i-broadcast-message.mjs +16 -2
- package/esm2020/chart/model/i-chart-config.mjs +1 -1
- package/esm2020/chart/model/public-api.mjs +2 -1
- package/esm2020/chart/model/series.mjs +1 -1
- package/esm2020/chart/service/broadcast.service.mjs +14 -7
- package/esm2020/chart/service/brush.service.mjs +23 -35
- package/esm2020/chart/service/chart.service.mjs +17 -8
- package/esm2020/chart/service/zoom.service.mjs +7 -96
- package/fesm2015/tetacom-svg-charts.mjs +308 -231
- package/fesm2015/tetacom-svg-charts.mjs.map +1 -1
- package/fesm2020/tetacom-svg-charts.mjs +302 -227
- package/fesm2020/tetacom-svg-charts.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ElementRef, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Annotation } from '../../model/annotation';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AnnotationComponent implements OnInit {
|
|
5
|
+
annotations: Annotation[];
|
|
6
|
+
xScaleMap: Map<number, any>;
|
|
7
|
+
yScaleMap: Map<number, any>;
|
|
8
|
+
node: ElementRef;
|
|
9
|
+
private _node;
|
|
10
|
+
private _makeAnnotations;
|
|
11
|
+
constructor();
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
ngAfterViewInit(): void;
|
|
14
|
+
drawAnnotations(): void;
|
|
15
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnnotationComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnnotationComponent, "[teta-annotation]", never, { "annotations": "annotations"; "xScaleMap": "xScaleMap"; "yScaleMap": "yScaleMap"; }, {}, never, never>;
|
|
18
|
+
}
|
|
@@ -29,6 +29,7 @@ export declare class PlotBandComponent implements AfterViewInit {
|
|
|
29
29
|
get width(): number;
|
|
30
30
|
get from(): number;
|
|
31
31
|
get to(): number;
|
|
32
|
+
getTextCenter: () => any;
|
|
32
33
|
getFill(d: PlotBand): string;
|
|
33
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<PlotBandComponent, never>;
|
|
34
35
|
static ɵcmp: i0.ɵɵComponentDeclaration<PlotBandComponent, "[teta-plot-band]", never, { "plotBand": "plotBand"; "axis": "axis"; "scale": "scale"; "size": "size"; }, {}, never, never>;
|
|
@@ -5,7 +5,7 @@ import { ChartService } from '../../../service/chart.service';
|
|
|
5
5
|
import { ScaleService } from '../../../service/scale.service';
|
|
6
6
|
import { ZoomService } from '../../../service/zoom.service';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
|
-
import { FillType } from '../../../model/enum/fill-type';
|
|
8
|
+
import { FillDirection, FillType } from '../../../model/enum/fill-type';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class AreaSeriesComponent<T extends BasePoint> extends SeriesBaseComponent<T> implements OnInit {
|
|
11
11
|
protected svc: ChartService;
|
|
@@ -20,6 +20,7 @@ export declare class AreaSeriesComponent<T extends BasePoint> extends SeriesBase
|
|
|
20
20
|
x: any;
|
|
21
21
|
y: any;
|
|
22
22
|
id: string;
|
|
23
|
+
fillDirection: typeof FillDirection;
|
|
23
24
|
fillType: typeof FillType;
|
|
24
25
|
constructor(svc: ChartService, cdr: ChangeDetectorRef, scaleService: ScaleService, zoomService: ZoomService, element: ElementRef);
|
|
25
26
|
ngOnInit(): void;
|
|
@@ -22,7 +22,7 @@ export declare class LineSeriesComponent<T extends BasePoint> extends SeriesBase
|
|
|
22
22
|
ngOnInit(): void;
|
|
23
23
|
ngAfterViewInit(): void;
|
|
24
24
|
getMarkers(): T[];
|
|
25
|
-
getTransform(event: any,
|
|
25
|
+
getTransform(event: any, scaleX: Map<number, any>, scaleY: Map<number, any>): Pick<BasePoint, 'x' | 'y'>;
|
|
26
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<LineSeriesComponent<any>, never>;
|
|
27
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<LineSeriesComponent<any>, "svg:svg[teta-line-series]", never, {}, {}, never, never>;
|
|
28
28
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { ChangeDetectorRef, NgZone,
|
|
1
|
+
import { ChangeDetectorRef, NgZone, OnInit } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { ChartService } from '../../service/chart.service';
|
|
4
4
|
import { ZoomService } from '../../service/zoom.service';
|
|
5
|
-
import { IDisplayTooltip } from '../../model/i-display-tooltip';
|
|
6
5
|
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
7
6
|
import { IChartConfig } from '../../model/i-chart-config';
|
|
8
|
-
import { Series } from '../../model/series';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
|
-
export declare class TooltipComponent implements OnInit
|
|
8
|
+
export declare class TooltipComponent implements OnInit {
|
|
11
9
|
private svc;
|
|
12
10
|
private cdr;
|
|
13
11
|
private zoomService;
|
|
@@ -22,13 +20,10 @@ export declare class TooltipComponent implements OnInit, OnDestroy {
|
|
|
22
20
|
right: string;
|
|
23
21
|
}>;
|
|
24
22
|
displayTooltips: Observable<SafeHtml>;
|
|
25
|
-
tooltips: Observable<Map<Series<any>, IDisplayTooltip>>;
|
|
26
|
-
private alive;
|
|
27
23
|
display: Observable<number>;
|
|
28
24
|
constructor(svc: ChartService, cdr: ChangeDetectorRef, zoomService: ZoomService, sanitizer: DomSanitizer, _zone: NgZone);
|
|
29
25
|
ngOnInit(): void;
|
|
30
26
|
private getPoisition;
|
|
31
|
-
ngOnDestroy(): void;
|
|
32
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
|
|
33
28
|
static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "teta-tooltip", never, { "size": "size"; "config": "config"; }, {}, never, never>;
|
|
34
29
|
}
|
package/chart/chart.module.d.ts
CHANGED
|
@@ -18,9 +18,10 @@ import * as i16 from "./chart-container/series/area-series/area-series.component
|
|
|
18
18
|
import * as i17 from "./chart-container/series/scatter-series/scatter-series.component";
|
|
19
19
|
import * as i18 from "./chart-container/series/block-series/block-series.component";
|
|
20
20
|
import * as i19 from "./chart-container/series/block-area-series/block-area-series.component";
|
|
21
|
-
import * as i20 from "
|
|
21
|
+
import * as i20 from "./chart-container/annotation/annotation.component";
|
|
22
|
+
import * as i21 from "@angular/common";
|
|
22
23
|
export declare class ChartModule {
|
|
23
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChartModule, never>;
|
|
24
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ChartModule, [typeof i1.ChartComponent, typeof i2.SeriesHostComponent, typeof i3.ChartContainerComponent, typeof i4.LegendComponent, typeof i5.SeriesBaseComponent, typeof i6.LineSeriesComponent, typeof i7.GridlinesComponent, typeof i8.XAxisComponent, typeof i9.YAxisComponent, typeof i10.PlotlineComponent, typeof i11.PlotBandComponent, typeof i12.BarSeriesComponent, typeof i13.TooltipComponent, typeof i14.ZoomableDirective, typeof i15.BrushableDirective, typeof i16.AreaSeriesComponent, typeof i17.ScatterSeriesComponent, typeof i18.BlockSeriesComponent, typeof i19.BlockAreaSeriesComponent], [typeof
|
|
25
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ChartModule, [typeof i1.ChartComponent, typeof i2.SeriesHostComponent, typeof i3.ChartContainerComponent, typeof i4.LegendComponent, typeof i5.SeriesBaseComponent, typeof i6.LineSeriesComponent, typeof i7.GridlinesComponent, typeof i8.XAxisComponent, typeof i9.YAxisComponent, typeof i10.PlotlineComponent, typeof i11.PlotBandComponent, typeof i12.BarSeriesComponent, typeof i13.TooltipComponent, typeof i14.ZoomableDirective, typeof i15.BrushableDirective, typeof i16.AreaSeriesComponent, typeof i17.ScatterSeriesComponent, typeof i18.BlockSeriesComponent, typeof i19.BlockAreaSeriesComponent, typeof i20.AnnotationComponent], [typeof i21.CommonModule], [typeof i1.ChartComponent, typeof i4.LegendComponent, typeof i5.SeriesBaseComponent, typeof i6.LineSeriesComponent, typeof i12.BarSeriesComponent, typeof i17.ScatterSeriesComponent, typeof i16.AreaSeriesComponent, typeof i18.BlockSeriesComponent, typeof i19.BlockAreaSeriesComponent]>;
|
|
25
26
|
static ɵinj: i0.ɵɵInjectorDeclaration<ChartModule>;
|
|
26
27
|
}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
import { ElementRef, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { ElementRef, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { ZoomService } from '../service/zoom.service';
|
|
3
3
|
import { IChartConfig } from '../model/i-chart-config';
|
|
4
4
|
import { Axis } from '../core/axis/axis';
|
|
5
|
+
import { BroadcastService } from "../service/broadcast.service";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class ZoomableDirective {
|
|
7
|
-
private
|
|
8
|
-
private
|
|
7
|
+
export declare class ZoomableDirective implements OnDestroy {
|
|
8
|
+
private elementRef;
|
|
9
|
+
private zoomService;
|
|
10
|
+
private broadcastService;
|
|
9
11
|
config?: IChartConfig;
|
|
10
12
|
axis?: Axis;
|
|
11
13
|
size?: DOMRect;
|
|
12
14
|
brushScale?: any;
|
|
13
15
|
private zoomable;
|
|
14
|
-
|
|
16
|
+
private _element;
|
|
17
|
+
private zoomAxis;
|
|
18
|
+
private zoom;
|
|
19
|
+
private alive;
|
|
20
|
+
constructor(elementRef: ElementRef, zoomService: ZoomService, broadcastService: BroadcastService);
|
|
15
21
|
ngOnInit(): void;
|
|
16
22
|
ngAfterViewInit(): void;
|
|
17
23
|
ngOnChanges(changes: SimpleChanges): void;
|
|
24
|
+
ngOnDestroy(): void;
|
|
18
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<ZoomableDirective, never>;
|
|
19
26
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ZoomableDirective, "[tetaZoomable]", never, { "config": "config"; "axis": "axis"; "size": "size"; "brushScale": "brushScale"; }, {}, never>;
|
|
20
27
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { annotationBadge, annotationCallout, annotationCalloutCircle, annotationCalloutCurve, annotationCalloutElbow, annotationCalloutRect, annotationCustomType, annotationLabel, annotationXYThreshold } from 'd3-svg-annotation';
|
|
2
|
+
import { BasePoint } from './base-point';
|
|
3
|
+
import { SvgAttributes } from './svg-attributes';
|
|
4
|
+
declare const annotationMap: readonly [typeof annotationBadge, typeof annotationLabel, typeof annotationCallout, typeof annotationCalloutCircle, typeof annotationCalloutCurve, typeof annotationCalloutElbow, typeof annotationCalloutRect, typeof annotationCustomType, typeof annotationXYThreshold];
|
|
5
|
+
declare type AnnotationTypes = typeof annotationMap[number];
|
|
6
|
+
export interface Annotation {
|
|
7
|
+
point: BasePoint;
|
|
8
|
+
yAxisIndex: number;
|
|
9
|
+
xAxisIndex: number;
|
|
10
|
+
type?: AnnotationTypes;
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
dx?: number;
|
|
13
|
+
dy?: number;
|
|
14
|
+
className?: string;
|
|
15
|
+
connector?: {
|
|
16
|
+
end: string;
|
|
17
|
+
};
|
|
18
|
+
note?: {
|
|
19
|
+
label?: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
bgPadding?: {
|
|
22
|
+
top?: number;
|
|
23
|
+
right?: number;
|
|
24
|
+
bottom?: number;
|
|
25
|
+
left?: number;
|
|
26
|
+
};
|
|
27
|
+
bgRadius?: boolean;
|
|
28
|
+
};
|
|
29
|
+
style?: SvgAttributes;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import { D3BrushEvent, D3ZoomEvent } from 'd3';
|
|
2
2
|
import { Axis } from '../core/axis/axis';
|
|
3
3
|
import { BrushType } from './enum/brush-type';
|
|
4
|
-
export
|
|
4
|
+
export declare class ZoomMessage {
|
|
5
5
|
event: D3ZoomEvent<any, any>;
|
|
6
6
|
axis?: Axis;
|
|
7
7
|
brushDomain?: number[];
|
|
8
|
+
constructor(options?: {
|
|
9
|
+
event: D3ZoomEvent<any, any>;
|
|
10
|
+
axis?: Axis;
|
|
11
|
+
brushDomain?: number[];
|
|
12
|
+
});
|
|
8
13
|
}
|
|
9
|
-
export
|
|
14
|
+
export declare class BrushMessage {
|
|
10
15
|
event: D3BrushEvent<any>;
|
|
11
16
|
brushType: BrushType;
|
|
12
17
|
selection: number[];
|
|
13
18
|
brushScale?: any;
|
|
19
|
+
constructor(options?: {
|
|
20
|
+
event: D3BrushEvent<any>;
|
|
21
|
+
brushType: BrushType;
|
|
22
|
+
selection: number[];
|
|
23
|
+
brushScale?: any;
|
|
24
|
+
});
|
|
14
25
|
}
|
|
15
|
-
export interface IBroadcastMessage {
|
|
26
|
+
export interface IBroadcastMessage<T> {
|
|
16
27
|
channel: string;
|
|
17
|
-
message:
|
|
28
|
+
message: T;
|
|
18
29
|
}
|
|
@@ -5,6 +5,7 @@ import { ZoomType } from './enum/zoom-type';
|
|
|
5
5
|
import { TooltipOptions } from './tooltip-options';
|
|
6
6
|
import { ChartBounds } from './chart-bounds';
|
|
7
7
|
import { BrushType } from './enum/brush-type';
|
|
8
|
+
import { Annotation } from './annotation';
|
|
8
9
|
export interface IChartConfig {
|
|
9
10
|
name?: string;
|
|
10
11
|
series?: Series<BasePoint>[];
|
|
@@ -28,6 +29,7 @@ export interface IChartConfig {
|
|
|
28
29
|
tooltip?: TooltipOptions;
|
|
29
30
|
xAxis: AxisOptions[];
|
|
30
31
|
yAxis: AxisOptions[];
|
|
32
|
+
annotations?: Annotation[];
|
|
31
33
|
gridLines?: boolean;
|
|
32
34
|
width?: number;
|
|
33
35
|
height?: number;
|
package/chart/model/series.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { BasePoint } from './base-point';
|
|
|
2
2
|
import { SeriesType } from './enum/series-type';
|
|
3
3
|
import { SeriesBaseComponent } from '../base/series-base.component';
|
|
4
4
|
import { SvgAttributes } from './svg-attributes';
|
|
5
|
-
import { FillType } from './enum/fill-type';
|
|
5
|
+
import { FillDirection, FillType } from './enum/fill-type';
|
|
6
6
|
export interface Series<T extends BasePoint> {
|
|
7
7
|
id?: number | string;
|
|
8
8
|
type: SeriesType;
|
|
@@ -14,6 +14,7 @@ export interface Series<T extends BasePoint> {
|
|
|
14
14
|
visible?: boolean;
|
|
15
15
|
color?: string;
|
|
16
16
|
fillType?: FillType;
|
|
17
|
+
fillDirection?: FillDirection;
|
|
17
18
|
showInLegend?: boolean;
|
|
18
19
|
style?: SvgAttributes;
|
|
19
20
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { IBroadcastMessage } from '../model/i-broadcast-message';
|
|
1
|
+
import { BrushMessage, IBroadcastMessage, ZoomMessage } from '../model/i-broadcast-message';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BroadcastService {
|
|
5
|
-
private
|
|
5
|
+
private zoomEmitter;
|
|
6
|
+
private brushEmitter;
|
|
6
7
|
constructor();
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
broadcastZoom(value: IBroadcastMessage<ZoomMessage>): void;
|
|
9
|
+
broadcastBrush(value: IBroadcastMessage<BrushMessage>): void;
|
|
10
|
+
subscribeToZoom(channel: string): Observable<IBroadcastMessage<ZoomMessage>>;
|
|
11
|
+
subscribeToBrush(channel: string): Observable<IBroadcastMessage<BrushMessage>>;
|
|
9
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<BroadcastService, never>;
|
|
10
13
|
static ɵprov: i0.ɵɵInjectableDeclaration<BroadcastService>;
|
|
11
14
|
}
|
|
@@ -8,8 +8,10 @@ export declare class BrushService {
|
|
|
8
8
|
broadcastSubscribtion: Subscription;
|
|
9
9
|
private brush;
|
|
10
10
|
private brushMap;
|
|
11
|
+
private selection;
|
|
11
12
|
constructor(broadcastService: BroadcastService);
|
|
12
|
-
applyBrush(svgElement: ElementRef, config: IChartConfig, brushScale: any
|
|
13
|
+
applyBrush(svgElement: ElementRef, config: IChartConfig, brushScale: any): void;
|
|
14
|
+
clearPreviousSelection(): void;
|
|
13
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrushService, never>;
|
|
14
16
|
static ɵprov: i0.ɵɵInjectableDeclaration<BrushService>;
|
|
15
17
|
}
|
|
@@ -6,12 +6,13 @@ import { PlotBand } from '../model/plot-band';
|
|
|
6
6
|
import { PlotLine } from '../model/plot-line';
|
|
7
7
|
import { IPointMove } from '../model/i-point-move';
|
|
8
8
|
import { BasePoint } from '../model/base-point';
|
|
9
|
+
import { Series } from '../model/series';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export declare class ChartService {
|
|
11
12
|
config: Observable<IChartConfig>;
|
|
12
13
|
size: Observable<DOMRect>;
|
|
13
14
|
pointerMove: Observable<PointerEvent>;
|
|
14
|
-
tooltips: Observable<IDisplayTooltip
|
|
15
|
+
tooltips: Observable<Map<Series<BasePoint>, IDisplayTooltip>>;
|
|
15
16
|
plotBandEvent: Observable<IChartEvent<PlotBand>>;
|
|
16
17
|
plotLineMove: Observable<IChartEvent<PlotLine>>;
|
|
17
18
|
plotBandClick: Observable<IChartEvent<PlotBand>>;
|
|
@@ -33,13 +34,14 @@ export declare class ChartService {
|
|
|
33
34
|
setSize(size: DOMRect): void;
|
|
34
35
|
setPointerMove(event: PointerEvent): void;
|
|
35
36
|
setTooltip(tooltip: IDisplayTooltip): void;
|
|
37
|
+
clearTooltips(): void;
|
|
36
38
|
emitPlotband(event: IChartEvent<PlotBand>): void;
|
|
37
39
|
emitPlotline(event: IChartEvent<PlotLine>): void;
|
|
38
40
|
emitPoint(event: IChartEvent<IPointMove>): void;
|
|
39
41
|
emitChartClick(event: IChartEvent<BasePoint>): void;
|
|
40
42
|
emitChartContextMenu(event: IChartEvent<BasePoint>): void;
|
|
41
43
|
private setDefaults;
|
|
42
|
-
private
|
|
44
|
+
private setPreparationData;
|
|
43
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChartService, never>;
|
|
44
46
|
static ɵprov: i0.ɵɵInjectableDeclaration<ChartService>;
|
|
45
47
|
}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
1
|
import { Observable, Subscription } from 'rxjs';
|
|
3
|
-
import { IChartConfig } from '../model/i-chart-config';
|
|
4
|
-
import { BroadcastService } from './broadcast.service';
|
|
5
2
|
import { Axis } from '../core/axis/axis';
|
|
6
3
|
import { IChartEvent } from '../model/i-chart-event';
|
|
7
4
|
import * as i0 from "@angular/core";
|
|
8
5
|
export declare class ZoomService {
|
|
9
|
-
private broadcastService;
|
|
10
6
|
broadcastSubscription: Subscription[];
|
|
11
7
|
zoomed: Observable<IChartEvent<Axis>>;
|
|
12
8
|
private zoomed$;
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
9
|
+
constructor();
|
|
10
|
+
setZoom(zoom: IChartEvent<Axis>): void;
|
|
15
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<ZoomService, never>;
|
|
16
12
|
static ɵprov: i0.ɵɵInjectableDeclaration<ZoomService>;
|
|
17
13
|
}
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
92
92
|
}], config: [{
|
|
93
93
|
type: Input
|
|
94
94
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9jaGFydC9jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFJdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFLdEQsT0FBTyxFQUFDLEdBQUcsRUFBYyxTQUFTLEVBQU0sTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFTckQsTUFBTSxPQUFPLGNBQWM7SUFnQ3pCLFlBQW9CLElBQWtCLEVBQVUsWUFBeUI7UUFBckQsU0FBSSxHQUFKLElBQUksQ0FBYztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBM0J6RSxrQkFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUcvRixrQkFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUcvRix3QkFBbUIsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFJckcsa0JBQWEsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFHL0YsY0FBUyxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUcvRixlQUFVLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRzlGLHFCQUFnQixHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQU01RixXQUFNLEdBQUcsSUFB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RTtZQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsyR0FoR1UsY0FBYzsrRkFBZCxjQUFjLHdUQUhkLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLCtDQzVCcEUsMnVCQWdCQTsyRkRlYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLG1CQUNqRCx1QkFBdUIsQ0FBQyxNQUFNOzZIQU8vQyxhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFHTSxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtJQ2hhcnRDb25maWd9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7QmFzZVBvaW50fSBmcm9tICcuLi9tb2RlbC9iYXNlLXBvaW50JztcbmltcG9ydCB7U2VyaWVzfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMnO1xuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS96b29tLnNlcnZpY2UnO1xuaW1wb3J0IHtTY2FsZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2Uvc2NhbGUuc2VydmljZSc7XG5pbXBvcnQge0JydXNoU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9icnVzaC5zZXJ2aWNlJztcbmltcG9ydCB7SUNoYXJ0RXZlbnR9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtZXZlbnQnO1xuaW1wb3J0IHtQbG90TGluZX0gZnJvbSAnLi4vbW9kZWwvcGxvdC1saW5lJztcbmltcG9ydCB7UGxvdEJhbmR9IGZyb20gJy4uL21vZGVsL3Bsb3QtYmFuZCc7XG5pbXBvcnQge0lQb2ludE1vdmV9IGZyb20gJy4uL21vZGVsL2ktcG9pbnQtbW92ZSc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXN2Zy1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NoYXJ0U2VydmljZSwgWm9vbVNlcnZpY2UsIFNjYWxlU2VydmljZSwgQnJ1c2hTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGxlZ2VuZFNlcmllczogQXJyYXk8U2VyaWVzPEJhc2VQb2ludD4+O1xuICBoYXNTZXJpZXNEYXRhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzdmNDb25maWc6IE9ic2VydmFibGU8SUNoYXJ0Q29uZmlnPjtcbiAgQE91dHB1dCgpXG4gIHBsb3RCYW5kc01vdmU6IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90QmFuZD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90QmFuZD4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHBsb3RCYW5kQ2xpY2s6IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90QmFuZD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90QmFuZD4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHBsb3RCYW5kQ29udGV4dE1lbnU6IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90QmFuZD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90QmFuZD4+KCk7XG5cblxuICBAT3V0cHV0KClcbiAgcGxvdExpbmVzTW92ZTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RMaW5lPj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PFBsb3RMaW5lPj4oKTtcblxuICBAT3V0cHV0KClcbiAgcG9pbnRNb3ZlOiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8SVBvaW50TW92ZT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxJUG9pbnRNb3ZlPj4oKTtcblxuICBAT3V0cHV0KClcbiAgY2hhcnRDbGljazogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEJhc2VQb2ludD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxCYXNlUG9pbnQ+PigpO1xuXG4gIEBPdXRwdXQoKVxuICBjaGFydENvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8QmFzZVBvaW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEJhc2VQb2ludD4+KCk7XG5cbiAgQElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IElDaGFydENvbmZpZykge1xuICAgIHRoaXMuX3N2Yy5zZXRDb25maWcoY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IENoYXJ0U2VydmljZSwgcHJpdmF0ZSBfem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlKSB7XG4gICAgdGhpcy5zdmNDb25maWcgPSB0aGlzLl9zdmMuY29uZmlnO1xuICAgIHRoaXMuaGFzU2VyaWVzRGF0YSA9IHRoaXMuc3ZjQ29uZmlnLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChfKSA9PiBfLnNlcmllcz8ubGVuZ3RoID4gMCAmJiBfLnNlcmllcz8uc29tZSgoXykgPT4gXy5kYXRhPy5sZW5ndGggPiAwKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdmMucGxvdEJhbmRFdmVudFxuICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgdGhpcy5wbG90QmFuZHNNb3ZlLmVtaXQoXyk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5wbG90TGluZU1vdmUucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMucGxvdExpbmVzTW92ZS5lbWl0KF8pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLnBvaW50TW92ZS5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5wb2ludE1vdmUuZW1pdChfKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5jaGFydENsaWNrXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKVxuICAgICAgKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMuY2hhcnRDbGljay5lbWl0KF8pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLmNoYXJ0Q29udGV4dE1lbnVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpXG4gICAgICApLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5jaGFydENvbnRleHRNZW51LmVtaXQoXyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zdmMucGxvdEJhbmRDbGlja1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMucGxvdEJhbmRDbGljay5lbWl0KF8pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9zdmMucGxvdEJhbmRDb250ZXh0TWVudVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMucGxvdEJhbmRDb250ZXh0TWVudS5lbWl0KF8pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuX3pvb21TZXJ2aWNlLmJyb2FkY2FzdFN1YnNjcmlwdGlvbj8uZm9yRWFjaCgoc3ViKSA9PiB7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntcbiAgaGFzU2VyaWVzRGF0YTogaGFzU2VyaWVzRGF0YSB8IGFzeW5jLFxuICBzdmNDb25maWc6IHN2Y0NvbmZpZyB8IGFzeW5jXG59IGFzIGRhdGFcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuaGFzU2VyaWVzRGF0YSA9PT0gdHJ1ZSBlbHNlIG5vRGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG9cIj5cbiAgICAgIDx0ZXRhLWNoYXJ0LWNvbnRhaW5lciBjbGFzcz1cImNoYXJ0LWNvbnRhaW5lclwiPjwvdGV0YS1jaGFydC1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHRldGEtbGVnZW5kICpuZ0lmPVwiZGF0YS5zdmNDb25maWcubGVnZW5kPy5lbmFibGUgPT09IHRydWVcIiBbc2VyaWVzXT1cImRhdGEuc3ZjQ29uZmlnLnNlcmllc1wiPjwvdGV0YS1sZWdlbmQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI25vRGF0YT5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2R5LTMgY29sb3ItdGV4dC00MFwiPtCU0LDQvdC90YvQtSDQvtGC0YHRg9GC0YHRgtCy0YPRjtGCPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9jaGFydC9jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFJdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFLdEQsT0FBTyxFQUFDLEdBQUcsRUFBYyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFTaEQsTUFBTSxPQUFPLGNBQWM7SUFnQ3pCLFlBQW9CLElBQWtCLEVBQVUsWUFBeUI7UUFBckQsU0FBSSxHQUFKLElBQUksQ0FBYztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBM0J6RSxrQkFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUcvRixrQkFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUcvRix3QkFBbUIsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFJckcsa0JBQWEsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFHL0YsY0FBUyxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUcvRixlQUFVLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRzlGLHFCQUFnQixHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQU01RixXQUFNLEdBQUcsSUFB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RTtZQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsyR0FoR1UsY0FBYzsrRkFBZCxjQUFjLHdUQUhkLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLCtDQzVCcEUsMnVCQWdCQTsyRkRlYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLG1CQUNqRCx1QkFBdUIsQ0FBQyxNQUFNOzZIQU8vQyxhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFHTSxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtJQ2hhcnRDb25maWd9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtY29uZmlnJztcbmltcG9ydCB7QmFzZVBvaW50fSBmcm9tICcuLi9tb2RlbC9iYXNlLXBvaW50JztcbmltcG9ydCB7U2VyaWVzfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMnO1xuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS96b29tLnNlcnZpY2UnO1xuaW1wb3J0IHtTY2FsZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2Uvc2NhbGUuc2VydmljZSc7XG5pbXBvcnQge0JydXNoU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9icnVzaC5zZXJ2aWNlJztcbmltcG9ydCB7SUNoYXJ0RXZlbnR9IGZyb20gJy4uL21vZGVsL2ktY2hhcnQtZXZlbnQnO1xuaW1wb3J0IHtQbG90TGluZX0gZnJvbSAnLi4vbW9kZWwvcGxvdC1saW5lJztcbmltcG9ydCB7UGxvdEJhbmR9IGZyb20gJy4uL21vZGVsL3Bsb3QtYmFuZCc7XG5pbXBvcnQge0lQb2ludE1vdmV9IGZyb20gJy4uL21vZGVsL2ktcG9pbnQtbW92ZSc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zdmctY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtDaGFydFNlcnZpY2UsIFpvb21TZXJ2aWNlLCBTY2FsZVNlcnZpY2UsIEJydXNoU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBsZWdlbmRTZXJpZXM6IEFycmF5PFNlcmllczxCYXNlUG9pbnQ+PjtcbiAgaGFzU2VyaWVzRGF0YTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc3ZjQ29uZmlnOiBPYnNlcnZhYmxlPElDaGFydENvbmZpZz47XG4gIEBPdXRwdXQoKVxuICBwbG90QmFuZHNNb3ZlOiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8UGxvdEJhbmQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8UGxvdEJhbmQ+PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwbG90QmFuZENsaWNrOiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8UGxvdEJhbmQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8UGxvdEJhbmQ+PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwbG90QmFuZENvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8UGxvdEJhbmQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8UGxvdEJhbmQ+PigpO1xuXG5cbiAgQE91dHB1dCgpXG4gIHBsb3RMaW5lc01vdmU6IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90TGluZT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxQbG90TGluZT4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHBvaW50TW92ZTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PElQb2ludE1vdmU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8SVBvaW50TW92ZT4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNoYXJ0Q2xpY2s6IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxCYXNlUG9pbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNoYXJ0RXZlbnQ8QmFzZVBvaW50Pj4oKTtcblxuICBAT3V0cHV0KClcbiAgY2hhcnRDb250ZXh0TWVudTogRXZlbnRFbWl0dGVyPElDaGFydEV2ZW50PEJhc2VQb2ludD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2hhcnRFdmVudDxCYXNlUG9pbnQ+PigpO1xuXG4gIEBJbnB1dCgpIHNldCBjb25maWcoY29uZmlnOiBJQ2hhcnRDb25maWcpIHtcbiAgICB0aGlzLl9zdmMuc2V0Q29uZmlnKGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3ZjOiBDaGFydFNlcnZpY2UsIHByaXZhdGUgX3pvb21TZXJ2aWNlOiBab29tU2VydmljZSkge1xuICAgIHRoaXMuc3ZjQ29uZmlnID0gdGhpcy5fc3ZjLmNvbmZpZztcbiAgICB0aGlzLmhhc1Nlcmllc0RhdGEgPSB0aGlzLnN2Y0NvbmZpZy5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoXykgPT4gXy5zZXJpZXM/Lmxlbmd0aCA+IDAgJiYgXy5zZXJpZXM/LnNvbWUoKF8pID0+IF8uZGF0YT8ubGVuZ3RoID4gMClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3ZjLnBsb3RCYW5kRXZlbnRcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMucGxvdEJhbmRzTW92ZS5lbWl0KF8pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9zdmMucGxvdExpbmVNb3ZlLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnBsb3RMaW5lc01vdmUuZW1pdChfKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5wb2ludE1vdmUucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMucG9pbnRNb3ZlLmVtaXQoXyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zdmMuY2hhcnRDbGlja1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSlcbiAgICAgICkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmNoYXJ0Q2xpY2suZW1pdChfKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N2Yy5jaGFydENvbnRleHRNZW51XG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKVxuICAgICAgKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMuY2hhcnRDb250ZXh0TWVudS5lbWl0KF8pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLnBsb3RCYW5kQ2xpY2tcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLnBsb3RCYW5kQ2xpY2suZW1pdChfKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLnBsb3RCYW5kQ29udGV4dE1lbnVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLnBsb3RCYW5kQ29udGV4dE1lbnUuZW1pdChfKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgICB0aGlzLl96b29tU2VydmljZS5icm9hZGNhc3RTdWJzY3JpcHRpb24/LmZvckVhY2goKHN1YikgPT4ge1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ7XG4gIGhhc1Nlcmllc0RhdGE6IGhhc1Nlcmllc0RhdGEgfCBhc3luYyxcbiAgc3ZjQ29uZmlnOiBzdmNDb25maWcgfCBhc3luY1xufSBhcyBkYXRhXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmhhc1Nlcmllc0RhdGEgPT09IHRydWUgZWxzZSBub0RhdGFcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvXCI+XG4gICAgICA8dGV0YS1jaGFydC1jb250YWluZXIgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIj48L3RldGEtY2hhcnQtY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDx0ZXRhLWxlZ2VuZCAqbmdJZj1cImRhdGEuc3ZjQ29uZmlnLmxlZ2VuZD8uZW5hYmxlID09PSB0cnVlXCIgW3Nlcmllc109XCJkYXRhLnN2Y0NvbmZpZy5zZXJpZXNcIj48L3RldGEtbGVnZW5kPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG8gYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9keS0zIGNvbG9yLXRleHQtNDBcIj7QlNCw0L3QvdGL0LUg0L7RgtGB0YPRgtGB0YLQstGD0Y7Rgjwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as d3annotation from 'd3-svg-annotation';
|
|
3
|
+
import * as d3 from 'd3';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AnnotationComponent {
|
|
6
|
+
constructor() { }
|
|
7
|
+
ngOnInit() { }
|
|
8
|
+
ngAfterViewInit() {
|
|
9
|
+
this._node = d3.select(this.node.nativeElement);
|
|
10
|
+
this.drawAnnotations();
|
|
11
|
+
}
|
|
12
|
+
drawAnnotations() {
|
|
13
|
+
if (!this.node)
|
|
14
|
+
return;
|
|
15
|
+
const annotations = this.annotations?.map((annotation) => {
|
|
16
|
+
const x = this.xScaleMap.get(annotation.xAxisIndex);
|
|
17
|
+
const y = this.yScaleMap.get(annotation.yAxisIndex);
|
|
18
|
+
return {
|
|
19
|
+
note: annotation.note,
|
|
20
|
+
connector: annotation.connector,
|
|
21
|
+
x: x(annotation.point?.x),
|
|
22
|
+
y: y(annotation.point?.y),
|
|
23
|
+
dx: annotation.dx,
|
|
24
|
+
dy: annotation.dy,
|
|
25
|
+
type: annotation.type ?? d3annotation.annotationLabel,
|
|
26
|
+
className: annotation.className,
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
this._makeAnnotations = d3annotation
|
|
30
|
+
.annotation()
|
|
31
|
+
.annotations(annotations ?? [])
|
|
32
|
+
.editMode(false);
|
|
33
|
+
this._node.call(this._makeAnnotations);
|
|
34
|
+
}
|
|
35
|
+
ngOnChanges(changes) {
|
|
36
|
+
if (changes.hasOwnProperty('xScaleMap') &&
|
|
37
|
+
changes.hasOwnProperty('yScaleMap')) {
|
|
38
|
+
this.drawAnnotations();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
AnnotationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AnnotationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
AnnotationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: AnnotationComponent, selector: "[teta-annotation]", inputs: { annotations: "annotations", xScaleMap: "xScaleMap", yScaleMap: "yScaleMap" }, viewQueries: [{ propertyName: "node", first: true, predicate: ["svg"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<svg:g #svg></svg:g>\n", styles: [""] });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AnnotationComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: '[teta-annotation]', template: "<svg:g #svg></svg:g>\n", styles: [""] }]
|
|
47
|
+
}], ctorParameters: function () { return []; }, propDecorators: { annotations: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], xScaleMap: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], yScaleMap: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], node: [{
|
|
54
|
+
type: ViewChild,
|
|
55
|
+
args: ['svg']
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL2Fubm90YXRpb24vYW5ub3RhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY2hhcnQvY2hhcnQtY29udGFpbmVyL2Fubm90YXRpb24vYW5ub3RhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQzs7QUFPekIsTUFBTSxPQUFPLG1CQUFtQjtJQVU5QixnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO0lBRW5CLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVwRCxPQUFPO2dCQUNMLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO2dCQUMvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixFQUFFLEVBQUUsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pCLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDakIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLGVBQWU7Z0JBQ3JELFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUzthQUNoQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWTthQUNqQyxVQUFVLEVBQUU7YUFDWixXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQzthQUM5QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUF1QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQ25DO1lBQ0EsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7Z0hBckRVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG1RQ2pCaEMsd0JBQ0E7MkZEZ0JhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxtQkFBbUI7MEVBS3BCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVZLElBQUk7c0JBQXJCLFNBQVM7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9hbm5vdGF0aW9uJztcbmltcG9ydCAqIGFzIGQzYW5ub3RhdGlvbiBmcm9tICdkMy1zdmctYW5ub3RhdGlvbic7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1t0ZXRhLWFubm90YXRpb25dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fubm90YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbm5vdGF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFubm90YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhbm5vdGF0aW9uczogQW5ub3RhdGlvbltdO1xuICBASW5wdXQoKSB4U2NhbGVNYXA6IE1hcDxudW1iZXIsIGFueT47XG4gIEBJbnB1dCgpIHlTY2FsZU1hcDogTWFwPG51bWJlciwgYW55PjtcblxuICBAVmlld0NoaWxkKCdzdmcnKSBub2RlOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX25vZGU6IGFueTtcbiAgcHJpdmF0ZSBfbWFrZUFubm90YXRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5fbm9kZSA9IGQzLnNlbGVjdCh0aGlzLm5vZGUubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kcmF3QW5ub3RhdGlvbnMoKTtcbiAgfVxuXG4gIGRyYXdBbm5vdGF0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMubm9kZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgYW5ub3RhdGlvbnMgPSB0aGlzLmFubm90YXRpb25zPy5tYXAoKGFubm90YXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHggPSB0aGlzLnhTY2FsZU1hcC5nZXQoYW5ub3RhdGlvbi54QXhpc0luZGV4KTtcbiAgICAgIGNvbnN0IHkgPSB0aGlzLnlTY2FsZU1hcC5nZXQoYW5ub3RhdGlvbi55QXhpc0luZGV4KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbm90ZTogYW5ub3RhdGlvbi5ub3RlLFxuICAgICAgICBjb25uZWN0b3I6IGFubm90YXRpb24uY29ubmVjdG9yLFxuICAgICAgICB4OiB4KGFubm90YXRpb24ucG9pbnQ/LngpLFxuICAgICAgICB5OiB5KGFubm90YXRpb24ucG9pbnQ/LnkpLFxuICAgICAgICBkeDogYW5ub3RhdGlvbi5keCxcbiAgICAgICAgZHk6IGFubm90YXRpb24uZHksXG4gICAgICAgIHR5cGU6IGFubm90YXRpb24udHlwZSA/PyBkM2Fubm90YXRpb24uYW5ub3RhdGlvbkxhYmVsLFxuICAgICAgICBjbGFzc05hbWU6IGFubm90YXRpb24uY2xhc3NOYW1lLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMuX21ha2VBbm5vdGF0aW9ucyA9IGQzYW5ub3RhdGlvblxuICAgICAgLmFubm90YXRpb24oKVxuICAgICAgLmFubm90YXRpb25zKGFubm90YXRpb25zID8/IFtdKVxuICAgICAgLmVkaXRNb2RlKGZhbHNlKTtcblxuICAgIHRoaXMuX25vZGUuY2FsbCh0aGlzLl9tYWtlQW5ub3RhdGlvbnMgYXMgYW55KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmhhc093blByb3BlcnR5KCd4U2NhbGVNYXAnKSAmJlxuICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgneVNjYWxlTWFwJylcbiAgICApIHtcbiAgICAgIHRoaXMuZHJhd0Fubm90YXRpb25zKCk7XG4gICAgfVxuICB9XG59XG4iLCI8c3ZnOmcgI3N2Zz48L3N2ZzpnPlxuIl19
|