@pie-element/drawing-response 4.6.1-beta.1 → 4.6.1-beta.4
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/configure/lib/button.js +51 -0
- package/configure/lib/button.js.map +1 -0
- package/configure/lib/defaults.js +56 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/image-container.js +318 -0
- package/configure/lib/image-container.js.map +1 -0
- package/configure/lib/index.js +141 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/root.js +220 -0
- package/configure/lib/root.js.map +1 -0
- package/configure/package.json +2 -2
- package/controller/lib/defaults.js +16 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +68 -0
- package/controller/lib/index.js.map +1 -0
- package/lib/drawing-response/button.js +64 -0
- package/lib/drawing-response/button.js.map +1 -0
- package/lib/drawing-response/constants.js +44 -0
- package/lib/drawing-response/constants.js.map +1 -0
- package/lib/drawing-response/container.js +298 -0
- package/lib/drawing-response/container.js.map +1 -0
- package/lib/drawing-response/drawable-circle.js +98 -0
- package/lib/drawing-response/drawable-circle.js.map +1 -0
- package/lib/drawing-response/drawable-eraser.js +80 -0
- package/lib/drawing-response/drawable-eraser.js.map +1 -0
- package/lib/drawing-response/drawable-free-path.js +90 -0
- package/lib/drawing-response/drawable-free-path.js.map +1 -0
- package/lib/drawing-response/drawable-helper.js +40 -0
- package/lib/drawing-response/drawable-helper.js.map +1 -0
- package/lib/drawing-response/drawable-image.js +51 -0
- package/lib/drawing-response/drawable-image.js.map +1 -0
- package/lib/drawing-response/drawable-line.js +93 -0
- package/lib/drawing-response/drawable-line.js.map +1 -0
- package/lib/drawing-response/drawable-main.js +349 -0
- package/lib/drawing-response/drawable-main.js.map +1 -0
- package/lib/drawing-response/drawable-palette.js +145 -0
- package/lib/drawing-response/drawable-palette.js.map +1 -0
- package/lib/drawing-response/drawable-rectangle.js +98 -0
- package/lib/drawing-response/drawable-rectangle.js.map +1 -0
- package/lib/drawing-response/drawable-text.js +328 -0
- package/lib/drawing-response/drawable-text.js.map +1 -0
- package/lib/drawing-response/drawable-transformer.js +75 -0
- package/lib/drawing-response/drawable-transformer.js.map +1 -0
- package/lib/drawing-response/factory.js +24 -0
- package/lib/drawing-response/factory.js.map +1 -0
- package/lib/drawing-response/icon.js +55 -0
- package/lib/drawing-response/icon.js.map +1 -0
- package/lib/drawing-response/index.js +102 -0
- package/lib/drawing-response/index.js.map +1 -0
- package/lib/index.js +87 -0
- package/lib/index.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.Container = void 0;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
var _styles = require("@material-ui/core/styles");
|
|
20
|
+
var _constants = _interopRequireDefault(require("./constants"));
|
|
21
|
+
var _button = _interopRequireDefault(require("./button"));
|
|
22
|
+
var _drawablePalette = _interopRequireDefault(require("./drawable-palette"));
|
|
23
|
+
var _drawableMain = _interopRequireDefault(require("./drawable-main"));
|
|
24
|
+
var _drawableText = _interopRequireDefault(require("./drawable-text"));
|
|
25
|
+
var _icon = _interopRequireDefault(require("./icon"));
|
|
26
|
+
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); }
|
|
27
|
+
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; }
|
|
28
|
+
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); }; }
|
|
29
|
+
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; } }
|
|
30
|
+
var TOOLS = _constants["default"].tools;
|
|
31
|
+
var ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map(function (c) {
|
|
32
|
+
return {
|
|
33
|
+
value: c,
|
|
34
|
+
label: c
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
var Container = /*#__PURE__*/function (_Component) {
|
|
38
|
+
(0, _inherits2["default"])(Container, _Component);
|
|
39
|
+
var _super = _createSuper(Container);
|
|
40
|
+
function Container(props) {
|
|
41
|
+
var _this;
|
|
42
|
+
(0, _classCallCheck2["default"])(this, Container);
|
|
43
|
+
_this = _super.call(this, props);
|
|
44
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkIfToolIsDisabled", function (type) {
|
|
45
|
+
if (_this.props.disabled) return true;
|
|
46
|
+
var toolActive = _this.state.toolActive;
|
|
47
|
+
// Text will never be disabled since on each "Text Entry" click a new text is added
|
|
48
|
+
if (type === 'Text') {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return type === toolActive.type;
|
|
52
|
+
});
|
|
53
|
+
var TextEntry = new _drawableText["default"]();
|
|
54
|
+
_this.state = {
|
|
55
|
+
scale: 1,
|
|
56
|
+
drawableDimensions: {
|
|
57
|
+
height: 0,
|
|
58
|
+
width: 0
|
|
59
|
+
},
|
|
60
|
+
toolActive: TOOLS[0],
|
|
61
|
+
fillColor: 'white',
|
|
62
|
+
fillColorList: [{
|
|
63
|
+
value: 'transparent',
|
|
64
|
+
label: 'no fill'
|
|
65
|
+
}, {
|
|
66
|
+
value: 'lightblue',
|
|
67
|
+
label: 'light blue'
|
|
68
|
+
}, {
|
|
69
|
+
value: 'lightyellow',
|
|
70
|
+
label: 'light yellow'
|
|
71
|
+
}].concat((0, _toConsumableArray2["default"])(ROGVAIV)),
|
|
72
|
+
outlineColor: 'black',
|
|
73
|
+
outlineColorList: ROGVAIV,
|
|
74
|
+
paintColor: 'red',
|
|
75
|
+
paintColorList: ROGVAIV,
|
|
76
|
+
TextEntry: TextEntry
|
|
77
|
+
};
|
|
78
|
+
return _this;
|
|
79
|
+
}
|
|
80
|
+
(0, _createClass2["default"])(Container, [{
|
|
81
|
+
key: "setDimensions",
|
|
82
|
+
value: function setDimensions() {
|
|
83
|
+
var _this2 = this;
|
|
84
|
+
var checkExist = setInterval(function () {
|
|
85
|
+
try {
|
|
86
|
+
var _this2$drawable$getBo = _this2.drawable.getBoundingClientRect(),
|
|
87
|
+
height = _this2$drawable$getBo.height,
|
|
88
|
+
width = _this2$drawable$getBo.width;
|
|
89
|
+
if (height !== 0 && width !== 0) {
|
|
90
|
+
_this2.setState({
|
|
91
|
+
drawableDimensions: {
|
|
92
|
+
height: height,
|
|
93
|
+
width: width
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
} catch (e) {
|
|
98
|
+
// eslint-disable-next-line no-console
|
|
99
|
+
console.warn('setDimensions Error: ', e);
|
|
100
|
+
} finally {
|
|
101
|
+
clearInterval(checkExist);
|
|
102
|
+
}
|
|
103
|
+
}, 100);
|
|
104
|
+
}
|
|
105
|
+
}, {
|
|
106
|
+
key: "componentDidMount",
|
|
107
|
+
value: function componentDidMount() {
|
|
108
|
+
var _this3 = this;
|
|
109
|
+
this.setDimensions();
|
|
110
|
+
this.observer = new MutationObserver(function (mutations) {
|
|
111
|
+
mutations.forEach(function () {
|
|
112
|
+
var _document$getElementB;
|
|
113
|
+
var target = (_document$getElementB = document.getElementById('question-container')) === null || _document$getElementB === void 0 || (_document$getElementB = _document$getElementB.style) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.cssText;
|
|
114
|
+
var zoom = target === null || target === void 0 ? void 0 : target.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));
|
|
115
|
+
var zoomParsed = zoom === null || zoom === void 0 ? void 0 : zoom.replace(/\s/g, '');
|
|
116
|
+
if (zoomParsed) {
|
|
117
|
+
var newScale = parseFloat(zoomParsed) / 100;
|
|
118
|
+
if (newScale !== _this3.state.scale) {
|
|
119
|
+
_this3.setState({
|
|
120
|
+
scale: parseFloat(zoomParsed) / 100
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
} else if (!zoomParsed && _this3.state.scale !== 1) {
|
|
124
|
+
_this3.setState({
|
|
125
|
+
scale: 1
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
var target = document.getElementById('question-container');
|
|
131
|
+
if (target) {
|
|
132
|
+
this.observer.observe(target, {
|
|
133
|
+
attributes: true,
|
|
134
|
+
attributeFilter: ['style']
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}, {
|
|
139
|
+
key: "componentWillUnmount",
|
|
140
|
+
value: function componentWillUnmount() {
|
|
141
|
+
var _this$observer;
|
|
142
|
+
var TextEntry = this.state.TextEntry;
|
|
143
|
+
TextEntry.removeEventListeners();
|
|
144
|
+
(_this$observer = this.observer) === null || _this$observer === void 0 ? void 0 : _this$observer.disconnect();
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
147
|
+
key: "handleMakeToolActive",
|
|
148
|
+
value: function handleMakeToolActive(tool) {
|
|
149
|
+
var TextEntry = this.state.TextEntry;
|
|
150
|
+
var type = tool.type;
|
|
151
|
+
if (type !== 'Text') {
|
|
152
|
+
this.setState({
|
|
153
|
+
toolActive: tool
|
|
154
|
+
});
|
|
155
|
+
} else {
|
|
156
|
+
TextEntry.addNewTextEntry();
|
|
157
|
+
// Force update
|
|
158
|
+
this.setState({
|
|
159
|
+
updatedAt: new Date()
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}, {
|
|
164
|
+
key: "handleColorChange",
|
|
165
|
+
value: function handleColorChange(type, color) {
|
|
166
|
+
var cType = "".concat(type, "Color");
|
|
167
|
+
this.setState((0, _defineProperty2["default"])({}, cType, color));
|
|
168
|
+
}
|
|
169
|
+
}, {
|
|
170
|
+
key: "render",
|
|
171
|
+
value: function render() {
|
|
172
|
+
var _this4 = this;
|
|
173
|
+
var _this$props = this.props,
|
|
174
|
+
classes = _this$props.classes,
|
|
175
|
+
disabled = _this$props.disabled,
|
|
176
|
+
imageUrl = _this$props.imageUrl,
|
|
177
|
+
imageDimensions = _this$props.imageDimensions,
|
|
178
|
+
onSessionChange = _this$props.onSessionChange,
|
|
179
|
+
session = _this$props.session,
|
|
180
|
+
backgroundImageEnabled = _this$props.backgroundImageEnabled;
|
|
181
|
+
var _this$state = this.state,
|
|
182
|
+
drawableDimensions = _this$state.drawableDimensions,
|
|
183
|
+
toolActive = _this$state.toolActive,
|
|
184
|
+
fillColor = _this$state.fillColor,
|
|
185
|
+
fillColorList = _this$state.fillColorList,
|
|
186
|
+
outlineColor = _this$state.outlineColor,
|
|
187
|
+
outlineColorList = _this$state.outlineColorList,
|
|
188
|
+
paintColor = _this$state.paintColor,
|
|
189
|
+
paintColorList = _this$state.paintColorList,
|
|
190
|
+
TextEntry = _this$state.TextEntry;
|
|
191
|
+
var heightToUse = drawableDimensions.height * this.state.scale;
|
|
192
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
193
|
+
className: classes.base
|
|
194
|
+
}, !disabled && /*#__PURE__*/_react["default"].createElement(_drawablePalette["default"], {
|
|
195
|
+
fillColor: fillColor,
|
|
196
|
+
fillList: fillColorList,
|
|
197
|
+
outlineColor: outlineColor,
|
|
198
|
+
outlineList: outlineColorList,
|
|
199
|
+
paintColor: paintColor,
|
|
200
|
+
paintList: paintColorList,
|
|
201
|
+
onFillColorChange: function onFillColorChange(color) {
|
|
202
|
+
return _this4.handleColorChange('fill', color);
|
|
203
|
+
},
|
|
204
|
+
onOutlineColorChange: function onOutlineColorChange(color) {
|
|
205
|
+
return _this4.handleColorChange('outline', color);
|
|
206
|
+
},
|
|
207
|
+
onPaintColorChange: function onPaintColorChange(color) {
|
|
208
|
+
return _this4.handleColorChange('paint', color);
|
|
209
|
+
}
|
|
210
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
211
|
+
className: classes.box
|
|
212
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
213
|
+
className: classes.toolbar
|
|
214
|
+
}, TOOLS.map(function (tool) {
|
|
215
|
+
var type = tool.type,
|
|
216
|
+
label = tool.label,
|
|
217
|
+
icon = tool.icon;
|
|
218
|
+
return /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
219
|
+
title: label,
|
|
220
|
+
key: type,
|
|
221
|
+
disabled: _this4.checkIfToolIsDisabled(type),
|
|
222
|
+
onClick: function onClick() {
|
|
223
|
+
return _this4.handleMakeToolActive(tool);
|
|
224
|
+
},
|
|
225
|
+
label: /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
|
226
|
+
path: icon
|
|
227
|
+
})
|
|
228
|
+
});
|
|
229
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
230
|
+
ref: function ref(drawable) {
|
|
231
|
+
_this4.drawable = drawable;
|
|
232
|
+
},
|
|
233
|
+
className: classes.drawableHeight,
|
|
234
|
+
style: {
|
|
235
|
+
height: heightToUse,
|
|
236
|
+
maxHeight: heightToUse
|
|
237
|
+
}
|
|
238
|
+
}, /*#__PURE__*/_react["default"].createElement(_drawableMain["default"], {
|
|
239
|
+
scale: this.state.scale,
|
|
240
|
+
session: session,
|
|
241
|
+
disabled: disabled,
|
|
242
|
+
onSessionChange: onSessionChange,
|
|
243
|
+
fillColor: fillColor,
|
|
244
|
+
outlineColor: outlineColor,
|
|
245
|
+
paintColor: paintColor,
|
|
246
|
+
imageUrl: imageUrl,
|
|
247
|
+
drawableDimensions: drawableDimensions,
|
|
248
|
+
imageDimensions: imageDimensions,
|
|
249
|
+
toolActive: toolActive,
|
|
250
|
+
TextEntry: TextEntry,
|
|
251
|
+
backgroundImageEnabled: backgroundImageEnabled
|
|
252
|
+
}))));
|
|
253
|
+
}
|
|
254
|
+
}]);
|
|
255
|
+
return Container;
|
|
256
|
+
}(_react.Component);
|
|
257
|
+
exports.Container = Container;
|
|
258
|
+
(0, _defineProperty2["default"])(Container, "propTypes", {
|
|
259
|
+
classes: _propTypes["default"].object.isRequired,
|
|
260
|
+
disabled: _propTypes["default"].bool,
|
|
261
|
+
session: _propTypes["default"].object.isRequired,
|
|
262
|
+
onSessionChange: _propTypes["default"].func.isRequired,
|
|
263
|
+
imageDimensions: _propTypes["default"].object.isRequired,
|
|
264
|
+
imageUrl: _propTypes["default"].string.isRequired,
|
|
265
|
+
backgroundImageEnabled: _propTypes["default"].bool.isRequired
|
|
266
|
+
});
|
|
267
|
+
var styles = function styles(theme) {
|
|
268
|
+
return {
|
|
269
|
+
base: {
|
|
270
|
+
marginTop: theme.spacing.unit * 2
|
|
271
|
+
},
|
|
272
|
+
box: {
|
|
273
|
+
border: '1px solid #E0E1E6',
|
|
274
|
+
borderRadius: '5px',
|
|
275
|
+
marginTop: theme.spacing.unit * 2,
|
|
276
|
+
backgroundColor: '#ECEDF1'
|
|
277
|
+
},
|
|
278
|
+
drawableHeight: {
|
|
279
|
+
minHeight: 350,
|
|
280
|
+
backgroundColor: '#fff'
|
|
281
|
+
},
|
|
282
|
+
toolbar: {
|
|
283
|
+
borderBottom: '1px solid #E0E1E6',
|
|
284
|
+
borderTopLeftRadius: '5px',
|
|
285
|
+
borderTopRightRadius: '5px',
|
|
286
|
+
padding: '12px 8px 4px',
|
|
287
|
+
boxSizing: 'border-box',
|
|
288
|
+
maxWidth: 'calc(100% - 163px)',
|
|
289
|
+
// 163px is the width set on undoControls
|
|
290
|
+
'& button': {
|
|
291
|
+
marginBottom: '8px'
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
var _default = (0, _styles.withStyles)(styles)(Container);
|
|
297
|
+
exports["default"] = _default;
|
|
298
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_constants","_button","_drawablePalette","_drawableMain","_drawableText","_icon","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","TOOLS","constants","tools","ROGVAIV","map","c","value","label","Container","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","type","disabled","toolActive","state","TextEntry","DrawableText","scale","drawableDimensions","height","width","fillColor","fillColorList","concat","_toConsumableArray2","outlineColor","outlineColorList","paintColor","paintColorList","_createClass2","setDimensions","_this2","checkExist","setInterval","_this2$drawable$getBo","drawable","getBoundingClientRect","setState","console","warn","clearInterval","componentDidMount","_this3","observer","MutationObserver","mutations","forEach","_document$getElementB","target","document","getElementById","style","cssText","zoom","substring","indexOf","lastIndexOf","zoomParsed","replace","newScale","parseFloat","observe","attributes","attributeFilter","componentWillUnmount","_this$observer","removeEventListeners","disconnect","handleMakeToolActive","tool","addNewTextEntry","updatedAt","Date","handleColorChange","color","cType","render","_this4","_this$props","classes","imageUrl","imageDimensions","onSessionChange","session","backgroundImageEnabled","_this$state","heightToUse","createElement","className","base","fillList","outlineList","paintList","onFillColorChange","onOutlineColorChange","onPaintColorChange","box","toolbar","icon","title","checkIfToolIsDisabled","onClick","path","ref","drawableHeight","maxHeight","Component","exports","PropTypes","object","isRequired","bool","func","string","styles","theme","marginTop","spacing","unit","border","borderRadius","backgroundColor","minHeight","borderBottom","borderTopLeftRadius","borderTopRightRadius","padding","boxSizing","maxWidth","marginBottom","_default","withStyles"],"sources":["../../src/drawing-response/container.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport constants from './constants';\nimport Button from './button';\nimport DrawablePalette from './drawable-palette';\nimport DrawableMain from './drawable-main';\nimport DrawableText from './drawable-text';\nimport Icon from './icon';\n\nconst { tools: TOOLS } = constants;\n\nconst ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map((c) => ({\n value: c,\n label: c,\n}));\n\nexport class Container extends Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired,\n backgroundImageEnabled: PropTypes.bool.isRequired,\n };\n\n constructor(props) {\n super(props);\n const TextEntry = new DrawableText();\n\n this.state = {\n scale: 1,\n drawableDimensions: {\n height: 0,\n width: 0,\n },\n toolActive: TOOLS[0],\n fillColor: 'white',\n fillColorList: [\n { value: 'transparent', label: 'no fill' },\n { value: 'lightblue', label: 'light blue' },\n { value: 'lightyellow', label: 'light yellow' },\n ...ROGVAIV,\n ],\n outlineColor: 'black',\n outlineColorList: ROGVAIV,\n paintColor: 'red',\n paintColorList: ROGVAIV,\n TextEntry,\n };\n }\n\n setDimensions() {\n const checkExist = setInterval(() => {\n try {\n const { height, width } = this.drawable.getBoundingClientRect();\n if (height !== 0 && width !== 0) {\n this.setState({\n drawableDimensions: {\n height,\n width,\n },\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('setDimensions Error: ', e);\n } finally {\n clearInterval(checkExist);\n }\n }, 100);\n }\n\n componentDidMount() {\n this.setDimensions();\n\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach(() => {\n const target = document.getElementById('question-container')?.style?.cssText;\n const zoom = target?.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));\n const zoomParsed = zoom?.replace(/\\s/g, '');\n\n if (zoomParsed) {\n const newScale = parseFloat(zoomParsed) / 100;\n if (newScale !== this.state.scale) {\n this.setState({\n scale: parseFloat(zoomParsed) / 100,\n });\n }\n } else if (!zoomParsed && this.state.scale !== 1) {\n this.setState({\n scale: 1,\n });\n }\n });\n });\n\n const target = document.getElementById('question-container');\n if (target) {\n this.observer.observe(target, { attributes: true, attributeFilter: ['style'] });\n }\n }\n\n componentWillUnmount() {\n const { TextEntry } = this.state;\n\n TextEntry.removeEventListeners();\n this.observer?.disconnect();\n }\n\n handleMakeToolActive(tool) {\n const { TextEntry } = this.state;\n const { type } = tool;\n\n if (type !== 'Text') {\n this.setState({\n toolActive: tool,\n });\n } else {\n TextEntry.addNewTextEntry();\n // Force update\n this.setState({\n updatedAt: new Date(),\n });\n }\n }\n\n checkIfToolIsDisabled = (type) => {\n if (this.props.disabled) return true;\n\n const { toolActive } = this.state;\n // Text will never be disabled since on each \"Text Entry\" click a new text is added\n if (type === 'Text') {\n return false;\n }\n return type === toolActive.type;\n };\n\n handleColorChange(type, color) {\n const cType = `${type}Color`;\n this.setState({\n [cType]: color,\n });\n }\n\n render() {\n const { classes, disabled, imageUrl, imageDimensions, onSessionChange, session, backgroundImageEnabled } =\n this.props;\n const {\n drawableDimensions,\n toolActive,\n fillColor,\n fillColorList,\n outlineColor,\n outlineColorList,\n paintColor,\n paintColorList,\n TextEntry,\n } = this.state;\n\n const heightToUse = drawableDimensions.height * this.state.scale;\n\n return (\n <div className={classes.base}>\n {!disabled && (\n <DrawablePalette\n fillColor={fillColor}\n fillList={fillColorList}\n outlineColor={outlineColor}\n outlineList={outlineColorList}\n paintColor={paintColor}\n paintList={paintColorList}\n onFillColorChange={(color) => this.handleColorChange('fill', color)}\n onOutlineColorChange={(color) => this.handleColorChange('outline', color)}\n onPaintColorChange={(color) => this.handleColorChange('paint', color)}\n />\n )}\n\n <div className={classes.box}>\n <div className={classes.toolbar}>\n {TOOLS.map((tool) => {\n const { type, label, icon } = tool;\n\n return (\n <Button\n title={label}\n key={type}\n disabled={this.checkIfToolIsDisabled(type)}\n onClick={() => this.handleMakeToolActive(tool)}\n label={<Icon path={icon} />}\n />\n );\n })}\n </div>\n\n <div\n ref={(drawable) => {\n this.drawable = drawable;\n }}\n className={classes.drawableHeight}\n style={{ height: heightToUse, maxHeight: heightToUse }}\n >\n <DrawableMain\n scale={this.state.scale}\n session={session}\n disabled={disabled}\n onSessionChange={onSessionChange}\n fillColor={fillColor}\n outlineColor={outlineColor}\n paintColor={paintColor}\n imageUrl={imageUrl}\n drawableDimensions={drawableDimensions}\n imageDimensions={imageDimensions}\n toolActive={toolActive}\n TextEntry={TextEntry}\n backgroundImageEnabled={backgroundImageEnabled}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n base: {\n marginTop: theme.spacing.unit * 2,\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n marginTop: theme.spacing.unit * 2,\n backgroundColor: '#ECEDF1',\n },\n drawableHeight: {\n minHeight: 350,\n backgroundColor: '#fff',\n },\n toolbar: {\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n padding: '12px 8px 4px',\n boxSizing: 'border-box',\n maxWidth: 'calc(100% - 163px)', // 163px is the width set on undoControls\n '& button': {\n marginBottom: '8px',\n },\n },\n});\n\nexport default withStyles(styles)(Container);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
var _reactKonva = require("react-konva");
|
|
17
|
+
var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
|
|
18
|
+
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); }; }
|
|
19
|
+
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; } }
|
|
20
|
+
var CircleDrawable = /*#__PURE__*/function (_DrawableHelper) {
|
|
21
|
+
(0, _inherits2["default"])(CircleDrawable, _DrawableHelper);
|
|
22
|
+
var _super = _createSuper(CircleDrawable);
|
|
23
|
+
function CircleDrawable(_props) {
|
|
24
|
+
var _this;
|
|
25
|
+
(0, _classCallCheck2["default"])(this, CircleDrawable);
|
|
26
|
+
_this = _super.call(this, _props, CircleDrawable.TYPE);
|
|
27
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDragEnd", function (props, event) {
|
|
28
|
+
var deltaX = _this.startx - event.target.getX();
|
|
29
|
+
var deltaY = _this.starty - event.target.getY();
|
|
30
|
+
_this.startx = event.target.getX();
|
|
31
|
+
_this.starty = event.target.getY();
|
|
32
|
+
_this.x = _this.x - deltaX;
|
|
33
|
+
_this.y = _this.y - deltaY;
|
|
34
|
+
props.handleSessionChange();
|
|
35
|
+
});
|
|
36
|
+
var startx = _props.startx,
|
|
37
|
+
starty = _props.starty,
|
|
38
|
+
x = _props.x,
|
|
39
|
+
y = _props.y;
|
|
40
|
+
_this.startx = startx;
|
|
41
|
+
_this.starty = starty;
|
|
42
|
+
_this.x = x || startx;
|
|
43
|
+
_this.y = y || starty;
|
|
44
|
+
var dx = _this.startx - _this.x;
|
|
45
|
+
var dy = _this.starty - _this.y;
|
|
46
|
+
_this.radius = Math.sqrt(dx * dx + dy * dy);
|
|
47
|
+
return _this;
|
|
48
|
+
}
|
|
49
|
+
(0, _createClass2["default"])(CircleDrawable, [{
|
|
50
|
+
key: "registerMovement",
|
|
51
|
+
value: function registerMovement(x, y) {
|
|
52
|
+
this.x = x;
|
|
53
|
+
this.y = y;
|
|
54
|
+
var dx = this.startx - this.x;
|
|
55
|
+
var dy = this.starty - this.y;
|
|
56
|
+
this.radius = Math.sqrt(dx * dx + dy * dy);
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "handleOnClick",
|
|
60
|
+
value: function handleOnClick(props) {
|
|
61
|
+
var paint = props.paint,
|
|
62
|
+
paintColor = props.paintColor,
|
|
63
|
+
forceUpdate = props.forceUpdate;
|
|
64
|
+
if (paint) {
|
|
65
|
+
this.paintColor = paintColor;
|
|
66
|
+
forceUpdate();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "render",
|
|
71
|
+
value: function render(props) {
|
|
72
|
+
var _this2 = this;
|
|
73
|
+
var draggable = props.draggable,
|
|
74
|
+
key = props.key,
|
|
75
|
+
onMouseOverElement = props.onMouseOverElement,
|
|
76
|
+
onMouseOutElement = props.onMouseOutElement;
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(_reactKonva.Circle, {
|
|
78
|
+
key: key,
|
|
79
|
+
draggable: draggable,
|
|
80
|
+
radius: this.radius,
|
|
81
|
+
x: this.startx,
|
|
82
|
+
y: this.starty,
|
|
83
|
+
fill: this.paintColor || this.fillColor,
|
|
84
|
+
onClick: function onClick() {
|
|
85
|
+
return _this2.handleOnClick(props);
|
|
86
|
+
},
|
|
87
|
+
onDragEnd: this.handleDragEnd.bind(this, props),
|
|
88
|
+
onMouseEnter: onMouseOverElement,
|
|
89
|
+
onMouseLeave: onMouseOutElement,
|
|
90
|
+
stroke: this.outlineColor
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}]);
|
|
94
|
+
return CircleDrawable;
|
|
95
|
+
}(_drawableHelper["default"]);
|
|
96
|
+
exports["default"] = CircleDrawable;
|
|
97
|
+
(0, _defineProperty2["default"])(CircleDrawable, "TYPE", 'CircleDrawable');
|
|
98
|
+
//# sourceMappingURL=drawable-circle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawable-circle.js","names":["_react","_interopRequireDefault","require","_reactKonva","_drawableHelper","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CircleDrawable","_DrawableHelper","_inherits2","_super","props","_this","_classCallCheck2","TYPE","_defineProperty2","_assertThisInitialized2","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","dx","dy","radius","Math","sqrt","_createClass2","key","value","registerMovement","handleOnClick","paint","paintColor","forceUpdate","render","_this2","draggable","onMouseOverElement","onMouseOutElement","createElement","Circle","fill","fillColor","onClick","onDragEnd","handleDragEnd","bind","onMouseEnter","onMouseLeave","stroke","outlineColor","DrawableHelper","exports"],"sources":["../../src/drawing-response/drawable-circle.jsx"],"sourcesContent":["import React from 'react';\nimport { Circle } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class CircleDrawable extends DrawableHelper {\n static TYPE = 'CircleDrawable';\n constructor(props) {\n super(props, CircleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n handleOnClick(props) {\n const { paint, paintColor, forceUpdate } = props;\n\n if (paint) {\n this.paintColor = paintColor;\n forceUpdate();\n }\n }\n\n handleDragEnd = (props, event) => {\n const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Circle\n key={key}\n draggable={draggable}\n radius={this.radius}\n x={this.startx}\n y={this.starty}\n fill={this.paintColor || this.fillColor}\n onClick={() => this.handleOnClick(props)}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n stroke={this.outlineColor}\n />\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _reactKonva = require("react-konva");
|
|
18
|
+
var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
|
|
19
|
+
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); }; }
|
|
20
|
+
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; } }
|
|
21
|
+
var EraserDrawable = /*#__PURE__*/function (_DrawableHelper) {
|
|
22
|
+
(0, _inherits2["default"])(EraserDrawable, _DrawableHelper);
|
|
23
|
+
var _super = _createSuper(EraserDrawable);
|
|
24
|
+
function EraserDrawable(_props) {
|
|
25
|
+
var _this;
|
|
26
|
+
(0, _classCallCheck2["default"])(this, EraserDrawable);
|
|
27
|
+
_this = _super.call(this, _props, EraserDrawable.TYPE);
|
|
28
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDragEnd", function (props, event) {
|
|
29
|
+
_this.posX = event.target.getX();
|
|
30
|
+
_this.posY = event.target.getY();
|
|
31
|
+
props.handleSessionChange();
|
|
32
|
+
});
|
|
33
|
+
var startx = _props.startx,
|
|
34
|
+
starty = _props.starty,
|
|
35
|
+
points = _props.points,
|
|
36
|
+
posX = _props.posX,
|
|
37
|
+
posY = _props.posY;
|
|
38
|
+
_this.points = points || [startx, starty];
|
|
39
|
+
_this.posX = posX || 0;
|
|
40
|
+
_this.posY = posY || 0;
|
|
41
|
+
return _this;
|
|
42
|
+
}
|
|
43
|
+
(0, _createClass2["default"])(EraserDrawable, [{
|
|
44
|
+
key: "registerMovement",
|
|
45
|
+
value: function registerMovement(x, y) {
|
|
46
|
+
this.points = [].concat((0, _toConsumableArray2["default"])(this.points), [x, y]);
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
key: "render",
|
|
50
|
+
value: function render(props) {
|
|
51
|
+
var draggable = props.draggable,
|
|
52
|
+
key = props.key,
|
|
53
|
+
onMouseOverElement = props.onMouseOverElement,
|
|
54
|
+
onMouseOutElement = props.onMouseOutElement;
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement(_reactKonva.Line, {
|
|
56
|
+
key: key,
|
|
57
|
+
draggable: draggable,
|
|
58
|
+
globalCompositeOperation: "destination-out",
|
|
59
|
+
tension: 0,
|
|
60
|
+
bezier: true,
|
|
61
|
+
points: this.points,
|
|
62
|
+
onDragEnd: this.handleDragEnd.bind(this, props),
|
|
63
|
+
onMouseEnter: onMouseOverElement,
|
|
64
|
+
onMouseLeave: onMouseOutElement,
|
|
65
|
+
strokeStyle: "#df4b26",
|
|
66
|
+
lineJoin: "round",
|
|
67
|
+
lineWidth: "5",
|
|
68
|
+
fill: "white",
|
|
69
|
+
stroke: "white",
|
|
70
|
+
strokeWidth: 5,
|
|
71
|
+
x: this.posX,
|
|
72
|
+
y: this.posY
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}]);
|
|
76
|
+
return EraserDrawable;
|
|
77
|
+
}(_drawableHelper["default"]);
|
|
78
|
+
exports["default"] = EraserDrawable;
|
|
79
|
+
(0, _defineProperty2["default"])(EraserDrawable, "TYPE", 'EraserDrawable');
|
|
80
|
+
//# sourceMappingURL=drawable-eraser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawable-eraser.js","names":["_react","_interopRequireDefault","require","_reactKonva","_drawableHelper","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","EraserDrawable","_DrawableHelper","_inherits2","_super","props","_this","_classCallCheck2","TYPE","_defineProperty2","_assertThisInitialized2","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","_createClass2","key","value","registerMovement","x","y","concat","_toConsumableArray2","render","draggable","onMouseOverElement","onMouseOutElement","createElement","Line","globalCompositeOperation","tension","bezier","onDragEnd","handleDragEnd","bind","onMouseEnter","onMouseLeave","strokeStyle","lineJoin","lineWidth","fill","stroke","strokeWidth","DrawableHelper","exports"],"sources":["../../src/drawing-response/drawable-eraser.jsx"],"sourcesContent":["import React from 'react';\nimport { Line } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class EraserDrawable extends DrawableHelper {\n static TYPE = 'EraserDrawable';\n constructor(props) {\n super(props, EraserDrawable.TYPE);\n const { startx, starty, points, posX, posY } = props;\n\n this.points = points || [startx, starty];\n this.posX = posX || 0;\n this.posY = posY || 0;\n }\n\n registerMovement(x, y) {\n this.points = [...this.points, x, y];\n }\n\n handleDragEnd = (props, event) => {\n this.posX = event.target.getX();\n this.posY = event.target.getY();\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Line\n key={key}\n draggable={draggable}\n globalCompositeOperation=\"destination-out\"\n tension={0}\n bezier={true}\n points={this.points}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n strokeStyle=\"#df4b26\"\n lineJoin=\"round\"\n lineWidth=\"5\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth={5}\n x={this.posX}\n y={this.posY}\n />\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _reactKonva = require("react-konva");
|
|
18
|
+
var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
|
|
19
|
+
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); }; }
|
|
20
|
+
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; } }
|
|
21
|
+
var FreePathDrawable = /*#__PURE__*/function (_DrawableHelper) {
|
|
22
|
+
(0, _inherits2["default"])(FreePathDrawable, _DrawableHelper);
|
|
23
|
+
var _super = _createSuper(FreePathDrawable);
|
|
24
|
+
function FreePathDrawable(_props) {
|
|
25
|
+
var _this;
|
|
26
|
+
(0, _classCallCheck2["default"])(this, FreePathDrawable);
|
|
27
|
+
_this = _super.call(this, _props, FreePathDrawable.TYPE);
|
|
28
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDragEnd", function (props, event) {
|
|
29
|
+
_this.posX = event.target.getX();
|
|
30
|
+
_this.posY = event.target.getY();
|
|
31
|
+
props.handleSessionChange();
|
|
32
|
+
});
|
|
33
|
+
var startx = _props.startx,
|
|
34
|
+
starty = _props.starty,
|
|
35
|
+
points = _props.points,
|
|
36
|
+
posX = _props.posX,
|
|
37
|
+
posY = _props.posY;
|
|
38
|
+
_this.points = points || [startx, starty];
|
|
39
|
+
_this.posX = posX || 0;
|
|
40
|
+
_this.posY = posY || 0;
|
|
41
|
+
return _this;
|
|
42
|
+
}
|
|
43
|
+
(0, _createClass2["default"])(FreePathDrawable, [{
|
|
44
|
+
key: "registerMovement",
|
|
45
|
+
value: function registerMovement(x, y) {
|
|
46
|
+
this.points = [].concat((0, _toConsumableArray2["default"])(this.points), [x, y]);
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
key: "handleOnClick",
|
|
50
|
+
value: function handleOnClick(props) {
|
|
51
|
+
var paint = props.paint,
|
|
52
|
+
paintColor = props.paintColor,
|
|
53
|
+
forceUpdate = props.forceUpdate;
|
|
54
|
+
if (paint) {
|
|
55
|
+
this.paintColor = paintColor;
|
|
56
|
+
forceUpdate();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "render",
|
|
61
|
+
value: function render(props) {
|
|
62
|
+
var _this2 = this;
|
|
63
|
+
var draggable = props.draggable,
|
|
64
|
+
key = props.key,
|
|
65
|
+
onMouseOverElement = props.onMouseOverElement,
|
|
66
|
+
onMouseOutElement = props.onMouseOutElement;
|
|
67
|
+
return /*#__PURE__*/_react["default"].createElement(_reactKonva.Line, {
|
|
68
|
+
key: key,
|
|
69
|
+
draggable: draggable,
|
|
70
|
+
tension: 0,
|
|
71
|
+
bezier: true,
|
|
72
|
+
points: this.points,
|
|
73
|
+
fill: this.paintColor || this.fillColor,
|
|
74
|
+
onClick: function onClick() {
|
|
75
|
+
return _this2.handleOnClick(props);
|
|
76
|
+
},
|
|
77
|
+
onDragEnd: this.handleDragEnd.bind(this, props),
|
|
78
|
+
onMouseEnter: onMouseOverElement,
|
|
79
|
+
onMouseLeave: onMouseOutElement,
|
|
80
|
+
stroke: this.paintColor || this.outlineColor,
|
|
81
|
+
x: this.posX,
|
|
82
|
+
y: this.posY
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}]);
|
|
86
|
+
return FreePathDrawable;
|
|
87
|
+
}(_drawableHelper["default"]);
|
|
88
|
+
exports["default"] = FreePathDrawable;
|
|
89
|
+
(0, _defineProperty2["default"])(FreePathDrawable, "TYPE", 'FreePathDrawable');
|
|
90
|
+
//# sourceMappingURL=drawable-free-path.js.map
|