From 359a809d259e24a61b116735748c65d6aff6cef5 Mon Sep 17 00:00:00 2001 From: Remi Planel <rplanel@pasteur.fr> Date: Mon, 8 Apr 2019 14:58:18 +0200 Subject: [PATCH] Remove the drag behaviour --- src/scripts/component/sequence/gene.ts | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/scripts/component/sequence/gene.ts b/src/scripts/component/sequence/gene.ts index 9e273da..a4f627b 100644 --- a/src/scripts/component/sequence/gene.ts +++ b/src/scripts/component/sequence/gene.ts @@ -4,18 +4,17 @@ import { arrowShape } from "./gene-shapes"; import linearGene from "../../layout/linear-gene"; import { of } from "rxjs"; import { mergeMap } from "rxjs/operators"; -import { drag } from "d3-drag"; type Strand = "+" | "-"; export interface GeneData { + eventHandler?: { + click: ([begin, end]: [number, number]) => void + }, name: string, strand: Strand, begin: number, end: number, gene: string - eventHandler: { - click: ([begin, end]: [number, number]) => void - } } export interface PositionedGeneData extends GeneData { position: { @@ -28,7 +27,7 @@ export interface PositionedGeneData extends GeneData { export default function () { function gene( - _selection: Selection<SVGElement, Array<GeneData>, HTMLElement, any>, + _selection: Selection<SVGElement, Array<GeneData>, SVGElement, any>, xScale: ScaleLinear<number, number>, geneHeight: number = 30, yPosition: number = 60 @@ -65,16 +64,13 @@ export default function () { : null ) .attr("d", d => arrowShape(d, geneHeight)) - .on("click", d => of(d) - .pipe(mergeMap(d => of<[number, number]>([d.begin, d.end]))) - .subscribe(d.eventHandler.click) - ) - .call( - drag().on("start", d => console.log(event)) - .on("drag", d => console.log(event)) - .on("end", d => console.log(event)) - ); - ; + .on("click", d => { + if (d.eventHandler) { + return of(d) + .pipe(mergeMap(d => of<[number, number]>([d.begin, d.end]))) + .subscribe(d.eventHandler.click); + } + }); }) } return gene; -- GitLab