private drawSecondTargets()

in src/visual.ts [1064:1128]


    private drawSecondTargets(
        targetValues: TargetValue[],
        getX: (d: TargetValue) => number,
        getY: (d: TargetValue) => number): void {

        let selection = this.bulletGraphicsContext
            .selectAll("line.target2")
            .data(targetValues.filter(x => lodashIsnumber(x.value2)));
        let enterSelection = selection.enter();

        let targetStyle = {
            "stroke": ((d: TargetValue) => d.fill),
            "stroke-width": 2
        };

        let enterSelectionMinus = enterSelection
          .append("line")
          .merge((<BulletSelection<any>>selection))
          .attr(
            "x1",
            (d: TargetValue) => getX(d) - BulletChart.SecondTargetLineSize
          )
          .attr(
            "y1",
            (d: TargetValue) => getY(d) - BulletChart.SecondTargetLineSize
          )
          .attr(
            "x2",
            (d: TargetValue) => getX(d) + BulletChart.SecondTargetLineSize
          )
          .attr(
            "y2",
            (d: TargetValue) => getY(d) + BulletChart.SecondTargetLineSize
          )
          .style("stroke", (d: TargetValue) => d.fill)
          .style("stroke-width", 2)
          .classed("target2", true);

        let enterSelectionPlus = enterSelection
          .append("line")
          .merge(<BulletSelection<any>>selection)
          .attr(
            "x1",
            (d: TargetValue) => getX(d) + BulletChart.SecondTargetLineSize
          )
          .attr(
            "y1",
            (d: TargetValue) => getY(d) - BulletChart.SecondTargetLineSize
          )
          .attr(
            "x2",
            (d: TargetValue) => getX(d) - BulletChart.SecondTargetLineSize
          )
          .attr(
            "y2",
            (d: TargetValue) => getY(d) + BulletChart.SecondTargetLineSize
          )
          .style("stroke", (d: TargetValue) => d.fill)
          .style("stroke-width", 2)
          .classed("target2", true);

        selection
            .exit()
            .remove();
    }