@pie-lib/graphing 2.4.3-next.362 → 2.4.3-next.406
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/axis/arrow.js +15 -25
- package/lib/axis/arrow.js.map +1 -1
- package/lib/axis/axes.js +41 -73
- package/lib/axis/axes.js.map +1 -1
- package/lib/axis/index.js +1 -1
- package/lib/bg.js +20 -31
- package/lib/bg.js.map +1 -1
- package/lib/container/index.js +27 -41
- package/lib/container/index.js.map +1 -1
- package/lib/container/reducer.js +2 -2
- package/lib/container/reducer.js.map +1 -1
- package/lib/coordinates-label.js +5 -5
- package/lib/coordinates-label.js.map +1 -1
- package/lib/graph-with-controls.js +26 -37
- package/lib/graph-with-controls.js.map +1 -1
- package/lib/graph.js +43 -69
- package/lib/graph.js.map +1 -1
- package/lib/grid-setup.js +6 -6
- package/lib/grid-setup.js.map +1 -1
- package/lib/grid.js +28 -46
- package/lib/grid.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/labels.js +22 -38
- package/lib/labels.js.map +1 -1
- package/lib/mark-label.js +10 -20
- package/lib/mark-label.js.map +1 -1
- package/lib/toggle-bar.js +22 -33
- package/lib/toggle-bar.js.map +1 -1
- package/lib/tool-menu.js +21 -32
- package/lib/tool-menu.js.map +1 -1
- package/lib/tools/circle/bg-circle.js +27 -38
- package/lib/tools/circle/bg-circle.js.map +1 -1
- package/lib/tools/circle/component.js +36 -54
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/circle/index.js +5 -5
- package/lib/tools/circle/index.js.map +1 -1
- package/lib/tools/line/component.js +11 -25
- package/lib/tools/line/component.js.map +1 -1
- package/lib/tools/line/index.js +2 -2
- package/lib/tools/line/index.js.map +1 -1
- package/lib/tools/parabola/component.js +2 -2
- package/lib/tools/parabola/component.js.map +1 -1
- package/lib/tools/parabola/index.js +5 -5
- package/lib/tools/parabola/index.js.map +1 -1
- package/lib/tools/point/component.js +30 -47
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/point/index.js +5 -5
- package/lib/tools/point/index.js.map +1 -1
- package/lib/tools/polygon/component.js +59 -107
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/polygon/index.js +9 -19
- package/lib/tools/polygon/index.js.map +1 -1
- package/lib/tools/polygon/line.js +28 -41
- package/lib/tools/polygon/line.js.map +1 -1
- package/lib/tools/polygon/polygon.js +28 -42
- package/lib/tools/polygon/polygon.js.map +1 -1
- package/lib/tools/ray/component.js +11 -25
- package/lib/tools/ray/component.js.map +1 -1
- package/lib/tools/ray/index.js +2 -2
- package/lib/tools/ray/index.js.map +1 -1
- package/lib/tools/segment/component.js +8 -11
- package/lib/tools/segment/component.js.map +1 -1
- package/lib/tools/segment/index.js +2 -2
- package/lib/tools/segment/index.js.map +1 -1
- package/lib/tools/shared/arrow-head.js +2 -2
- package/lib/tools/shared/arrow-head.js.map +1 -1
- package/lib/tools/shared/line/index.js +43 -66
- package/lib/tools/shared/line/index.js.map +1 -1
- package/lib/tools/shared/line/line-path.js +29 -42
- package/lib/tools/shared/line/line-path.js.map +1 -1
- package/lib/tools/shared/line/with-root-edge.js +12 -14
- package/lib/tools/shared/line/with-root-edge.js.map +1 -1
- package/lib/tools/shared/point/arrow-point.js +24 -39
- package/lib/tools/shared/point/arrow-point.js.map +1 -1
- package/lib/tools/shared/point/arrow.js +23 -37
- package/lib/tools/shared/point/arrow.js.map +1 -1
- package/lib/tools/shared/point/base-point.js +24 -38
- package/lib/tools/shared/point/base-point.js.map +1 -1
- package/lib/tools/shared/point/index.js +6 -6
- package/lib/tools/shared/point/index.js.map +1 -1
- package/lib/tools/shared/styles.js +7 -5
- package/lib/tools/shared/styles.js.map +1 -1
- package/lib/tools/shared/types.js +2 -2
- package/lib/tools/shared/types.js.map +1 -1
- package/lib/tools/sine/component.js +2 -2
- package/lib/tools/sine/component.js.map +1 -1
- package/lib/tools/sine/index.js +5 -5
- package/lib/tools/sine/index.js.map +1 -1
- package/lib/tools/vector/component.js +8 -11
- package/lib/tools/vector/component.js.map +1 -1
- package/lib/tools/vector/index.js +2 -2
- package/lib/tools/vector/index.js.map +1 -1
- package/lib/undo-redo.js +19 -31
- package/lib/undo-redo.js.map +1 -1
- package/lib/use-debounce.js +5 -13
- package/lib/use-debounce.js.map +1 -1
- package/lib/utils.js +2 -2
- package/lib/utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","names":["log","debug","buildLines","points","closed","expanded","reduce","acc","p","index","push","isLast","length","next","all","chunk","map","from","to","initial","swap","arr","rest","pairs","pr","e","replacement","invariant","Number","isFinite","splice","RawBaseComponent","props","onChange","update","overlapPoint","find","equalPoints","label","existing","forEach","point","onClosePolygon","onChangeProps","updatedPoint","isEmpty","data","onClick","isToolActive","labelModeEnabled","onChangeLabelProps","getRightestPoints","a","b","middle","getMiddleOfTwoPoints","input","focus","close","coordinatesOnHover","correctness","disabled","graphProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","hasOwnProperty","ReactDOM","createPortal","r","dragPoly","bind","clickPoint","l","dragLine","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","withStyles","mark","state","setState","onComplete","m","undefined","nextProps","nextState","nextGraphProps","utils","isDomainRangeEqual","isEqual","stateMark","change","changeLabelProps","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types, utils } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { getMiddleOfTwoPoints, getRightestPoints, equalPoints } from '../../utils';\n\nconst log = debug('pie-lib:graphing:polygon');\n\nexport const buildLines = (points, closed) => {\n const expanded = points.reduce((acc, p, index) => {\n acc.push({ ...p, index });\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n acc.push({ ...points[next], index: next });\n return acc;\n }, []);\n\n const all = chunk(expanded, 2).map(([from, to]) => {\n return { from, to };\n });\n\n return closed ? all : initial(all);\n};\n\nexport const swap = (arr, ...rest) => {\n const pairs = chunk(rest, 2);\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n invariant(Number.isFinite(e.index), 'Index must be defined');\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n return acc;\n } else {\n return acc;\n }\n } else {\n return acc;\n }\n },\n [...arr]\n );\n};\n\nexport class RawBaseComponent extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n points: PropTypes.arrayOf(types.PointType),\n closed: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onClosePolygon: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n isToolActive: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onChangeProps: PropTypes.func\n };\n\n static defaultProps = {\n points: []\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find(p => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n if (points.length >= 3) {\n onClosePolygon();\n } else {\n log('[close] - nope');\n }\n };\n\n labelChange = (point, index) => {\n const { points, onChangeProps } = this.props;\n const updatedPoint = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete updatedPoint.label;\n }\n\n const update = [...points];\n\n update.splice(index, 1, updatedPoint);\n onChangeProps(update);\n };\n\n clickPoint = (point, index, data) => {\n const {\n closed,\n onClick,\n isToolActive,\n labelModeEnabled,\n onChangeProps,\n onChangeLabelProps,\n points\n } = this.props;\n\n if (labelModeEnabled) {\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onChangeLabelProps(middle);\n } else {\n const update = [...points];\n\n update.splice(index, 1, { label: '', ...point });\n onChangeProps(update);\n }\n\n if (this.input[index]) {\n this.input[index].focus();\n }\n } else {\n if (isToolActive && !closed && index === 0) {\n this.close();\n } else {\n onClick(data);\n }\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n closed,\n coordinatesOnHover,\n correctness,\n disabled,\n graphProps,\n onDragStart,\n onDragStop,\n points,\n middle,\n labelNode,\n labelModeEnabled\n } = this.props;\n const lines = buildLines(points, closed);\n const common = { onDragStart, onDragStop, graphProps, disabled, correctness };\n const polygonLabelIndex = (points && points.length) || 0;\n let polygonLabelNode = null;\n\n if (labelNode && middle && middle.hasOwnProperty('label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input[polygonLabelIndex] = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={() => {}}\n />,\n labelNode\n );\n }\n\n return (\n <g>\n {closed ? (\n <React.Fragment>\n <DraggablePolygon\n points={points}\n onDrag={this.dragPoly.bind(this, points)}\n closed={closed}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n {polygonLabelNode}\n </React.Fragment>\n ) : (\n <Polygon points={points} graphProps={graphProps} closed={closed} />\n )}\n {(lines || []).map((l, index) => (\n <Line\n key={`line-${index}`}\n from={l.from}\n to={l.to}\n onDrag={this.dragLine.bind(this, l)}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n ))}\n\n {(points || []).map((p, index) => {\n return [\n <BasePoint\n key={`point-${index}`}\n coordinatesOnHover={coordinatesOnHover}\n labelNode={labelNode}\n x={p.x}\n y={p.y}\n onDrag={this.dragPoint.bind(this, index, p)}\n onClick={this.clickPoint.bind(this, p, index)}\n {...common}\n />,\n labelNode && p.hasOwnProperty('label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input[index] = r)}\n disabled={!labelModeEnabled}\n mark={p}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...p, label }, index)}\n />,\n labelNode\n )\n : null\n ];\n })}\n </g>\n );\n }\n}\n\nexport const BaseComponent = withStyles(() => ({}))(RawBaseComponent);\n\nexport default class Component extends React.Component {\n static propTypes = {\n ...ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n change = points => {\n const {\n mark: { middle }\n } = this.props;\n const mark = { ...this.state.mark, points };\n\n if (middle) {\n const { a, b } = getRightestPoints(points);\n mark.middle = { ...middle, ...getMiddleOfTwoPoints(a, b) };\n }\n\n this.setState({ mark });\n };\n\n changeProps = points => {\n const mark = { ...this.props.mark, points };\n\n this.props.onChange(this.props.mark, mark);\n };\n\n changeLabelProps = point => {\n const { mark, onChange } = this.props;\n const middle = { ...mark.middle, ...point };\n\n onChange(mark, { ...mark, middle });\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n shouldComponentUpdate = (nextProps, nextState) => {\n const { coordinatesOnHover, graphProps, mark } = this.props;\n const { graphProps: nextGraphProps } = nextProps;\n\n return (\n !utils.isDomainRangeEqual(graphProps, nextGraphProps) ||\n !isEqual(mark, nextProps.mark) ||\n !isEqual(this.state.mark, nextState.mark) ||\n coordinatesOnHover !== nextProps.coordinatesOnHover\n );\n };\n\n render() {\n const {\n coordinatesOnHover,\n mark,\n graphProps,\n onClick,\n isToolActive,\n labelNode,\n labelModeEnabled\n } = this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","names":["log","debug","buildLines","points","closed","expanded","reduce","acc","p","index","push","isLast","length","next","all","chunk","map","from","to","initial","swap","arr","rest","pairs","pr","e","replacement","invariant","Number","isFinite","splice","RawBaseComponent","props","onChange","update","overlapPoint","find","equalPoints","label","existing","forEach","point","onClosePolygon","onChangeProps","updatedPoint","isEmpty","data","onClick","isToolActive","labelModeEnabled","onChangeLabelProps","getRightestPoints","a","b","middle","getMiddleOfTwoPoints","input","focus","close","coordinatesOnHover","correctness","disabled","graphProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","hasOwnProperty","ReactDOM","createPortal","r","dragPoly","bind","clickPoint","l","dragLine","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","withStyles","mark","state","setState","onComplete","m","undefined","nextProps","nextState","nextGraphProps","utils","isDomainRangeEqual","isEqual","stateMark","change","changeLabelProps","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types, utils } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { getMiddleOfTwoPoints, getRightestPoints, equalPoints } from '../../utils';\n\nconst log = debug('pie-lib:graphing:polygon');\n\nexport const buildLines = (points, closed) => {\n const expanded = points.reduce((acc, p, index) => {\n acc.push({ ...p, index });\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n acc.push({ ...points[next], index: next });\n return acc;\n }, []);\n\n const all = chunk(expanded, 2).map(([from, to]) => {\n return { from, to };\n });\n\n return closed ? all : initial(all);\n};\n\nexport const swap = (arr, ...rest) => {\n const pairs = chunk(rest, 2);\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n invariant(Number.isFinite(e.index), 'Index must be defined');\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n return acc;\n } else {\n return acc;\n }\n } else {\n return acc;\n }\n },\n [...arr]\n );\n};\n\nexport class RawBaseComponent extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n points: PropTypes.arrayOf(types.PointType),\n closed: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onClosePolygon: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n isToolActive: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onChangeProps: PropTypes.func\n };\n\n static defaultProps = {\n points: []\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find(p => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n if (points.length >= 3) {\n onClosePolygon();\n } else {\n log('[close] - nope');\n }\n };\n\n labelChange = (point, index) => {\n const { points, onChangeProps } = this.props;\n const updatedPoint = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete updatedPoint.label;\n }\n\n const update = [...points];\n\n update.splice(index, 1, updatedPoint);\n onChangeProps(update);\n };\n\n clickPoint = (point, index, data) => {\n const {\n closed,\n onClick,\n isToolActive,\n labelModeEnabled,\n onChangeProps,\n onChangeLabelProps,\n points\n } = this.props;\n\n if (labelModeEnabled) {\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onChangeLabelProps(middle);\n } else {\n const update = [...points];\n\n update.splice(index, 1, { label: '', ...point });\n onChangeProps(update);\n }\n\n if (this.input[index]) {\n this.input[index].focus();\n }\n } else {\n if (isToolActive && !closed && index === 0) {\n this.close();\n } else {\n onClick(data);\n }\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n closed,\n coordinatesOnHover,\n correctness,\n disabled,\n graphProps,\n onDragStart,\n onDragStop,\n points,\n middle,\n labelNode,\n labelModeEnabled\n } = this.props;\n const lines = buildLines(points, closed);\n const common = { onDragStart, onDragStop, graphProps, disabled, correctness };\n const polygonLabelIndex = (points && points.length) || 0;\n let polygonLabelNode = null;\n\n if (labelNode && middle && middle.hasOwnProperty('label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input[polygonLabelIndex] = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={() => {}}\n />,\n labelNode\n );\n }\n\n return (\n <g>\n {closed ? (\n <React.Fragment>\n <DraggablePolygon\n points={points}\n onDrag={this.dragPoly.bind(this, points)}\n closed={closed}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n {polygonLabelNode}\n </React.Fragment>\n ) : (\n <Polygon points={points} graphProps={graphProps} closed={closed} />\n )}\n {(lines || []).map((l, index) => (\n <Line\n key={`line-${index}`}\n from={l.from}\n to={l.to}\n onDrag={this.dragLine.bind(this, l)}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n ))}\n\n {(points || []).map((p, index) => {\n return [\n <BasePoint\n key={`point-${index}`}\n coordinatesOnHover={coordinatesOnHover}\n labelNode={labelNode}\n x={p.x}\n y={p.y}\n onDrag={this.dragPoint.bind(this, index, p)}\n onClick={this.clickPoint.bind(this, p, index)}\n {...common}\n />,\n labelNode && p.hasOwnProperty('label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input[index] = r)}\n disabled={!labelModeEnabled}\n mark={p}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...p, label }, index)}\n />,\n labelNode\n )\n : null\n ];\n })}\n </g>\n );\n }\n}\n\nexport const BaseComponent = withStyles(() => ({}))(RawBaseComponent);\n\nexport default class Component extends React.Component {\n static propTypes = {\n ...ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n change = points => {\n const {\n mark: { middle }\n } = this.props;\n const mark = { ...this.state.mark, points };\n\n if (middle) {\n const { a, b } = getRightestPoints(points);\n mark.middle = { ...middle, ...getMiddleOfTwoPoints(a, b) };\n }\n\n this.setState({ mark });\n };\n\n changeProps = points => {\n const mark = { ...this.props.mark, points };\n\n this.props.onChange(this.props.mark, mark);\n };\n\n changeLabelProps = point => {\n const { mark, onChange } = this.props;\n const middle = { ...mark.middle, ...point };\n\n onChange(mark, { ...mark, middle });\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n shouldComponentUpdate = (nextProps, nextState) => {\n const { coordinatesOnHover, graphProps, mark } = this.props;\n const { graphProps: nextGraphProps } = nextProps;\n\n return (\n !utils.isDomainRangeEqual(graphProps, nextGraphProps) ||\n !isEqual(mark, nextProps.mark) ||\n !isEqual(this.state.mark, nextState.mark) ||\n coordinatesOnHover !== nextProps.coordinatesOnHover\n );\n };\n\n render() {\n const {\n coordinatesOnHover,\n mark,\n graphProps,\n onClick,\n isToolActive,\n labelNode,\n labelModeEnabled\n } = this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.tool = exports.addPointToArray = void 0;
|
|
7
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
8
14
|
var _component = _interopRequireDefault(require("./component"));
|
|
9
15
|
|
|
10
16
|
var _utils = require("../../utils");
|
|
11
17
|
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
|
|
14
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
19
|
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
17
|
-
|
|
18
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
|
|
20
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
21
|
-
|
|
22
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23
|
-
|
|
24
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
|
-
|
|
26
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
27
|
-
|
|
28
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
29
|
-
|
|
30
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
21
|
|
|
32
22
|
var addPointToArray = function addPointToArray(point, arr) {
|
|
33
23
|
arr = arr || [];
|
|
@@ -45,7 +35,7 @@ var addPointToArray = function addPointToArray(point, arr) {
|
|
|
45
35
|
};
|
|
46
36
|
} else {
|
|
47
37
|
return {
|
|
48
|
-
points: [].concat(
|
|
38
|
+
points: [].concat((0, _toConsumableArray2["default"])(arr), [point]),
|
|
49
39
|
closed: false
|
|
50
40
|
};
|
|
51
41
|
}
|
|
@@ -69,7 +59,7 @@ var addPointToArray = function addPointToArray(point, arr) {
|
|
|
69
59
|
};
|
|
70
60
|
} else {
|
|
71
61
|
return {
|
|
72
|
-
points: [].concat(
|
|
62
|
+
points: [].concat((0, _toConsumableArray2["default"])(arr), [point]),
|
|
73
63
|
closed: false
|
|
74
64
|
};
|
|
75
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["addPointToArray","point","arr","length","points","closed","equalPoints","hasPoint","find","p","tool","type","Component","Polygon","complete","data","mark","building","addPoint"],"sources":["../../../src/tools/polygon/index.js"],"sourcesContent":["import Polygon from './component';\nimport { equalPoints } from '../../utils';\n\nexport const addPointToArray = (point, arr) => {\n arr = arr || [];\n\n if (arr.length === 0) {\n return { points: [point], closed: false };\n } else if (arr.length === 1) {\n if (equalPoints(point, arr[0])) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n } else if (arr.length >= 2) {\n const closed = equalPoints(point, arr[0]);\n\n if (closed) {\n return { points: arr, closed };\n } else {\n const hasPoint = !!arr.find(p => equalPoints(p, point));\n\n if (hasPoint) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n }\n }\n};\n\nexport const tool = () => ({\n type: 'polygon',\n Component: Polygon,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n if (!mark) {\n return {\n type: 'polygon',\n points: [point],\n closed: false,\n building: true\n };\n } else {\n const { closed, points } = addPointToArray(point, mark.points);\n\n return { ...mark, closed, points, building: !closed };\n }\n }\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["addPointToArray","point","arr","length","points","closed","equalPoints","hasPoint","find","p","tool","type","Component","Polygon","complete","data","mark","building","addPoint"],"sources":["../../../src/tools/polygon/index.js"],"sourcesContent":["import Polygon from './component';\nimport { equalPoints } from '../../utils';\n\nexport const addPointToArray = (point, arr) => {\n arr = arr || [];\n\n if (arr.length === 0) {\n return { points: [point], closed: false };\n } else if (arr.length === 1) {\n if (equalPoints(point, arr[0])) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n } else if (arr.length >= 2) {\n const closed = equalPoints(point, arr[0]);\n\n if (closed) {\n return { points: arr, closed };\n } else {\n const hasPoint = !!arr.find(p => equalPoints(p, point));\n\n if (hasPoint) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n }\n }\n};\n\nexport const tool = () => ({\n type: 'polygon',\n Component: Polygon,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n if (!mark) {\n return {\n type: 'polygon',\n points: [point],\n closed: false,\n building: true\n };\n } else {\n const { closed, points } = addPointToArray(point, mark.points);\n\n return { ...mark, closed, points, building: !closed };\n }\n }\n});\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAQC,GAAR,EAAgB;EAC7CA,GAAG,GAAGA,GAAG,IAAI,EAAb;;EAEA,IAAIA,GAAG,CAACC,MAAJ,KAAe,CAAnB,EAAsB;IACpB,OAAO;MAAEC,MAAM,EAAE,CAACH,KAAD,CAAV;MAAmBI,MAAM,EAAE;IAA3B,CAAP;EACD,CAFD,MAEO,IAAIH,GAAG,CAACC,MAAJ,KAAe,CAAnB,EAAsB;IAC3B,IAAI,IAAAG,kBAAA,EAAYL,KAAZ,EAAmBC,GAAG,CAAC,CAAD,CAAtB,CAAJ,EAAgC;MAC9B,OAAO;QAAEE,MAAM,EAAEF,GAAV;QAAeG,MAAM,EAAE;MAAvB,CAAP;IACD,CAFD,MAEO;MACL,OAAO;QAAED,MAAM,gDAAMF,GAAN,IAAWD,KAAX,EAAR;QAA2BI,MAAM,EAAE;MAAnC,CAAP;IACD;EACF,CANM,MAMA,IAAIH,GAAG,CAACC,MAAJ,IAAc,CAAlB,EAAqB;IAC1B,IAAME,MAAM,GAAG,IAAAC,kBAAA,EAAYL,KAAZ,EAAmBC,GAAG,CAAC,CAAD,CAAtB,CAAf;;IAEA,IAAIG,MAAJ,EAAY;MACV,OAAO;QAAED,MAAM,EAAEF,GAAV;QAAeG,MAAM,EAANA;MAAf,CAAP;IACD,CAFD,MAEO;MACL,IAAME,QAAQ,GAAG,CAAC,CAACL,GAAG,CAACM,IAAJ,CAAS,UAAAC,CAAC;QAAA,OAAI,IAAAH,kBAAA,EAAYG,CAAZ,EAAeR,KAAf,CAAJ;MAAA,CAAV,CAAnB;;MAEA,IAAIM,QAAJ,EAAc;QACZ,OAAO;UAAEH,MAAM,EAAEF,GAAV;UAAeG,MAAM,EAAE;QAAvB,CAAP;MACD,CAFD,MAEO;QACL,OAAO;UAAED,MAAM,gDAAMF,GAAN,IAAWD,KAAX,EAAR;UAA2BI,MAAM,EAAE;QAAnC,CAAP;MACD;IACF;EACF;AACF,CA1BM;;;;AA4BA,IAAMK,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,SADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;MACxB,uCAAYA,IAAZ;QAAkBC,QAAQ,EAAE,KAA5B;QAAmCZ,MAAM,EAAE;MAA3C;IACD,CALwB;IAMzBa,QAAQ,EAAE,kBAACjB,KAAD,EAAQe,IAAR,EAAiB;MACzB,IAAI,CAACA,IAAL,EAAW;QACT,OAAO;UACLL,IAAI,EAAE,SADD;UAELP,MAAM,EAAE,CAACH,KAAD,CAFH;UAGLI,MAAM,EAAE,KAHH;UAILY,QAAQ,EAAE;QAJL,CAAP;MAMD,CAPD,MAOO;QACL,uBAA2BjB,eAAe,CAACC,KAAD,EAAQe,IAAI,CAACZ,MAAb,CAA1C;QAAA,IAAQC,MAAR,oBAAQA,MAAR;QAAA,IAAgBD,MAAhB,oBAAgBA,MAAhB;;QAEA,uCAAYY,IAAZ;UAAkBX,MAAM,EAANA,MAAlB;UAA0BD,MAAM,EAANA,MAA1B;UAAkCa,QAAQ,EAAE,CAACZ;QAA7C;MACD;IACF;EAnBwB,CAAP;AAAA,CAAb"}
|
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = exports.Line = void 0;
|
|
9
11
|
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
+
|
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
22
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
24
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
26
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
10
28
|
var _react = _interopRequireDefault(require("react"));
|
|
11
29
|
|
|
12
30
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -29,52 +47,25 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
29
47
|
|
|
30
48
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
49
|
|
|
32
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
33
|
-
|
|
34
50
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
51
|
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
37
|
-
|
|
38
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
39
|
-
|
|
40
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
41
|
-
|
|
42
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
43
|
-
|
|
44
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
52
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
45
53
|
|
|
46
|
-
function
|
|
47
|
-
|
|
48
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
49
|
-
|
|
50
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
51
|
-
|
|
52
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
53
|
-
|
|
54
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
55
|
-
|
|
56
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
57
|
-
|
|
58
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
54
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
59
55
|
|
|
60
56
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
61
57
|
|
|
62
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
63
|
-
|
|
64
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
65
|
-
|
|
66
58
|
var RawLine = /*#__PURE__*/function (_React$Component) {
|
|
67
|
-
|
|
59
|
+
(0, _inherits2["default"])(RawLine, _React$Component);
|
|
68
60
|
|
|
69
61
|
var _super = _createSuper(RawLine);
|
|
70
62
|
|
|
71
63
|
function RawLine() {
|
|
72
|
-
|
|
73
|
-
|
|
64
|
+
(0, _classCallCheck2["default"])(this, RawLine);
|
|
74
65
|
return _super.apply(this, arguments);
|
|
75
66
|
}
|
|
76
67
|
|
|
77
|
-
|
|
68
|
+
(0, _createClass2["default"])(RawLine, [{
|
|
78
69
|
key: "render",
|
|
79
70
|
value: function render() {
|
|
80
71
|
var _this$props = this.props,
|
|
@@ -85,10 +76,9 @@ var RawLine = /*#__PURE__*/function (_React$Component) {
|
|
|
85
76
|
className = _this$props.className,
|
|
86
77
|
disabled = _this$props.disabled,
|
|
87
78
|
correctness = _this$props.correctness,
|
|
88
|
-
rest =
|
|
89
|
-
|
|
79
|
+
rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
|
|
90
80
|
var scale = graphProps.scale;
|
|
91
|
-
return /*#__PURE__*/_react["default"].createElement("line",
|
|
81
|
+
return /*#__PURE__*/_react["default"].createElement("line", (0, _extends2["default"])({
|
|
92
82
|
x1: scale.x(from.x),
|
|
93
83
|
y1: scale.y(from.y),
|
|
94
84
|
x2: scale.x(to.x),
|
|
@@ -97,11 +87,10 @@ var RawLine = /*#__PURE__*/function (_React$Component) {
|
|
|
97
87
|
}, rest));
|
|
98
88
|
}
|
|
99
89
|
}]);
|
|
100
|
-
|
|
101
90
|
return RawLine;
|
|
102
91
|
}(_react["default"].Component);
|
|
103
92
|
|
|
104
|
-
|
|
93
|
+
(0, _defineProperty2["default"])(RawLine, "propTypes", {
|
|
105
94
|
className: _propTypes["default"].string,
|
|
106
95
|
classes: _propTypes["default"].object,
|
|
107
96
|
from: _plot.types.PointType,
|
|
@@ -110,12 +99,10 @@ _defineProperty(RawLine, "propTypes", {
|
|
|
110
99
|
disabled: _propTypes["default"].bool,
|
|
111
100
|
correctness: _propTypes["default"].string
|
|
112
101
|
});
|
|
113
|
-
|
|
114
|
-
_defineProperty(RawLine, "defaultProps", {
|
|
102
|
+
(0, _defineProperty2["default"])(RawLine, "defaultProps", {
|
|
115
103
|
from: {},
|
|
116
104
|
to: {}
|
|
117
105
|
});
|
|
118
|
-
|
|
119
106
|
var Line = (0, _styles.withStyles)(function () {
|
|
120
107
|
return {
|
|
121
108
|
line: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","names":["RawLine","props","graphProps","classes","from","to","className","disabled","correctness","rest","scale","x","y","classNames","line","React","Component","PropTypes","string","object","types","PointType","GraphPropsType","isRequired","bool","Line","withStyles","strokeWidth","transition","stroke","color","secondary","correct","incorrect","gridDraggable","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/line.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nclass RawLine extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n from: types.PointType,\n to: types.PointType,\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string\n };\n\n static defaultProps = {\n from: {},\n to: {}\n };\n\n render() {\n const { graphProps, classes, from, to, className, disabled, correctness, ...rest } = this.props;\n const { scale } = graphProps;\n return (\n <line\n x1={scale.x(from.x)}\n y1={scale.y(from.y)}\n x2={scale.x(to.x)}\n y2={scale.y(to.y)}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n className,\n classes[correctness]\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Line = withStyles(() => ({\n line: {\n strokeWidth: 6,\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': {\n strokeWidth: 7,\n stroke: color.secondary()\n }\n },\n disabled: {\n ...disabled('stroke'),\n strokeWidth: 2\n },\n correct: correct('stoke'),\n incorrect: incorrect('stroke')\n}))(RawLine);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { from, to } = props;\n const area = utils.lineToArea(from, to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta))\n };\n }\n})(Line);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"line.js","names":["RawLine","props","graphProps","classes","from","to","className","disabled","correctness","rest","scale","x","y","classNames","line","React","Component","PropTypes","string","object","types","PointType","GraphPropsType","isRequired","bool","Line","withStyles","strokeWidth","transition","stroke","color","secondary","correct","incorrect","gridDraggable","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/line.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nclass RawLine extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n from: types.PointType,\n to: types.PointType,\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string\n };\n\n static defaultProps = {\n from: {},\n to: {}\n };\n\n render() {\n const { graphProps, classes, from, to, className, disabled, correctness, ...rest } = this.props;\n const { scale } = graphProps;\n return (\n <line\n x1={scale.x(from.x)}\n y1={scale.y(from.y)}\n x2={scale.x(to.x)}\n y2={scale.y(to.y)}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n className,\n classes[correctness]\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Line = withStyles(() => ({\n line: {\n strokeWidth: 6,\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': {\n strokeWidth: 7,\n stroke: color.secondary()\n }\n },\n disabled: {\n ...disabled('stroke'),\n strokeWidth: 2\n },\n correct: correct('stoke'),\n incorrect: incorrect('stroke')\n}))(RawLine);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { from, to } = props;\n const area = utils.lineToArea(from, to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta))\n };\n }\n})(Line);\n"],"mappings":"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"}
|
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.getPointString = exports["default"] = exports.RawPolygon = exports.Polygon = void 0;
|
|
9
11
|
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
+
|
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
22
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
24
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
26
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
10
28
|
var _react = _interopRequireDefault(require("react"));
|
|
11
29
|
|
|
12
30
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -31,40 +49,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
49
|
|
|
32
50
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
51
|
|
|
34
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
35
|
-
|
|
36
52
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
37
53
|
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
39
|
-
|
|
40
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
41
|
-
|
|
42
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
43
|
-
|
|
44
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
45
|
-
|
|
46
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
54
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
55
|
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
51
|
-
|
|
52
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
53
|
-
|
|
54
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
55
|
-
|
|
56
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
57
|
-
|
|
58
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
59
|
-
|
|
60
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
56
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
61
57
|
|
|
62
58
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
63
59
|
|
|
64
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
65
|
-
|
|
66
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
67
|
-
|
|
68
60
|
var getPointString = function getPointString(points, scale) {
|
|
69
61
|
return (points || []).map(function (p) {
|
|
70
62
|
var scaledPoint = {
|
|
@@ -78,17 +70,16 @@ var getPointString = function getPointString(points, scale) {
|
|
|
78
70
|
exports.getPointString = getPointString;
|
|
79
71
|
|
|
80
72
|
var RawPolygon = /*#__PURE__*/function (_React$Component) {
|
|
81
|
-
|
|
73
|
+
(0, _inherits2["default"])(RawPolygon, _React$Component);
|
|
82
74
|
|
|
83
75
|
var _super = _createSuper(RawPolygon);
|
|
84
76
|
|
|
85
77
|
function RawPolygon() {
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
(0, _classCallCheck2["default"])(this, RawPolygon);
|
|
88
79
|
return _super.apply(this, arguments);
|
|
89
80
|
}
|
|
90
81
|
|
|
91
|
-
|
|
82
|
+
(0, _createClass2["default"])(RawPolygon, [{
|
|
92
83
|
key: "render",
|
|
93
84
|
value: function render() {
|
|
94
85
|
var _this$props = this.props,
|
|
@@ -99,24 +90,21 @@ var RawPolygon = /*#__PURE__*/function (_React$Component) {
|
|
|
99
90
|
correctness = _this$props.correctness,
|
|
100
91
|
graphProps = _this$props.graphProps,
|
|
101
92
|
closed = _this$props.closed,
|
|
102
|
-
rest =
|
|
103
|
-
|
|
93
|
+
rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
|
|
104
94
|
var scale = graphProps.scale;
|
|
105
95
|
var pointString = getPointString(points, scale);
|
|
106
96
|
var Tag = closed ? 'polygon' : 'polyline';
|
|
107
|
-
return /*#__PURE__*/_react["default"].createElement(Tag,
|
|
97
|
+
return /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({
|
|
108
98
|
points: pointString,
|
|
109
99
|
className: (0, _classnames["default"])(closed && classes.closed, !closed && classes.open, disabled && classes.disabled, classes[correctness], className)
|
|
110
100
|
}, rest));
|
|
111
101
|
}
|
|
112
102
|
}]);
|
|
113
|
-
|
|
114
103
|
return RawPolygon;
|
|
115
104
|
}(_react["default"].Component);
|
|
116
105
|
|
|
117
106
|
exports.RawPolygon = RawPolygon;
|
|
118
|
-
|
|
119
|
-
_defineProperty(RawPolygon, "propTypes", {
|
|
107
|
+
(0, _defineProperty2["default"])(RawPolygon, "propTypes", {
|
|
120
108
|
classes: _propTypes["default"].object,
|
|
121
109
|
className: _propTypes["default"].string,
|
|
122
110
|
disabled: _propTypes["default"].bool,
|
|
@@ -125,11 +113,9 @@ _defineProperty(RawPolygon, "propTypes", {
|
|
|
125
113
|
closed: _propTypes["default"].bool.isRequired,
|
|
126
114
|
correctness: _propTypes["default"].string
|
|
127
115
|
});
|
|
128
|
-
|
|
129
|
-
_defineProperty(RawPolygon, "defaultProps", {
|
|
116
|
+
(0, _defineProperty2["default"])(RawPolygon, "defaultProps", {
|
|
130
117
|
points: []
|
|
131
118
|
});
|
|
132
|
-
|
|
133
119
|
var Polygon = (0, _styles.withStyles)(function (theme) {
|
|
134
120
|
return {
|
|
135
121
|
closed: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polygon.js","names":["getPointString","points","scale","map","p","scaledPoint","x","y","join","RawPolygon","props","classes","className","disabled","correctness","graphProps","closed","rest","pointString","Tag","classNames","open","React","Component","PropTypes","object","string","bool","arrayOf","types","PointType","GraphPropsType","isRequired","Polygon","withStyles","theme","fill","fade","palette","primary","light","strokeWidth","stroke","color","secondaryLight","pointerEvents","correct","incorrect","gridDraggable","bounds","domain","range","area","utils","polygonToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { gridDraggable, types } from '@pie-lib/plot';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\nimport { fade } from '@material-ui/core/styles/colorManipulator';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nexport const getPointString = (points, scale) => {\n return (points || [])\n .map(p => {\n const scaledPoint = {\n x: scale.x(p.x),\n y: scale.y(p.y)\n };\n return `${scaledPoint.x},${scaledPoint.y}`;\n })\n .join(' ');\n};\n\nexport class RawPolygon extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n points: PropTypes.arrayOf(types.PointType),\n graphProps: types.GraphPropsType.isRequired,\n closed: PropTypes.bool.isRequired,\n correctness: PropTypes.string\n };\n\n static defaultProps = {\n points: []\n };\n\n render() {\n const {\n points,\n classes,\n className,\n disabled,\n correctness,\n graphProps,\n closed,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n\n const pointString = getPointString(points, scale);\n const Tag = closed ? 'polygon' : 'polyline';\n return (\n <Tag\n points={pointString}\n className={classNames(\n closed && classes.closed,\n !closed && classes.open,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Polygon = withStyles(theme => ({\n closed: {\n fill: fade(theme.palette.primary.light, 0.2), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight()\n },\n open: {\n fill: fade(theme.palette.primary.light, 0.0), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight(),\n pointerEvents: 'none'\n },\n disabled: {\n ...disabled('stroke')\n },\n correct: {\n ...correct('stroke')\n },\n incorrect: {\n ...incorrect('stroke')\n }\n}))(RawPolygon);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { points } = props;\n const area = utils.polygonToArea(points);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { points } = props;\n return points[0];\n },\n fromDelta: (props, delta) => {\n const { points } = props;\n\n return points.map(p => utils.point(p).add(utils.point(delta)));\n }\n})(Polygon);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"polygon.js","names":["getPointString","points","scale","map","p","scaledPoint","x","y","join","RawPolygon","props","classes","className","disabled","correctness","graphProps","closed","rest","pointString","Tag","classNames","open","React","Component","PropTypes","object","string","bool","arrayOf","types","PointType","GraphPropsType","isRequired","Polygon","withStyles","theme","fill","fade","palette","primary","light","strokeWidth","stroke","color","secondaryLight","pointerEvents","correct","incorrect","gridDraggable","bounds","domain","range","area","utils","polygonToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { gridDraggable, types } from '@pie-lib/plot';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\nimport { fade } from '@material-ui/core/styles/colorManipulator';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nexport const getPointString = (points, scale) => {\n return (points || [])\n .map(p => {\n const scaledPoint = {\n x: scale.x(p.x),\n y: scale.y(p.y)\n };\n return `${scaledPoint.x},${scaledPoint.y}`;\n })\n .join(' ');\n};\n\nexport class RawPolygon extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n points: PropTypes.arrayOf(types.PointType),\n graphProps: types.GraphPropsType.isRequired,\n closed: PropTypes.bool.isRequired,\n correctness: PropTypes.string\n };\n\n static defaultProps = {\n points: []\n };\n\n render() {\n const {\n points,\n classes,\n className,\n disabled,\n correctness,\n graphProps,\n closed,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n\n const pointString = getPointString(points, scale);\n const Tag = closed ? 'polygon' : 'polyline';\n return (\n <Tag\n points={pointString}\n className={classNames(\n closed && classes.closed,\n !closed && classes.open,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Polygon = withStyles(theme => ({\n closed: {\n fill: fade(theme.palette.primary.light, 0.2), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight()\n },\n open: {\n fill: fade(theme.palette.primary.light, 0.0), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight(),\n pointerEvents: 'none'\n },\n disabled: {\n ...disabled('stroke')\n },\n correct: {\n ...correct('stroke')\n },\n incorrect: {\n ...incorrect('stroke')\n }\n}))(RawPolygon);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { points } = props;\n const area = utils.polygonToArea(points);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { points } = props;\n return points[0];\n },\n fromDelta: (props, delta) => {\n const { points } = props;\n\n return points.map(p => utils.point(p).add(utils.point(delta)));\n }\n})(Polygon);\n"],"mappings":"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"}
|