Skip to content
Snippets Groups Projects
cyclicarrow.js 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • import constant from "./constant.js";
    import ArrowOnPath from "./arrowonpath.js";
    
    function getRandomColorRgb() {
      let red = Math.floor(Math.random() * 256);
      let green = Math.floor(Math.random() * 256);
      let blue = Math.floor(Math.random() * 256);
      return `rgb(${red}, ${green}, ${blue})`;
    }
    
    export default function () {
      console.log('ssksk');
      var arrowParts = constant(3),
        arrowThickness = constant(5),
        arrowAngle = constant(2),
        arrowPadding = constant(1),
        output = null,
        circularSvg = d3.select("svg"), // Move out of here it doesnt belong
        circularPath = circularSvg.select("path").node();
      console.log('ezteze');
      function cyclicarrow(data) {
        console.log('blah');
        var l = circularPath.getTotalLength();
        var segs = 8;
        var seg_l = l / segs;
    
        console.log(l, seg_l)
        for (var i = 0; i < segs; i++) {
          var start = i * seg_l;
          var end = (i + 1) * seg_l;
          console.log(i, start, start);
          var ar = new ArrowOnPath(circularPath, start, end);
          circularSvg.append("path")
            .attr("d", ar.toString())
            .attr("style", "fill:" + getRandomColorRgb());
        }
      }
    
      cyclicarrow.arrowAngle = function (_) {
        return arguments.length ? (arrowAngle = typeof _ === "function" ? _ : constant(+_), cyclicarrow) : arrowAngle;
      };
      return cyclicarrow;
    }