diff --git a/README.md b/README.md index 2888d6d..7b5a8c1 100644 --- a/README.md +++ b/README.md @@ -662,3 +662,8 @@ Up webpack version ### 6.0.4 Up react-scripts version in examples + +### 6.1.0 + +Change `render` prop for Gantt chart (`render` -> `renderBefore`) +Add `renderAfter` prop for Gantt chart diff --git a/package.json b/package.json index 47d2231..91acd76 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "@hh.ru/react-d3-chart-graphs", - "version": "6.0.7", + "version": "6.1.0", "description": "A javascript library for building charts components made with React.js and D3.js", - "main": "dist/index.j", + "main": "dist/index.js", "style": "dist/styles.css", "files": [ "dist/styles.css", diff --git a/src/GanttChart/index.jsx b/src/GanttChart/index.jsx index be6fd23..0bcb8f2 100644 --- a/src/GanttChart/index.jsx +++ b/src/GanttChart/index.jsx @@ -28,7 +28,8 @@ class Chart extends Component { bottom: PropTypes.number, left: PropTypes.number, }), - render: PropTypes.func, + renderBefore: PropTypes.func, + renderAfter: PropTypes.func, parentWidth: PropTypes.number, }; @@ -55,7 +56,16 @@ class Chart extends Component { }; render() { - const { data, axesProps, margins, stackColors, paddingMultiplier, fillOpacity, render } = this.props; + const { + data, + axesProps, + margins, + stackColors, + paddingMultiplier, + fillOpacity, + renderBefore, + renderAfter, + } = this.props; const { legend, padding, tickFormat, ticksCount } = axesProps; const defaultMargins = { top: 10, right: 10, bottom: 150, left: 80 }; const canvasMargins = margins || defaultMargins; @@ -113,6 +123,16 @@ class Chart extends Component { svgDimensions={svgDimensions} legend={legend} /> + {renderBefore && + renderBefore({ + scales: { xScale, yScale }, + isClickable: !!this.handleBarClick, + margins: canvasMargins, + height, + fillOpacity: fillOpacity || DEFAULT_FILL_OPACITY, + stackColors, + svgDimensions, + })} {data.map((datum) => ( ))} - {render && - render({ + {renderAfter && + renderAfter({ scales: { xScale, yScale }, isClickable: !!this.handleBarClick, margins: canvasMargins,