@pie-lib/graphing-solution-set 2.34.3-next.0 → 2.34.3-next.155

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.
Files changed (142) hide show
  1. package/CHANGELOG.md +7 -78
  2. package/esm/package.json +3 -0
  3. package/lib/axis/arrow.js +19 -55
  4. package/lib/axis/arrow.js.map +1 -1
  5. package/lib/axis/axes.js +103 -193
  6. package/lib/axis/axes.js.map +1 -1
  7. package/lib/axis/index.js +1 -6
  8. package/lib/axis/index.js.map +1 -1
  9. package/lib/bg.js +21 -49
  10. package/lib/bg.js.map +1 -1
  11. package/lib/container/actions.js +2 -8
  12. package/lib/container/actions.js.map +1 -1
  13. package/lib/container/index.js +14 -60
  14. package/lib/container/index.js.map +1 -1
  15. package/lib/container/marks.js +1 -6
  16. package/lib/container/marks.js.map +1 -1
  17. package/lib/container/middleware.js +2 -8
  18. package/lib/container/middleware.js.map +1 -1
  19. package/lib/container/reducer.js +1 -8
  20. package/lib/container/reducer.js.map +1 -1
  21. package/lib/coordinates-label.js +23 -55
  22. package/lib/coordinates-label.js.map +1 -1
  23. package/lib/graph-with-controls.js +129 -203
  24. package/lib/graph-with-controls.js.map +1 -1
  25. package/lib/graph.js +61 -126
  26. package/lib/graph.js.map +1 -1
  27. package/lib/grid-setup.js +168 -224
  28. package/lib/grid-setup.js.map +1 -1
  29. package/lib/grid.js +29 -74
  30. package/lib/grid.js.map +1 -1
  31. package/lib/index.js +1 -12
  32. package/lib/index.js.map +1 -1
  33. package/lib/labels.js +84 -184
  34. package/lib/labels.js.map +1 -1
  35. package/lib/mark-label.js +39 -88
  36. package/lib/mark-label.js.map +1 -1
  37. package/lib/toggle-bar.js +155 -243
  38. package/lib/toggle-bar.js.map +1 -1
  39. package/lib/tool-menu.js +93 -200
  40. package/lib/tool-menu.js.map +1 -1
  41. package/lib/tools/index.js +2 -7
  42. package/lib/tools/index.js.map +1 -1
  43. package/lib/tools/line/component.js +48 -62
  44. package/lib/tools/line/component.js.map +1 -1
  45. package/lib/tools/line/index.js +1 -6
  46. package/lib/tools/line/index.js.map +1 -1
  47. package/lib/tools/polygon/component.js +76 -173
  48. package/lib/tools/polygon/component.js.map +1 -1
  49. package/lib/tools/polygon/index.js +6 -23
  50. package/lib/tools/polygon/index.js.map +1 -1
  51. package/lib/tools/polygon/line.js +48 -85
  52. package/lib/tools/polygon/line.js.map +1 -1
  53. package/lib/tools/polygon/polygon.js +62 -102
  54. package/lib/tools/polygon/polygon.js.map +1 -1
  55. package/lib/tools/shared/arrow-head.js +7 -20
  56. package/lib/tools/shared/arrow-head.js.map +1 -1
  57. package/lib/tools/shared/line/index.js +89 -185
  58. package/lib/tools/shared/line/index.js.map +1 -1
  59. package/lib/tools/shared/line/line-path.js +71 -95
  60. package/lib/tools/shared/line/line-path.js.map +1 -1
  61. package/lib/tools/shared/line/with-root-edge.js +22 -56
  62. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  63. package/lib/tools/shared/point/arrow-point.js +18 -45
  64. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  65. package/lib/tools/shared/point/arrow.js +16 -42
  66. package/lib/tools/shared/point/arrow.js.map +1 -1
  67. package/lib/tools/shared/point/base-point.js +44 -58
  68. package/lib/tools/shared/point/base-point.js.map +1 -1
  69. package/lib/tools/shared/point/index.js +38 -52
  70. package/lib/tools/shared/point/index.js.map +1 -1
  71. package/lib/tools/shared/styles.js +8 -31
  72. package/lib/tools/shared/styles.js.map +1 -1
  73. package/lib/tools/shared/types.js +1 -5
  74. package/lib/tools/shared/types.js.map +1 -1
  75. package/lib/undo-redo.js +27 -67
  76. package/lib/undo-redo.js.map +1 -1
  77. package/lib/use-debounce.js +4 -11
  78. package/lib/use-debounce.js.map +1 -1
  79. package/lib/utils.js +56 -131
  80. package/lib/utils.js.map +1 -1
  81. package/package.json +34 -23
  82. package/src/__tests__/graph-with-controls.test.jsx +23 -10
  83. package/src/__tests__/graph.test.jsx +36 -171
  84. package/src/__tests__/grid.test.jsx +9 -6
  85. package/src/__tests__/labels.test.jsx +11 -8
  86. package/src/__tests__/mark-label.test.jsx +15 -17
  87. package/src/__tests__/toggle-bar.test.jsx +46 -17
  88. package/src/__tests__/tool-menu.test.jsx +12 -8
  89. package/src/__tests__/undo-redo.test.jsx +9 -8
  90. package/src/__tests__/utils.js +3 -0
  91. package/src/axis/__tests__/arrow.test.jsx +21 -17
  92. package/src/axis/__tests__/axes.test.jsx +117 -155
  93. package/src/axis/arrow.jsx +7 -12
  94. package/src/axis/axes.jsx +41 -51
  95. package/src/coordinates-label.jsx +13 -18
  96. package/src/graph-with-controls.jsx +90 -93
  97. package/src/grid-setup.jsx +210 -206
  98. package/src/grid.jsx +2 -4
  99. package/src/labels.jsx +83 -124
  100. package/src/mark-label.jsx +14 -25
  101. package/src/toggle-bar.jsx +135 -163
  102. package/src/tool-menu.jsx +136 -195
  103. package/src/tools/line/__tests__/component.test.jsx +7 -7
  104. package/src/tools/line/component.jsx +29 -29
  105. package/src/tools/polygon/__tests__/component.test.jsx +13 -152
  106. package/src/tools/polygon/__tests__/line.test.jsx +7 -9
  107. package/src/tools/polygon/__tests__/polygon.test.jsx +8 -8
  108. package/src/tools/polygon/component.jsx +2 -4
  109. package/src/tools/polygon/line.jsx +26 -24
  110. package/src/tools/polygon/polygon.jsx +35 -40
  111. package/src/tools/shared/__tests__/arrow-head.test.jsx +16 -17
  112. package/src/tools/shared/line/__tests__/index.test.jsx +26 -163
  113. package/src/tools/shared/line/__tests__/line-path.test.jsx +9 -9
  114. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +14 -24
  115. package/src/tools/shared/line/index.jsx +3 -3
  116. package/src/tools/shared/line/line-path.jsx +51 -48
  117. package/src/tools/shared/line/with-root-edge.jsx +1 -1
  118. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
  119. package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
  120. package/src/tools/shared/point/base-point.jsx +33 -6
  121. package/src/tools/shared/point/index.jsx +30 -32
  122. package/src/undo-redo.jsx +16 -24
  123. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -114
  124. package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -213
  125. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
  126. package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
  127. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -37
  128. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
  129. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -35
  130. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -15
  131. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
  132. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
  133. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
  134. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -94
  135. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -44
  136. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -53
  137. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -32
  138. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
  139. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -57
  140. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
  141. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -55
  142. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -43
@@ -1,71 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.swap = exports["default"] = exports.buildLines = exports.RawBaseComponent = exports.BaseComponent = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
25
-
26
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
-
28
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
17
  var _react = _interopRequireDefault(require("react"));
31
-
32
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
36
19
  var _types = require("../shared/types");
37
-
38
20
  var _chunk = _interopRequireDefault(require("lodash/chunk"));
39
-
40
21
  var _initial = _interopRequireDefault(require("lodash/initial"));
41
-
42
22
  var _debug = _interopRequireDefault(require("debug"));
43
-
44
23
  var _polygon = _interopRequireDefault(require("./polygon"));
45
-
46
24
  var _plot = require("@pie-lib/plot");
47
-
48
25
  var _invariant = _interopRequireDefault(require("invariant"));
49
-
50
26
  var _reactDom = _interopRequireDefault(require("react-dom"));
51
-
52
27
  var _markLabel = _interopRequireDefault(require("../../mark-label"));
53
-
54
28
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
55
-
56
29
  var _utils = require("../../utils");
57
-
58
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
59
-
60
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
61
-
62
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
-
64
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
65
-
30
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
31
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
32
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
66
34
  var log = (0, _debug["default"])('pie-lib:graphing-solution-set:polygon');
67
-
68
- var buildLines = function buildLines(points, closed) {
35
+ var buildLines = exports.buildLines = function buildLines(points, closed) {
69
36
  var expanded = points.reduce(function (acc, p, index) {
70
37
  acc.push(_objectSpread(_objectSpread({}, p), {}, {
71
38
  index: index
@@ -79,9 +46,8 @@ var buildLines = function buildLines(points, closed) {
79
46
  }, []);
80
47
  var all = (0, _chunk["default"])(expanded, 2).map(function (_ref) {
81
48
  var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
82
- from = _ref2[0],
83
- to = _ref2[1];
84
-
49
+ from = _ref2[0],
50
+ to = _ref2[1];
85
51
  return {
86
52
  from: from,
87
53
  to: to
@@ -89,23 +55,19 @@ var buildLines = function buildLines(points, closed) {
89
55
  });
90
56
  return closed ? all : (0, _initial["default"])(all);
91
57
  };
92
-
93
- exports.buildLines = buildLines;
94
-
95
- var swap = function swap(arr) {
58
+ var swap = exports.swap = function swap(arr) {
96
59
  for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
97
60
  rest[_key - 1] = arguments[_key];
98
61
  }
99
-
100
62
  var pairs = (0, _chunk["default"])(rest, 2);
101
63
  return pairs.reduce(function (acc, pr) {
102
64
  if (pr.length === 2) {
103
65
  var _pr = (0, _slicedToArray2["default"])(pr, 2),
104
- e = _pr[0],
105
- replacement = _pr[1];
106
-
66
+ e = _pr[0],
67
+ replacement = _pr[1];
107
68
  (0, _invariant["default"])(Number.isFinite(e.index), 'Index must be defined');
108
- var index = e.index; // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);
69
+ var index = e.index;
70
+ // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);
109
71
 
110
72
  if (index >= 0) {
111
73
  acc.splice(index, 1, replacement);
@@ -118,61 +80,45 @@ var swap = function swap(arr) {
118
80
  }
119
81
  }, (0, _toConsumableArray2["default"])(arr));
120
82
  };
121
-
122
- exports.swap = swap;
123
-
124
- var RawBaseComponent = /*#__PURE__*/function (_React$Component) {
125
- (0, _inherits2["default"])(RawBaseComponent, _React$Component);
126
-
127
- var _super = _createSuper(RawBaseComponent);
128
-
83
+ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$Component) {
129
84
  function RawBaseComponent() {
130
85
  var _this;
131
-
132
86
  (0, _classCallCheck2["default"])(this, RawBaseComponent);
133
-
134
87
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
135
88
  args[_key2] = arguments[_key2];
136
89
  }
137
-
138
- _this = _super.call.apply(_super, [this].concat(args));
139
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragPoint", function (index, from, to) {
90
+ _this = _callSuper(this, RawBaseComponent, [].concat(args));
91
+ (0, _defineProperty2["default"])(_this, "dragPoint", function (index, from, to) {
140
92
  log('[dragPoint] from, to:', from, to);
141
93
  var _this$props = _this.props,
142
- onChange = _this$props.onChange,
143
- points = _this$props.points;
94
+ onChange = _this$props.onChange,
95
+ points = _this$props.points;
144
96
  var update = (0, _toConsumableArray2["default"])(points);
145
97
  var overlapPoint = !!(points || []).find(function (p) {
146
98
  return (0, _utils.equalPoints)(p, to);
147
99
  });
148
-
149
100
  if ((0, _utils.equalPoints)(from, to) || overlapPoint) {
150
101
  return;
151
102
  }
152
-
153
103
  if (points[index].label) {
154
104
  to.label = points[index].label;
155
105
  }
156
-
157
106
  update.splice(index, 1, to);
158
107
  onChange(update);
159
108
  });
160
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragLine", function (existing, next) {
109
+ (0, _defineProperty2["default"])(_this, "dragLine", function (existing, next) {
161
110
  log('[dragLine]: ', existing, next);
162
111
  var onChange = _this.props.onChange;
163
-
164
112
  if (existing.from.label) {
165
113
  next.from.label = existing.from.label;
166
114
  }
167
-
168
115
  if (existing.to.label) {
169
116
  next.to.label = existing.to.label;
170
117
  }
171
-
172
118
  var points = swap(_this.props.points, existing.from, next.from, existing.to, next.to);
173
119
  onChange(points);
174
120
  });
175
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragPoly", function (existing, next) {
121
+ (0, _defineProperty2["default"])(_this, "dragPoly", function (existing, next) {
176
122
  log('[dragPoly] ', existing, next);
177
123
  var onChange = _this.props.onChange;
178
124
  next.forEach(function (point, index) {
@@ -182,58 +128,50 @@ var RawBaseComponent = /*#__PURE__*/function (_React$Component) {
182
128
  });
183
129
  onChange(next);
184
130
  });
185
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "close", function () {
131
+ (0, _defineProperty2["default"])(_this, "close", function () {
186
132
  var _this$props2 = _this.props,
187
- points = _this$props2.points,
188
- onClosePolygon = _this$props2.onClosePolygon;
133
+ points = _this$props2.points,
134
+ onClosePolygon = _this$props2.onClosePolygon;
189
135
  log('[close] ...');
190
-
191
136
  if (points.length >= 3) {
192
137
  onClosePolygon();
193
138
  } else {
194
139
  log('[close] - nope');
195
140
  }
196
141
  });
197
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelChange", function (point, index) {
142
+ (0, _defineProperty2["default"])(_this, "labelChange", function (point, index) {
198
143
  var _this$props3 = _this.props,
199
- points = _this$props3.points,
200
- onChangeProps = _this$props3.onChangeProps;
201
-
144
+ points = _this$props3.points,
145
+ onChangeProps = _this$props3.onChangeProps;
202
146
  var updatedPoint = _objectSpread({}, point);
203
-
204
147
  if (!point.label || (0, _isEmpty["default"])(point.label)) {
205
148
  delete updatedPoint.label;
206
149
  }
207
-
208
150
  var update = (0, _toConsumableArray2["default"])(points);
209
151
  update.splice(index, 1, updatedPoint);
210
152
  onChangeProps(update);
211
153
  });
212
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clickPoint", function (point, index, data) {
154
+ (0, _defineProperty2["default"])(_this, "clickPoint", function (point, index, data) {
213
155
  var _this$props4 = _this.props,
214
- closed = _this$props4.closed,
215
- disabled = _this$props4.disabled,
216
- onClick = _this$props4.onClick,
217
- isToolActive = _this$props4.isToolActive,
218
- labelModeEnabled = _this$props4.labelModeEnabled,
219
- onChangeProps = _this$props4.onChangeProps,
220
- onChangeLabelProps = _this$props4.onChangeLabelProps,
221
- points = _this$props4.points;
222
-
156
+ closed = _this$props4.closed,
157
+ disabled = _this$props4.disabled,
158
+ onClick = _this$props4.onClick,
159
+ isToolActive = _this$props4.isToolActive,
160
+ labelModeEnabled = _this$props4.labelModeEnabled,
161
+ onChangeProps = _this$props4.onChangeProps,
162
+ onChangeLabelProps = _this$props4.onChangeLabelProps,
163
+ points = _this$props4.points;
223
164
  if (labelModeEnabled) {
224
165
  if (disabled) {
225
166
  return;
226
167
  }
227
-
228
168
  if (points && index === points.length) {
229
169
  var _getRightestPoints = (0, _utils.getRightestPoints)(points),
230
- a = _getRightestPoints.a,
231
- b = _getRightestPoints.b;
232
-
170
+ a = _getRightestPoints.a,
171
+ b = _getRightestPoints.b;
233
172
  var middle = _objectSpread(_objectSpread({
234
173
  label: ''
235
174
  }, point), (0, _utils.getMiddleOfTwoPoints)(a, b));
236
-
237
175
  onChangeLabelProps(middle);
238
176
  } else {
239
177
  var update = (0, _toConsumableArray2["default"])(points);
@@ -242,46 +180,39 @@ var RawBaseComponent = /*#__PURE__*/function (_React$Component) {
242
180
  }, point));
243
181
  onChangeProps(update);
244
182
  }
245
-
246
183
  if (_this.input[index]) {
247
184
  _this.input[index].focus();
248
185
  }
249
-
250
186
  return;
251
187
  }
252
-
253
188
  if (isToolActive && !closed && index === 0) {
254
189
  _this.close();
255
-
256
190
  return;
257
191
  }
258
-
259
192
  onClick(point || data);
260
193
  });
261
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "input", {});
194
+ // IMPORTANT, do not remove
195
+ (0, _defineProperty2["default"])(_this, "input", {});
262
196
  return _this;
263
197
  }
264
-
265
- (0, _createClass2["default"])(RawBaseComponent, [{
198
+ (0, _inherits2["default"])(RawBaseComponent, _React$Component);
199
+ return (0, _createClass2["default"])(RawBaseComponent, [{
266
200
  key: "render",
267
201
  value: function render() {
268
202
  var _this2 = this;
269
-
270
203
  var _this$props5 = this.props,
271
- closed = _this$props5.closed,
272
- graphProps = _this$props5.graphProps,
273
- onChangeLabelProps = _this$props5.onChangeLabelProps,
274
- points = _this$props5.points,
275
- middle = _this$props5.middle,
276
- labelNode = _this$props5.labelNode,
277
- labelModeEnabled = _this$props5.labelModeEnabled,
278
- _this$props5$isSoluti = _this$props5.isSolution,
279
- isSolution = _this$props5$isSoluti === void 0 ? false : _this$props5$isSoluti;
204
+ closed = _this$props5.closed,
205
+ graphProps = _this$props5.graphProps,
206
+ onChangeLabelProps = _this$props5.onChangeLabelProps,
207
+ points = _this$props5.points,
208
+ middle = _this$props5.middle,
209
+ labelNode = _this$props5.labelNode,
210
+ labelModeEnabled = _this$props5.labelModeEnabled,
211
+ _this$props5$isSoluti = _this$props5.isSolution,
212
+ isSolution = _this$props5$isSoluti === void 0 ? false : _this$props5$isSoluti;
280
213
  var polygonLabelIndex = points && points.length || 0;
281
-
282
- if (labelNode && middle && middle.hasOwnProperty('label')) {
283
- /*#__PURE__*/
284
- _reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
214
+ if (labelNode && middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {
215
+ /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
285
216
  inputRef: function inputRef(r) {
286
217
  return _this2.input[polygonLabelIndex] = r;
287
218
  },
@@ -295,7 +226,6 @@ var RawBaseComponent = /*#__PURE__*/function (_React$Component) {
295
226
  }
296
227
  }), labelNode);
297
228
  }
298
-
299
229
  return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_polygon["default"], {
300
230
  points: points,
301
231
  closed: closed,
@@ -305,12 +235,8 @@ var RawBaseComponent = /*#__PURE__*/function (_React$Component) {
305
235
  })));
306
236
  }
307
237
  }]);
308
- return RawBaseComponent;
309
238
  }(_react["default"].Component);
310
-
311
- exports.RawBaseComponent = RawBaseComponent;
312
239
  (0, _defineProperty2["default"])(RawBaseComponent, "propTypes", {
313
- classes: _propTypes["default"].object,
314
240
  className: _propTypes["default"].string,
315
241
  disabled: _propTypes["default"].bool,
316
242
  correctness: _propTypes["default"].string,
@@ -334,80 +260,60 @@ exports.RawBaseComponent = RawBaseComponent;
334
260
  (0, _defineProperty2["default"])(RawBaseComponent, "defaultProps", {
335
261
  points: []
336
262
  });
337
- var BaseComponent = (0, _styles.withStyles)(function () {
338
- return {};
339
- })(RawBaseComponent);
340
- exports.BaseComponent = BaseComponent;
341
-
342
- var Component = /*#__PURE__*/function (_React$Component2) {
343
- (0, _inherits2["default"])(Component, _React$Component2);
344
-
345
- var _super2 = _createSuper(Component);
346
-
263
+ var BaseComponent = exports.BaseComponent = RawBaseComponent;
264
+ var Component = exports["default"] = /*#__PURE__*/function (_React$Component2) {
347
265
  function Component(props) {
348
266
  var _this3;
349
-
350
267
  (0, _classCallCheck2["default"])(this, Component);
351
- _this3 = _super2.call(this, props);
352
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "change", function (points) {
268
+ _this3 = _callSuper(this, Component, [props]);
269
+ (0, _defineProperty2["default"])(_this3, "change", function (points) {
353
270
  var middle = _this3.props.mark.middle;
354
-
355
271
  var mark = _objectSpread(_objectSpread({}, _this3.state.mark), {}, {
356
272
  points: points
357
273
  });
358
-
359
274
  if (middle) {
360
275
  var _getRightestPoints2 = (0, _utils.getRightestPoints)(points),
361
- a = _getRightestPoints2.a,
362
- b = _getRightestPoints2.b;
363
-
276
+ a = _getRightestPoints2.a,
277
+ b = _getRightestPoints2.b;
364
278
  mark.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(a, b));
365
279
  }
366
-
367
280
  _this3.setState({
368
281
  mark: mark
369
282
  });
370
283
  });
371
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "changeProps", function (points) {
284
+ (0, _defineProperty2["default"])(_this3, "changeProps", function (points) {
372
285
  var mark = _objectSpread(_objectSpread({}, _this3.props.mark), {}, {
373
286
  points: points
374
287
  });
375
-
376
288
  _this3.props.onChange(_this3.props.mark, mark);
377
289
  });
378
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "changeLabelProps", function (point) {
290
+ (0, _defineProperty2["default"])(_this3, "changeLabelProps", function (point) {
379
291
  var _this3$props = _this3.props,
380
- mark = _this3$props.mark,
381
- onChange = _this3$props.onChange;
382
-
292
+ mark = _this3$props.mark,
293
+ onChange = _this3$props.onChange;
383
294
  var middle = _objectSpread(_objectSpread({}, mark.middle), point);
384
-
385
295
  onChange(mark, _objectSpread(_objectSpread({}, mark), {}, {
386
296
  middle: middle
387
297
  }));
388
298
  });
389
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "closePolygon", function () {
299
+ (0, _defineProperty2["default"])(_this3, "closePolygon", function () {
390
300
  log('[closePolygon] ...');
391
301
  var _this3$props2 = _this3.props,
392
- onComplete = _this3$props2.onComplete,
393
- mark = _this3$props2.mark;
394
-
302
+ onComplete = _this3$props2.onComplete,
303
+ mark = _this3$props2.mark;
395
304
  var update = _objectSpread(_objectSpread({}, mark), {}, {
396
305
  closed: true
397
306
  });
398
-
399
307
  onComplete(mark, update);
400
308
  });
401
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "dragStart", function () {
309
+ (0, _defineProperty2["default"])(_this3, "dragStart", function () {
402
310
  return _this3.setState({
403
311
  mark: _this3.props.mark
404
312
  });
405
313
  });
406
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "dragStop", function () {
314
+ (0, _defineProperty2["default"])(_this3, "dragStop", function () {
407
315
  var onChange = _this3.props.onChange;
408
-
409
316
  var m = _objectSpread({}, _this3.state.mark);
410
-
411
317
  _this3.setState({
412
318
  mark: undefined
413
319
  }, function () {
@@ -417,18 +323,18 @@ var Component = /*#__PURE__*/function (_React$Component2) {
417
323
  _this3.state = {};
418
324
  return _this3;
419
325
  }
420
-
421
- (0, _createClass2["default"])(Component, [{
326
+ (0, _inherits2["default"])(Component, _React$Component2);
327
+ return (0, _createClass2["default"])(Component, [{
422
328
  key: "render",
423
329
  value: function render() {
424
330
  var _this$props6 = this.props,
425
- coordinatesOnHover = _this$props6.coordinatesOnHover,
426
- mark = _this$props6.mark,
427
- graphProps = _this$props6.graphProps,
428
- onClick = _this$props6.onClick,
429
- isToolActive = _this$props6.isToolActive,
430
- labelNode = _this$props6.labelNode,
431
- labelModeEnabled = _this$props6.labelModeEnabled;
331
+ coordinatesOnHover = _this$props6.coordinatesOnHover,
332
+ mark = _this$props6.mark,
333
+ graphProps = _this$props6.graphProps,
334
+ onClick = _this$props6.onClick,
335
+ isToolActive = _this$props6.isToolActive,
336
+ labelNode = _this$props6.labelNode,
337
+ labelModeEnabled = _this$props6.labelModeEnabled;
432
338
  var stateMark = this.state.mark;
433
339
  return /*#__PURE__*/_react["default"].createElement(BaseComponent, (0, _extends2["default"])({}, stateMark || mark, {
434
340
  coordinatesOnHover: coordinatesOnHover,
@@ -446,10 +352,7 @@ var Component = /*#__PURE__*/function (_React$Component2) {
446
352
  }));
447
353
  }
448
354
  }]);
449
- return Component;
450
355
  }(_react["default"].Component);
451
-
452
- exports["default"] = Component;
453
356
  (0, _defineProperty2["default"])(Component, "propTypes", _objectSpread(_objectSpread({}, _types.ToolPropTypeFields), {}, {
454
357
  graphProps: _plot.types.GraphPropsType.isRequired
455
358
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/polygon/component.jsx"],"names":["log","buildLines","points","closed","expanded","reduce","acc","p","index","push","isLast","length","next","all","map","from","to","swap","arr","rest","pairs","pr","e","replacement","Number","isFinite","splice","RawBaseComponent","props","onChange","update","overlapPoint","find","label","existing","forEach","point","onClosePolygon","onChangeProps","updatedPoint","data","disabled","onClick","isToolActive","labelModeEnabled","onChangeLabelProps","a","b","middle","input","focus","close","graphProps","labelNode","isSolution","polygonLabelIndex","hasOwnProperty","ReactDOM","createPortal","r","clickPoint","bind","React","Component","classes","PropTypes","object","className","string","bool","correctness","arrayOf","types","PointType","coordinatesOnHover","func","isRequired","onDragStart","onDragStop","GraphPropsType","BaseComponent","mark","state","setState","onComplete","m","undefined","stateMark","change","changeLabelProps","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ToolPropTypeFields } from '../shared/types';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport debug from 'debug';\nimport DraggablePolygon from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { getMiddleOfTwoPoints, getRightestPoints, equalPoints } from '../../utils';\n\nconst log = debug('pie-lib:graphing-solution-set: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 isSolution: 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 onChangeLabelProps: PropTypes.func,\n onChangeProps: PropTypes.func,\n };\n\n static defaultProps = {\n points: [],\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find((p) => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n\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 onClick,\n isToolActive,\n labelModeEnabled,\n onChangeProps,\n onChangeLabelProps,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n if (disabled) {\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 onChangeLabelProps(middle);\n } else {\n const update = [...points];\n\n update.splice(index, 1, { label: '', ...point });\n onChangeProps(update);\n }\n\n if (this.input[index]) {\n this.input[index].focus();\n }\n\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 graphProps,\n onChangeLabelProps,\n points,\n middle,\n labelNode,\n labelModeEnabled,\n isSolution = false,\n } = this.props;\n const polygonLabelIndex = (points && points.length) || 0;\n if (labelNode && middle && middle.hasOwnProperty('label')) {\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\n />,\n labelNode,\n );\n }\n return (\n <g>\n <React.Fragment>\n <DraggablePolygon\n points={points}\n closed={closed}\n isSolution={isSolution}\n graphProps={graphProps}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n </React.Fragment>\n </g>\n );\n }\n}\n\nexport const BaseComponent = withStyles(() => ({}))(RawBaseComponent);\n\nexport default class Component extends React.Component {\n static propTypes = {\n ...ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n change = (points) => {\n const {\n mark: { middle },\n } = this.props;\n const mark = { ...this.state.mark, points };\n\n if (middle) {\n const { a, b } = getRightestPoints(points);\n\n mark.middle = { ...middle, ...getMiddleOfTwoPoints(a, b) };\n }\n\n this.setState({ mark });\n };\n\n changeProps = (points) => {\n const mark = { ...this.props.mark, points };\n\n this.props.onChange(this.props.mark, mark);\n };\n\n changeLabelProps = (point) => {\n const { mark, onChange } = this.props;\n const middle = { ...mark.middle, ...point };\n\n onChange(mark, { ...mark, middle });\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n\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 } = this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n}\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_chunk","_initial","_debug","_polygon","_plot","_invariant","_reactDom","_markLabel","_isEmpty","_utils","_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","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","onClick","isToolActive","labelModeEnabled","onChangeLabelProps","_getRightestPoints","getRightestPoints","a","b","middle","getMiddleOfTwoPoints","input","focus","close","_inherits2","_createClass2","key","value","render","_this2","_this$props5","graphProps","labelNode","_this$props5$isSoluti","isSolution","polygonLabelIndex","hasOwnProperty","ReactDOM","createPortal","createElement","inputRef","mark","Fragment","clickPoint","bind","React","Component","className","PropTypes","string","bool","correctness","arrayOf","types","PointType","coordinatesOnHover","func","isRequired","onDragStart","onDragStop","GraphPropsType","object","BaseComponent","_React$Component2","_this3","state","_getRightestPoints2","setState","_this3$props","_this3$props2","onComplete","m","undefined","_this$props6","stateMark","_extends2","change","changeLabelProps","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 chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport debug from 'debug';\nimport DraggablePolygon from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { getMiddleOfTwoPoints, getRightestPoints, equalPoints } from '../../utils';\n\nconst log = debug('pie-lib:graphing-solution-set: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 className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n points: PropTypes.arrayOf(types.PointType),\n closed: PropTypes.bool,\n isSolution: 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 onChangeLabelProps: PropTypes.func,\n onChangeProps: PropTypes.func,\n };\n\n static defaultProps = {\n points: [],\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find((p) => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n\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 onClick,\n isToolActive,\n labelModeEnabled,\n onChangeProps,\n onChangeLabelProps,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n if (disabled) {\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 onChangeLabelProps(middle);\n } else {\n const update = [...points];\n\n update.splice(index, 1, { label: '', ...point });\n onChangeProps(update);\n }\n\n if (this.input[index]) {\n this.input[index].focus();\n }\n\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 graphProps,\n onChangeLabelProps,\n points,\n middle,\n labelNode,\n labelModeEnabled,\n isSolution = false,\n } = this.props;\n const polygonLabelIndex = (points && points.length) || 0;\n if (labelNode && middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\n />,\n labelNode,\n );\n }\n return (\n <g>\n <React.Fragment>\n <DraggablePolygon\n points={points}\n closed={closed}\n isSolution={isSolution}\n graphProps={graphProps}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n </React.Fragment>\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 onChange(mark, { ...mark, middle });\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n\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 } = this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}