Add interpolateToCurve util method
This commit is contained in:
parent
c251270633
commit
9c101eb8af
|
@ -4,6 +4,7 @@ import * as d3 from 'd3'
|
|||
import db from './gitGraphAst'
|
||||
import gitGraphParser from './parser/gitGraph'
|
||||
import { logger } from '../../logger'
|
||||
import { interpolateToCurve } from '../../utils'
|
||||
|
||||
let allCommitsDict = {}
|
||||
let branchNum
|
||||
|
@ -52,10 +53,7 @@ function svgCreateDefs (svg) {
|
|||
}
|
||||
|
||||
function svgDrawLine (svg, points, colorIdx, interpolate) {
|
||||
let curve = d3.curveBasis
|
||||
if (interpolate === 'linear') {
|
||||
curve = d3.curveLinear
|
||||
}
|
||||
const curve = interpolateToCurve(interpolate, d3.curveBasis)
|
||||
const color = config.branchColors[colorIdx % config.branchColors.length]
|
||||
const lineGen = d3.line()
|
||||
.x(function (d) {
|
||||
|
@ -73,6 +71,7 @@ function svgDrawLine (svg, points, colorIdx, interpolate) {
|
|||
.style('stroke-width', config.lineStrokeWidth)
|
||||
.style('fill', 'none')
|
||||
}
|
||||
|
||||
// Pass in the element and its pre-transform coords
|
||||
function getElementCoords (element, coords) {
|
||||
coords = coords || element.node().getBBox()
|
||||
|
|
16
src/utils.js
16
src/utils.js
|
@ -1,4 +1,4 @@
|
|||
import { logger } from './logger'
|
||||
import * as d3 from 'd3'
|
||||
|
||||
/**
|
||||
* @function detectType
|
||||
|
@ -36,12 +36,10 @@ export const detectType = function (text) {
|
|||
}
|
||||
|
||||
if (text.match(/^\s*classDiagram/)) {
|
||||
logger.debug('Detected classDiagram syntax')
|
||||
return 'classDiagram'
|
||||
}
|
||||
|
||||
if (text.match(/^\s*gitGraph/)) {
|
||||
logger.debug('Detected gitGraph syntax')
|
||||
return 'gitGraph'
|
||||
}
|
||||
return 'graph'
|
||||
|
@ -61,7 +59,17 @@ export const isSubstringInArray = function (str, arr) {
|
|||
return -1
|
||||
}
|
||||
|
||||
const interpolates = {
|
||||
basis: d3.curveBasis,
|
||||
linear: d3.curveLinear,
|
||||
cardinal: d3.curveCardinal
|
||||
}
|
||||
export const interpolateToCurve = (interpolate, defaultCurve) => {
|
||||
return interpolates[interpolate] || defaultCurve
|
||||
}
|
||||
|
||||
export default {
|
||||
detectType,
|
||||
isSubstringInArray
|
||||
isSubstringInArray,
|
||||
interpolateToCurve
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue