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