diff --git a/elements/Polygon.js b/elements/Polygon.js index 19d463d7..7e55f0b0 100644 --- a/elements/Polygon.js +++ b/elements/Polygon.js @@ -1,6 +1,7 @@ import React, {Component, PropTypes} from 'react'; import Path from './Path'; import {pathProps} from '../lib/props'; +import extractPolyPoints from '../lib/extract/extractPolyPoints'; export default class extends Component{ static displayName = 'Polygon'; @@ -26,7 +27,7 @@ export default class extends Component{ return {this.root = ele;}} {...this.props} - d={`M${points.trim().replace(/\s+/g, 'L')}z`} + d={`M${extractPolyPoints(points)}z`} />; } } diff --git a/elements/Polyline.js b/elements/Polyline.js index d59b62da..a582aee2 100644 --- a/elements/Polyline.js +++ b/elements/Polyline.js @@ -1,6 +1,7 @@ import React, {Component, PropTypes} from 'react'; import Path from './Path'; import {pathProps} from '../lib/props'; +import extractPolyPoints from '../lib/extract/extractPolyPoints'; export default class extends Component{ static displayName = 'Polyline'; @@ -26,7 +27,7 @@ export default class extends Component{ return {this.root = ele;}} {...this.props} - d={`M${points.trim().replace(/\s+/g, 'L')}`} + d={`M${extractPolyPoints(points)}`} />; } } diff --git a/lib/extract/extractPolyPoints.js b/lib/extract/extractPolyPoints.js new file mode 100644 index 00000000..1c3ba4be --- /dev/null +++ b/lib/extract/extractPolyPoints.js @@ -0,0 +1,4 @@ + +export default function (polyPoints) { + return polyPoints.replace(/-/, ' -').split(/(?:\s+|\s*,)\s*/g).join(' '); +}