@pie-element/drawing-response 7.13.1-next.0 → 7.13.1-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-palette.jsx"],"names":["translator","Translator","Palette","name","event","value","target","props","onFillColorChange","onOutlineColorChange","onPaintColorChange","classes","fillColor","outlineColor","fillList","outlineList","language","base","t","lng","input","select","onChange","map","label","item","blackColorItem","backgroundColor","border","React","Component","styles","theme","marginTop","spacing","unit","display","flex","fontSize","width","borderRadius","height","marginLeft","marginRight","color","palette","background","paper","transform","propTypes","PropTypes","object","isRequired","string","array","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/pie-toolbox/render-ui';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport classnames from 'classnames';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\n// TODO: Change Palette so will render inputs and colors dynamically\nclass Palette extends React.Component {\n onChange = (name) => (event) => {\n const { value } = event.target;\n const { onFillColorChange, onOutlineColorChange, onPaintColorChange } = this.props;\n\n if (name === 'fill') {\n onFillColorChange(value);\n } else if (name === 'outline') {\n onOutlineColorChange(value);\n } else {\n onPaintColorChange(value);\n }\n };\n\n render() {\n const { classes, fillColor, outlineColor, fillList, outlineList, language } = this.props;\n\n return (\n <div className={classes.base}>\n <InputContainer label={translator.t('drawingResponse.fillColor', { lng: language })} className={classes.input}>\n <Select className={classes.select} onChange={this.onChange('fill')} value={fillColor}>\n {fillList.map(({ value, label }) => (\n <MenuItem\n key={value}\n value={value}\n className={classnames(classes.item, {\n [classes.blackColorItem]: value === 'black',\n })}\n style={{ backgroundColor: value }}\n >\n {label}\n </MenuItem>\n ))}\n </Select>\n </InputContainer>\n\n <InputContainer label={translator.t('drawingResponse.outlineColor', { lng: language })} className={classes.input}>\n <Select className={classes.select} onChange={this.onChange('outline')} value={outlineColor}>\n {outlineList.map(({ value, label }) => (\n <MenuItem key={value} value={value} className={classes.item} style={{ border: `2px solid ${value}` }}>\n {label}\n </MenuItem>\n ))}\n </Select>\n </InputContainer>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n base: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n },\n input: {\n flex: 1,\n fontSize: 'inherit',\n width: '90%',\n },\n item: {\n borderRadius: '2px',\n fontSize: 'inherit',\n height: '22px',\n marginLeft: theme.spacing.unit * 2,\n marginRight: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2,\n },\n blackColorItem: {\n color: theme.palette.background.paper,\n },\n select: {\n fontSize: 'inherit',\n transform: 'translate(0%, 40%)',\n },\n});\n\nPalette.propTypes = {\n classes: PropTypes.object.isRequired,\n fillColor: PropTypes.string.isRequired,\n fillList: PropTypes.array.isRequired,\n onFillColorChange: PropTypes.func.isRequired,\n onOutlineColorChange: PropTypes.func.isRequired,\n onPaintColorChange: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n outlineList: PropTypes.array.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(Palette);\n"],"file":"drawable-palette.js"}
@@ -1,119 +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 _reactKonva = require("react-konva");
27
-
28
- var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
29
-
30
- 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); }; }
31
-
32
- 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; } }
33
-
34
- var RectangleDrawable = /*#__PURE__*/function (_DrawableHelper) {
35
- (0, _inherits2["default"])(RectangleDrawable, _DrawableHelper);
36
-
37
- var _super = _createSuper(RectangleDrawable);
38
-
39
- function RectangleDrawable(_props) {
40
- var _this;
41
-
42
- (0, _classCallCheck2["default"])(this, RectangleDrawable);
43
- _this = _super.call(this, _props, RectangleDrawable.TYPE);
44
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDragEnd", function (props, event) {
45
- var deltaX = _this.startx - event.target.getX();
46
- var deltaY = _this.starty - event.target.getY();
47
- _this.startx = event.target.getX();
48
- _this.starty = event.target.getY();
49
- _this.x = _this.x - deltaX;
50
- _this.y = _this.y - deltaY;
51
- props.handleSessionChange();
52
- });
53
- var startx = _props.startx,
54
- starty = _props.starty,
55
- x = _props.x,
56
- y = _props.y;
57
- _this.startx = startx;
58
- _this.starty = starty;
59
- _this.x = x || startx;
60
- _this.y = y || starty;
61
- _this.width = x - startx || 0;
62
- _this.height = y - starty || 0;
63
- return _this;
64
- }
65
-
66
- (0, _createClass2["default"])(RectangleDrawable, [{
67
- key: "registerMovement",
68
- value: function registerMovement(x, y) {
69
- this.x = x;
70
- this.y = y;
71
- this.width = this.x - this.startx;
72
- this.height = this.y - this.starty;
73
- }
74
- }, {
75
- key: "handleOnClick",
76
- value: function handleOnClick(props) {
77
- var paint = props.paint,
78
- paintColor = props.paintColor,
79
- forceUpdate = props.forceUpdate;
80
-
81
- if (paint) {
82
- this.paintColor = paintColor;
83
- forceUpdate();
84
- }
85
- }
86
- }, {
87
- key: "render",
88
- value: function render(props) {
89
- var _this2 = this;
90
-
91
- var draggable = props.draggable,
92
- key = props.key,
93
- onMouseOverElement = props.onMouseOverElement,
94
- onMouseOutElement = props.onMouseOutElement;
95
- return /*#__PURE__*/_react["default"].createElement(_reactKonva.Rect, {
96
- key: key,
97
- height: this.height,
98
- width: this.width,
99
- fill: this.paintColor || this.fillColor,
100
- onClick: function onClick() {
101
- return _this2.handleOnClick(props);
102
- },
103
- onDragEnd: this.handleDragEnd.bind(this, props),
104
- onMouseEnter: onMouseOverElement,
105
- onMouseLeave: onMouseOutElement,
106
- stroke: this.outlineColor,
107
- draggable: draggable,
108
- strokeWidth: 2,
109
- x: this.startx,
110
- y: this.starty
111
- });
112
- }
113
- }]);
114
- return RectangleDrawable;
115
- }(_drawableHelper["default"]);
116
-
117
- exports["default"] = RectangleDrawable;
118
- (0, _defineProperty2["default"])(RectangleDrawable, "TYPE", 'RectangleDrawable');
119
- //# sourceMappingURL=drawable-rectangle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-rectangle.jsx"],"names":["RectangleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","width","height","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Rect } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class RectangleDrawable extends DrawableHelper {\n static TYPE = 'RectangleDrawable';\n constructor(props) {\n super(props, RectangleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n this.width = x - startx || 0;\n this.height = y - starty || 0;\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n this.width = this.x - this.startx;\n this.height = this.y - this.starty;\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 <Rect\n key={key}\n height={this.height}\n width={this.width}\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 draggable={draggable}\n strokeWidth={2}\n x={this.startx}\n y={this.starty}\n />\n );\n }\n}\n"],"file":"drawable-rectangle.js"}
@@ -1,384 +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.generateId = exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _reactKonva = require("react-konva");
21
-
22
- var _translator = _interopRequireDefault(require("@pie-lib/pie-toolbox/translator"));
23
-
24
- var _drawableTransformer = _interopRequireDefault(require("./drawable-transformer"));
25
-
26
- 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; }
27
-
28
- 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; }
29
-
30
- var translator = _translator["default"].translator;
31
-
32
- var generateId = function generateId() {
33
- return Math.random().toString(36).substring(2) + new Date().getTime().toString(36);
34
- };
35
-
36
- exports.generateId = generateId;
37
-
38
- var TextDrawable = /*#__PURE__*/function () {
39
- function TextDrawable(props) {
40
- var _this = this;
41
-
42
- (0, _classCallCheck2["default"])(this, TextDrawable);
43
- (0, _defineProperty2["default"])(this, "removeEventListeners", function () {
44
- return _this.eventListenersDetachArray.forEach(function (fn) {
45
- return fn();
46
- });
47
- });
48
- (0, _defineProperty2["default"])(this, "setAll", function (all) {
49
- _this.all = all;
50
-
51
- _this.props.forceUpdate();
52
- });
53
- (0, _defineProperty2["default"])(this, "addNewTextEntry", function (language) {
54
- var all = _this.all;
55
- var id = generateId();
56
- all.push({
57
- id: id,
58
- isDefault: true,
59
- label: translator.t('drawingResponse.onDoubleClick', {
60
- lng: language
61
- }),
62
- width: 200,
63
- x: (all.length + 1) * 5 + 50,
64
- y: (all.length + 1) * 5 + 50,
65
- textVisible: true,
66
- transformerVisible: true,
67
- textareaVisible: false,
68
- createdAt: new Date(),
69
- type: 'text-entry'
70
- });
71
-
72
- _this.props.handleSessionChange();
73
- });
74
- (0, _defineProperty2["default"])(this, "handleMouseDown", function () {
75
- return _this.props.toggleTextSelected(true);
76
- });
77
- (0, _defineProperty2["default"])(this, "handleMouseUp", function () {
78
- return _this.props.toggleTextSelected(false);
79
- });
80
- (0, _defineProperty2["default"])(this, "handleClick", function (e, id) {
81
- var current = _this.all.filter(function (item) {
82
- return item.id === id;
83
- })[0];
84
-
85
- current.transformerVisible = true;
86
-
87
- _this.props.forceUpdate();
88
- });
89
- (0, _defineProperty2["default"])(this, "handleDblClick", function (e, text) {
90
- var id = text.id,
91
- isDefault = text.isDefault;
92
-
93
- _this.toggleTextarea(id, true);
94
-
95
- var textNode = _this[TextDrawable.getTextNode(id)];
96
-
97
- var textareaNode = _this[TextDrawable.getTextareaNode(id)];
98
-
99
- var areaPosition = textNode._lastPos;
100
- textareaNode.value = isDefault ? '' : textNode.text();
101
- textareaNode.style.position = 'absolute';
102
- textareaNode.style.top = areaPosition.y + 'px';
103
- textareaNode.style.left = areaPosition.x + 'px';
104
- textareaNode.style.width = textNode.width() - textNode.padding() * 2 + 'px';
105
- textareaNode.style.height = textNode.height() - textNode.padding() * 2 + 5 + 'px';
106
- textareaNode.style.fontSize = textNode.fontSize() + 'px';
107
- textareaNode.style.border = 'none';
108
- textareaNode.style.padding = '0px';
109
- textareaNode.style.margin = '0px';
110
- textareaNode.style.overflow = 'hidden';
111
- textareaNode.style.background = 'none';
112
- textareaNode.style.outline = 'none';
113
- textareaNode.style.resize = 'none';
114
- textareaNode.style.lineHeight = textNode.lineHeight();
115
- textareaNode.style.fontFamily = textNode.fontFamily();
116
- textareaNode.style.transformOrigin = 'left top';
117
- textareaNode.style.textAlign = textNode.align();
118
- textareaNode.style.color = textNode.fill();
119
- var rotation = textNode.rotation();
120
- var transform = '';
121
-
122
- if (rotation) {
123
- transform += 'rotateZ(' + rotation + 'deg)';
124
- }
125
-
126
- var px = 0;
127
- var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
128
-
129
- if (isFirefox) {
130
- px += 2 + Math.round(textNode.fontSize() / 20);
131
- }
132
-
133
- transform += 'translateY(-' + px + 'px)';
134
- textareaNode.style.transform = transform;
135
- textareaNode.style.height = 'auto';
136
- textareaNode.style.height = textareaNode.scrollHeight + 3 + 'px';
137
- textareaNode.focus();
138
-
139
- var keyDownHandler = function keyDownHandler(e) {
140
- // hide on enter but don't hide on shift + enter
141
- if (e.keyCode === 13 && !e.shiftKey) {
142
- _this.toggleTextarea(id, false);
143
-
144
- _this.saveValue(id, textNode, textareaNode);
145
- } // on esc do not set value back to node
146
-
147
-
148
- if (e.keyCode === 27) {
149
- _this.toggleTextarea(id, false);
150
- }
151
- };
152
-
153
- textareaNode.addEventListener('keydown', keyDownHandler);
154
-
155
- _this.eventListenersDetachArray.push(function () {
156
- return textareaNode.removeEventListener('keydown', keyDownHandler);
157
- });
158
-
159
- var blurHandler = function blurHandler() {
160
- _this.showOnlyTextNodes();
161
-
162
- _this.saveValue(id, textNode, textareaNode);
163
- };
164
-
165
- textareaNode.addEventListener('blur', blurHandler);
166
-
167
- _this.eventListenersDetachArray.push(function () {
168
- return textareaNode.removeEventListener('blur', blurHandler);
169
- });
170
-
171
- _this.initializeDefault(id, isDefault);
172
-
173
- _this.props.forceUpdate();
174
- });
175
- (0, _defineProperty2["default"])(this, "handleTransform", function (e, textNode) {
176
- _this[textNode].setAttrs({
177
- width: _this[textNode].width() * _this[textNode].scaleX(),
178
- scaleX: _this.props.scale
179
- });
180
- });
181
- this.all = props && props.all || [];
182
- this.eventListenersDetachArray = [];
183
- }
184
-
185
- (0, _createClass2["default"])(TextDrawable, [{
186
- key: "showOnlyTextNodes",
187
- value: function showOnlyTextNodes() {
188
- this.all.map(function (item) {
189
- item.textVisible = true;
190
- item.transformerVisible = false;
191
- item.textareaVisible = false;
192
- });
193
- }
194
- }, {
195
- key: "toggleTextarea",
196
- value: function toggleTextarea(id, value) {
197
- this.all = this.all.map(function (item) {
198
- if (item.id === id) {
199
- return _objectSpread(_objectSpread({}, item), {}, {
200
- textVisible: !value,
201
- transformerVisible: !value,
202
- textareaVisible: value
203
- });
204
- }
205
-
206
- return item;
207
- });
208
- this.props.forceUpdate();
209
- }
210
- }, {
211
- key: "initializeDefault",
212
- value: function initializeDefault(id, isDefault) {
213
- if (isDefault) {
214
- var current = this.all.filter(function (item) {
215
- return item.id === id;
216
- })[0];
217
- current.isDefault = false;
218
- }
219
- }
220
- }, {
221
- key: "saveValue",
222
- value: function saveValue(id, textNode, textareaNode) {
223
- if (textareaNode.value) {
224
- textNode.text(textareaNode.value);
225
- } else {
226
- this.all = this.all.filter(function (text) {
227
- return text.id !== id;
228
- });
229
- this.props.forceUpdate();
230
- }
231
-
232
- this.props.handleSessionChange();
233
- }
234
- }, {
235
- key: "renderTextareas",
236
- value: function renderTextareas() {
237
- var _this2 = this;
238
-
239
- return this.all.map(function (text) {
240
- var id = text.id,
241
- textareaVisible = text.textareaVisible;
242
- var textareaNode = "textarea_".concat(id);
243
- return /*#__PURE__*/_react["default"].createElement("textarea", {
244
- key: textareaNode,
245
- ref: function ref(textarea) {
246
- _this2[textareaNode] = textarea;
247
- },
248
- style: {
249
- display: "".concat(textareaVisible ? 'block' : 'none')
250
- }
251
- });
252
- });
253
- }
254
- }, {
255
- key: "setInitialProps",
256
- value: function setInitialProps(props) {
257
- if (!this.props) {
258
- this.props = props;
259
- }
260
- }
261
- }, {
262
- key: "render",
263
- value: function render(props) {
264
- var _this3 = this;
265
-
266
- this.setInitialProps(props);
267
-
268
- if (props.stage) {
269
- var newStage = props.stage; // setting the handler only once
270
-
271
- if (newStage !== this.stage) {
272
- var stageClickHandler = function stageClickHandler(e) {
273
- if (e.target !== _this3.stage) {
274
- return;
275
- }
276
-
277
- _this3.showOnlyTextNodes();
278
-
279
- _this3.props.forceUpdate();
280
- };
281
-
282
- newStage.on('click', stageClickHandler);
283
- this.eventListenersDetachArray.push(function () {
284
- return newStage.off('click', stageClickHandler);
285
- });
286
- }
287
-
288
- this.stage = newStage;
289
- }
290
-
291
- return this.all.map(function (text) {
292
- var id = text.id,
293
- label = text.label,
294
- x = text.x,
295
- y = text.y,
296
- width = text.width,
297
- textVisible = text.textVisible,
298
- rotation = text.rotation,
299
- transformerVisible = text.transformerVisible;
300
- var textNode = "text_".concat(id);
301
- var transformerNode = "transformer_".concat(id);
302
- var extraProps = {};
303
-
304
- if (!props.disabled) {
305
- extraProps = {
306
- onClick: function onClick(e) {
307
- return _this3.handleClick(e, id);
308
- },
309
- onTap: function onTap(e) {
310
- return _this3.handleClick(e, id);
311
- },
312
- onDblClick: function onDblClick(e) {
313
- return _this3.handleDblClick(e, text);
314
- },
315
- onDblTap: function onDblTap(e) {
316
- return _this3.handleDblClick(e, text);
317
- },
318
- onTransform: function onTransform(e) {
319
- return _this3.handleTransform(e, textNode);
320
- },
321
- onTransformEnd: _this3.props.handleSessionChange,
322
- onMouseDown: _this3.handleMouseDown,
323
- onTouchStart: _this3.handleMouseDown,
324
- onMouseUp: _this3.handleMouseUp,
325
- onTouchEnd: _this3.handleMouseUp,
326
- onDragEnd: _this3.props.handleSessionChange,
327
- onMouseEnter: _this3.props.onMouseOverElement,
328
- onMouseLeave: _this3.props.onMouseOutElement
329
- };
330
- }
331
-
332
- if (rotation) {
333
- extraProps.rotation = rotation;
334
- }
335
-
336
- return [/*#__PURE__*/_react["default"].createElement(_reactKonva.Text, (0, _extends2["default"])({
337
- key: id,
338
- bubbles: true,
339
- id: id,
340
- ref: function ref(text) {
341
- _this3[textNode] = text;
342
- },
343
- text: text.text || label,
344
- name: textNode,
345
- x: x,
346
- y: y,
347
- width: width,
348
- draggable: !props.disabled,
349
- visible: textVisible,
350
- fontSize: 16
351
- }, extraProps)), transformerVisible && /*#__PURE__*/_react["default"].createElement(_drawableTransformer["default"], {
352
- key: "transformer_".concat(id),
353
- ref: function ref(text) {
354
- _this3[transformerNode] = text;
355
- },
356
- selectedShapeName: textNode,
357
- onMouseDown: _this3.handleMouseDown,
358
- onTouchStart: _this3.handleMouseDown,
359
- onMouseUp: _this3.handleMouseUp,
360
- onTouchEnd: _this3.handleMouseUp
361
- })];
362
- });
363
- }
364
- }], [{
365
- key: "getTextareaNode",
366
- value: function getTextareaNode(id) {
367
- return "textarea_".concat(id);
368
- }
369
- }, {
370
- key: "getTextNode",
371
- value: function getTextNode(id) {
372
- return "text_".concat(id);
373
- }
374
- }, {
375
- key: "getTransformerNode",
376
- value: function getTransformerNode(id) {
377
- return "transformer_".concat(id);
378
- }
379
- }]);
380
- return TextDrawable;
381
- }();
382
-
383
- exports["default"] = TextDrawable;
384
- //# sourceMappingURL=drawable-text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-text.jsx"],"names":["translator","Translator","generateId","Math","random","toString","substring","Date","getTime","TextDrawable","props","eventListenersDetachArray","forEach","fn","all","forceUpdate","language","id","push","isDefault","label","t","lng","width","x","length","y","textVisible","transformerVisible","textareaVisible","createdAt","type","handleSessionChange","toggleTextSelected","e","current","filter","item","text","toggleTextarea","textNode","getTextNode","textareaNode","getTextareaNode","areaPosition","_lastPos","value","style","position","top","left","padding","height","fontSize","border","margin","overflow","background","outline","resize","lineHeight","fontFamily","transformOrigin","textAlign","align","color","fill","rotation","transform","px","isFirefox","navigator","userAgent","toLowerCase","indexOf","round","scrollHeight","focus","keyDownHandler","keyCode","shiftKey","saveValue","addEventListener","removeEventListener","blurHandler","showOnlyTextNodes","initializeDefault","setAttrs","scaleX","scale","map","textarea","display","setInitialProps","stage","newStage","stageClickHandler","target","on","off","transformerNode","extraProps","disabled","onClick","handleClick","onTap","onDblClick","handleDblClick","onDblTap","onTransform","handleTransform","onTransformEnd","onMouseDown","handleMouseDown","onTouchStart","onMouseUp","handleMouseUp","onTouchEnd","onDragEnd","onMouseEnter","onMouseOverElement","onMouseLeave","onMouseOutElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Text } from 'react-konva';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\nimport Transformer from './drawable-transformer';\n\nexport const generateId = () => Math.random().toString(36).substring(2) + new Date().getTime().toString(36);\n\nexport default class TextDrawable {\n static getTextareaNode(id) {\n return `textarea_${id}`;\n }\n\n static getTextNode(id) {\n return `text_${id}`;\n }\n\n static getTransformerNode(id) {\n return `transformer_${id}`;\n }\n\n constructor(props) {\n this.all = (props && props.all) || [];\n this.eventListenersDetachArray = [];\n }\n\n removeEventListeners = () => this.eventListenersDetachArray.forEach((fn) => fn());\n\n setAll = (all) => {\n this.all = all;\n this.props.forceUpdate();\n };\n\n addNewTextEntry = (language) => {\n const all = this.all;\n const id = generateId();\n\n all.push({\n id: id,\n isDefault: true,\n label: translator.t('drawingResponse.onDoubleClick', { lng: language }),\n width: 200,\n x: (all.length + 1) * 5 + 50,\n y: (all.length + 1) * 5 + 50,\n textVisible: true,\n transformerVisible: true,\n textareaVisible: false,\n createdAt: new Date(),\n type: 'text-entry',\n });\n\n this.props.handleSessionChange();\n };\n\n showOnlyTextNodes() {\n this.all.map((item) => {\n item.textVisible = true;\n item.transformerVisible = false;\n item.textareaVisible = false;\n });\n }\n\n toggleTextarea(id, value) {\n this.all = this.all.map((item) => {\n if (item.id === id) {\n return {\n ...item,\n textVisible: !value,\n transformerVisible: !value,\n textareaVisible: value,\n };\n }\n return item;\n });\n this.props.forceUpdate();\n }\n\n initializeDefault(id, isDefault) {\n if (isDefault) {\n const current = this.all.filter((item) => item.id === id)[0];\n current.isDefault = false;\n }\n }\n\n saveValue(id, textNode, textareaNode) {\n if (textareaNode.value) {\n textNode.text(textareaNode.value);\n } else {\n this.all = this.all.filter((text) => text.id !== id);\n this.props.forceUpdate();\n }\n\n this.props.handleSessionChange();\n }\n\n handleMouseDown = () => this.props.toggleTextSelected(true);\n handleMouseUp = () => this.props.toggleTextSelected(false);\n\n handleClick = (e, id) => {\n const current = this.all.filter((item) => item.id === id)[0];\n current.transformerVisible = true;\n this.props.forceUpdate();\n };\n\n handleDblClick = (e, text) => {\n const { id, isDefault } = text;\n this.toggleTextarea(id, true);\n\n const textNode = this[TextDrawable.getTextNode(id)];\n const textareaNode = this[TextDrawable.getTextareaNode(id)];\n\n const areaPosition = textNode._lastPos;\n\n textareaNode.value = isDefault ? '' : textNode.text();\n textareaNode.style.position = 'absolute';\n textareaNode.style.top = areaPosition.y + 'px';\n textareaNode.style.left = areaPosition.x + 'px';\n textareaNode.style.width = textNode.width() - textNode.padding() * 2 + 'px';\n textareaNode.style.height = textNode.height() - textNode.padding() * 2 + 5 + 'px';\n textareaNode.style.fontSize = textNode.fontSize() + 'px';\n textareaNode.style.border = 'none';\n textareaNode.style.padding = '0px';\n textareaNode.style.margin = '0px';\n textareaNode.style.overflow = 'hidden';\n textareaNode.style.background = 'none';\n textareaNode.style.outline = 'none';\n textareaNode.style.resize = 'none';\n textareaNode.style.lineHeight = textNode.lineHeight();\n textareaNode.style.fontFamily = textNode.fontFamily();\n textareaNode.style.transformOrigin = 'left top';\n textareaNode.style.textAlign = textNode.align();\n textareaNode.style.color = textNode.fill();\n\n let rotation = textNode.rotation();\n let transform = '';\n if (rotation) {\n transform += 'rotateZ(' + rotation + 'deg)';\n }\n\n let px = 0;\n const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\n if (isFirefox) {\n px += 2 + Math.round(textNode.fontSize() / 20);\n }\n\n transform += 'translateY(-' + px + 'px)';\n\n textareaNode.style.transform = transform;\n textareaNode.style.height = 'auto';\n textareaNode.style.height = textareaNode.scrollHeight + 3 + 'px';\n\n textareaNode.focus();\n\n const keyDownHandler = (e) => {\n // hide on enter but don't hide on shift + enter\n if (e.keyCode === 13 && !e.shiftKey) {\n this.toggleTextarea(id, false);\n this.saveValue(id, textNode, textareaNode);\n }\n\n // on esc do not set value back to node\n if (e.keyCode === 27) {\n this.toggleTextarea(id, false);\n }\n };\n\n textareaNode.addEventListener('keydown', keyDownHandler);\n\n this.eventListenersDetachArray.push(() => textareaNode.removeEventListener('keydown', keyDownHandler));\n\n const blurHandler = () => {\n this.showOnlyTextNodes();\n this.saveValue(id, textNode, textareaNode);\n };\n\n textareaNode.addEventListener('blur', blurHandler);\n\n this.eventListenersDetachArray.push(() => textareaNode.removeEventListener('blur', blurHandler));\n\n this.initializeDefault(id, isDefault);\n this.props.forceUpdate();\n };\n\n handleTransform = (e, textNode) => {\n this[textNode].setAttrs({\n width: this[textNode].width() * this[textNode].scaleX(),\n scaleX: this.props.scale,\n });\n };\n\n renderTextareas() {\n return this.all.map((text) => {\n const { id, textareaVisible } = text;\n const textareaNode = `textarea_${id}`;\n\n return (\n <textarea\n key={textareaNode}\n ref={(textarea) => {\n this[textareaNode] = textarea;\n }}\n style={{ display: `${textareaVisible ? 'block' : 'none'}` }}\n />\n );\n });\n }\n\n setInitialProps(props) {\n if (!this.props) {\n this.props = props;\n }\n }\n\n render(props) {\n this.setInitialProps(props);\n\n if (props.stage) {\n const newStage = props.stage;\n\n // setting the handler only once\n if (newStage !== this.stage) {\n const stageClickHandler = (e) => {\n if (e.target !== this.stage) {\n return;\n }\n\n this.showOnlyTextNodes();\n this.props.forceUpdate();\n };\n\n newStage.on('click', stageClickHandler);\n\n this.eventListenersDetachArray.push(() => newStage.off('click', stageClickHandler));\n }\n\n this.stage = newStage;\n }\n\n return this.all.map((text) => {\n const { id, label, x, y, width, textVisible, rotation, transformerVisible } = text;\n\n const textNode = `text_${id}`;\n const transformerNode = `transformer_${id}`;\n let extraProps = {};\n\n if (!props.disabled) {\n extraProps = {\n onClick: (e) => this.handleClick(e, id),\n onTap: (e) => this.handleClick(e, id),\n onDblClick: (e) => this.handleDblClick(e, text),\n onDblTap: (e) => this.handleDblClick(e, text),\n onTransform: (e) => this.handleTransform(e, textNode),\n onTransformEnd: this.props.handleSessionChange,\n onMouseDown: this.handleMouseDown,\n onTouchStart: this.handleMouseDown,\n onMouseUp: this.handleMouseUp,\n onTouchEnd: this.handleMouseUp,\n onDragEnd: this.props.handleSessionChange,\n onMouseEnter: this.props.onMouseOverElement,\n onMouseLeave: this.props.onMouseOutElement,\n };\n }\n\n if (rotation) {\n extraProps.rotation = rotation;\n }\n\n return [\n <Text\n key={id}\n bubbles={true}\n id={id}\n ref={(text) => {\n this[textNode] = text;\n }}\n text={text.text || label}\n name={textNode}\n x={x}\n y={y}\n width={width}\n draggable={!props.disabled}\n visible={textVisible}\n fontSize={16}\n {...extraProps}\n />,\n transformerVisible && (\n <Transformer\n key={`transformer_${id}`}\n ref={(text) => {\n this[transformerNode] = text;\n }}\n selectedShapeName={textNode}\n onMouseDown={this.handleMouseDown}\n onTouchStart={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onTouchEnd={this.handleMouseUp}\n />\n ),\n ];\n });\n }\n}\n"],"file":"drawable-text.js"}