@pie-element/drawing-response 7.11.1 → 7.11.2-next.1

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 (53) hide show
  1. package/configure/package.json +1 -1
  2. package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +1 -1
  3. package/package.json +3 -3
  4. package/configure/lib/button.js +0 -61
  5. package/configure/lib/button.js.map +0 -1
  6. package/configure/lib/defaults.js +0 -104
  7. package/configure/lib/defaults.js.map +0 -1
  8. package/configure/lib/image-container.js +0 -368
  9. package/configure/lib/image-container.js.map +0 -1
  10. package/configure/lib/index.js +0 -214
  11. package/configure/lib/index.js.map +0 -1
  12. package/configure/lib/root.js +0 -282
  13. package/configure/lib/root.js.map +0 -1
  14. package/controller/lib/defaults.js +0 -16
  15. package/controller/lib/defaults.js.map +0 -1
  16. package/controller/lib/index.js +0 -113
  17. package/controller/lib/index.js.map +0 -1
  18. package/lib/drawing-response/button.js +0 -74
  19. package/lib/drawing-response/button.js.map +0 -1
  20. package/lib/drawing-response/constants.js +0 -44
  21. package/lib/drawing-response/constants.js.map +0 -1
  22. package/lib/drawing-response/container.js +0 -393
  23. package/lib/drawing-response/container.js.map +0 -1
  24. package/lib/drawing-response/drawable-circle.js +0 -119
  25. package/lib/drawing-response/drawable-circle.js.map +0 -1
  26. package/lib/drawing-response/drawable-eraser.js +0 -100
  27. package/lib/drawing-response/drawable-eraser.js.map +0 -1
  28. package/lib/drawing-response/drawable-free-path.js +0 -112
  29. package/lib/drawing-response/drawable-free-path.js.map +0 -1
  30. package/lib/drawing-response/drawable-helper.js +0 -46
  31. package/lib/drawing-response/drawable-helper.js.map +0 -1
  32. package/lib/drawing-response/drawable-image.js +0 -60
  33. package/lib/drawing-response/drawable-image.js.map +0 -1
  34. package/lib/drawing-response/drawable-line.js +0 -114
  35. package/lib/drawing-response/drawable-line.js.map +0 -1
  36. package/lib/drawing-response/drawable-main.js +0 -416
  37. package/lib/drawing-response/drawable-main.js.map +0 -1
  38. package/lib/drawing-response/drawable-palette.js +0 -183
  39. package/lib/drawing-response/drawable-palette.js.map +0 -1
  40. package/lib/drawing-response/drawable-rectangle.js +0 -119
  41. package/lib/drawing-response/drawable-rectangle.js.map +0 -1
  42. package/lib/drawing-response/drawable-text.js +0 -384
  43. package/lib/drawing-response/drawable-text.js.map +0 -1
  44. package/lib/drawing-response/drawable-transformer.js +0 -95
  45. package/lib/drawing-response/drawable-transformer.js.map +0 -1
  46. package/lib/drawing-response/factory.js +0 -35
  47. package/lib/drawing-response/factory.js.map +0 -1
  48. package/lib/drawing-response/icon.js +0 -71
  49. package/lib/drawing-response/icon.js.map +0 -1
  50. package/lib/drawing-response/index.js +0 -131
  51. package/lib/drawing-response/index.js.map +0 -1
  52. package/lib/index.js +0 -118
  53. package/lib/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-line.jsx"],"names":["LineDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","x","y","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","points","outlineColor","handleOnClick","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,Y;;;;;AAGnB,wBAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,YAAY,CAACE,IAA1B;AADiB,sGAwBH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KA7BkB;AAEjB,QAAQC,MAAR,GAA6CT,MAA7C,CAAQS,MAAR;AAAA,QAAgBC,MAAhB,GAA6CV,MAA7C,CAAgBU,MAAhB;AAAA,QAAwBC,CAAxB,GAA6CX,MAA7C,CAAwBW,CAAxB;AAAA,QAA2BC,CAA3B,GAA6CZ,MAA7C,CAA2BY,CAA3B;AAAA,QAA8BT,IAA9B,GAA6CH,MAA7C,CAA8BG,IAA9B;AAAA,QAAoCG,IAApC,GAA6CN,MAA7C,CAAoCM,IAApC;AAEA,UAAKK,CAAL,GAASA,CAAC,IAAIF,MAAd;AACA,UAAKG,CAAL,GAASA,CAAC,IAAIF,MAAd;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AAPiB;AAQlB;;;;WAED,0BAAiBK,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKD,CAAL,GAASA,CAAT;AACA,WAAKC,CAAL,GAASA,CAAT;AACD;;;WAED,uBAAcZ,KAAd,EAAqB;AACnB,UAAQa,KAAR,GAA2Cb,KAA3C,CAAQa,KAAR;AAAA,UAAeC,UAAf,GAA2Cd,KAA3C,CAAec,UAAf;AAAA,UAA2BC,WAA3B,GAA2Cf,KAA3C,CAA2Be,WAA3B;;AAEA,UAAIF,KAAJ,EAAW;AACT,aAAKC,UAAL,GAAkBA,UAAlB;AACAC,QAAAA,WAAW;AACZ;AACF;;;WASD,gBAAOf,KAAP,EAAc;AAAA;;AACZ,UAAQgB,SAAR,GAAkEhB,KAAlE,CAAQgB,SAAR;AAAA,UAAmBC,GAAnB,GAAkEjB,KAAlE,CAAmBiB,GAAnB;AAAA,UAAwBC,kBAAxB,GAAkElB,KAAlE,CAAwBkB,kBAAxB;AAAA,UAA4CC,iBAA5C,GAAkEnB,KAAlE,CAA4CmB,iBAA5C;AACA,UAAMC,MAAM,GAAG,CAAC,KAAKX,MAAN,EAAc,KAAKC,MAAnB,EAA2B,KAAKC,CAAhC,EAAmC,KAAKC,CAAxC,CAAf;AAEA,0BACE,gCAAC,iBAAD;AACE,QAAA,GAAG,EAAEK,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,MAAM,EAAEI,MAHV;AAIE,QAAA,IAAI,EAAE,KAAKN,UAAL,IAAmB,KAAKO,YAJhC;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACC,aAAL,CAAmBtB,KAAnB,CAAN;AAAA,SALX;AAME,QAAA,MAAM,EAAE,KAAKc,UAAL,IAAmB,KAAKO,YANlC;AAOE,QAAA,SAAS,EAAE,KAAKE,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BxB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEkB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,CAAC,EAAE,KAAKhB,IAVV;AAWE,QAAA,CAAC,EAAE,KAAKG,IAXV;AAYE,QAAA,YAAY,EAAE,CAZhB;AAaE,QAAA,aAAa,EAAE;AAbjB,QADF;AAiBD;;;EAvDuCmB,0B;;;iCAArB1B,Y,UACL,c","sourcesContent":["import React from 'react';\nimport { Arrow } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class LineDrawable extends DrawableHelper {\n static TYPE = 'LineDrawable';\n\n constructor(props) {\n super(props, LineDrawable.TYPE);\n const { startx, starty, x, y, posX, posY } = props;\n\n this.x = x || startx;\n this.y = y || starty;\n this.posX = posX || 0;\n this.posY = posY || 0;\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\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 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 const points = [this.startx, this.starty, this.x, this.y];\n\n return (\n <Arrow\n key={key}\n draggable={draggable}\n points={points}\n fill={this.paintColor || this.outlineColor}\n onClick={() => this.handleOnClick(props)}\n stroke={this.paintColor || this.outlineColor}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n x={this.posX}\n y={this.posY}\n pointerWidth={0}\n pointerLength={0}\n />\n );\n }\n}\n"],"file":"drawable-line.js"}
@@ -1,416 +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["default"] = exports.DrawableMain = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
- var _react = _interopRequireDefault(require("react"));
29
-
30
- var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
- var _omit = _interopRequireDefault(require("lodash/omit"));
33
-
34
- var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
35
-
36
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
37
-
38
- var _classnames2 = _interopRequireDefault(require("classnames"));
39
-
40
- var _reactKonva = require("react-konva");
41
-
42
- var _styles = require("@material-ui/core/styles");
43
-
44
- var _translator = _interopRequireDefault(require("@pie-lib/pie-toolbox/translator"));
45
-
46
- var _drawableImage = _interopRequireDefault(require("./drawable-image"));
47
-
48
- var _button = _interopRequireDefault(require("./button"));
49
-
50
- var _factory = _interopRequireDefault(require("./factory"));
51
-
52
- 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; }
53
-
54
- 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; }
55
-
56
- 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); }; }
57
-
58
- 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; } }
59
-
60
- var translator = _translator["default"].translator;
61
-
62
- var DrawableMain = /*#__PURE__*/function (_React$Component) {
63
- (0, _inherits2["default"])(DrawableMain, _React$Component);
64
-
65
- var _super = _createSuper(DrawableMain);
66
-
67
- function DrawableMain(props) {
68
- var _this;
69
-
70
- (0, _classCallCheck2["default"])(this, DrawableMain);
71
- _this = _super.call(this, props);
72
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSessionChange", function () {
73
- var _this$props = _this.props,
74
- onSessionChange = _this$props.onSessionChange,
75
- session = _this$props.session,
76
- TextEntry = _this$props.TextEntry;
77
- var drawables = _this.state.drawables;
78
- var newSession = {
79
- drawables: drawables.map(function (d) {
80
- return d.toJson();
81
- }),
82
- texts: TextEntry.all.map(function (text) {
83
- return _objectSpread(_objectSpread(_objectSpread({}, text), TextEntry["text_".concat(text.id)] && TextEntry["text_".concat(text.id)].attrs), {}, {
84
- value: TextEntry["textarea_".concat(text.id)] && TextEntry["textarea_".concat(text.id)].value
85
- });
86
- })
87
- };
88
-
89
- if (!(0, _isEqual["default"])(newSession, session)) {
90
- onSessionChange(_objectSpread(_objectSpread({}, session), newSession));
91
- }
92
- });
93
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onMouseOverElement", function () {
94
- return _this.setState({
95
- isOver: true
96
- });
97
- });
98
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onMouseOutElement", function () {
99
- return _this.setState({
100
- isOver: false
101
- });
102
- });
103
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseDown", function (e) {
104
- // ONLY IF MOBILE?
105
- document.body.style.overflow = 'hidden';
106
- var _this$state = _this.state,
107
- newDrawable = _this$state.newDrawable,
108
- textIsSelected = _this$state.textIsSelected;
109
- var _this$props2 = _this.props,
110
- toolActive = _this$props2.toolActive,
111
- fillColor = _this$props2.fillColor,
112
- outlineColor = _this$props2.outlineColor,
113
- scale = _this$props2.scale;
114
-
115
- if (newDrawable.length === 0 && !textIsSelected) {
116
- var _e$target$getStage$ge = e.target.getStage().getPointerPosition(),
117
- x = _e$target$getStage$ge.x,
118
- y = _e$target$getStage$ge.y;
119
-
120
- var _newDrawable = (0, _factory["default"])(toolActive.type, {
121
- startx: x / scale,
122
- starty: y / scale,
123
- fillColor: fillColor,
124
- outlineColor: outlineColor,
125
- createdAt: new Date()
126
- });
127
-
128
- _this.setState({
129
- newDrawable: [_newDrawable]
130
- });
131
- }
132
- });
133
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseUp", function (e) {
134
- // ONLY IF MOBILE?
135
- document.body.style.overflow = 'initial';
136
- var _this$state2 = _this.state,
137
- newDrawable = _this$state2.newDrawable,
138
- drawables = _this$state2.drawables;
139
- var scale = _this.props.scale;
140
-
141
- if (newDrawable.length === 1) {
142
- var _e$target$getStage$ge2 = e.target.getStage().getPointerPosition(),
143
- x = _e$target$getStage$ge2.x,
144
- y = _e$target$getStage$ge2.y;
145
-
146
- var drawableToAdd = newDrawable[0];
147
- drawableToAdd.registerMovement(x / scale, y / scale);
148
- drawables.push(drawableToAdd);
149
-
150
- _this.setState({
151
- newDrawable: [],
152
- drawables: drawables
153
- }, _this.handleSessionChange.bind((0, _assertThisInitialized2["default"])(_this), drawableToAdd));
154
- }
155
- });
156
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseMove", function (e) {
157
- var newDrawable = _this.state.newDrawable;
158
- var scale = _this.props.scale;
159
-
160
- if (newDrawable.length === 1) {
161
- var _e$target$getStage$ge3 = e.target.getStage().getPointerPosition(),
162
- x = _e$target$getStage$ge3.x,
163
- y = _e$target$getStage$ge3.y;
164
-
165
- var updatedNewDrawable = newDrawable[0];
166
- updatedNewDrawable.registerMovement(x / scale, y / scale);
167
-
168
- _this.setState({
169
- newDrawable: [updatedNewDrawable]
170
- });
171
- }
172
- });
173
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleUndo", function () {
174
- var drawables = _this.state.drawables;
175
- var TextEntry = _this.props.TextEntry;
176
- var newDrawables = (0, _toConsumableArray2["default"])(drawables);
177
- var allData = [].concat((0, _toConsumableArray2["default"])(drawables), (0, _toConsumableArray2["default"])(TextEntry.all));
178
- allData.sort(function (a, b) {
179
- return new Date(a.createdAt) - new Date(b.createdAt);
180
- });
181
- var lastElement = allData[allData.length - 1];
182
-
183
- if (lastElement && lastElement.type === 'text-entry') {
184
- TextEntry.all.pop();
185
-
186
- _this.setState({
187
- updatedAt: new Date()
188
- }, _this.handleSessionChange);
189
- } else {
190
- newDrawables.pop();
191
-
192
- _this.setState({
193
- drawables: newDrawables
194
- }, _this.handleSessionChange);
195
- }
196
- });
197
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClearAll", function () {
198
- var TextEntry = _this.props.TextEntry;
199
- TextEntry.all = [];
200
-
201
- _this.setState({
202
- drawables: [],
203
- updatedAt: new Date()
204
- }, _this.handleSessionChange);
205
- });
206
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleTextSelected", function (textIsSelected) {
207
- return _this.setState({
208
- textIsSelected: textIsSelected
209
- });
210
- });
211
- _this.state = {
212
- drawables: [],
213
- newDrawable: [],
214
- textIsSelected: false
215
- };
216
- return _this;
217
- }
218
-
219
- (0, _createClass2["default"])(DrawableMain, [{
220
- key: "UNSAFE_componentWillReceiveProps",
221
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
222
- if (nextProps.session) {
223
- var TextEntry = nextProps.TextEntry;
224
- var currentDrawables = this.state.drawables;
225
-
226
- if (nextProps.session.drawables) {
227
- var newDrawables = (0, _cloneDeep["default"])(nextProps.session.drawables);
228
- var drawablesString = JSON.stringify(currentDrawables);
229
- var sessionDrawableString = JSON.stringify((newDrawables || []).map(function (drawable) {
230
- return (0, _omit["default"])(drawable, 'type');
231
- }));
232
-
233
- if (drawablesString !== sessionDrawableString) {
234
- var drawableArray = nextProps.session.drawables;
235
- this.setState({
236
- drawables: drawableArray.map(function (drawable) {
237
- return (0, _factory["default"])(drawable.type, drawable);
238
- })
239
- });
240
- }
241
-
242
- var currentTexts = TextEntry.all.map(function (text) {
243
- return _objectSpread(_objectSpread(_objectSpread({}, text), TextEntry["text_".concat(text.id)] && TextEntry["text_".concat(text.id)].attrs), {}, {
244
- value: TextEntry["textarea_".concat(text.id)] && TextEntry["textarea_".concat(text.id)].value
245
- });
246
- });
247
-
248
- if (!(0, _isEqual["default"])(currentTexts, nextProps.session.texts)) {
249
- TextEntry.setAll(nextProps.session.texts || []);
250
- }
251
- }
252
- } else {
253
- this.handleSessionChange();
254
- }
255
- }
256
- }, {
257
- key: "render",
258
- value: function render() {
259
- var _this2 = this;
260
-
261
- var _this$props3 = this.props,
262
- classes = _this$props3.classes,
263
- disabled = _this$props3.disabled,
264
- drawableDimensions = _this$props3.drawableDimensions,
265
- fillColor = _this$props3.fillColor,
266
- imageDimensions = _this$props3.imageDimensions,
267
- imageUrl = _this$props3.imageUrl,
268
- paintColor = _this$props3.paintColor,
269
- outlineColor = _this$props3.outlineColor,
270
- TextEntry = _this$props3.TextEntry,
271
- _this$props3$backgrou = _this$props3.backgroundImageEnabled,
272
- backgroundImageEnabled = _this$props3$backgrou === void 0 ? true : _this$props3$backgrou,
273
- type = _this$props3.toolActive.type,
274
- scale = _this$props3.scale,
275
- language = _this$props3.language;
276
- var _this$state3 = this.state,
277
- isOver = _this$state3.isOver,
278
- newDrawable = _this$state3.newDrawable;
279
- var draggable = type === 'Select';
280
- var paint = type === 'PaintBucket';
281
- var drawables = [].concat((0, _toConsumableArray2["default"])(this.state.drawables), (0, _toConsumableArray2["default"])(this.state.newDrawable));
282
- var drawableProps = {
283
- draggable: draggable && !disabled,
284
- disabled: disabled,
285
- paint: paint,
286
- fillColor: fillColor,
287
- forceUpdate: function forceUpdate() {
288
- return _this2.setState({
289
- updatedAt: new Date()
290
- });
291
- },
292
- paintColor: paintColor,
293
- outlineColor: outlineColor,
294
- toggleTextSelected: this.toggleTextSelected,
295
- handleSessionChange: this.handleSessionChange,
296
- stage: this.stage,
297
- onMouseOverElement: this.onMouseOverElement,
298
- onMouseOutElement: this.onMouseOutElement,
299
- scale: scale
300
- };
301
- var listeners = {};
302
-
303
- if (!disabled) {
304
- listeners = {
305
- onMouseUp: this.handleMouseUp,
306
- onTouchEnd: this.handleMouseUp,
307
- onMouseMove: this.handleMouseMove,
308
- onTouchMove: this.handleMouseMove
309
- };
310
-
311
- if (!draggable) {
312
- listeners.onMouseDown = this.handleMouseDown;
313
- listeners.onTouchStart = this.handleMouseDown;
314
- }
315
- }
316
-
317
- var imageHeight = (imageDimensions === null || imageDimensions === void 0 ? void 0 : imageDimensions.height) * scale;
318
- var imageWidth = (imageDimensions === null || imageDimensions === void 0 ? void 0 : imageDimensions.width) * scale;
319
- return /*#__PURE__*/_react["default"].createElement("div", {
320
- className: classes.wrapper
321
- }, /*#__PURE__*/_react["default"].createElement("div", {
322
- className: classes.undoControls
323
- }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
324
- disabled: disabled,
325
- onClick: this.handleUndo,
326
- label: translator.t('common:undo', {
327
- lng: language
328
- })
329
- }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
330
- disabled: disabled,
331
- onClick: this.handleClearAll,
332
- label: translator.t('common:clearAll', {
333
- lng: language
334
- })
335
- })), /*#__PURE__*/_react["default"].createElement("div", {
336
- className: classes.base
337
- }, backgroundImageEnabled && imageUrl && /*#__PURE__*/_react["default"].createElement(_drawableImage["default"], {
338
- dimensions: {
339
- height: imageHeight,
340
- width: imageWidth
341
- },
342
- url: imageUrl
343
- }), TextEntry.renderTextareas(), /*#__PURE__*/_react["default"].createElement(_reactKonva.Stage, (0, _extends2["default"])({
344
- scaleX: scale,
345
- scaleY: scale,
346
- ref: function ref(_ref2) {
347
- _this2.stage = _ref2;
348
- },
349
- className: (0, _classnames2["default"])(classes.stage, (0, _defineProperty2["default"])({}, classes.active, draggable && (isOver || newDrawable && newDrawable.length === 1))),
350
- height: drawableDimensions.height,
351
- width: drawableDimensions.width
352
- }, listeners), /*#__PURE__*/_react["default"].createElement(_reactKonva.Layer, {
353
- ref: function ref(_ref) {
354
- _this2.layer = _ref;
355
- }
356
- }, drawables.map(function (drawable, key) {
357
- return drawable.render(_objectSpread(_objectSpread({}, drawableProps), {}, {
358
- key: key
359
- }));
360
- }), TextEntry.render(drawableProps)))));
361
- }
362
- }]);
363
- return DrawableMain;
364
- }(_react["default"].Component);
365
-
366
- exports.DrawableMain = DrawableMain;
367
-
368
- var styles = function styles() {
369
- return {
370
- wrapper: {
371
- display: 'flex',
372
- flexWrap: 'wrap',
373
- justifyContent: 'flex-end'
374
- },
375
- base: {
376
- position: 'relative',
377
- width: '100%'
378
- },
379
- stage: {
380
- left: 0,
381
- position: 'absolute',
382
- touchAction: 'none',
383
- top: 0
384
- },
385
- active: {
386
- cursor: 'pointer'
387
- },
388
- undoControls: {
389
- marginTop: -43,
390
- marginRight: 10
391
- }
392
- };
393
- };
394
-
395
- DrawableMain.propTypes = {
396
- classes: _propTypes["default"].object.isRequired,
397
- disabled: _propTypes["default"].bool,
398
- drawableDimensions: _propTypes["default"].object.isRequired,
399
- imageDimensions: _propTypes["default"].object.isRequired,
400
- fillColor: _propTypes["default"].string.isRequired,
401
- onSessionChange: _propTypes["default"].func.isRequired,
402
- paintColor: _propTypes["default"].string.isRequired,
403
- outlineColor: _propTypes["default"].string.isRequired,
404
- imageUrl: _propTypes["default"].string.isRequired,
405
- TextEntry: _propTypes["default"].object.isRequired,
406
- toolActive: _propTypes["default"].object.isRequired,
407
- session: _propTypes["default"].object.isRequired,
408
- backgroundImageEnabled: _propTypes["default"].bool.isRequired,
409
- scale: _propTypes["default"].number.isRequired,
410
- language: _propTypes["default"].string
411
- };
412
-
413
- var _default = (0, _styles.withStyles)(styles)(DrawableMain);
414
-
415
- exports["default"] = _default;
416
- //# sourceMappingURL=drawable-main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-main.jsx"],"names":["translator","Translator","DrawableMain","props","onSessionChange","session","TextEntry","drawables","state","newSession","map","d","toJson","texts","all","text","id","attrs","value","setState","isOver","e","document","body","style","overflow","newDrawable","textIsSelected","toolActive","fillColor","outlineColor","scale","length","target","getStage","getPointerPosition","x","y","type","startx","starty","createdAt","Date","drawableToAdd","registerMovement","push","handleSessionChange","bind","updatedNewDrawable","newDrawables","allData","sort","a","b","lastElement","pop","updatedAt","nextProps","currentDrawables","drawablesString","JSON","stringify","sessionDrawableString","drawable","drawableArray","currentTexts","setAll","classes","disabled","drawableDimensions","imageDimensions","imageUrl","paintColor","backgroundImageEnabled","language","draggable","paint","drawableProps","forceUpdate","toggleTextSelected","stage","onMouseOverElement","onMouseOutElement","listeners","onMouseUp","handleMouseUp","onTouchEnd","onMouseMove","handleMouseMove","onTouchMove","onMouseDown","handleMouseDown","onTouchStart","imageHeight","height","imageWidth","width","wrapper","undoControls","handleUndo","t","lng","handleClearAll","base","renderTextareas","ref","active","layer","key","render","React","Component","styles","display","flexWrap","justifyContent","position","left","touchAction","top","cursor","marginTop","marginRight","propTypes","PropTypes","object","isRequired","bool","string","func","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport omit from 'lodash/omit';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport classnames from 'classnames';\nimport { Layer, Stage } from 'react-konva';\nimport { withStyles } from '@material-ui/core/styles';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\nimport ImageBackground from './drawable-image';\nimport Button from './button';\nimport factory from './factory';\n\nexport class DrawableMain extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n drawables: [],\n newDrawable: [],\n textIsSelected: false,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.session) {\n const { TextEntry } = nextProps;\n const { drawables: currentDrawables } = this.state;\n\n if (nextProps.session.drawables) {\n const newDrawables = cloneDeep(nextProps.session.drawables);\n const drawablesString = JSON.stringify(currentDrawables);\n const sessionDrawableString = JSON.stringify((newDrawables || []).map((drawable) => omit(drawable, 'type')));\n\n if (drawablesString !== sessionDrawableString) {\n const drawableArray = nextProps.session.drawables;\n\n this.setState({\n drawables: drawableArray.map((drawable) => factory(drawable.type, drawable)),\n });\n }\n\n const currentTexts = TextEntry.all.map((text) => ({\n ...text,\n ...(TextEntry[`text_${text.id}`] && TextEntry[`text_${text.id}`].attrs),\n value: TextEntry[`textarea_${text.id}`] && TextEntry[`textarea_${text.id}`].value,\n }));\n\n if (!isEqual(currentTexts, nextProps.session.texts)) {\n TextEntry.setAll(nextProps.session.texts || []);\n }\n }\n } else {\n this.handleSessionChange();\n }\n }\n\n handleSessionChange = () => {\n const { onSessionChange, session, TextEntry } = this.props;\n const { drawables } = this.state;\n\n const newSession = {\n drawables: drawables.map((d) => d.toJson()),\n texts: TextEntry.all.map((text) => ({\n ...text,\n ...(TextEntry[`text_${text.id}`] && TextEntry[`text_${text.id}`].attrs),\n value: TextEntry[`textarea_${text.id}`] && TextEntry[`textarea_${text.id}`].value,\n })),\n };\n\n if (!isEqual(newSession, session)) {\n onSessionChange({\n ...session,\n ...newSession,\n });\n }\n };\n\n onMouseOverElement = () => this.setState({ isOver: true });\n\n onMouseOutElement = () => this.setState({ isOver: false });\n\n handleMouseDown = (e) => {\n // ONLY IF MOBILE?\n document.body.style.overflow = 'hidden';\n\n const { newDrawable, textIsSelected } = this.state;\n const { toolActive, fillColor, outlineColor, scale } = this.props;\n\n if (newDrawable.length === 0 && !textIsSelected) {\n const { x, y } = e.target.getStage().getPointerPosition();\n\n const newDrawable = factory(toolActive.type, {\n startx: x / scale,\n starty: y / scale,\n fillColor,\n outlineColor,\n createdAt: new Date(),\n });\n\n this.setState({\n newDrawable: [newDrawable],\n });\n }\n };\n\n handleMouseUp = (e) => {\n // ONLY IF MOBILE?\n document.body.style.overflow = 'initial';\n\n const { newDrawable, drawables } = this.state;\n const { scale } = this.props;\n\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const drawableToAdd = newDrawable[0];\n\n drawableToAdd.registerMovement(x / scale, y / scale);\n drawables.push(drawableToAdd);\n\n this.setState(\n {\n newDrawable: [],\n drawables,\n },\n this.handleSessionChange.bind(this, drawableToAdd),\n );\n }\n };\n\n handleMouseMove = (e) => {\n const { newDrawable } = this.state;\n const { scale } = this.props;\n\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const updatedNewDrawable = newDrawable[0];\n\n updatedNewDrawable.registerMovement(x / scale, y / scale);\n\n this.setState({\n newDrawable: [updatedNewDrawable],\n });\n }\n };\n\n handleUndo = () => {\n const { drawables } = this.state;\n const { TextEntry } = this.props;\n\n const newDrawables = [...drawables];\n const allData = [...drawables, ...TextEntry.all];\n\n allData.sort((a, b) => new Date(a.createdAt) - new Date(b.createdAt));\n const lastElement = allData[allData.length - 1];\n\n if (lastElement && lastElement.type === 'text-entry') {\n TextEntry.all.pop();\n this.setState({ updatedAt: new Date() }, this.handleSessionChange);\n } else {\n newDrawables.pop();\n this.setState({ drawables: newDrawables }, this.handleSessionChange);\n }\n };\n\n handleClearAll = () => {\n const { TextEntry } = this.props;\n\n TextEntry.all = [];\n this.setState({ drawables: [], updatedAt: new Date() }, this.handleSessionChange);\n };\n\n toggleTextSelected = (textIsSelected) => this.setState({ textIsSelected });\n\n render() {\n const {\n classes,\n disabled,\n drawableDimensions,\n fillColor,\n imageDimensions,\n imageUrl,\n paintColor,\n outlineColor,\n TextEntry,\n backgroundImageEnabled = true,\n toolActive: { type },\n scale,\n language\n } = this.props;\n const { isOver, newDrawable } = this.state;\n\n const draggable = type === 'Select';\n const paint = type === 'PaintBucket';\n const drawables = [...this.state.drawables, ...this.state.newDrawable];\n\n const drawableProps = {\n draggable: draggable && !disabled,\n disabled,\n paint,\n fillColor,\n forceUpdate: () => this.setState({ updatedAt: new Date() }),\n paintColor,\n outlineColor,\n toggleTextSelected: this.toggleTextSelected,\n handleSessionChange: this.handleSessionChange,\n stage: this.stage,\n onMouseOverElement: this.onMouseOverElement,\n onMouseOutElement: this.onMouseOutElement,\n scale\n };\n\n let listeners = {};\n\n if (!disabled) {\n listeners = {\n onMouseUp: this.handleMouseUp,\n onTouchEnd: this.handleMouseUp,\n onMouseMove: this.handleMouseMove,\n onTouchMove: this.handleMouseMove,\n };\n\n if (!draggable) {\n listeners.onMouseDown = this.handleMouseDown;\n listeners.onTouchStart = this.handleMouseDown;\n }\n }\n\n const imageHeight = imageDimensions?.height * scale;\n const imageWidth = imageDimensions?.width * scale;\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.undoControls}>\n <Button disabled={disabled} onClick={this.handleUndo} label={translator.t('common:undo', { lng: language })} />\n <Button disabled={disabled} onClick={this.handleClearAll} label={translator.t('common:clearAll', { lng: language })} />\n </div>\n <div className={classes.base}>\n {backgroundImageEnabled && imageUrl && (\n <ImageBackground dimensions={{ height: imageHeight, width: imageWidth }} url={imageUrl} />\n )}\n\n {TextEntry.renderTextareas()}\n\n <Stage\n scaleX={scale}\n scaleY={scale}\n ref={(ref) => {\n this.stage = ref;\n }}\n className={classnames(classes.stage, {\n [classes.active]: draggable && (isOver || (newDrawable && newDrawable.length === 1)),\n })}\n height={drawableDimensions.height}\n width={drawableDimensions.width}\n {...listeners}\n >\n <Layer\n ref={(ref) => {\n this.layer = ref;\n }}\n >\n {drawables.map((drawable, key) => drawable.render({ ...drawableProps, key }))}\n {/* Text Entry is a special case */}\n {TextEntry.render(drawableProps)}\n </Layer>\n </Stage>\n </div>\n </div>\n );\n }\n}\n\nconst styles = () => ({\n wrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-end',\n },\n base: {\n position: 'relative',\n width: '100%',\n },\n stage: {\n left: 0,\n position: 'absolute',\n touchAction: 'none',\n top: 0,\n },\n active: {\n cursor: 'pointer',\n },\n undoControls: {\n marginTop: -43,\n marginRight: 10,\n },\n});\n\nDrawableMain.propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n drawableDimensions: PropTypes.object.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n fillColor: PropTypes.string.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n paintColor: PropTypes.string.isRequired,\n outlineColor: PropTypes.string.isRequired,\n imageUrl: PropTypes.string.isRequired,\n TextEntry: PropTypes.object.isRequired,\n toolActive: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n backgroundImageEnabled: PropTypes.bool.isRequired,\n scale: PropTypes.number.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(DrawableMain);\n"],"file":"drawable-main.js"}
@@ -1,183 +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["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
29
-
30
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
31
-
32
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
36
- var _classnames2 = _interopRequireDefault(require("classnames"));
37
-
38
- var _translator = _interopRequireDefault(require("@pie-lib/pie-toolbox/translator"));
39
-
40
- 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); }; }
41
-
42
- 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; } }
43
-
44
- var translator = _translator["default"].translator; // TODO: Change Palette so will render inputs and colors dynamically
45
-
46
- var Palette = /*#__PURE__*/function (_React$Component) {
47
- (0, _inherits2["default"])(Palette, _React$Component);
48
-
49
- var _super = _createSuper(Palette);
50
-
51
- function Palette() {
52
- var _this;
53
-
54
- (0, _classCallCheck2["default"])(this, Palette);
55
-
56
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
- args[_key] = arguments[_key];
58
- }
59
-
60
- _this = _super.call.apply(_super, [this].concat(args));
61
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (name) {
62
- return function (event) {
63
- var value = event.target.value;
64
- var _this$props = _this.props,
65
- onFillColorChange = _this$props.onFillColorChange,
66
- onOutlineColorChange = _this$props.onOutlineColorChange,
67
- onPaintColorChange = _this$props.onPaintColorChange;
68
-
69
- if (name === 'fill') {
70
- onFillColorChange(value);
71
- } else if (name === 'outline') {
72
- onOutlineColorChange(value);
73
- } else {
74
- onPaintColorChange(value);
75
- }
76
- };
77
- });
78
- return _this;
79
- }
80
-
81
- (0, _createClass2["default"])(Palette, [{
82
- key: "render",
83
- value: function render() {
84
- var _this$props2 = this.props,
85
- classes = _this$props2.classes,
86
- fillColor = _this$props2.fillColor,
87
- outlineColor = _this$props2.outlineColor,
88
- fillList = _this$props2.fillList,
89
- outlineList = _this$props2.outlineList,
90
- language = _this$props2.language;
91
- return /*#__PURE__*/_react["default"].createElement("div", {
92
- className: classes.base
93
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
94
- label: translator.t('drawingResponse.fillColor', {
95
- lng: language
96
- }),
97
- className: classes.input
98
- }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
99
- className: classes.select,
100
- onChange: this.onChange('fill'),
101
- value: fillColor
102
- }, fillList.map(function (_ref) {
103
- var value = _ref.value,
104
- label = _ref.label;
105
- return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
106
- key: value,
107
- value: value,
108
- className: (0, _classnames2["default"])(classes.item, (0, _defineProperty2["default"])({}, classes.blackColorItem, value === 'black')),
109
- style: {
110
- backgroundColor: value
111
- }
112
- }, label);
113
- }))), /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
114
- label: translator.t('drawingResponse.outlineColor', {
115
- lng: language
116
- }),
117
- className: classes.input
118
- }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
119
- className: classes.select,
120
- onChange: this.onChange('outline'),
121
- value: outlineColor
122
- }, outlineList.map(function (_ref2) {
123
- var value = _ref2.value,
124
- label = _ref2.label;
125
- return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
126
- key: value,
127
- value: value,
128
- className: classes.item,
129
- style: {
130
- border: "2px solid ".concat(value)
131
- }
132
- }, label);
133
- }))));
134
- }
135
- }]);
136
- return Palette;
137
- }(_react["default"].Component);
138
-
139
- var styles = function styles(theme) {
140
- return {
141
- base: {
142
- marginTop: theme.spacing.unit * 2,
143
- display: 'flex'
144
- },
145
- input: {
146
- flex: 1,
147
- fontSize: 'inherit',
148
- width: '90%'
149
- },
150
- item: {
151
- borderRadius: '2px',
152
- fontSize: 'inherit',
153
- height: '22px',
154
- marginLeft: theme.spacing.unit * 2,
155
- marginRight: theme.spacing.unit * 2,
156
- marginTop: theme.spacing.unit * 2
157
- },
158
- blackColorItem: {
159
- color: theme.palette.background.paper
160
- },
161
- select: {
162
- fontSize: 'inherit',
163
- transform: 'translate(0%, 40%)'
164
- }
165
- };
166
- };
167
-
168
- Palette.propTypes = {
169
- classes: _propTypes["default"].object.isRequired,
170
- fillColor: _propTypes["default"].string.isRequired,
171
- fillList: _propTypes["default"].array.isRequired,
172
- onFillColorChange: _propTypes["default"].func.isRequired,
173
- onOutlineColorChange: _propTypes["default"].func.isRequired,
174
- onPaintColorChange: _propTypes["default"].func.isRequired,
175
- outlineColor: _propTypes["default"].string.isRequired,
176
- outlineList: _propTypes["default"].array.isRequired,
177
- language: _propTypes["default"].string
178
- };
179
-
180
- var _default = (0, _styles.withStyles)(styles)(Palette);
181
-
182
- exports["default"] = _default;
183
- //# sourceMappingURL=drawable-palette.js.map