@pie-element/drawing-response 3.9.14 → 3.9.15-touch

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 (47) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/configure/CHANGELOG.md +8 -0
  3. package/configure/lib/__tests__/image-container.test.js +187 -0
  4. package/configure/lib/__tests__/index.test.js +62 -0
  5. package/configure/lib/__tests__/root.test.js +98 -0
  6. package/configure/lib/defaults.js +3 -2
  7. package/configure/lib/defaults.js.map +1 -1
  8. package/configure/lib/image-container.js +17 -21
  9. package/configure/lib/image-container.js.map +1 -1
  10. package/configure/lib/index.js +2 -2
  11. package/configure/lib/root.js +2 -2
  12. package/configure/package.json +3 -3
  13. package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +2 -2
  14. package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +2 -2
  15. package/configure/src/defaults.js +3 -2
  16. package/configure/src/image-container.jsx +11 -14
  17. package/controller/lib/__tests__/index.test.js +338 -0
  18. package/controller/lib/index.js +7 -4
  19. package/controller/lib/index.js.map +1 -1
  20. package/docs/demo/pie.manifest.json +11 -0
  21. package/docs/pie-schema.json +1 -1
  22. package/docs/pie-schema.json.md +1 -1
  23. package/lib/__tests__/drawing-index-test.js +45 -0
  24. package/lib/drawing-response/__tests__/container.test.js +86 -0
  25. package/lib/drawing-response/__tests__/drawable-helper.test.js +50 -0
  26. package/lib/drawing-response/__tests__/drawing-main.test.js +704 -0
  27. package/lib/drawing-response/__tests__/factory.test.js +19 -0
  28. package/lib/drawing-response/container.js +1 -1
  29. package/lib/drawing-response/container.js.map +1 -1
  30. package/lib/drawing-response/drawable-image.js +1 -1
  31. package/lib/drawing-response/drawable-image.js.map +1 -1
  32. package/lib/drawing-response/drawable-main.js +12 -5
  33. package/lib/drawing-response/drawable-main.js.map +1 -1
  34. package/lib/drawing-response/drawable-text.js +14 -4
  35. package/lib/drawing-response/drawable-text.js.map +1 -1
  36. package/lib/index.js +3 -0
  37. package/lib/index.js.map +1 -1
  38. package/package.json +4 -4
  39. package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +4 -4
  40. package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +14 -0
  41. package/src/drawing-response/container.jsx +1 -1
  42. package/src/drawing-response/drawable-image.jsx +1 -1
  43. package/src/drawing-response/drawable-main.jsx +18 -8
  44. package/src/drawing-response/drawable-text.jsx +6 -0
  45. package/src/index.js +5 -0
  46. package/yarn-error.log +15267 -0
  47. package/LICENSE.md +0 -5
@@ -10,7 +10,7 @@ const DrawableImage = ({ classes, url, dimensions: { height, width } }) => (
10
10
  src={url}
11
11
  style={{
12
12
  height,
13
- maxWidth: 598,
13
+ maxWidth: width,
14
14
  maxHeight: 350,
15
15
  width,
16
16
  }}
@@ -89,11 +89,15 @@ export class DrawableMain extends React.Component {
89
89
  onMouseOutElement = () => this.setState({ isOver: false });
90
90
 
91
91
  handleMouseDown = e => {
92
+ // ONLY IF MOBILE?
93
+ document.body.style.overflow = 'hidden';
94
+
92
95
  const { newDrawable, textIsSelected } = this.state;
93
96
  const { toolActive, fillColor, outlineColor, scale } = this.props;
94
97
 
95
98
  if (newDrawable.length === 0 && !textIsSelected) {
96
99
  const { x, y } = e.target.getStage().getPointerPosition();
100
+
97
101
  const newDrawable = factory(toolActive.type, {
98
102
  startx: x / scale,
99
103
  starty: y / scale,
@@ -109,6 +113,9 @@ export class DrawableMain extends React.Component {
109
113
  };
110
114
 
111
115
  handleMouseUp = e => {
116
+ // ONLY IF MOBILE?
117
+ document.body.style.overflow = 'initial';
118
+
112
119
  const { newDrawable, drawables } = this.state;
113
120
  const { scale } = this.props;
114
121
 
@@ -218,27 +225,30 @@ export class DrawableMain extends React.Component {
218
225
  if (!disabled) {
219
226
  listeners = {
220
227
  onMouseUp: this.handleMouseUp,
221
- onMouseMove: this.handleMouseMove
228
+ onTouchEnd: this.handleMouseUp,
229
+ onMouseMove: this.handleMouseMove,
230
+ onTouchMove: this.handleMouseMove,
222
231
  };
223
232
 
224
233
  if (!draggable) {
225
234
  listeners.onMouseDown = this.handleMouseDown;
235
+ listeners.onTouchStart = this.handleMouseDown;
226
236
  }
227
237
  }
228
238
 
229
- const imageHeight = imageDimensions.height * scale;
230
- const imageWidth = imageDimensions.width * scale;
239
+ const imageHeight = imageDimensions?.height * scale;
240
+ const imageWidth = imageDimensions?.width * scale;
231
241
 
232
242
  return (
233
243
  <div>
234
244
  <div className={classes.undoControls}>
235
- <Button disabled={disabled} onClick={this.handleUndo} label="Undo" />
236
- <Button disabled={disabled} onClick={this.handleClearAll} label="Clear all" />
245
+ <Button disabled={disabled} onClick={this.handleUndo} label="Undo"/>
246
+ <Button disabled={disabled} onClick={this.handleClearAll} label="Clear all"/>
237
247
  </div>
238
248
  <div className={classes.base}>
239
249
  {backgroundImageEnabled && imageUrl && (
240
250
  <ImageBackground
241
- dimensions={{height: imageHeight, width: imageWidth}}
251
+ dimensions={{ height: imageHeight, width: imageWidth }}
242
252
  url={imageUrl}/>
243
253
  )}
244
254
 
@@ -252,8 +262,8 @@ export class DrawableMain extends React.Component {
252
262
  }}
253
263
  className={classnames(classes.stage, {
254
264
  [classes.active]:
255
- draggable &&
256
- (isOver || (newDrawable && newDrawable.length === 1))
265
+ draggable &&
266
+ (isOver || (newDrawable && newDrawable.length === 1))
257
267
  })}
258
268
  height={drawableDimensions.height}
259
269
  width={drawableDimensions.width}
@@ -266,11 +266,15 @@ export default class TextDrawable {
266
266
  if (!props.disabled) {
267
267
  extraProps = {
268
268
  onClick: e => this.handleClick(e, id),
269
+ onTap: e => this.handleClick(e, id),
269
270
  onDblClick: e => this.handleDblClick(e, text),
271
+ onDblTap: e => this.handleDblClick(e, text),
270
272
  onTransform: e => this.handleTransform(e, textNode),
271
273
  onTransformEnd: this.props.handleSessionChange,
272
274
  onMouseDown: this.handleMouseDown,
275
+ onTouchStart: this.handleMouseDown,
273
276
  onMouseUp: this.handleMouseUp,
277
+ onTouchEnd: this.handleMouseUp,
274
278
  onDragEnd: this.props.handleSessionChange,
275
279
  onMouseEnter: this.props.onMouseOverElement,
276
280
  onMouseLeave: this.props.onMouseOutElement,
@@ -307,7 +311,9 @@ export default class TextDrawable {
307
311
  }}
308
312
  selectedShapeName={textNode}
309
313
  onMouseDown={this.handleMouseDown}
314
+ onTouchStart={this.handleMouseDown}
310
315
  onMouseUp={this.handleMouseUp}
316
+ onTouchEnd={this.handleMouseUp}
311
317
  />
312
318
  )
313
319
  ];
package/src/index.js CHANGED
@@ -40,6 +40,10 @@ export default class DrawingResponse extends HTMLElement {
40
40
  this._render();
41
41
  }
42
42
 
43
+ get session() {
44
+ return this._session;
45
+ }
46
+
43
47
  connectedCallback() {
44
48
  this._render();
45
49
  }
@@ -51,6 +55,7 @@ export default class DrawingResponse extends HTMLElement {
51
55
  session: this._session,
52
56
  onSessionChange: this.sessionChanged
53
57
  });
58
+
54
59
  ReactDOM.render(el, this, () => {
55
60
  renderMath(this);
56
61
  });