@pie-lib/graphing 2.17.0 → 2.19.0

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