@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.
- package/CHANGELOG.md +8 -0
- package/configure/CHANGELOG.md +8 -0
- package/configure/lib/__tests__/image-container.test.js +187 -0
- package/configure/lib/__tests__/index.test.js +62 -0
- package/configure/lib/__tests__/root.test.js +98 -0
- package/configure/lib/defaults.js +3 -2
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/image-container.js +17 -21
- package/configure/lib/image-container.js.map +1 -1
- package/configure/lib/index.js +2 -2
- package/configure/lib/root.js +2 -2
- package/configure/package.json +3 -3
- package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +2 -2
- package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +2 -2
- package/configure/src/defaults.js +3 -2
- package/configure/src/image-container.jsx +11 -14
- package/controller/lib/__tests__/index.test.js +338 -0
- package/controller/lib/index.js +7 -4
- package/controller/lib/index.js.map +1 -1
- package/docs/demo/pie.manifest.json +11 -0
- package/docs/pie-schema.json +1 -1
- package/docs/pie-schema.json.md +1 -1
- package/lib/__tests__/drawing-index-test.js +45 -0
- package/lib/drawing-response/__tests__/container.test.js +86 -0
- package/lib/drawing-response/__tests__/drawable-helper.test.js +50 -0
- package/lib/drawing-response/__tests__/drawing-main.test.js +704 -0
- package/lib/drawing-response/__tests__/factory.test.js +19 -0
- package/lib/drawing-response/container.js +1 -1
- package/lib/drawing-response/container.js.map +1 -1
- package/lib/drawing-response/drawable-image.js +1 -1
- package/lib/drawing-response/drawable-image.js.map +1 -1
- package/lib/drawing-response/drawable-main.js +12 -5
- package/lib/drawing-response/drawable-main.js.map +1 -1
- package/lib/drawing-response/drawable-text.js +14 -4
- package/lib/drawing-response/drawable-text.js.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
- package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +4 -4
- package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +14 -0
- package/src/drawing-response/container.jsx +1 -1
- package/src/drawing-response/drawable-image.jsx +1 -1
- package/src/drawing-response/drawable-main.jsx +18 -8
- package/src/drawing-response/drawable-text.jsx +6 -0
- package/src/index.js +5 -0
- package/yarn-error.log +15267 -0
- package/LICENSE.md +0 -5
|
@@ -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
|
-
|
|
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
|
|
230
|
-
const imageWidth = imageDimensions
|
|
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
|
-
|
|
256
|
-
|
|
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
|
});
|