@pie-element/drawing-response 4.3.4-next.8 → 4.3.4-next.90

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 (55) hide show
  1. package/configure/lib/button.js.map +1 -1
  2. package/configure/lib/defaults.js.map +1 -1
  3. package/configure/lib/image-container.js +2 -2
  4. package/configure/lib/image-container.js.map +1 -1
  5. package/configure/lib/index.js.map +1 -1
  6. package/configure/lib/root.js.map +1 -1
  7. package/configure/package.json +2 -2
  8. package/configure/src/__tests__/image-container.test.jsx +42 -35
  9. package/configure/src/__tests__/index.test.js +7 -7
  10. package/configure/src/__tests__/root.test.jsx +18 -18
  11. package/configure/src/button.jsx +4 -4
  12. package/configure/src/defaults.js +11 -11
  13. package/configure/src/image-container.jsx +7 -18
  14. package/configure/src/index.js +5 -5
  15. package/configure/src/root.jsx +10 -28
  16. package/controller/lib/defaults.js.map +1 -1
  17. package/controller/lib/index.js.map +1 -1
  18. package/controller/src/__tests__/index.test.js +20 -19
  19. package/controller/src/defaults.js +2 -2
  20. package/controller/src/index.js +12 -16
  21. package/docs/config-schema.json.md +1 -1
  22. package/docs/demo/config.js +2 -2
  23. package/docs/demo/generate.js +2 -2
  24. package/docs/demo/session.js +4 -4
  25. package/docs/pie-schema.json.md +1 -1
  26. package/lib/drawing-response/button.js.map +1 -1
  27. package/lib/drawing-response/constants.js.map +1 -1
  28. package/lib/drawing-response/container.js.map +1 -1
  29. package/lib/drawing-response/drawable-image.js.map +1 -1
  30. package/lib/drawing-response/drawable-main.js +1 -0
  31. package/lib/drawing-response/drawable-main.js.map +1 -1
  32. package/lib/drawing-response/drawable-palette.js.map +1 -1
  33. package/lib/drawing-response/drawable-text.js.map +1 -1
  34. package/lib/drawing-response/drawable-transformer.js.map +1 -1
  35. package/lib/drawing-response/factory.js.map +1 -1
  36. package/lib/drawing-response/icon.js.map +1 -1
  37. package/lib/drawing-response/index.js.map +1 -1
  38. package/lib/index.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/__tests__/drawing-index-test.jsx +4 -4
  41. package/src/drawing-response/__tests__/container.test.jsx +2 -2
  42. package/src/drawing-response/__tests__/drawable-helper.test.jsx +1 -1
  43. package/src/drawing-response/__tests__/drawing-main.test.jsx +73 -86
  44. package/src/drawing-response/button.jsx +5 -8
  45. package/src/drawing-response/constants.js +42 -34
  46. package/src/drawing-response/container.jsx +36 -55
  47. package/src/drawing-response/drawable-image.jsx +4 -4
  48. package/src/drawing-response/drawable-main.jsx +1 -0
  49. package/src/drawing-response/drawable-palette.jsx +13 -37
  50. package/src/drawing-response/drawable-text.jsx +29 -49
  51. package/src/drawing-response/drawable-transformer.jsx +3 -1
  52. package/src/drawing-response/factory.js +3 -11
  53. package/src/drawing-response/icon.jsx +19 -20
  54. package/src/drawing-response/index.jsx +8 -16
  55. package/src/index.js +3 -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 = {
@@ -508,7 +508,7 @@ describe('DrawingResponse', () => {
508
508
  starty: 200,
509
509
  x: 300,
510
510
  y: 300,
511
- scale: 1
511
+ scale: 1,
512
512
  };
513
513
  wrapper = mkWrapper('DrawableText', props, 'div');
514
514
  });
@@ -529,7 +529,7 @@ describe('DrawingResponse', () => {
529
529
 
530
530
  describe('snapshot when there is no value', () => {
531
531
  beforeEach(() => {
532
- props.all.forEach(a => {
532
+ props.all.forEach((a) => {
533
533
  delete a.value;
534
534
  });
535
535
  wrapper = mkWrapper('DrawableText', props, 'div');
@@ -561,9 +561,9 @@ describe('DrawingResponse', () => {
561
561
  textVisible: true,
562
562
  transformerVisible: true,
563
563
  textareaVisible: false,
564
- type: 'text-entry'
565
- })
566
- ])
564
+ type: 'text-entry',
565
+ }),
566
+ ]),
567
567
  );
568
568
 
569
569
  expect(stage.on).toHaveBeenCalled();
@@ -580,9 +580,9 @@ describe('DrawingResponse', () => {
580
580
  expect.objectContaining({
581
581
  textVisible: true,
582
582
  transformerVisible: false,
583
- textareaVisible: false
584
- })
585
- ])
583
+ textareaVisible: false,
584
+ }),
585
+ ]),
586
586
  );
587
587
  });
588
588
  });
@@ -595,8 +595,8 @@ describe('DrawingResponse', () => {
595
595
  expect.objectContaining({
596
596
  textVisible: false,
597
597
  transformerVisible: false,
598
- textareaVisible: true
599
- })
598
+ textareaVisible: true,
599
+ }),
600
600
  );
601
601
 
602
602
  expect(forceUpdate).toHaveBeenCalled();
@@ -607,8 +607,8 @@ describe('DrawingResponse', () => {
607
607
  expect.objectContaining({
608
608
  textVisible: true,
609
609
  transformerVisible: true,
610
- textareaVisible: false
611
- })
610
+ textareaVisible: false,
611
+ }),
612
612
  );
613
613
 
614
614
  expect(forceUpdate).toHaveBeenCalled();
@@ -621,8 +621,8 @@ describe('DrawingResponse', () => {
621
621
 
622
622
  expect(element.all[0]).toEqual(
623
623
  expect.objectContaining({
624
- isDefault: false
625
- })
624
+ isDefault: false,
625
+ }),
626
626
  );
627
627
  });
628
628
  });
@@ -630,10 +630,10 @@ describe('DrawingResponse', () => {
630
630
  describe('saveValue', () => {
631
631
  it('should make the item with the right id default and call handleSessionChange', () => {
632
632
  const textNode = {
633
- text: jest.fn()
633
+ text: jest.fn(),
634
634
  };
635
635
  const textareaNode = {
636
- value: 'Foo bar'
636
+ value: 'Foo bar',
637
637
  };
638
638
 
639
639
  element.saveValue('gcifqhhimf8k2d6g8hs', textNode, textareaNode);
@@ -648,9 +648,9 @@ describe('DrawingResponse', () => {
648
648
  expect(element.all).toEqual(
649
649
  expect.not.arrayContaining([
650
650
  expect.objectContaining({
651
- id: 'gcifqhhimf8k2d6g8hs'
652
- })
653
- ])
651
+ id: 'gcifqhhimf8k2d6g8hs',
652
+ }),
653
+ ]),
654
654
  );
655
655
  expect(forceUpdate).toHaveBeenCalled();
656
656
  expect(handleSessionChange).toHaveBeenCalled();
@@ -672,9 +672,9 @@ describe('DrawingResponse', () => {
672
672
  expect(element.all).toEqual(
673
673
  expect.arrayContaining([
674
674
  expect.objectContaining({
675
- transformerVisible: true
676
- })
677
- ])
675
+ transformerVisible: true,
676
+ }),
677
+ ]),
678
678
  );
679
679
 
680
680
  expect(forceUpdate).toHaveBeenCalled();
@@ -683,13 +683,13 @@ describe('DrawingResponse', () => {
683
683
  it('should call the right functions onDblClick', () => {
684
684
  const text = {
685
685
  id: 'gcifqhhimf8k2d6g8hs',
686
- isDefault: false
686
+ isDefault: false,
687
687
  };
688
688
 
689
689
  const textNode = (element[`text_${text.id}`] = {
690
690
  _lastPos: {
691
691
  x: 200,
692
- y: 200
692
+ y: 200,
693
693
  },
694
694
  align: jest.fn().mockReturnValue('center'),
695
695
  fill: jest.fn().mockReturnValue('green'),
@@ -700,13 +700,13 @@ describe('DrawingResponse', () => {
700
700
  padding: jest.fn().mockReturnValue(0),
701
701
  rotation: jest.fn().mockReturnValue(0),
702
702
  text: jest.fn().mockReturnValue('foo bar'),
703
- width: jest.fn().mockReturnValue(200)
703
+ width: jest.fn().mockReturnValue(200),
704
704
  });
705
705
  const textareaNode = (element[`textarea_${text.id}`] = {
706
706
  focus: jest.fn(),
707
707
  addEventListener: jest.fn(),
708
708
  style: {},
709
- scrollHeight: 205
709
+ scrollHeight: 205,
710
710
  });
711
711
 
712
712
  const initSpy = jest.spyOn(element, 'initializeDefault');
@@ -737,23 +737,19 @@ describe('DrawingResponse', () => {
737
737
  transformOrigin: 'left top',
738
738
  textAlign: 'center',
739
739
  transform: 'translateY(-0px)',
740
- width: '200px'
740
+ width: '200px',
741
741
  });
742
742
 
743
743
  expect(textareaNode.focus).toHaveBeenCalled();
744
744
  expect(stage.on).toHaveBeenCalled();
745
745
  expect(initSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', false);
746
746
  expect(forceUpdate).toHaveBeenCalled();
747
- expect(textareaNode.addEventListener.mock.calls[0][0]).toEqual(
748
- 'keydown'
749
- );
750
- expect(textareaNode.addEventListener.mock.calls[1][0]).toEqual(
751
- 'blur'
752
- );
747
+ expect(textareaNode.addEventListener.mock.calls[0][0]).toEqual('keydown');
748
+ expect(textareaNode.addEventListener.mock.calls[1][0]).toEqual('blur');
753
749
 
754
750
  const event = {
755
751
  keyCode: 13,
756
- shiftKey: true
752
+ shiftKey: true,
757
753
  };
758
754
 
759
755
  textareaNode.addEventListener.mock.calls[0][1](event);
@@ -767,11 +763,7 @@ describe('DrawingResponse', () => {
767
763
  textareaNode.addEventListener.mock.calls[0][1](event);
768
764
 
769
765
  expect(toggleSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', false);
770
- expect(saveValueSpy).toHaveBeenCalledWith(
771
- 'gcifqhhimf8k2d6g8hs',
772
- textNode,
773
- textareaNode
774
- );
766
+ expect(saveValueSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', textNode, textareaNode);
775
767
 
776
768
  event.keyCode = 27;
777
769
 
@@ -786,11 +778,7 @@ describe('DrawingResponse', () => {
786
778
  stage.on.mock.calls[0][1](event);
787
779
 
788
780
  expect(showTextSpy).toHaveBeenCalled();
789
- expect(saveValueSpy).toHaveBeenCalledWith(
790
- 'gcifqhhimf8k2d6g8hs',
791
- textNode,
792
- textareaNode
793
- );
781
+ expect(saveValueSpy).toHaveBeenCalledWith('gcifqhhimf8k2d6g8hs', textNode, textareaNode);
794
782
  });
795
783
  });
796
784
 
@@ -799,14 +787,14 @@ describe('DrawingResponse', () => {
799
787
  const textNode = (element[`text_gcifqhhimf8k2d6g8hs`] = {
800
788
  setAttrs: jest.fn(),
801
789
  width: jest.fn().mockReturnValue(100),
802
- scaleX: jest.fn().mockReturnValue(1)
790
+ scaleX: jest.fn().mockReturnValue(1),
803
791
  });
804
792
 
805
793
  element.handleTransform(null, 'text_gcifqhhimf8k2d6g8hs');
806
794
 
807
795
  expect(textNode.setAttrs).toHaveBeenCalledWith({
808
796
  width: 100,
809
- scaleX: 1
797
+ scaleX: 1,
810
798
  });
811
799
  });
812
800
  });
@@ -825,11 +813,11 @@ describe('DrawingResponse', () => {
825
813
  it('should set the stage listener only once', () => {
826
814
  const separateStage = {
827
815
  on: jest.fn(),
828
- off: jest.fn()
816
+ off: jest.fn(),
829
817
  };
830
818
  const newProps = {
831
819
  ...cloneDeep(props),
832
- stage: separateStage
820
+ stage: separateStage,
833
821
  };
834
822
  const newElement = new drawableClasses['DrawableText'](newProps);
835
823
 
@@ -845,5 +833,4 @@ describe('DrawingResponse', () => {
845
833
  });
846
834
  });
847
835
  });
848
- })
849
- ;
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
- type: 'Select',
4
- label: 'Select',
5
- icon: 'mdiCursorDefault'
6
- },{
7
- type: 'FreePathDrawable',
8
- label: 'Free Draw',
9
- icon: 'mdiPencil'
10
- },{
11
- type: 'LineDrawable',
12
- label: 'Line',
13
- icon: 'mdiMinus'
14
- },{
15
- type: 'RectangleDrawable',
16
- label: 'Rectangle',
17
- icon: 'mdiRectangle'
18
- },{
19
- type: 'CircleDrawable',
20
- label: 'Circle',
21
- icon: 'mdiCircle'
22
- },{
23
- type: 'Text',
24
- label: 'Text Entry',
25
- icon: 'mdiFormatColorText'
26
- },{
27
- // ,{
28
- // type: 'PaintBucket',
29
- // label: 'Paint Bucket',
30
- // icon: 'mdiFormatColorFill'
31
- // },
32
- type: 'EraserDrawable',
33
- label: 'Eraser',
34
- icon: 'mdiEraser'
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
  };