@pie-element/drawing-response 3.9.8 → 3.9.10-beta.1443
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 +381 -0
- package/configure/CHANGELOG.md +363 -0
- package/configure/lib/button.js.map +1 -1
- package/configure/lib/defaults.js +21 -2
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/image-container.js +37 -21
- package/configure/lib/image-container.js.map +1 -1
- package/configure/lib/index.js +64 -11
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/root.js +65 -30
- package/configure/lib/root.js.map +1 -1
- package/configure/package.json +4 -4
- package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +3 -2
- package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +34 -14
- package/configure/src/__tests__/image-container.test.jsx +42 -35
- package/configure/src/__tests__/index.test.js +7 -7
- package/configure/src/__tests__/root.test.jsx +18 -18
- package/configure/src/button.jsx +4 -4
- package/configure/src/defaults.js +24 -5
- package/configure/src/image-container.jsx +80 -59
- package/configure/src/index.js +46 -14
- package/configure/src/root.jsx +71 -63
- package/controller/CHANGELOG.md +20 -0
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +13 -7
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/controller/src/__tests__/index.test.js +29 -19
- package/controller/src/defaults.js +2 -2
- package/controller/src/index.js +13 -14
- package/docs/config-schema.json +126 -0
- package/docs/config-schema.json.md +97 -1
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +4 -2
- package/docs/demo/session.js +4 -4
- package/docs/pie-schema.json +60 -0
- package/docs/pie-schema.json.md +44 -0
- package/lib/drawing-response/button.js.map +1 -1
- package/lib/drawing-response/constants.js.map +1 -1
- package/lib/drawing-response/container.js +73 -22
- package/lib/drawing-response/container.js.map +1 -1
- package/lib/drawing-response/drawable-image.js +1 -0
- package/lib/drawing-response/drawable-image.js.map +1 -1
- package/lib/drawing-response/drawable-main.js +45 -15
- package/lib/drawing-response/drawable-main.js.map +1 -1
- package/lib/drawing-response/drawable-palette.js +6 -1
- package/lib/drawing-response/drawable-palette.js.map +1 -1
- package/lib/drawing-response/drawable-text.js +15 -5
- package/lib/drawing-response/drawable-text.js.map +1 -1
- package/lib/drawing-response/drawable-transformer.js.map +1 -1
- package/lib/drawing-response/factory.js.map +1 -1
- package/lib/drawing-response/icon.js.map +1 -1
- package/lib/drawing-response/index.js +3 -0
- package/lib/drawing-response/index.js.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/drawing-index-test.jsx +4 -4
- package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +174 -290
- package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +26 -2
- package/src/drawing-response/__tests__/container.test.jsx +9 -2
- package/src/drawing-response/__tests__/drawable-helper.test.jsx +1 -1
- package/src/drawing-response/__tests__/drawing-main.test.jsx +74 -86
- package/src/drawing-response/button.jsx +5 -8
- package/src/drawing-response/constants.js +42 -34
- package/src/drawing-response/container.jsx +93 -70
- package/src/drawing-response/drawable-image.jsx +5 -4
- package/src/drawing-response/drawable-main.jsx +46 -17
- package/src/drawing-response/drawable-palette.jsx +18 -35
- package/src/drawing-response/drawable-text.jsx +34 -48
- package/src/drawing-response/drawable-transformer.jsx +3 -1
- package/src/drawing-response/factory.js +3 -11
- package/src/drawing-response/icon.jsx +19 -20
- package/src/drawing-response/index.jsx +9 -15
- package/src/index.js +8 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {shallow} from 'enzyme';
|
|
2
|
+
import { shallow } from 'enzyme';
|
|
3
3
|
import cloneDeep from 'lodash/cloneDeep';
|
|
4
4
|
import FreePathDrawable from '../drawable-free-path';
|
|
5
5
|
import LineDrawable from '../drawable-line';
|
|
@@ -7,7 +7,7 @@ import RectangleDrawable from '../drawable-rectangle';
|
|
|
7
7
|
import CircleDrawable from '../drawable-circle';
|
|
8
8
|
import EraserDrawable from '../drawable-eraser';
|
|
9
9
|
import DrawableText from '../drawable-text';
|
|
10
|
-
import {DrawableMain} from '../drawable-main';
|
|
10
|
+
import { DrawableMain } from '../drawable-main';
|
|
11
11
|
|
|
12
12
|
const drawableClasses = {
|
|
13
13
|
FreePathDrawable,
|
|
@@ -15,7 +15,7 @@ const drawableClasses = {
|
|
|
15
15
|
RectangleDrawable,
|
|
16
16
|
CircleDrawable,
|
|
17
17
|
EraserDrawable,
|
|
18
|
-
DrawableText
|
|
18
|
+
DrawableText,
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
describe('DrawingResponse', () => {
|
|
@@ -46,19 +46,19 @@ describe('DrawingResponse', () => {
|
|
|
46
46
|
onSessionChange,
|
|
47
47
|
imageDimensions: {},
|
|
48
48
|
imageUrl: 'url',
|
|
49
|
-
drawableDimensions: {height: 350, width: 353},
|
|
49
|
+
drawableDimensions: { height: 350, width: 353 },
|
|
50
50
|
fillColor: 'white',
|
|
51
51
|
outlineColor: 'black',
|
|
52
52
|
paintColor: 'red',
|
|
53
53
|
session: {},
|
|
54
|
-
toolActive: {type: 'Select', label: 'Select', icon: 'mdiCursorDefault'},
|
|
55
|
-
TextEntry
|
|
54
|
+
toolActive: { type: 'Select', label: 'Select', icon: 'mdiCursorDefault' },
|
|
55
|
+
TextEntry,
|
|
56
56
|
};
|
|
57
|
-
const props = {...defaults, ...extras};
|
|
57
|
+
const props = { ...defaults, ...extras };
|
|
58
58
|
return shallow(<DrawableMain {...props} />, {
|
|
59
|
-
...renderOpts
|
|
59
|
+
...renderOpts,
|
|
60
60
|
});
|
|
61
|
-
}
|
|
61
|
+
};
|
|
62
62
|
|
|
63
63
|
describe('snapshot', () => {
|
|
64
64
|
it('renders', () => {
|
|
@@ -67,7 +67,7 @@ describe('DrawingResponse', () => {
|
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
it('renders disabled', () => {
|
|
70
|
-
const w = wrapperMain({disabled: true});
|
|
70
|
+
const w = wrapperMain({ disabled: true });
|
|
71
71
|
expect(w).toMatchSnapshot();
|
|
72
72
|
});
|
|
73
73
|
});
|
|
@@ -90,7 +90,7 @@ describe('DrawingResponse', () => {
|
|
|
90
90
|
it('handleUndo', () => {
|
|
91
91
|
const w = wrapperMain();
|
|
92
92
|
|
|
93
|
-
w.setState({drawables: [new RectangleDrawable(props), new RectangleDrawable(props)]});
|
|
93
|
+
w.setState({ drawables: [new RectangleDrawable(props), new RectangleDrawable(props)] });
|
|
94
94
|
w.instance().handleUndo();
|
|
95
95
|
|
|
96
96
|
expect(w.state('drawables').length).toEqual(1);
|
|
@@ -103,12 +103,12 @@ describe('DrawingResponse', () => {
|
|
|
103
103
|
it('handleClearAll', () => {
|
|
104
104
|
const w = wrapperMain();
|
|
105
105
|
|
|
106
|
-
w.setState({drawables: [new RectangleDrawable(props), new RectangleDrawable(props)]});
|
|
106
|
+
w.setState({ drawables: [new RectangleDrawable(props), new RectangleDrawable(props)] });
|
|
107
107
|
w.instance().handleClearAll();
|
|
108
108
|
|
|
109
109
|
expect(w.state('drawables')).toEqual([]);
|
|
110
110
|
});
|
|
111
|
-
})
|
|
111
|
+
});
|
|
112
112
|
});
|
|
113
113
|
|
|
114
114
|
describe('CircleDrawable', () => {
|
|
@@ -154,8 +154,8 @@ describe('DrawingResponse', () => {
|
|
|
154
154
|
const event = {
|
|
155
155
|
target: {
|
|
156
156
|
getX: jest.fn().mockReturnValue(300),
|
|
157
|
-
getY: jest.fn().mockReturnValue(300)
|
|
158
|
-
}
|
|
157
|
+
getY: jest.fn().mockReturnValue(300),
|
|
158
|
+
},
|
|
159
159
|
};
|
|
160
160
|
|
|
161
161
|
element.handleDragEnd(props, event);
|
|
@@ -170,8 +170,8 @@ describe('DrawingResponse', () => {
|
|
|
170
170
|
const event = {
|
|
171
171
|
target: {
|
|
172
172
|
getX: jest.fn().mockReturnValue(300),
|
|
173
|
-
getY: jest.fn().mockReturnValue(300)
|
|
174
|
-
}
|
|
173
|
+
getY: jest.fn().mockReturnValue(300),
|
|
174
|
+
},
|
|
175
175
|
};
|
|
176
176
|
|
|
177
177
|
element.handleDragEnd(props, event);
|
|
@@ -220,8 +220,8 @@ describe('DrawingResponse', () => {
|
|
|
220
220
|
const event = {
|
|
221
221
|
target: {
|
|
222
222
|
getX: jest.fn().mockReturnValue(300),
|
|
223
|
-
getY: jest.fn().mockReturnValue(300)
|
|
224
|
-
}
|
|
223
|
+
getY: jest.fn().mockReturnValue(300),
|
|
224
|
+
},
|
|
225
225
|
};
|
|
226
226
|
|
|
227
227
|
element.handleDragEnd(props, event);
|
|
@@ -236,8 +236,8 @@ describe('DrawingResponse', () => {
|
|
|
236
236
|
const event = {
|
|
237
237
|
target: {
|
|
238
238
|
getX: jest.fn().mockReturnValue(300),
|
|
239
|
-
getY: jest.fn().mockReturnValue(300)
|
|
240
|
-
}
|
|
239
|
+
getY: jest.fn().mockReturnValue(300),
|
|
240
|
+
},
|
|
241
241
|
};
|
|
242
242
|
|
|
243
243
|
element.handleDragEnd(props, event);
|
|
@@ -293,8 +293,8 @@ describe('DrawingResponse', () => {
|
|
|
293
293
|
const event = {
|
|
294
294
|
target: {
|
|
295
295
|
getX: jest.fn().mockReturnValue(300),
|
|
296
|
-
getY: jest.fn().mockReturnValue(300)
|
|
297
|
-
}
|
|
296
|
+
getY: jest.fn().mockReturnValue(300),
|
|
297
|
+
},
|
|
298
298
|
};
|
|
299
299
|
|
|
300
300
|
element.handleDragEnd(props, event);
|
|
@@ -309,8 +309,8 @@ describe('DrawingResponse', () => {
|
|
|
309
309
|
const event = {
|
|
310
310
|
target: {
|
|
311
311
|
getX: jest.fn().mockReturnValue(300),
|
|
312
|
-
getY: jest.fn().mockReturnValue(300)
|
|
313
|
-
}
|
|
312
|
+
getY: jest.fn().mockReturnValue(300),
|
|
313
|
+
},
|
|
314
314
|
};
|
|
315
315
|
|
|
316
316
|
element.handleDragEnd(props, event);
|
|
@@ -366,8 +366,8 @@ describe('DrawingResponse', () => {
|
|
|
366
366
|
const event = {
|
|
367
367
|
target: {
|
|
368
368
|
getX: jest.fn().mockReturnValue(300),
|
|
369
|
-
getY: jest.fn().mockReturnValue(300)
|
|
370
|
-
}
|
|
369
|
+
getY: jest.fn().mockReturnValue(300),
|
|
370
|
+
},
|
|
371
371
|
};
|
|
372
372
|
|
|
373
373
|
element.handleDragEnd(props, event);
|
|
@@ -382,8 +382,8 @@ describe('DrawingResponse', () => {
|
|
|
382
382
|
const event = {
|
|
383
383
|
target: {
|
|
384
384
|
getX: jest.fn().mockReturnValue(300),
|
|
385
|
-
getY: jest.fn().mockReturnValue(300)
|
|
386
|
-
}
|
|
385
|
+
getY: jest.fn().mockReturnValue(300),
|
|
386
|
+
},
|
|
387
387
|
};
|
|
388
388
|
|
|
389
389
|
element.handleDragEnd(props, event);
|
|
@@ -437,8 +437,8 @@ describe('DrawingResponse', () => {
|
|
|
437
437
|
const event = {
|
|
438
438
|
target: {
|
|
439
439
|
getX: jest.fn().mockReturnValue(300),
|
|
440
|
-
getY: jest.fn().mockReturnValue(300)
|
|
441
|
-
}
|
|
440
|
+
getY: jest.fn().mockReturnValue(300),
|
|
441
|
+
},
|
|
442
442
|
};
|
|
443
443
|
|
|
444
444
|
element.handleDragEnd(props, event);
|
|
@@ -453,8 +453,8 @@ describe('DrawingResponse', () => {
|
|
|
453
453
|
const event = {
|
|
454
454
|
target: {
|
|
455
455
|
getX: jest.fn().mockReturnValue(300),
|
|
456
|
-
getY: jest.fn().mockReturnValue(300)
|
|
457
|
-
}
|
|
456
|
+
getY: jest.fn().mockReturnValue(300),
|
|
457
|
+
},
|
|
458
458
|
};
|
|
459
459
|
|
|
460
460
|
element.handleDragEnd(props, event);
|
|
@@ -481,8 +481,8 @@ describe('DrawingResponse', () => {
|
|
|
481
481
|
transformerVisible: true,
|
|
482
482
|
textareaVisible: false,
|
|
483
483
|
createdAt: new Date(),
|
|
484
|
-
type: 'text-entry'
|
|
485
|
-
}
|
|
484
|
+
type: 'text-entry',
|
|
485
|
+
},
|
|
486
486
|
];
|
|
487
487
|
let handleSessionChange = jest.fn();
|
|
488
488
|
let forceUpdate = jest.fn();
|
|
@@ -493,7 +493,7 @@ describe('DrawingResponse', () => {
|
|
|
493
493
|
beforeEach(() => {
|
|
494
494
|
stage = {
|
|
495
495
|
on: jest.fn(),
|
|
496
|
-
off: jest.fn()
|
|
496
|
+
off: jest.fn(),
|
|
497
497
|
};
|
|
498
498
|
|
|
499
499
|
props = {
|
|
@@ -507,7 +507,8 @@ describe('DrawingResponse', () => {
|
|
|
507
507
|
startx: 200,
|
|
508
508
|
starty: 200,
|
|
509
509
|
x: 300,
|
|
510
|
-
y: 300
|
|
510
|
+
y: 300,
|
|
511
|
+
scale: 1,
|
|
511
512
|
};
|
|
512
513
|
wrapper = mkWrapper('DrawableText', props, 'div');
|
|
513
514
|
});
|
|
@@ -528,7 +529,7 @@ describe('DrawingResponse', () => {
|
|
|
528
529
|
|
|
529
530
|
describe('snapshot when there is no value', () => {
|
|
530
531
|
beforeEach(() => {
|
|
531
|
-
props.all.forEach(a => {
|
|
532
|
+
props.all.forEach((a) => {
|
|
532
533
|
delete a.value;
|
|
533
534
|
});
|
|
534
535
|
wrapper = mkWrapper('DrawableText', props, 'div');
|
|
@@ -560,9 +561,9 @@ describe('DrawingResponse', () => {
|
|
|
560
561
|
textVisible: true,
|
|
561
562
|
transformerVisible: true,
|
|
562
563
|
textareaVisible: false,
|
|
563
|
-
type: 'text-entry'
|
|
564
|
-
})
|
|
565
|
-
])
|
|
564
|
+
type: 'text-entry',
|
|
565
|
+
}),
|
|
566
|
+
]),
|
|
566
567
|
);
|
|
567
568
|
|
|
568
569
|
expect(stage.on).toHaveBeenCalled();
|
|
@@ -579,9 +580,9 @@ describe('DrawingResponse', () => {
|
|
|
579
580
|
expect.objectContaining({
|
|
580
581
|
textVisible: true,
|
|
581
582
|
transformerVisible: false,
|
|
582
|
-
textareaVisible: false
|
|
583
|
-
})
|
|
584
|
-
])
|
|
583
|
+
textareaVisible: false,
|
|
584
|
+
}),
|
|
585
|
+
]),
|
|
585
586
|
);
|
|
586
587
|
});
|
|
587
588
|
});
|
|
@@ -594,8 +595,8 @@ describe('DrawingResponse', () => {
|
|
|
594
595
|
expect.objectContaining({
|
|
595
596
|
textVisible: false,
|
|
596
597
|
transformerVisible: false,
|
|
597
|
-
textareaVisible: true
|
|
598
|
-
})
|
|
598
|
+
textareaVisible: true,
|
|
599
|
+
}),
|
|
599
600
|
);
|
|
600
601
|
|
|
601
602
|
expect(forceUpdate).toHaveBeenCalled();
|
|
@@ -606,8 +607,8 @@ describe('DrawingResponse', () => {
|
|
|
606
607
|
expect.objectContaining({
|
|
607
608
|
textVisible: true,
|
|
608
609
|
transformerVisible: true,
|
|
609
|
-
textareaVisible: false
|
|
610
|
-
})
|
|
610
|
+
textareaVisible: false,
|
|
611
|
+
}),
|
|
611
612
|
);
|
|
612
613
|
|
|
613
614
|
expect(forceUpdate).toHaveBeenCalled();
|
|
@@ -620,8 +621,8 @@ describe('DrawingResponse', () => {
|
|
|
620
621
|
|
|
621
622
|
expect(element.all[0]).toEqual(
|
|
622
623
|
expect.objectContaining({
|
|
623
|
-
isDefault: false
|
|
624
|
-
})
|
|
624
|
+
isDefault: false,
|
|
625
|
+
}),
|
|
625
626
|
);
|
|
626
627
|
});
|
|
627
628
|
});
|
|
@@ -629,10 +630,10 @@ describe('DrawingResponse', () => {
|
|
|
629
630
|
describe('saveValue', () => {
|
|
630
631
|
it('should make the item with the right id default and call handleSessionChange', () => {
|
|
631
632
|
const textNode = {
|
|
632
|
-
text: jest.fn()
|
|
633
|
+
text: jest.fn(),
|
|
633
634
|
};
|
|
634
635
|
const textareaNode = {
|
|
635
|
-
value: 'Foo bar'
|
|
636
|
+
value: 'Foo bar',
|
|
636
637
|
};
|
|
637
638
|
|
|
638
639
|
element.saveValue('gcifqhhimf8k2d6g8hs', textNode, textareaNode);
|
|
@@ -647,9 +648,9 @@ describe('DrawingResponse', () => {
|
|
|
647
648
|
expect(element.all).toEqual(
|
|
648
649
|
expect.not.arrayContaining([
|
|
649
650
|
expect.objectContaining({
|
|
650
|
-
id: 'gcifqhhimf8k2d6g8hs'
|
|
651
|
-
})
|
|
652
|
-
])
|
|
651
|
+
id: 'gcifqhhimf8k2d6g8hs',
|
|
652
|
+
}),
|
|
653
|
+
]),
|
|
653
654
|
);
|
|
654
655
|
expect(forceUpdate).toHaveBeenCalled();
|
|
655
656
|
expect(handleSessionChange).toHaveBeenCalled();
|
|
@@ -671,9 +672,9 @@ describe('DrawingResponse', () => {
|
|
|
671
672
|
expect(element.all).toEqual(
|
|
672
673
|
expect.arrayContaining([
|
|
673
674
|
expect.objectContaining({
|
|
674
|
-
transformerVisible: true
|
|
675
|
-
})
|
|
676
|
-
])
|
|
675
|
+
transformerVisible: true,
|
|
676
|
+
}),
|
|
677
|
+
]),
|
|
677
678
|
);
|
|
678
679
|
|
|
679
680
|
expect(forceUpdate).toHaveBeenCalled();
|
|
@@ -682,13 +683,13 @@ describe('DrawingResponse', () => {
|
|
|
682
683
|
it('should call the right functions onDblClick', () => {
|
|
683
684
|
const text = {
|
|
684
685
|
id: 'gcifqhhimf8k2d6g8hs',
|
|
685
|
-
isDefault: false
|
|
686
|
+
isDefault: false,
|
|
686
687
|
};
|
|
687
688
|
|
|
688
689
|
const textNode = (element[`text_${text.id}`] = {
|
|
689
690
|
_lastPos: {
|
|
690
691
|
x: 200,
|
|
691
|
-
y: 200
|
|
692
|
+
y: 200,
|
|
692
693
|
},
|
|
693
694
|
align: jest.fn().mockReturnValue('center'),
|
|
694
695
|
fill: jest.fn().mockReturnValue('green'),
|
|
@@ -699,13 +700,13 @@ describe('DrawingResponse', () => {
|
|
|
699
700
|
padding: jest.fn().mockReturnValue(0),
|
|
700
701
|
rotation: jest.fn().mockReturnValue(0),
|
|
701
702
|
text: jest.fn().mockReturnValue('foo bar'),
|
|
702
|
-
width: jest.fn().mockReturnValue(200)
|
|
703
|
+
width: jest.fn().mockReturnValue(200),
|
|
703
704
|
});
|
|
704
705
|
const textareaNode = (element[`textarea_${text.id}`] = {
|
|
705
706
|
focus: jest.fn(),
|
|
706
707
|
addEventListener: jest.fn(),
|
|
707
708
|
style: {},
|
|
708
|
-
scrollHeight: 205
|
|
709
|
+
scrollHeight: 205,
|
|
709
710
|
});
|
|
710
711
|
|
|
711
712
|
const initSpy = jest.spyOn(element, 'initializeDefault');
|
|
@@ -736,23 +737,19 @@ describe('DrawingResponse', () => {
|
|
|
736
737
|
transformOrigin: 'left top',
|
|
737
738
|
textAlign: 'center',
|
|
738
739
|
transform: 'translateY(-0px)',
|
|
739
|
-
width: '200px'
|
|
740
|
+
width: '200px',
|
|
740
741
|
});
|
|
741
742
|
|
|
742
743
|
expect(textareaNode.focus).toHaveBeenCalled();
|
|
743
744
|
expect(stage.on).toHaveBeenCalled();
|
|
744
745
|
expect(initSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', false);
|
|
745
746
|
expect(forceUpdate).toHaveBeenCalled();
|
|
746
|
-
expect(textareaNode.addEventListener.mock.calls[0][0]).toEqual(
|
|
747
|
-
|
|
748
|
-
);
|
|
749
|
-
expect(textareaNode.addEventListener.mock.calls[1][0]).toEqual(
|
|
750
|
-
'blur'
|
|
751
|
-
);
|
|
747
|
+
expect(textareaNode.addEventListener.mock.calls[0][0]).toEqual('keydown');
|
|
748
|
+
expect(textareaNode.addEventListener.mock.calls[1][0]).toEqual('blur');
|
|
752
749
|
|
|
753
750
|
const event = {
|
|
754
751
|
keyCode: 13,
|
|
755
|
-
shiftKey: true
|
|
752
|
+
shiftKey: true,
|
|
756
753
|
};
|
|
757
754
|
|
|
758
755
|
textareaNode.addEventListener.mock.calls[0][1](event);
|
|
@@ -766,11 +763,7 @@ describe('DrawingResponse', () => {
|
|
|
766
763
|
textareaNode.addEventListener.mock.calls[0][1](event);
|
|
767
764
|
|
|
768
765
|
expect(toggleSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', false);
|
|
769
|
-
expect(saveValueSpy).toHaveBeenCalledWith(
|
|
770
|
-
'gcifqhhimf8k2d6g8hs',
|
|
771
|
-
textNode,
|
|
772
|
-
textareaNode
|
|
773
|
-
);
|
|
766
|
+
expect(saveValueSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', textNode, textareaNode);
|
|
774
767
|
|
|
775
768
|
event.keyCode = 27;
|
|
776
769
|
|
|
@@ -785,11 +778,7 @@ describe('DrawingResponse', () => {
|
|
|
785
778
|
stage.on.mock.calls[0][1](event);
|
|
786
779
|
|
|
787
780
|
expect(showTextSpy).toHaveBeenCalled();
|
|
788
|
-
expect(saveValueSpy).toHaveBeenCalledWith(
|
|
789
|
-
'gcifqhhimf8k2d6g8hs',
|
|
790
|
-
textNode,
|
|
791
|
-
textareaNode
|
|
792
|
-
);
|
|
781
|
+
expect(saveValueSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', textNode, textareaNode);
|
|
793
782
|
});
|
|
794
783
|
});
|
|
795
784
|
|
|
@@ -798,14 +787,14 @@ describe('DrawingResponse', () => {
|
|
|
798
787
|
const textNode = (element[`text_gcifqhhimf8k2d6g8hs`] = {
|
|
799
788
|
setAttrs: jest.fn(),
|
|
800
789
|
width: jest.fn().mockReturnValue(100),
|
|
801
|
-
scaleX: jest.fn().mockReturnValue(1)
|
|
790
|
+
scaleX: jest.fn().mockReturnValue(1),
|
|
802
791
|
});
|
|
803
792
|
|
|
804
793
|
element.handleTransform(null, 'text_gcifqhhimf8k2d6g8hs');
|
|
805
794
|
|
|
806
795
|
expect(textNode.setAttrs).toHaveBeenCalledWith({
|
|
807
796
|
width: 100,
|
|
808
|
-
scaleX: 1
|
|
797
|
+
scaleX: 1,
|
|
809
798
|
});
|
|
810
799
|
});
|
|
811
800
|
});
|
|
@@ -824,11 +813,11 @@ describe('DrawingResponse', () => {
|
|
|
824
813
|
it('should set the stage listener only once', () => {
|
|
825
814
|
const separateStage = {
|
|
826
815
|
on: jest.fn(),
|
|
827
|
-
off: jest.fn()
|
|
816
|
+
off: jest.fn(),
|
|
828
817
|
};
|
|
829
818
|
const newProps = {
|
|
830
819
|
...cloneDeep(props),
|
|
831
|
-
stage: separateStage
|
|
820
|
+
stage: separateStage,
|
|
832
821
|
};
|
|
833
822
|
const newElement = new drawableClasses['DrawableText'](newProps);
|
|
834
823
|
|
|
@@ -844,5 +833,4 @@ describe('DrawingResponse', () => {
|
|
|
844
833
|
});
|
|
845
834
|
});
|
|
846
835
|
});
|
|
847
|
-
})
|
|
848
|
-
;
|
|
836
|
+
});
|
|
@@ -22,12 +22,9 @@ RawButton.propTypes = {
|
|
|
22
22
|
classes: PropTypes.object.isRequired,
|
|
23
23
|
className: PropTypes.string,
|
|
24
24
|
disabled: PropTypes.bool,
|
|
25
|
-
label: PropTypes.oneOfType([
|
|
26
|
-
PropTypes.string,
|
|
27
|
-
PropTypes.object,
|
|
28
|
-
]),
|
|
25
|
+
label: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
29
26
|
onClick: PropTypes.func,
|
|
30
|
-
title: PropTypes.string
|
|
27
|
+
title: PropTypes.string,
|
|
31
28
|
};
|
|
32
29
|
|
|
33
30
|
RawButton.defaultProps = {
|
|
@@ -35,7 +32,7 @@ RawButton.defaultProps = {
|
|
|
35
32
|
disabled: false,
|
|
36
33
|
label: 'Add',
|
|
37
34
|
onClick: () => {},
|
|
38
|
-
title: ''
|
|
35
|
+
title: '',
|
|
39
36
|
};
|
|
40
37
|
|
|
41
38
|
const styles = () => ({
|
|
@@ -49,8 +46,8 @@ const styles = () => ({
|
|
|
49
46
|
'& svg': {
|
|
50
47
|
width: '1.3em !important',
|
|
51
48
|
height: '1.3em !important',
|
|
52
|
-
}
|
|
53
|
-
}
|
|
49
|
+
},
|
|
50
|
+
},
|
|
54
51
|
},
|
|
55
52
|
});
|
|
56
53
|
|
|
@@ -1,36 +1,44 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
tools: [
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
2
|
+
tools: [
|
|
3
|
+
{
|
|
4
|
+
type: 'Select',
|
|
5
|
+
label: 'Select',
|
|
6
|
+
icon: 'mdiCursorDefault',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
type: 'FreePathDrawable',
|
|
10
|
+
label: 'Free Draw',
|
|
11
|
+
icon: 'mdiPencil',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'LineDrawable',
|
|
15
|
+
label: 'Line',
|
|
16
|
+
icon: 'mdiMinus',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'RectangleDrawable',
|
|
20
|
+
label: 'Rectangle',
|
|
21
|
+
icon: 'mdiRectangle',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'CircleDrawable',
|
|
25
|
+
label: 'Circle',
|
|
26
|
+
icon: 'mdiCircle',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'Text',
|
|
30
|
+
label: 'Text Entry',
|
|
31
|
+
icon: 'mdiFormatColorText',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
// ,{
|
|
35
|
+
// type: 'PaintBucket',
|
|
36
|
+
// label: 'Paint Bucket',
|
|
37
|
+
// icon: 'mdiFormatColorFill'
|
|
38
|
+
// },
|
|
39
|
+
type: 'EraserDrawable',
|
|
40
|
+
label: 'Eraser',
|
|
41
|
+
icon: 'mdiEraser',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
36
44
|
};
|