/
RcsbVlineDisplay.ts
37 lines (31 loc) · 1.22 KB
/
RcsbVlineDisplay.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import {RcsbAbstractDisplay} from "./RcsbAbstractDisplay";
import {Selection, BaseType} from "d3-selection";
import {
MoveVlineInterface,
PlotVlineInterface,
RcsbD3VlineManager
} from "../RcsbD3/RcsbD3DisplayManager/RcsbD3VlineManager";
import {RcsbFvTrackDataElementInterface} from "../../RcsbDataManager/RcsbDataManager";
import {RcsbD3Constants} from "../RcsbD3/RcsbD3Constants";
export class RcsbVlineDisplay extends RcsbAbstractDisplay {
private rcsbD3VlineManager: RcsbD3VlineManager = new RcsbD3VlineManager();
enter(e: Selection<SVGGElement, RcsbFvTrackDataElementInterface, BaseType, undefined>): void{
e.append<SVGLineElement>(RcsbD3Constants.LINE);
}
plot(elements:Selection<SVGGElement,RcsbFvTrackDataElementInterface,BaseType,undefined>): void {
super.plot(elements);
const config: PlotVlineInterface = {
elements: elements,
xScale: this.xScale,
color: this._displayColor as string,
height: this.height()
};
this.rcsbD3VlineManager.plot(config);
}
move(): void{
const config: MoveVlineInterface = {
xScale: this.xScale,
};
this.rcsbD3VlineManager.move(config);
}
}