@pie-lib/graphing 4.0.23 → 4.0.24-beta.10
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/CHANGELOG.md +0 -92
- package/lib/__tests__/bg.test.js +282 -0
- package/lib/__tests__/coordinates-label.test.js +276 -0
- package/lib/__tests__/graph-with-controls.test.js +275 -0
- package/lib/__tests__/graph.test.js +927 -0
- package/lib/__tests__/grid-setup.test.js +729 -0
- package/lib/__tests__/grid.test.js +29 -0
- package/lib/__tests__/key-legend.test.js +321 -0
- package/lib/__tests__/label-svg-icon.test.js +373 -0
- package/lib/__tests__/labels.test.js +61 -0
- package/lib/__tests__/mark-label.test.js +133 -0
- package/lib/__tests__/toggle-bar.test.js +197 -0
- package/lib/__tests__/tool-menu.test.js +151 -0
- package/lib/__tests__/undo-redo.test.js +31 -0
- package/lib/__tests__/use-debounce.test.js +24 -0
- package/lib/__tests__/utils.js +70 -0
- package/lib/__tests__/utils.test.js +123 -0
- package/lib/axis/__tests__/arrow.test.js +60 -0
- package/lib/axis/__tests__/axes.test.js +195 -0
- package/lib/container/__tests__/actions.test.js +108 -0
- package/lib/container/__tests__/index.test.js +503 -0
- package/lib/container/__tests__/marks.test.js +259 -0
- package/lib/container/__tests__/middleware.test.js +244 -0
- package/lib/container/__tests__/reducer.test.js +450 -0
- package/lib/mark-label.js +7 -197
- package/lib/mark-label.js.map +1 -1
- package/lib/tools/absolute/__tests__/component.test.js +65 -0
- package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
- package/lib/tools/circle/__tests__/component.test.js +615 -0
- package/lib/tools/circle/__tests__/index.test.js +576 -0
- package/lib/tools/circle/component.js +3 -34
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/exponential/__tests__/component.test.js +64 -0
- package/lib/tools/exponential/__tests__/index.test.js +828 -0
- package/lib/tools/line/__tests__/component.test.js +45 -0
- package/lib/tools/parabola/__tests__/component.test.js +64 -0
- package/lib/tools/parabola/__tests__/index.test.js +564 -0
- package/lib/tools/point/__tests__/component.test.js +434 -0
- package/lib/tools/point/__tests__/index.test.js +262 -0
- package/lib/tools/point/component.js +8 -29
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/polygon/__tests__/component.test.js +485 -0
- package/lib/tools/polygon/__tests__/index.test.js +303 -0
- package/lib/tools/polygon/__tests__/line.test.js +50 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +85 -0
- package/lib/tools/polygon/component.js +6 -31
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/ray/__tests__/component.test.js +35 -0
- package/lib/tools/segment/__tests__/component.test.js +35 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
- package/lib/tools/shared/line/__tests__/index.test.js +124 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +90 -0
- package/lib/tools/shared/line/index.js +3 -34
- package/lib/tools/shared/line/index.js.map +1 -1
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
- package/lib/tools/sine/__tests__/component.test.js +72 -0
- package/lib/tools/vector/__tests__/component.test.js +32 -0
- package/package.json +17 -17
- package/src/__tests__/graph.test.jsx +1 -76
- package/src/__tests__/mark-label.test.jsx +1 -375
- package/src/mark-label.jsx +8 -209
- package/src/tools/circle/component.jsx +3 -26
- package/src/tools/point/__tests__/component.test.jsx +1 -127
- package/src/tools/point/component.jsx +8 -21
- package/src/tools/polygon/component.jsx +6 -24
- package/src/tools/shared/line/index.jsx +3 -26
- package/LICENSE.md +0 -5
|
@@ -54,10 +54,6 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
54
54
|
args[_key] = arguments[_key];
|
|
55
55
|
}
|
|
56
56
|
_this = _callSuper(this, RawBaseCircle, [].concat(args));
|
|
57
|
-
// which of from/to/middle has its label edited, null if none
|
|
58
|
-
(0, _defineProperty2["default"])(_this, "state", {
|
|
59
|
-
editingLabel: null
|
|
60
|
-
});
|
|
61
57
|
(0, _defineProperty2["default"])(_this, "onChangePoint", function (point) {
|
|
62
58
|
var _this$props = _this.props,
|
|
63
59
|
middle = _this$props.middle,
|
|
@@ -126,13 +122,6 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
126
122
|
if (!point.label || (0, _lodashEs.isEmpty)(point.label)) delete update.label;
|
|
127
123
|
changeMarkProps((0, _defineProperty2["default"])({}, type, update));
|
|
128
124
|
});
|
|
129
|
-
(0, _defineProperty2["default"])(_this, "stopEditingLabel", function () {
|
|
130
|
-
if (_this.state.editingLabel !== null) {
|
|
131
|
-
_this.setState({
|
|
132
|
-
editingLabel: null
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
125
|
(0, _defineProperty2["default"])(_this, "clickPoint", function (point, type, data) {
|
|
137
126
|
var _this$props5 = _this.props,
|
|
138
127
|
changeMarkProps = _this$props5.changeMarkProps,
|
|
@@ -158,28 +147,15 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
158
147
|
}, type, _objectSpread({
|
|
159
148
|
label: ''
|
|
160
149
|
}, point)));
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
_this.setState({
|
|
165
|
-
editingLabel: type
|
|
166
|
-
});
|
|
150
|
+
if (_this.input[type]) {
|
|
151
|
+
_this.input[type].focus();
|
|
152
|
+
}
|
|
167
153
|
});
|
|
168
154
|
(0, _defineProperty2["default"])(_this, "input", {});
|
|
169
155
|
return _this;
|
|
170
156
|
}
|
|
171
157
|
(0, _inherits2["default"])(RawBaseCircle, _React$Component);
|
|
172
158
|
return (0, _createClass2["default"])(RawBaseCircle, [{
|
|
173
|
-
key: "componentDidUpdate",
|
|
174
|
-
value: function componentDidUpdate(prevProps) {
|
|
175
|
-
// leaving label mode closes any label that is still being edited
|
|
176
|
-
if (prevProps.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null) {
|
|
177
|
-
this.setState({
|
|
178
|
-
editingLabel: null
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}, {
|
|
183
159
|
key: "render",
|
|
184
160
|
value: function render() {
|
|
185
161
|
var _this2 = this;
|
|
@@ -197,7 +173,6 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
197
173
|
graphProps = _this$props6.graphProps,
|
|
198
174
|
labelNode = _this$props6.labelNode,
|
|
199
175
|
labelModeEnabled = _this$props6.labelModeEnabled;
|
|
200
|
-
var editingLabel = this.state.editingLabel;
|
|
201
176
|
var common = {
|
|
202
177
|
onDragStart: onDragStart,
|
|
203
178
|
onDragStop: onDragStop,
|
|
@@ -216,11 +191,9 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
216
191
|
inputRef: function inputRef(r) {
|
|
217
192
|
return _this2.input.from = r;
|
|
218
193
|
},
|
|
219
|
-
autoFocus: editingLabel === 'from',
|
|
220
194
|
disabled: !labelModeEnabled,
|
|
221
195
|
mark: from,
|
|
222
196
|
graphProps: graphProps,
|
|
223
|
-
onBlur: this.stopEditingLabel,
|
|
224
197
|
onChange: function onChange(label) {
|
|
225
198
|
return _this2.labelChange(_objectSpread(_objectSpread({}, from), {}, {
|
|
226
199
|
label: label
|
|
@@ -233,11 +206,9 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
233
206
|
inputRef: function inputRef(r) {
|
|
234
207
|
return _this2.input.to = r;
|
|
235
208
|
},
|
|
236
|
-
autoFocus: editingLabel === 'to',
|
|
237
209
|
disabled: !labelModeEnabled,
|
|
238
210
|
mark: to,
|
|
239
211
|
graphProps: graphProps,
|
|
240
|
-
onBlur: this.stopEditingLabel,
|
|
241
212
|
onChange: function onChange(label) {
|
|
242
213
|
return _this2.labelChange(_objectSpread(_objectSpread({}, to), {}, {
|
|
243
214
|
label: label
|
|
@@ -250,11 +221,9 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
250
221
|
inputRef: function inputRef(r) {
|
|
251
222
|
return _this2.input.middle = r;
|
|
252
223
|
},
|
|
253
|
-
autoFocus: editingLabel === 'middle',
|
|
254
224
|
disabled: !labelModeEnabled,
|
|
255
225
|
mark: middle,
|
|
256
226
|
graphProps: graphProps,
|
|
257
|
-
onBlur: this.stopEditingLabel,
|
|
258
227
|
onChange: function onChange(label) {
|
|
259
228
|
return _this2.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
|
|
260
229
|
label: label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_point","_bgCircle","_utils","_plot","_withRootEdge","_reactDom","_markLabel","_lodashEs","_renderUi","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","opacityPulsate","opacity","keyframes","getRadius","from","outer","c","point","dist","RawBaseCircle","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","editingLabel","_this$props","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","_this$props2","label","onChangePoint","draggedTo","_this$props3","_this$props4","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","state","data","_this$props5","disabled","labelModeEnabled","limitLabeling","onClick","stripEmptyLabel","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","render","_this2","_this$props6","building","coordinatesOnHover","onDragStart","onDragStop","correctness","graphProps","labelNode","common","radius","fromLabelNode","toLabelNode","circleLabelNode","_to","ReactDOM","createPortal","createElement","inputRef","input","autoFocus","mark","onBlur","stopEditingLabel","labelChange","StyledBgCircle","_extends2","className","classNames","x","y","onDrag","dragCircle","clickPoint","BasePoint","dragTo","dragFrom","React","Component","PropTypes","bool","string","types","PointType","func","isRequired","GraphPropsType","object","styled","BgCircle","fill","color","transparent","stroke","defaults","BLACK","strokeWidth","PRIMARY_DARK","animation","BaseCircle","rootEdgeComponent","_default"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { equalPoints, getMiddleOfTwoPoints, point, stripEmptyLabel } from '../../utils';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport { isEmpty } from 'lodash-es';\nimport { color } from '@pie-lib/render-ui';\nimport { keyframes, styled } from '@mui/material/styles';\n\nconst opacityPulsate = (opacity) =>\n keyframes({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' },\n });\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n limitLabeling: PropTypes.bool,\n };\n\n static defaultProps = {\n onClick: () => ({}),\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 if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n onChange(point);\n }\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) draggedFrom.label = from.label;\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) draggedTo.label = to.label;\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = (draggedFrom) => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) draggedFrom.label = from.label;\n if (to.label) draggedTo.label = to.label;\n\n const updated = { from: draggedFrom, to: draggedTo };\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState({ draggedroot: undefined, draggedOuter: undefined, isCircleDrag: false }, () => onChange(updated));\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n if (!point.label || isEmpty(point.label)) delete update.label;\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 || limitLabeling) return;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\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 input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n building,\n coordinatesOnHover,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const { editingLabel } = this.state;\n\n const common = { onDragStart, onDragStop, graphProps, onClick };\n to = to || from;\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from?.label !== undefined) {\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?.label !== undefined) {\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?.label !== undefined) {\n circleLabelNode = 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 <g>\n <StyledBgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && 'bgCircleBuilding')}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className=\"from\"\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\n// MUI v5 styled() replaces withStyles\nconst StyledBgCircle = styled(BgCircle)(() => ({\n '&.outerLine': {\n fill: color.transparent(),\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n '&.bgCircleBuilding': {\n stroke: color.defaults.BLACK,\n animation: `${opacityPulsate('0.3')} 2s ease-out infinite`,\n opacity: 1,\n },\n}));\n\nexport const BaseCircle = RawBaseCircle;\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_point","_bgCircle","_utils","_plot","_withRootEdge","_reactDom","_markLabel","_lodashEs","_renderUi","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","opacityPulsate","opacity","keyframes","getRadius","from","outer","c","point","dist","RawBaseCircle","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_this$props","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","_this$props2","label","onChangePoint","draggedTo","_this$props3","_this$props4","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","data","_this$props5","disabled","labelModeEnabled","limitLabeling","onClick","stripEmptyLabel","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props6","building","coordinatesOnHover","onDragStart","onDragStop","correctness","graphProps","labelNode","common","radius","fromLabelNode","toLabelNode","circleLabelNode","_to","ReactDOM","createPortal","createElement","inputRef","mark","labelChange","StyledBgCircle","_extends2","className","classNames","x","y","onDrag","dragCircle","clickPoint","BasePoint","dragTo","dragFrom","React","Component","PropTypes","bool","string","types","PointType","func","isRequired","GraphPropsType","object","styled","BgCircle","fill","color","transparent","stroke","defaults","BLACK","strokeWidth","PRIMARY_DARK","animation","BaseCircle","rootEdgeComponent","_default"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { equalPoints, getMiddleOfTwoPoints, point, stripEmptyLabel } from '../../utils';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport { isEmpty } from 'lodash-es';\nimport { color } from '@pie-lib/render-ui';\nimport { keyframes, styled } from '@mui/material/styles';\n\nconst opacityPulsate = (opacity) =>\n keyframes({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' },\n });\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n limitLabeling: PropTypes.bool,\n };\n\n static defaultProps = {\n onClick: () => ({}),\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n onChange(point);\n }\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) draggedFrom.label = from.label;\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) draggedTo.label = to.label;\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = (draggedFrom) => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) draggedFrom.label = from.label;\n if (to.label) draggedTo.label = to.label;\n\n const updated = { from: draggedFrom, to: draggedTo };\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState({ draggedroot: undefined, draggedOuter: undefined, isCircleDrag: false }, () => onChange(updated));\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n if (!point.label || isEmpty(point.label)) delete update.label;\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 || limitLabeling) return;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\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 input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n building,\n coordinatesOnHover,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n\n const common = { onDragStart, onDragStop, graphProps, onClick };\n to = to || from;\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from?.label !== undefined) {\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?.label !== undefined) {\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?.label !== undefined) {\n circleLabelNode = 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 <g>\n <StyledBgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && 'bgCircleBuilding')}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className=\"from\"\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\n// MUI v5 styled() replaces withStyles\nconst StyledBgCircle = styled(BgCircle)(() => ({\n '&.outerLine': {\n fill: color.transparent(),\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n '&.bgCircleBuilding': {\n stroke: color.defaults.BLACK,\n animation: `${opacityPulsate('0.3')} 2s ease-out infinite`,\n opacity: 1,\n },\n}));\n\nexport const BaseCircle = RawBaseCircle;\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _withRootEdge = require("../../shared/line/with-root-edge");
|
|
4
|
+
var _graphingUtils = require("@pie-lib/graphing-utils");
|
|
5
|
+
var _plot = require("@pie-lib/plot");
|
|
6
|
+
var _utils = require("../../../__tests__/utils");
|
|
7
|
+
var xy = _plot.utils.xy;
|
|
8
|
+
jest.mock('@pie-lib/graphing-utils', function () {
|
|
9
|
+
return {
|
|
10
|
+
buildDataPoints: jest.fn().mockReturnValue([]),
|
|
11
|
+
exponentialFromTwoPoints: jest.fn(function () {
|
|
12
|
+
return jest.fn();
|
|
13
|
+
}),
|
|
14
|
+
getAmplitudeAndFreq: jest.fn().mockReturnValue({
|
|
15
|
+
freq: 4,
|
|
16
|
+
amplitude: 1
|
|
17
|
+
})
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
jest.mock('../../shared/line/with-root-edge', function () {
|
|
21
|
+
return {
|
|
22
|
+
withRootEdge: jest.fn(),
|
|
23
|
+
rootEdgeComponent: jest.fn()
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
describe('Exponential', function () {
|
|
27
|
+
var fnBody;
|
|
28
|
+
var graphProps;
|
|
29
|
+
var root;
|
|
30
|
+
var edge;
|
|
31
|
+
var result;
|
|
32
|
+
beforeEach(function () {
|
|
33
|
+
require('../component');
|
|
34
|
+
fnBody = _withRootEdge.withRootEdge.mock.calls[0][0];
|
|
35
|
+
graphProps = (0, _utils.graphProps)();
|
|
36
|
+
root = xy(1, 1);
|
|
37
|
+
edge = xy(2, 2);
|
|
38
|
+
result = fnBody({
|
|
39
|
+
graphProps: graphProps,
|
|
40
|
+
root: root,
|
|
41
|
+
edge: edge
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
it('fnBody is not null', function () {
|
|
45
|
+
expect(fnBody).toBeDefined();
|
|
46
|
+
});
|
|
47
|
+
it('calls buildDataPoints', function () {
|
|
48
|
+
var _graphProps = graphProps,
|
|
49
|
+
domain = _graphProps.domain,
|
|
50
|
+
range = _graphProps.range;
|
|
51
|
+
expect(_graphingUtils.buildDataPoints).toHaveBeenCalledWith(domain, range, root, edge, expect.anything(), true);
|
|
52
|
+
});
|
|
53
|
+
it('calls exponentialFromTwoPoints', function () {
|
|
54
|
+
expect(_graphingUtils.exponentialFromTwoPoints).toHaveBeenCalledWith(root, edge);
|
|
55
|
+
});
|
|
56
|
+
it('returns dataPoints', function () {
|
|
57
|
+
expect(result).toEqual({
|
|
58
|
+
root: root,
|
|
59
|
+
edge: edge,
|
|
60
|
+
dataPoints: []
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2l0aFJvb3RFZGdlIiwicmVxdWlyZSIsIl9ncmFwaGluZ1V0aWxzIiwiX3Bsb3QiLCJfdXRpbHMiLCJ4eSIsInV0aWxzIiwiamVzdCIsIm1vY2siLCJidWlsZERhdGFQb2ludHMiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsImV4cG9uZW50aWFsRnJvbVR3b1BvaW50cyIsImdldEFtcGxpdHVkZUFuZEZyZXEiLCJmcmVxIiwiYW1wbGl0dWRlIiwid2l0aFJvb3RFZGdlIiwicm9vdEVkZ2VDb21wb25lbnQiLCJkZXNjcmliZSIsImZuQm9keSIsImdyYXBoUHJvcHMiLCJyb290IiwiZWRnZSIsInJlc3VsdCIsImJlZm9yZUVhY2giLCJjYWxscyIsImdldEdyYXBoUHJvcHMiLCJpdCIsImV4cGVjdCIsInRvQmVEZWZpbmVkIiwiX2dyYXBoUHJvcHMiLCJkb21haW4iLCJyYW5nZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiYW55dGhpbmciLCJ0b0VxdWFsIiwiZGF0YVBvaW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9leHBvbmVudGlhbC9fX3Rlc3RzX18vY29tcG9uZW50LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdpdGhSb290RWRnZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saW5lL3dpdGgtcm9vdC1lZGdlJztcbmltcG9ydCB7IGJ1aWxkRGF0YVBvaW50cywgZXhwb25lbnRpYWxGcm9tVHdvUG9pbnRzIH0gZnJvbSAnQHBpZS1saWIvZ3JhcGhpbmctdXRpbHMnO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcblxuaW1wb3J0IHsgZ3JhcGhQcm9wcyBhcyBnZXRHcmFwaFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vX190ZXN0c19fL3V0aWxzJztcblxuY29uc3QgeyB4eSB9ID0gdXRpbHM7XG5cbmplc3QubW9jaygnQHBpZS1saWIvZ3JhcGhpbmctdXRpbHMnLCAoKSA9PiAoe1xuICBidWlsZERhdGFQb2ludHM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW10pLFxuICBleHBvbmVudGlhbEZyb21Ud29Qb2ludHM6IGplc3QuZm4oKCkgPT4gamVzdC5mbigpKSxcbiAgZ2V0QW1wbGl0dWRlQW5kRnJlcTogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IGZyZXE6IDQsIGFtcGxpdHVkZTogMSB9KSxcbn0pKTtcblxuamVzdC5tb2NrKCcuLi8uLi9zaGFyZWQvbGluZS93aXRoLXJvb3QtZWRnZScsICgpID0+ICh7XG4gIHdpdGhSb290RWRnZTogamVzdC5mbigpLFxuICByb290RWRnZUNvbXBvbmVudDogamVzdC5mbigpLFxufSkpO1xuXG5kZXNjcmliZSgnRXhwb25lbnRpYWwnLCAoKSA9PiB7XG4gIGxldCBmbkJvZHk7XG4gIGxldCBncmFwaFByb3BzO1xuICBsZXQgcm9vdDtcbiAgbGV0IGVkZ2U7XG4gIGxldCByZXN1bHQ7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcmVxdWlyZSgnLi4vY29tcG9uZW50Jyk7XG4gICAgZm5Cb2R5ID0gd2l0aFJvb3RFZGdlLm1vY2suY2FsbHNbMF1bMF07XG4gICAgZ3JhcGhQcm9wcyA9IGdldEdyYXBoUHJvcHMoKTtcbiAgICByb290ID0geHkoMSwgMSk7XG4gICAgZWRnZSA9IHh5KDIsIDIpO1xuXG4gICAgcmVzdWx0ID0gZm5Cb2R5KHsgZ3JhcGhQcm9wcywgcm9vdCwgZWRnZSB9KTtcbiAgfSk7XG5cbiAgaXQoJ2ZuQm9keSBpcyBub3QgbnVsbCcsICgpID0+IHtcbiAgICBleHBlY3QoZm5Cb2R5KS50b0JlRGVmaW5lZCgpO1xuICB9KTtcblxuICBpdCgnY2FsbHMgYnVpbGREYXRhUG9pbnRzJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICBleHBlY3QoYnVpbGREYXRhUG9pbnRzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChkb21haW4sIHJhbmdlLCByb290LCBlZGdlLCBleHBlY3QuYW55dGhpbmcoKSwgdHJ1ZSk7XG4gIH0pO1xuXG4gIGl0KCdjYWxscyBleHBvbmVudGlhbEZyb21Ud29Qb2ludHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGV4cG9uZW50aWFsRnJvbVR3b1BvaW50cykudG9IYXZlQmVlbkNhbGxlZFdpdGgocm9vdCwgZWRnZSk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm5zIGRhdGFQb2ludHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHJvb3QsIGVkZ2UsIGRhdGFQb2ludHM6IFtdIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLGFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUVBLElBQVFJLEVBQUUsR0FBS0MsV0FBSyxDQUFaRCxFQUFFO0FBRVZFLElBQUksQ0FBQ0MsSUFBSSxDQUFDLHlCQUF5QixFQUFFO0VBQUEsT0FBTztJQUMxQ0MsZUFBZSxFQUFFRixJQUFJLENBQUNHLEVBQUUsQ0FBQyxDQUFDLENBQUNDLGVBQWUsQ0FBQyxFQUFFLENBQUM7SUFDOUNDLHdCQUF3QixFQUFFTCxJQUFJLENBQUNHLEVBQUUsQ0FBQztNQUFBLE9BQU1ILElBQUksQ0FBQ0csRUFBRSxDQUFDLENBQUM7SUFBQSxFQUFDO0lBQ2xERyxtQkFBbUIsRUFBRU4sSUFBSSxDQUFDRyxFQUFFLENBQUMsQ0FBQyxDQUFDQyxlQUFlLENBQUM7TUFBRUcsSUFBSSxFQUFFLENBQUM7TUFBRUMsU0FBUyxFQUFFO0lBQUUsQ0FBQztFQUMxRSxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhSLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO0VBQUEsT0FBTztJQUNuRFEsWUFBWSxFQUFFVCxJQUFJLENBQUNHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCTyxpQkFBaUIsRUFBRVYsSUFBSSxDQUFDRyxFQUFFLENBQUM7RUFDN0IsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIUSxRQUFRLENBQUMsYUFBYSxFQUFFLFlBQU07RUFDNUIsSUFBSUMsTUFBTTtFQUNWLElBQUlDLFVBQVU7RUFDZCxJQUFJQyxJQUFJO0VBQ1IsSUFBSUMsSUFBSTtFQUNSLElBQUlDLE1BQU07RUFFVkMsVUFBVSxDQUFDLFlBQU07SUFDZnZCLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDdkJrQixNQUFNLEdBQUdILDBCQUFZLENBQUNSLElBQUksQ0FBQ2lCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdENMLFVBQVUsR0FBRyxJQUFBTSxpQkFBYSxFQUFDLENBQUM7SUFDNUJMLElBQUksR0FBR2hCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2ZpQixJQUFJLEdBQUdqQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVma0IsTUFBTSxHQUFHSixNQUFNLENBQUM7TUFBRUMsVUFBVSxFQUFWQSxVQUFVO01BQUVDLElBQUksRUFBSkEsSUFBSTtNQUFFQyxJQUFJLEVBQUpBO0lBQUssQ0FBQyxDQUFDO0VBQzdDLENBQUMsQ0FBQztFQUVGSyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtJQUM3QkMsTUFBTSxDQUFDVCxNQUFNLENBQUMsQ0FBQ1UsV0FBVyxDQUFDLENBQUM7RUFDOUIsQ0FBQyxDQUFDO0VBRUZGLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxZQUFNO0lBQ2hDLElBQUFHLFdBQUEsR0FBMEJWLFVBQVU7TUFBNUJXLE1BQU0sR0FBQUQsV0FBQSxDQUFOQyxNQUFNO01BQUVDLEtBQUssR0FBQUYsV0FBQSxDQUFMRSxLQUFLO0lBQ3JCSixNQUFNLENBQUNuQiw4QkFBZSxDQUFDLENBQUN3QixvQkFBb0IsQ0FBQ0YsTUFBTSxFQUFFQyxLQUFLLEVBQUVYLElBQUksRUFBRUMsSUFBSSxFQUFFTSxNQUFNLENBQUNNLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQ2xHLENBQUMsQ0FBQztFQUVGUCxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsWUFBTTtJQUN6Q0MsTUFBTSxDQUFDaEIsdUNBQXdCLENBQUMsQ0FBQ3FCLG9CQUFvQixDQUFDWixJQUFJLEVBQUVDLElBQUksQ0FBQztFQUNuRSxDQUFDLENBQUM7RUFFRkssRUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQU07SUFDN0JDLE1BQU0sQ0FBQ0wsTUFBTSxDQUFDLENBQUNZLE9BQU8sQ0FBQztNQUFFZCxJQUFJLEVBQUpBLElBQUk7TUFBRUMsSUFBSSxFQUFKQSxJQUFJO01BQUVjLFVBQVUsRUFBRTtJQUFHLENBQUMsQ0FBQztFQUN4RCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|