@pie-lib/graphing 4.0.14 → 4.0.15-next.15
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/mark-label.js +36 -3
- package/lib/mark-label.js.map +1 -1
- package/lib/tools/circle/component.js +34 -3
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/point/component.js +29 -8
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/polygon/component.js +31 -6
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/shared/line/index.js +34 -3
- package/lib/tools/shared/line/index.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/mark-label.test.jsx +166 -1
- package/src/mark-label.jsx +39 -4
- package/src/tools/circle/component.jsx +26 -3
- package/src/tools/point/__tests__/component.test.jsx +112 -1
- package/src/tools/point/component.jsx +21 -8
- package/src/tools/polygon/component.jsx +24 -6
- package/src/tools/shared/line/index.jsx +26 -3
|
@@ -90,6 +90,10 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
90
90
|
args[_key2] = arguments[_key2];
|
|
91
91
|
}
|
|
92
92
|
_this = _callSuper(this, RawBaseComponent, [].concat(args));
|
|
93
|
+
// index of the point whose label is edited (points.length for the polygon label), null if none
|
|
94
|
+
(0, _defineProperty2["default"])(_this, "state", {
|
|
95
|
+
editingLabel: null
|
|
96
|
+
});
|
|
93
97
|
(0, _defineProperty2["default"])(_this, "dragPoint", function (index, from, to) {
|
|
94
98
|
log('[dragPoint] from, to:', from, to);
|
|
95
99
|
var _this$props = _this.props,
|
|
@@ -153,6 +157,13 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
153
157
|
update.splice(index, 1, updatedPoint);
|
|
154
158
|
onChangeProps(update);
|
|
155
159
|
});
|
|
160
|
+
(0, _defineProperty2["default"])(_this, "stopEditingLabel", function () {
|
|
161
|
+
if (_this.state.editingLabel !== null) {
|
|
162
|
+
_this.setState({
|
|
163
|
+
editingLabel: null
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
});
|
|
156
167
|
(0, _defineProperty2["default"])(_this, "clickPoint", function (point, index, data) {
|
|
157
168
|
var _this$props4 = _this.props,
|
|
158
169
|
closed = _this$props4.closed,
|
|
@@ -186,12 +197,11 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
186
197
|
onSetMiddleLabel(strippedMiddle, strippedPoints);
|
|
187
198
|
}
|
|
188
199
|
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}, 0);
|
|
200
|
+
// MarkLabel focuses itself once it is rendered - it also holds on to the focus if the model
|
|
201
|
+
// that comes back from the host (api save) remounts the input.
|
|
202
|
+
_this.setState({
|
|
203
|
+
editingLabel: index
|
|
204
|
+
});
|
|
195
205
|
return;
|
|
196
206
|
}
|
|
197
207
|
if (isToolActive && !closed && index === 0) {
|
|
@@ -206,6 +216,16 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
206
216
|
}
|
|
207
217
|
(0, _inherits2["default"])(RawBaseComponent, _React$Component);
|
|
208
218
|
return (0, _createClass2["default"])(RawBaseComponent, [{
|
|
219
|
+
key: "componentDidUpdate",
|
|
220
|
+
value: function componentDidUpdate(prevProps) {
|
|
221
|
+
// leaving label mode closes any label that is still being edited
|
|
222
|
+
if (prevProps.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null) {
|
|
223
|
+
this.setState({
|
|
224
|
+
editingLabel: null
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}, {
|
|
209
229
|
key: "render",
|
|
210
230
|
value: function render() {
|
|
211
231
|
var _this2 = this;
|
|
@@ -222,6 +242,7 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
222
242
|
middle = _this$props5.middle,
|
|
223
243
|
labelNode = _this$props5.labelNode,
|
|
224
244
|
labelModeEnabled = _this$props5.labelModeEnabled;
|
|
245
|
+
var editingLabel = this.state.editingLabel;
|
|
225
246
|
var lines = buildLines(points, closed);
|
|
226
247
|
var common = {
|
|
227
248
|
onDragStart: onDragStart,
|
|
@@ -237,9 +258,11 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
237
258
|
inputRef: function inputRef(r) {
|
|
238
259
|
return _this2.input[polygonLabelIndex] = r;
|
|
239
260
|
},
|
|
261
|
+
autoFocus: editingLabel === polygonLabelIndex,
|
|
240
262
|
disabled: disabled || !labelModeEnabled,
|
|
241
263
|
mark: middle,
|
|
242
264
|
graphProps: graphProps,
|
|
265
|
+
onBlur: this.stopEditingLabel,
|
|
243
266
|
onChange: function onChange(label) {
|
|
244
267
|
return onChangeLabelProps(_objectSpread(_objectSpread({}, middle), {}, {
|
|
245
268
|
label: label
|
|
@@ -280,9 +303,11 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
280
303
|
inputRef: function inputRef(r) {
|
|
281
304
|
return _this2.input[index] = r;
|
|
282
305
|
},
|
|
306
|
+
autoFocus: editingLabel === index,
|
|
283
307
|
disabled: disabled || !labelModeEnabled,
|
|
284
308
|
mark: p,
|
|
285
309
|
graphProps: graphProps,
|
|
310
|
+
onBlur: _this2.stopEditingLabel,
|
|
286
311
|
onChange: function onChange(label) {
|
|
287
312
|
return _this2.labelChange(_objectSpread(_objectSpread({}, p), {}, {
|
|
288
313
|
label: label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_point","_lodashEs","_debug","_line","_polygon","_interopRequireWildcard","_plot","_invariant","_reactDom","_markLabel","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","buildLines","exports","points","closed","expanded","reduce","acc","p","index","isLast","next","all","chunk","map","_ref","_ref2","_slicedToArray2","from","to","initial","swap","arr","_len","rest","Array","_key","pairs","pr","_pr","replacement","invariant","Number","isFinite","splice","_toConsumableArray2","RawBaseComponent","_React$Component","_this","_classCallCheck2","_len2","args","_key2","concat","_this$props","props","onChange","update","overlapPoint","find","equalPoints","label","existing","point","_this$props2","onClosePolygon","_this$props3","onChangeProps","updatedPoint","isEmpty","data","_this$props4","disabled","currentMiddle","middle","onClick","isToolActive","labelModeEnabled","limitLabeling","onSetMiddleLabel","_getRightestPoints","getRightestPoints","a","b","getMiddleOfTwoPoints","stripEmptyLabel","strippedPoints","strippedMiddle","setTimeout","input","focus","close","_inherits2","_createClass2","key","value","render","_this2","_this$props5","coordinatesOnHover","correctness","graphProps","onChangeLabelProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","ReactDOM","createPortal","createElement","inputRef","mark","Fragment","_extends2","onDrag","dragPoly","bind","clickPoint","Polygon","l","dragLine","BasePoint","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","_React$Component2","_this3","state","_getRightestPoints2","setState","_this3$props","_this3$props2","_this3$props3","onComplete","m","undefined","_this$props6","stateMark","change","changeLabelProps","setMiddleLabel","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport { chunk, initial, isEmpty } from 'lodash-es';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport { equalPoints, getMiddleOfTwoPoints, getRightestPoints, stripEmptyLabel } 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\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n\n acc.push({ ...points[next], index: next });\n\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\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n\n invariant(Number.isFinite(e.index), 'Index must be defined');\n\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n\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 middle: PropTypes.object,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onSetMiddleLabel: 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\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 disabled,\n middle: currentMiddle,\n onClick,\n isToolActive,\n labelModeEnabled,\n limitLabeling,\n onSetMiddleLabel,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n // limit labeling the points of the polygon\n if (disabled || limitLabeling) {\n return;\n }\n\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onSetMiddleLabel(middle, points.map(stripEmptyLabel));\n } else {\n const strippedPoints = points.map(stripEmptyLabel);\n strippedPoints.splice(index, 1, { label: '', ...point });\n\n const strippedMiddle = currentMiddle ? stripEmptyLabel(currentMiddle) : currentMiddle;\n onSetMiddleLabel(strippedMiddle, strippedPoints);\n }\n\n // defer the focus() call with setTimeout to allow the re-render to complete first.\n setTimeout(() => {\n if (this.input[index]) {\n this.input[index].focus();\n }\n }, 0);\n\n return;\n }\n\n if (isToolActive && !closed && index === 0) {\n this.close();\n return;\n }\n\n onClick(point || data);\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 onChangeLabelProps,\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 && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n disabled={disabled || !labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\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 {...common}\n onClick={this.clickPoint.bind(this, p, index)}\n />,\n labelNode && Object.prototype.hasOwnProperty.call(p, 'label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[index] = r)}\n disabled={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 = 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\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 if (!middle.label || isEmpty(middle.label)) {\n delete middle.label;\n }\n\n onChange(mark, { ...mark, middle });\n };\n\n setMiddleLabel = (middle, strippedPoints) => {\n const { mark, onChange } = this.props;\n const next = { ...mark, middle };\n if (strippedPoints) {\n next.points = strippedPoints;\n }\n onChange(mark, next);\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\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n render() {\n const { coordinatesOnHover, mark, graphProps, onClick, isToolActive, labelNode, labelModeEnabled, limitLabeling } =\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 onSetMiddleLabel={this.setMiddleLabel}\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 limitLabeling={limitLabeling}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_point","_lodashEs","_debug","_line","_polygon","_interopRequireWildcard","_plot","_invariant","_reactDom","_markLabel","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","buildLines","exports","points","closed","expanded","reduce","acc","p","index","isLast","next","all","chunk","map","_ref","_ref2","_slicedToArray2","from","to","initial","swap","arr","_len","rest","Array","_key","pairs","pr","_pr","replacement","invariant","Number","isFinite","splice","_toConsumableArray2","RawBaseComponent","_React$Component","_this","_classCallCheck2","_len2","args","_key2","concat","editingLabel","_this$props","props","onChange","update","overlapPoint","find","equalPoints","label","existing","point","_this$props2","onClosePolygon","_this$props3","onChangeProps","updatedPoint","isEmpty","state","setState","data","_this$props4","disabled","currentMiddle","middle","onClick","isToolActive","labelModeEnabled","limitLabeling","onSetMiddleLabel","_getRightestPoints","getRightestPoints","a","b","getMiddleOfTwoPoints","stripEmptyLabel","strippedPoints","strippedMiddle","close","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","render","_this2","_this$props5","coordinatesOnHover","correctness","graphProps","onChangeLabelProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","ReactDOM","createPortal","createElement","inputRef","input","autoFocus","mark","onBlur","stopEditingLabel","Fragment","_extends2","onDrag","dragPoly","bind","clickPoint","Polygon","l","dragLine","BasePoint","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","_React$Component2","_this3","_getRightestPoints2","_this3$props","_this3$props2","_this3$props3","onComplete","m","undefined","_this$props6","stateMark","change","changeLabelProps","setMiddleLabel","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport { chunk, initial, isEmpty } from 'lodash-es';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport { equalPoints, getMiddleOfTwoPoints, getRightestPoints, stripEmptyLabel } 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\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n\n acc.push({ ...points[next], index: next });\n\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\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n\n invariant(Number.isFinite(e.index), 'Index must be defined');\n\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n\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 middle: PropTypes.object,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onSetMiddleLabel: PropTypes.func,\n onChangeProps: PropTypes.func,\n };\n\n static defaultProps = {\n points: [],\n };\n\n // index of the point whose label is edited (points.length for the polygon label), null if none\n state = { editingLabel: null };\n\n componentDidUpdate(prevProps) {\n // leaving label mode closes any label that is still being edited\n if (prevProps.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null) {\n this.setState({ editingLabel: null });\n }\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\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 stopEditingLabel = () => {\n if (this.state.editingLabel !== null) {\n this.setState({ editingLabel: null });\n }\n };\n\n clickPoint = (point, index, data) => {\n const {\n closed,\n disabled,\n middle: currentMiddle,\n onClick,\n isToolActive,\n labelModeEnabled,\n limitLabeling,\n onSetMiddleLabel,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n // limit labeling the points of the polygon\n if (disabled || limitLabeling) {\n return;\n }\n\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onSetMiddleLabel(middle, points.map(stripEmptyLabel));\n } else {\n const strippedPoints = points.map(stripEmptyLabel);\n strippedPoints.splice(index, 1, { label: '', ...point });\n\n const strippedMiddle = currentMiddle ? stripEmptyLabel(currentMiddle) : currentMiddle;\n onSetMiddleLabel(strippedMiddle, strippedPoints);\n }\n\n // MarkLabel focuses itself once it is rendered - it also holds on to the focus if the model\n // that comes back from the host (api save) remounts the input.\n this.setState({ editingLabel: index });\n\n return;\n }\n\n if (isToolActive && !closed && index === 0) {\n this.close();\n return;\n }\n\n onClick(point || data);\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 onChangeLabelProps,\n onDragStart,\n onDragStop,\n points,\n middle,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const { editingLabel } = this.state;\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 && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n autoFocus={editingLabel === polygonLabelIndex}\n disabled={disabled || !labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onBlur={this.stopEditingLabel}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\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 {...common}\n onClick={this.clickPoint.bind(this, p, index)}\n />,\n labelNode && Object.prototype.hasOwnProperty.call(p, 'label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[index] = r)}\n autoFocus={editingLabel === index}\n disabled={disabled || !labelModeEnabled}\n mark={p}\n graphProps={graphProps}\n onBlur={this.stopEditingLabel}\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 = 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\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 if (!middle.label || isEmpty(middle.label)) {\n delete middle.label;\n }\n\n onChange(mark, { ...mark, middle });\n };\n\n setMiddleLabel = (middle, strippedPoints) => {\n const { mark, onChange } = this.props;\n const next = { ...mark, middle };\n if (strippedPoints) {\n next.points = strippedPoints;\n }\n onChange(mark, next);\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\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n render() {\n const { coordinatesOnHover, mark, graphProps, onClick, isToolActive, labelNode, labelModeEnabled, limitLabeling } =\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 onSetMiddleLabel={this.setMiddleLabel}\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 limitLabeling={limitLabeling}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -255,6 +255,10 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
255
255
|
args[_key] = arguments[_key];
|
|
256
256
|
}
|
|
257
257
|
_this2 = _callSuper(this, LineBase, [].concat(args));
|
|
258
|
+
// which of from/to/middle has its label edited, null if none
|
|
259
|
+
(0, _defineProperty2["default"])(_this2, "state", {
|
|
260
|
+
editingLabel: null
|
|
261
|
+
});
|
|
258
262
|
(0, _defineProperty2["default"])(_this2, "onChangePoint", function (point) {
|
|
259
263
|
var _this2$props = _this2.props,
|
|
260
264
|
middle = _this2$props.middle,
|
|
@@ -329,6 +333,13 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
329
333
|
}
|
|
330
334
|
changeMarkProps((0, _defineProperty2["default"])({}, type, update));
|
|
331
335
|
});
|
|
336
|
+
(0, _defineProperty2["default"])(_this2, "stopEditingLabel", function () {
|
|
337
|
+
if (_this2.state.editingLabel !== null) {
|
|
338
|
+
_this2.setState({
|
|
339
|
+
editingLabel: null
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
});
|
|
332
343
|
(0, _defineProperty2["default"])(_this2, "clickPoint", function (point, type, data) {
|
|
333
344
|
var _this2$props5 = _this2.props,
|
|
334
345
|
changeMarkProps = _this2$props5.changeMarkProps,
|
|
@@ -361,9 +372,12 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
361
372
|
}, type, _objectSpread({
|
|
362
373
|
label: ''
|
|
363
374
|
}, point)));
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
375
|
+
|
|
376
|
+
// MarkLabel focuses itself once it is rendered - it also holds on to the focus if the model
|
|
377
|
+
// that comes back from the host (api save) remounts the input.
|
|
378
|
+
_this2.setState({
|
|
379
|
+
editingLabel: type
|
|
380
|
+
});
|
|
367
381
|
});
|
|
368
382
|
// IMPORTANT, do not remove
|
|
369
383
|
(0, _defineProperty2["default"])(_this2, "input", {});
|
|
@@ -371,6 +385,16 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
371
385
|
}
|
|
372
386
|
(0, _inherits2["default"])(LineBase, _React$Component2);
|
|
373
387
|
return (0, _createClass2["default"])(LineBase, [{
|
|
388
|
+
key: "componentDidUpdate",
|
|
389
|
+
value: function componentDidUpdate(prevProps) {
|
|
390
|
+
// leaving label mode closes any label that is still being edited
|
|
391
|
+
if (prevProps.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null) {
|
|
392
|
+
this.setState({
|
|
393
|
+
editingLabel: null
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}, {
|
|
374
398
|
key: "render",
|
|
375
399
|
value: function render() {
|
|
376
400
|
var _this3 = this;
|
|
@@ -387,6 +411,7 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
387
411
|
onClick = _this$props4.onClick,
|
|
388
412
|
labelNode = _this$props4.labelNode,
|
|
389
413
|
labelModeEnabled = _this$props4.labelModeEnabled;
|
|
414
|
+
var editingLabel = this.state.editingLabel;
|
|
390
415
|
var common = {
|
|
391
416
|
graphProps: graphProps,
|
|
392
417
|
onDragStart: onDragStart,
|
|
@@ -405,9 +430,11 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
405
430
|
inputRef: function inputRef(r) {
|
|
406
431
|
return _this3.input.from = r;
|
|
407
432
|
},
|
|
433
|
+
autoFocus: editingLabel === 'from',
|
|
408
434
|
disabled: !labelModeEnabled,
|
|
409
435
|
mark: from,
|
|
410
436
|
graphProps: graphProps,
|
|
437
|
+
onBlur: this.stopEditingLabel,
|
|
411
438
|
onChange: function onChange(label) {
|
|
412
439
|
return _this3.labelChange(_objectSpread(_objectSpread({}, from), {}, {
|
|
413
440
|
label: label
|
|
@@ -420,9 +447,11 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
420
447
|
inputRef: function inputRef(r) {
|
|
421
448
|
return _this3.input.to = r;
|
|
422
449
|
},
|
|
450
|
+
autoFocus: editingLabel === 'to',
|
|
423
451
|
disabled: !labelModeEnabled,
|
|
424
452
|
mark: to,
|
|
425
453
|
graphProps: graphProps,
|
|
454
|
+
onBlur: this.stopEditingLabel,
|
|
426
455
|
onChange: function onChange(label) {
|
|
427
456
|
return _this3.labelChange(_objectSpread(_objectSpread({}, to), {}, {
|
|
428
457
|
label: label
|
|
@@ -435,9 +464,11 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
|
435
464
|
inputRef: function inputRef(r) {
|
|
436
465
|
return _this3.input.middle = r;
|
|
437
466
|
},
|
|
467
|
+
autoFocus: editingLabel === 'middle',
|
|
438
468
|
disabled: !labelModeEnabled,
|
|
439
469
|
mark: middle,
|
|
440
470
|
graphProps: graphProps,
|
|
471
|
+
onBlur: this.stopEditingLabel,
|
|
441
472
|
onChange: function onChange(label) {
|
|
442
473
|
return _this3.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
|
|
443
474
|
label: label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_lodashEs","_point","_plot","_propTypes","_styles","_reactDom","_markLabel","_renderUi","_utils","_styles2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledLineGroup","styled","_ref","disabled","correctness","fill","stroke","color","defaults","BLACK","strokeWidth","transition","PRIMARY_DARK","disabledSecondary","correct","incorrect","missing","strokeDasharray","lineTool","exports","type","Component","addPoint","point","mark","equalPoints","root","building","from","to","lineToolComponent","_LineToolComponent","_React$Component","LineToolComponent","props","_this","_classCallCheck2","onDragStart","setState","_this$props","onChange","onDragStop","update","state","undefined","shouldNotChange","sameAxes","y","isEqual","_ref2","middle","_ref3","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","limitLabeling","cloneDeep","isBackground","createElement","changeMark","changeMarkProps","startDrag","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","PropTypes","bool","func","PointType","dragOpts","bounds","_ref4","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","gridDraggable","FromPoint","BasePoint","ToPoint","LineBase","_React$Component2","_this2","_len","args","Array","_key","concat","_this2$props","getMiddleOfTwoPoints","_ref5","draggedFrom","draggedTo","_this2$props2","label","updated","_this2$props3","onChangePoint","_this2$props4","isEmpty","data","_this2$props5","stripEmptyLabel","input","focus","_this3","_this$props4","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","_extends2","onDrag","dragComp","clickPoint","x","dragFrom","dragTo","string","object","styles","line","arrow","disabledArrow","theme"],"sources":["../../../../src/tools/shared/line/index.jsx"],"sourcesContent":["import React from 'react';\nimport { cloneDeep, isEmpty, isEqual } from 'lodash-es';\nimport { BasePoint } from '../point';\nimport { gridDraggable, trig, types, utils } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { correct, disabled, disabledSecondary, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport { color } from '@pie-lib/render-ui';\nimport { equalPoints, getMiddleOfTwoPoints, sameAxes, stripEmptyLabel } from '../../../utils';\nimport { styled } from '@mui/material/styles';\n\nconst StyledLineGroup = styled('g')(({ disabled, correctness }) => ({\n '& line:not(.hit-area)': {\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n ...(disabled && {\n '& line:not(.hit-area)': {\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n },\n }),\n ...(correctness === 'correct' && {\n '& line:not(.hit-area)': {\n ...correct('stroke'),\n },\n }),\n ...(correctness === 'incorrect' && {\n '& line:not(.hit-area)': {\n ...incorrect('stroke'),\n },\n }),\n ...(correctness === 'missing' && {\n '& line:not(.hit-area)': {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n },\n }),\n}));\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n disabled: PropTypes.bool,\n from: types.PointType,\n to: types.PointType,\n labelModeEnabled: PropTypes.bool,\n onClick: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => {\n const { onDragStart } = this.props;\n this.setState({ mark: { ...this.props.mark } });\n if (onDragStart) onDragStart();\n };\n\n stopDrag = () => {\n const { onChange, mark, onDragStop } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n if (onDragStop) onDragStop();\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, limitLabeling } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.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});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n labelModeEnabled: PropTypes.bool,\n labelNode: PropTypes.object,\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, middle, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled) {\n return;\n }\n\n // limit labeling the points of the line\n if (limitLabeling) {\n return;\n }\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({\n from: stripEmptyLabel(from),\n to: stripEmptyLabel(to),\n middle: stripEmptyLabel(middle),\n [type]: { label: '', ...point },\n });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <StyledLineGroup disabled={disabled} correctness={correctness}>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </StyledLineGroup>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n }),\n arrow: () => ({\n fill: color.defaults.BLACK,\n }),\n disabledArrow: () => ({\n ...disabledSecondary(),\n }),\n disabledSecondary: () => ({\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_lodashEs","_point","_plot","_propTypes","_styles","_reactDom","_markLabel","_renderUi","_utils","_styles2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledLineGroup","styled","_ref","disabled","correctness","fill","stroke","color","defaults","BLACK","strokeWidth","transition","PRIMARY_DARK","disabledSecondary","correct","incorrect","missing","strokeDasharray","lineTool","exports","type","Component","addPoint","point","mark","equalPoints","root","building","from","to","lineToolComponent","_LineToolComponent","_React$Component","LineToolComponent","props","_this","_classCallCheck2","onDragStart","setState","_this$props","onChange","onDragStop","update","state","undefined","shouldNotChange","sameAxes","y","isEqual","_ref2","middle","_ref3","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","limitLabeling","cloneDeep","isBackground","createElement","changeMark","changeMarkProps","startDrag","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","PropTypes","bool","func","PointType","dragOpts","bounds","_ref4","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","gridDraggable","FromPoint","BasePoint","ToPoint","LineBase","_React$Component2","_this2","_len","args","Array","_key","concat","editingLabel","_this2$props","getMiddleOfTwoPoints","_ref5","draggedFrom","draggedTo","_this2$props2","label","updated","_this2$props3","onChangePoint","_this2$props4","isEmpty","data","_this2$props5","stripEmptyLabel","componentDidUpdate","prevProps","_this3","_this$props4","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","inputRef","input","autoFocus","onBlur","stopEditingLabel","labelChange","_extends2","onDrag","dragComp","clickPoint","x","dragFrom","dragTo","string","object","styles","line","arrow","disabledArrow","theme"],"sources":["../../../../src/tools/shared/line/index.jsx"],"sourcesContent":["import React from 'react';\nimport { cloneDeep, isEmpty, isEqual } from 'lodash-es';\nimport { BasePoint } from '../point';\nimport { gridDraggable, trig, types, utils } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { correct, disabled, disabledSecondary, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport { color } from '@pie-lib/render-ui';\nimport { equalPoints, getMiddleOfTwoPoints, sameAxes, stripEmptyLabel } from '../../../utils';\nimport { styled } from '@mui/material/styles';\n\nconst StyledLineGroup = styled('g')(({ disabled, correctness }) => ({\n '& line:not(.hit-area)': {\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n ...(disabled && {\n '& line:not(.hit-area)': {\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n },\n }),\n ...(correctness === 'correct' && {\n '& line:not(.hit-area)': {\n ...correct('stroke'),\n },\n }),\n ...(correctness === 'incorrect' && {\n '& line:not(.hit-area)': {\n ...incorrect('stroke'),\n },\n }),\n ...(correctness === 'missing' && {\n '& line:not(.hit-area)': {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n },\n }),\n}));\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n disabled: PropTypes.bool,\n from: types.PointType,\n to: types.PointType,\n labelModeEnabled: PropTypes.bool,\n onClick: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => {\n const { onDragStart } = this.props;\n this.setState({ mark: { ...this.props.mark } });\n if (onDragStart) onDragStart();\n };\n\n stopDrag = () => {\n const { onChange, mark, onDragStop } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n if (onDragStop) onDragStop();\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, limitLabeling } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.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});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n labelModeEnabled: PropTypes.bool,\n labelNode: PropTypes.object,\n };\n\n // which of from/to/middle has its label edited, null if none\n state = { editingLabel: null };\n\n componentDidUpdate(prevProps) {\n // leaving label mode closes any label that is still being edited\n if (prevProps.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null) {\n this.setState({ editingLabel: null });\n }\n }\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n stopEditingLabel = () => {\n if (this.state.editingLabel !== null) {\n this.setState({ editingLabel: null });\n }\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, middle, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled) {\n return;\n }\n\n // limit labeling the points of the line\n if (limitLabeling) {\n return;\n }\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({\n from: stripEmptyLabel(from),\n to: stripEmptyLabel(to),\n middle: stripEmptyLabel(middle),\n [type]: { label: '', ...point },\n });\n\n // MarkLabel focuses itself once it is rendered - it also holds on to the focus if the model\n // that comes back from the host (api save) remounts the input.\n this.setState({ editingLabel: type });\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const { editingLabel } = this.state;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n autoFocus={editingLabel === 'from'}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onBlur={this.stopEditingLabel}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n autoFocus={editingLabel === 'to'}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onBlur={this.stopEditingLabel}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n autoFocus={editingLabel === 'middle'}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onBlur={this.stopEditingLabel}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <StyledLineGroup disabled={disabled} correctness={correctness}>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </StyledLineGroup>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n }),\n arrow: () => ({\n fill: color.defaults.BLACK,\n }),\n disabledArrow: () => ({\n ...disabledSecondary(),\n }),\n disabledSecondary: () => ({\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.15-next.15+668601546",
|
|
7
7
|
"description": "Graphing components",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -54,6 +54,6 @@
|
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"react": "^18.2.0"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "668601546296f52a69187c0c4b2b693d8225e0c5",
|
|
58
58
|
"scripts": {}
|
|
59
59
|
}
|