@pie-element/drawing-response 3.9.12 → 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 (63) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/configure/CHANGELOG.md +24 -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 +8 -2
  7. package/configure/lib/defaults.js.map +1 -1
  8. package/configure/lib/image-container.js +13 -10
  9. package/configure/lib/image-container.js.map +1 -1
  10. package/configure/lib/index.js +2 -8
  11. package/configure/lib/index.js.map +1 -1
  12. package/configure/lib/root.js +17 -9
  13. package/configure/lib/root.js.map +1 -1
  14. package/configure/package.json +3 -3
  15. package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +2 -2
  16. package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +7 -14
  17. package/configure/src/defaults.js +8 -2
  18. package/configure/src/image-container.jsx +70 -45
  19. package/configure/src/index.js +0 -6
  20. package/configure/src/root.jsx +31 -24
  21. package/controller/CHANGELOG.md +8 -0
  22. package/controller/lib/__tests__/index.test.js +338 -0
  23. package/controller/lib/index.js +13 -7
  24. package/controller/lib/index.js.map +1 -1
  25. package/controller/package.json +1 -1
  26. package/controller/src/__tests__/index.test.js +18 -9
  27. package/controller/src/index.js +4 -1
  28. package/docs/config-schema.json +16 -0
  29. package/docs/config-schema.json.md +12 -0
  30. package/docs/demo/generate.js +1 -0
  31. package/docs/demo/pie.manifest.json +11 -0
  32. package/docs/pie-schema.json +12 -0
  33. package/docs/pie-schema.json.md +8 -0
  34. package/lib/__tests__/drawing-index-test.js +45 -0
  35. package/lib/drawing-response/__tests__/container.test.js +86 -0
  36. package/lib/drawing-response/__tests__/drawable-helper.test.js +50 -0
  37. package/lib/drawing-response/__tests__/drawing-main.test.js +704 -0
  38. package/lib/drawing-response/__tests__/factory.test.js +19 -0
  39. package/lib/drawing-response/container.js +57 -11
  40. package/lib/drawing-response/container.js.map +1 -1
  41. package/lib/drawing-response/drawable-image.js +1 -0
  42. package/lib/drawing-response/drawable-image.js.map +1 -1
  43. package/lib/drawing-response/drawable-main.js +36 -13
  44. package/lib/drawing-response/drawable-main.js.map +1 -1
  45. package/lib/drawing-response/drawable-text.js +15 -5
  46. package/lib/drawing-response/drawable-text.js.map +1 -1
  47. package/lib/drawing-response/index.js +3 -0
  48. package/lib/drawing-response/index.js.map +1 -1
  49. package/lib/index.js +3 -0
  50. package/lib/index.js.map +1 -1
  51. package/package.json +4 -4
  52. package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +18 -2
  53. package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +26 -2
  54. package/src/drawing-response/__tests__/container.test.jsx +7 -0
  55. package/src/drawing-response/__tests__/drawing-main.test.jsx +2 -1
  56. package/src/drawing-response/container.jsx +40 -2
  57. package/src/drawing-response/drawable-image.jsx +1 -0
  58. package/src/drawing-response/drawable-main.jsx +39 -15
  59. package/src/drawing-response/drawable-text.jsx +7 -1
  60. package/src/drawing-response/index.jsx +3 -1
  61. package/src/index.js +5 -0
  62. package/yarn-error.log +15267 -0
  63. package/LICENSE.md +0 -5
@@ -12,7 +12,8 @@ describe('controller', () => {
12
12
  height: 0,
13
13
  width: 0
14
14
  },
15
- teacherInstructions: 'Teacher Instructions'
15
+ teacherInstructions: 'Teacher Instructions',
16
+ backgroundImageEnabled: true
16
17
  };
17
18
  });
18
19
 
@@ -56,7 +57,8 @@ describe('controller', () => {
56
57
  imageUrl: question.imageUrl,
57
58
  imageDimensions: question.imageDimensions,
58
59
  prompt: question.prompt,
59
- teacherInstructions: null
60
+ teacherInstructions: null,
61
+ backgroundImageEnabled: question.backgroundImageEnabled
60
62
  });
61
63
  });
62
64
 
@@ -69,7 +71,8 @@ describe('controller', () => {
69
71
  imageUrl: question.imageUrl,
70
72
  imageDimensions: question.imageDimensions,
71
73
  prompt: null,
72
- teacherInstructions: null
74
+ teacherInstructions: null,
75
+ backgroundImageEnabled: question.backgroundImageEnabled
73
76
  });
74
77
  });
75
78
 
@@ -83,7 +86,8 @@ describe('controller', () => {
83
86
  imageUrl: question.imageUrl,
84
87
  imageDimensions: question.imageDimensions,
85
88
  prompt: question.prompt,
86
- teacherInstructions: null
89
+ teacherInstructions: null,
90
+ backgroundImageEnabled: question.backgroundImageEnabled
87
91
  });
88
92
  });
89
93
 
@@ -96,7 +100,8 @@ describe('controller', () => {
96
100
  imageUrl: question.imageUrl,
97
101
  imageDimensions: question.imageDimensions,
98
102
  prompt: question.prompt,
99
- teacherInstructions: question.teacherInstructions
103
+ teacherInstructions: question.teacherInstructions,
104
+ backgroundImageEnabled: question.backgroundImageEnabled
100
105
  });
101
106
  });
102
107
 
@@ -112,7 +117,8 @@ describe('controller', () => {
112
117
  imageUrl: question.imageUrl,
113
118
  imageDimensions: question.imageDimensions,
114
119
  prompt: question.prompt,
115
- teacherInstructions: null
120
+ teacherInstructions: null,
121
+ backgroundImageEnabled: question.backgroundImageEnabled
116
122
  });
117
123
  });
118
124
 
@@ -125,7 +131,8 @@ describe('controller', () => {
125
131
  imageUrl: question.imageUrl,
126
132
  imageDimensions: question.imageDimensions,
127
133
  prompt: question.prompt,
128
- teacherInstructions: null
134
+ teacherInstructions: null,
135
+ backgroundImageEnabled: question.backgroundImageEnabled
129
136
  });
130
137
  });
131
138
 
@@ -138,7 +145,8 @@ describe('controller', () => {
138
145
  imageUrl: question.imageUrl,
139
146
  imageDimensions: question.imageDimensions,
140
147
  prompt: question.prompt,
141
- teacherInstructions: question.teacherInstructions
148
+ teacherInstructions: question.teacherInstructions,
149
+ backgroundImageEnabled: question.backgroundImageEnabled
142
150
  });
143
151
  });
144
152
 
@@ -154,7 +162,8 @@ describe('controller', () => {
154
162
  imageUrl: question.imageUrl,
155
163
  imageDimensions: question.imageDimensions,
156
164
  prompt: question.prompt,
157
- teacherInstructions: null
165
+ teacherInstructions: null,
166
+ backgroundImageEnabled: question.backgroundImageEnabled
158
167
  });
159
168
  });
160
169
  });
@@ -7,6 +7,7 @@ export const normalize = question => ({
7
7
  promptEnabled: true,
8
8
  teacherInstructionsEnabled: true,
9
9
  studentInstructionsEnabled: true,
10
+ backgroundImageEnabled: true,
10
11
  ...question,
11
12
  });
12
13
 
@@ -16,7 +17,8 @@ export function model(question, session, env) {
16
17
  imageUrl,
17
18
  imageDimensions,
18
19
  prompt,
19
- promptEnabled
20
+ promptEnabled,
21
+ backgroundImageEnabled
20
22
  } = normalizedQuestion;
21
23
 
22
24
  return new Promise(resolve => {
@@ -26,6 +28,7 @@ export function model(question, session, env) {
26
28
  imageDimensions,
27
29
  imageUrl,
28
30
  prompt: promptEnabled ? prompt : null,
31
+ backgroundImageEnabled
29
32
  };
30
33
 
31
34
  if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
@@ -40,6 +40,22 @@
40
40
  }
41
41
  }
42
42
  },
43
+ "spellCheck": {
44
+ "title": "ConfigureProp",
45
+ "type": "object",
46
+ "properties": {
47
+ "settings": {
48
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
49
+ "type": "boolean",
50
+ "title": "settings"
51
+ },
52
+ "label": {
53
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
54
+ "type": "string",
55
+ "title": "label"
56
+ }
57
+ }
58
+ },
43
59
  "studentInstructions": {
44
60
  "title": "ConfigureProp",
45
61
  "type": "object",
@@ -31,6 +31,18 @@ Indicates if the item has to be displayed in the Settings Panel
31
31
 
32
32
  Indicates the label for the item that has to be displayed in the Settings Panel
33
33
 
34
+ # `spellCheck` (object)
35
+
36
+ Properties of the `spellCheck` object:
37
+
38
+ ## `settings` (boolean)
39
+
40
+ Indicates if the item has to be displayed in the Settings Panel
41
+
42
+ ## `label` (string)
43
+
44
+ Indicates the label for the item that has to be displayed in the Settings Panel
45
+
34
46
  # `studentInstructions` (object)
35
47
 
36
48
  Properties of the `studentInstructions` object:
@@ -3,6 +3,7 @@ exports.model = (id, element) => ({
3
3
  element,
4
4
  prompt: 'This is the question prompt',
5
5
  promptEnabled: true,
6
+ backgroundImageEnabled: true,
6
7
  toolbarEditorPosition: 'bottom',
7
8
  imageUrl: '',
8
9
  imageDimensions: {
@@ -0,0 +1,11 @@
1
+ {
2
+ "hash": "1210923316",
3
+ "info": [
4
+ {
5
+ "pie": "@pie-element/drawing-response",
6
+ "version": {
7
+ "requested": "latest"
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -63,6 +63,16 @@
63
63
  "type": "boolean",
64
64
  "title": "teacherInstructionsEnabled"
65
65
  },
66
+ "spellCheckEnabled": {
67
+ "description": "Indicates if spellcheck is enabled for the author. Default value is true",
68
+ "type": "boolean",
69
+ "title": "spellCheckEnabled"
70
+ },
71
+ "backgroundImageEnabled": {
72
+ "description": "Indicates if Background Image is enabled",
73
+ "type": "boolean",
74
+ "title": "backgroundImageEnabled"
75
+ },
66
76
  "toolbarEditorPosition": {
67
77
  "description": "Indicates the editor's toolbar position which can be 'bottom' or 'top'",
68
78
  "default": ": 'bottom'",
@@ -85,9 +95,11 @@
85
95
  }
86
96
  },
87
97
  "required": [
98
+ "backgroundImageEnabled",
88
99
  "element",
89
100
  "id",
90
101
  "imageDimensions",
102
+ "spellCheckEnabled",
91
103
  "studentInstructionsEnabled",
92
104
  "teacherInstructionsEnabled"
93
105
  ],
@@ -46,6 +46,14 @@ Indicates if Student Instructions are enabled
46
46
 
47
47
  Indicates if Teacher Instructions are enabled
48
48
 
49
+ # `spellCheckEnabled` (boolean, required)
50
+
51
+ Indicates if spellcheck is enabled for the author. Default value is true
52
+
53
+ # `backgroundImageEnabled` (boolean, required)
54
+
55
+ Indicates if Background Image is enabled
56
+
49
57
  # `toolbarEditorPosition` (string, enum)
50
58
 
51
59
  Indicates the editor's toolbar position which can be 'bottom' or 'top'
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+
9
+ var _enzyme = require("enzyme");
10
+
11
+ var _drawingResponse = _interopRequireDefault(require("../drawing-response"));
12
+
13
+ var _enzymeToJson = _interopRequireDefault(require("enzyme-to-json"));
14
+
15
+ describe('DrawingResponse', function () {
16
+ var wrapper;
17
+
18
+ var mkWrapper = function mkWrapper() {
19
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20
+ opts = _lodash["default"].extend({
21
+ model: {
22
+ disabled: false,
23
+ imageDimensions: {
24
+ height: 0,
25
+ width: 0
26
+ },
27
+ imageUrl: '',
28
+ mode: 'gather',
29
+ prompt: 'This is the question prompt'
30
+ }
31
+ }, opts);
32
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_drawingResponse["default"], opts));
33
+ };
34
+
35
+ beforeEach(function () {
36
+ wrapper = mkWrapper();
37
+ });
38
+ describe('snapshots', function () {
39
+ it('renders', function () {
40
+ var wrapper = mkWrapper();
41
+ expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
42
+ });
43
+ });
44
+ });
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZHJhd2luZy1pbmRleC10ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIndyYXBwZXIiLCJta1dyYXBwZXIiLCJvcHRzIiwiXyIsImV4dGVuZCIsIm1vZGVsIiwiZGlzYWJsZWQiLCJpbWFnZURpbWVuc2lvbnMiLCJoZWlnaHQiLCJ3aWR0aCIsImltYWdlVXJsIiwibW9kZSIsInByb21wdCIsImJlZm9yZUVhY2giLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxRQUFRLENBQUMsaUJBQUQsRUFBb0IsWUFBTTtBQUNoQyxNQUFJQyxPQUFKOztBQUVBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLEdBQWU7QUFBQSxRQUFkQyxJQUFjLHVFQUFQLEVBQU87QUFDL0JBLElBQUFBLElBQUksR0FBR0MsbUJBQUVDLE1BQUYsQ0FDTDtBQUNFQyxNQUFBQSxLQUFLLEVBQUU7QUFDTEMsUUFBQUEsUUFBUSxFQUFFLEtBREw7QUFFTEMsUUFBQUEsZUFBZSxFQUFFO0FBQ2ZDLFVBQUFBLE1BQU0sRUFBRSxDQURPO0FBRWZDLFVBQUFBLEtBQUssRUFBRTtBQUZRLFNBRlo7QUFNTEMsUUFBQUEsUUFBUSxFQUFFLEVBTkw7QUFPTEMsUUFBQUEsSUFBSSxFQUFFLFFBUEQ7QUFRTEMsUUFBQUEsTUFBTSxFQUFFO0FBUkg7QUFEVCxLQURLLEVBYUxWLElBYkssQ0FBUDtBQWdCQSxXQUFPLG1DQUFRLGdDQUFDLDJCQUFELEVBQXFCQSxJQUFyQixDQUFSLENBQVA7QUFDRCxHQWxCRDs7QUFvQkFXLEVBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZiLElBQUFBLE9BQU8sR0FBR0MsU0FBUyxFQUFuQjtBQUNELEdBRlMsQ0FBVjtBQUlBRixFQUFBQSxRQUFRLENBQUMsV0FBRCxFQUFjLFlBQU07QUFDMUJlLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQixVQUFNZCxPQUFPLEdBQUdDLFNBQVMsRUFBekI7QUFDQWMsTUFBQUEsTUFBTSxDQUFDLDhCQUFPZixPQUFQLENBQUQsQ0FBTixDQUF3QmdCLGVBQXhCO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMTyxDQUFSO0FBTUQsQ0FqQ08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgRHJhd2luZ1Jlc3BvbnNlIGZyb20gJy4uL2RyYXdpbmctcmVzcG9uc2UnO1xuaW1wb3J0IHRvSnNvbiBmcm9tICdlbnp5bWUtdG8tanNvbic7XG5cbmRlc2NyaWJlKCdEcmF3aW5nUmVzcG9uc2UnLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyO1xuXG4gIGNvbnN0IG1rV3JhcHBlciA9IChvcHRzID0ge30pID0+IHtcbiAgICBvcHRzID0gXy5leHRlbmQoXG4gICAgICB7XG4gICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgIGltYWdlRGltZW5zaW9uczoge1xuICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGltYWdlVXJsOiAnJyxcbiAgICAgICAgICBtb2RlOiAnZ2F0aGVyJyxcbiAgICAgICAgICBwcm9tcHQ6ICdUaGlzIGlzIHRoZSBxdWVzdGlvbiBwcm9tcHQnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcHRzXG4gICAgKTtcblxuICAgIHJldHVybiBzaGFsbG93KDxEcmF3aW5nUmVzcG9uc2Ugey4uLm9wdHN9IC8+KTtcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB3cmFwcGVyID0gbWtXcmFwcGVyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdHMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gbWtXcmFwcGVyKCk7XG4gICAgICBleHBlY3QodG9Kc29uKHdyYXBwZXIpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
8
+
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+
11
+ var _enzyme = require("enzyme");
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _container = require("../container");
16
+
17
+ 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; }
18
+
19
+ 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; }
20
+
21
+ global.MutationObserver = /*#__PURE__*/function () {
22
+ function _class(callback) {
23
+ (0, _classCallCheck2["default"])(this, _class);
24
+ }
25
+
26
+ (0, _createClass2["default"])(_class, [{
27
+ key: "disconnect",
28
+ value: function disconnect() {}
29
+ }, {
30
+ key: "observe",
31
+ value: function observe(element, initObject) {}
32
+ }]);
33
+ return _class;
34
+ }();
35
+
36
+ beforeEach(function () {
37
+ jest.useFakeTimers();
38
+ });
39
+ describe('Container', function () {
40
+ var w;
41
+ var onSessionChange = jest.fn();
42
+
43
+ var wrapper = function wrapper(extras, renderOpts) {
44
+ var defaults = {
45
+ classes: {},
46
+ className: 'className',
47
+ onSessionChange: onSessionChange,
48
+ imageDimensions: {},
49
+ imageUrl: 'url',
50
+ session: {}
51
+ };
52
+
53
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
54
+
55
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_container.Container, props), _objectSpread({
56
+ disableLifecycleMethods: false
57
+ }, renderOpts));
58
+ };
59
+
60
+ describe('snapshot', function () {
61
+ it('renders', function () {
62
+ w = wrapper();
63
+ expect(w).toMatchSnapshot();
64
+ });
65
+ it('renders disabled', function () {
66
+ w = wrapper({
67
+ disabled: true
68
+ });
69
+ expect(w).toMatchSnapshot();
70
+ });
71
+ });
72
+ describe('logic', function () {
73
+ describe('setDimensions', function () {
74
+ it('handles errors and clears interval', function () {
75
+ var w = wrapper({}, {
76
+ disableLifecycleMethods: true
77
+ });
78
+ w.instance().drawable = undefined;
79
+ w.instance().setDimensions();
80
+ jest.runAllTimers();
81
+ expect(clearInterval).toHaveBeenCalled();
82
+ });
83
+ });
84
+ });
85
+ });
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcmF3aW5nLXJlc3BvbnNlL19fdGVzdHNfXy9jb250YWluZXIudGVzdC5qc3giXSwibmFtZXMiOlsiZ2xvYmFsIiwiTXV0YXRpb25PYnNlcnZlciIsImNhbGxiYWNrIiwiZWxlbWVudCIsImluaXRPYmplY3QiLCJiZWZvcmVFYWNoIiwiamVzdCIsInVzZUZha2VUaW1lcnMiLCJkZXNjcmliZSIsInciLCJvblNlc3Npb25DaGFuZ2UiLCJmbiIsIndyYXBwZXIiLCJleHRyYXMiLCJyZW5kZXJPcHRzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiaW1hZ2VEaW1lbnNpb25zIiwiaW1hZ2VVcmwiLCJzZXNzaW9uIiwicHJvcHMiLCJkaXNhYmxlTGlmZWN5Y2xlTWV0aG9kcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiZGlzYWJsZWQiLCJpbnN0YW5jZSIsImRyYXdhYmxlIiwidW5kZWZpbmVkIiwic2V0RGltZW5zaW9ucyIsInJ1bkFsbFRpbWVycyIsImNsZWFySW50ZXJ2YWwiLCJ0b0hhdmVCZWVuQ2FsbGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBUUE7Ozs7OztBQU5BQSxNQUFNLENBQUNDLGdCQUFQO0FBQ0Usa0JBQVlDLFFBQVosRUFBc0I7QUFBQTtBQUFFOztBQUQxQjtBQUFBO0FBQUEsV0FFRSxzQkFBYSxDQUFFO0FBRmpCO0FBQUE7QUFBQSxXQUdFLGlCQUFRQyxPQUFSLEVBQWlCQyxVQUFqQixFQUE2QixDQUFFO0FBSGpDO0FBQUE7QUFBQTs7QUFRQUMsVUFBVSxDQUFDLFlBQU07QUFDZkMsRUFBQUEsSUFBSSxDQUFDQyxhQUFMO0FBQ0QsQ0FGUyxDQUFWO0FBR0FDLFFBQVEsQ0FBQyxXQUFELEVBQWMsWUFBTTtBQUMxQixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsZUFBZSxHQUFHSixJQUFJLENBQUNLLEVBQUwsRUFBdEI7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFTQyxVQUFULEVBQXdCO0FBQ3RDLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmQyxNQUFBQSxTQUFTLEVBQUUsV0FGSTtBQUdmUCxNQUFBQSxlQUFlLEVBQWZBLGVBSGU7QUFJZlEsTUFBQUEsZUFBZSxFQUFFLEVBSkY7QUFLZkMsTUFBQUEsUUFBUSxFQUFFLEtBTEs7QUFNZkMsTUFBQUEsT0FBTyxFQUFFO0FBTk0sS0FBakI7O0FBUUEsUUFBTUMsS0FBSyxtQ0FBUU4sUUFBUixHQUFxQkYsTUFBckIsQ0FBWDs7QUFDQSxXQUFPLG1DQUFRLGdDQUFDLG9CQUFELEVBQWVRLEtBQWYsQ0FBUjtBQUNMQyxNQUFBQSx1QkFBdUIsRUFBRTtBQURwQixPQUVGUixVQUZFLEVBQVA7QUFJRCxHQWREOztBQWdCQU4sRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCZSxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJkLE1BQUFBLENBQUMsR0FBR0csT0FBTyxFQUFYO0FBQ0FZLE1BQUFBLE1BQU0sQ0FBQ2YsQ0FBRCxDQUFOLENBQVVnQixlQUFWO0FBQ0QsS0FIQyxDQUFGO0FBS0FGLElBQUFBLEVBQUUsQ0FBQyxrQkFBRCxFQUFxQixZQUFNO0FBQzNCZCxNQUFBQSxDQUFDLEdBQUdHLE9BQU8sQ0FBQztBQUFFYyxRQUFBQSxRQUFRLEVBQUU7QUFBWixPQUFELENBQVg7QUFDQUYsTUFBQUEsTUFBTSxDQUFDZixDQUFELENBQU4sQ0FBVWdCLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQVZPLENBQVI7QUFZQWpCLEVBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QkEsSUFBQUEsUUFBUSxDQUFDLGVBQUQsRUFBa0IsWUFBTTtBQUM5QmUsTUFBQUEsRUFBRSxDQUFDLG9DQUFELEVBQXVDLFlBQU07QUFDN0MsWUFBTWQsQ0FBQyxHQUFHRyxPQUFPLENBQUMsRUFBRCxFQUFLO0FBQUVVLFVBQUFBLHVCQUF1QixFQUFFO0FBQTNCLFNBQUwsQ0FBakI7QUFDQWIsUUFBQUEsQ0FBQyxDQUFDa0IsUUFBRixHQUFhQyxRQUFiLEdBQXdCQyxTQUF4QjtBQUNBcEIsUUFBQUEsQ0FBQyxDQUFDa0IsUUFBRixHQUFhRyxhQUFiO0FBQ0F4QixRQUFBQSxJQUFJLENBQUN5QixZQUFMO0FBQ0FQLFFBQUFBLE1BQU0sQ0FBQ1EsYUFBRCxDQUFOLENBQXNCQyxnQkFBdEI7QUFDRCxPQU5DLENBQUY7QUFPRCxLQVJPLENBQVI7QUFTRCxHQVZPLENBQVI7QUFXRCxDQTFDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5nbG9iYWwuTXV0YXRpb25PYnNlcnZlciA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoY2FsbGJhY2spIHt9XG4gIGRpc2Nvbm5lY3QoKSB7fVxuICBvYnNlcnZlKGVsZW1lbnQsIGluaXRPYmplY3QpIHt9XG59O1xuXG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICcuLi9jb250YWluZXInO1xuXG5iZWZvcmVFYWNoKCgpID0+IHtcbiAgamVzdC51c2VGYWtlVGltZXJzKCk7XG59KTtcbmRlc2NyaWJlKCdDb250YWluZXInLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25TZXNzaW9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcywgcmVuZGVyT3B0cykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25TZXNzaW9uQ2hhbmdlLFxuICAgICAgaW1hZ2VEaW1lbnNpb25zOiB7fSxcbiAgICAgIGltYWdlVXJsOiAndXJsJyxcbiAgICAgIHNlc3Npb246IHt9XG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxDb250YWluZXIgey4uLnByb3BzfSAvPiwge1xuICAgICAgZGlzYWJsZUxpZmVjeWNsZU1ldGhvZHM6IGZhbHNlLFxuICAgICAgLi4ucmVuZGVyT3B0c1xuICAgIH0pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBkaXNhYmxlZCcsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBkZXNjcmliZSgnc2V0RGltZW5zaW9ucycsICgpID0+IHtcbiAgICAgIGl0KCdoYW5kbGVzIGVycm9ycyBhbmQgY2xlYXJzIGludGVydmFsJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3ID0gd3JhcHBlcih7fSwgeyBkaXNhYmxlTGlmZWN5Y2xlTWV0aG9kczogdHJ1ZSB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmRyYXdhYmxlID0gdW5kZWZpbmVkO1xuICAgICAgICB3Lmluc3RhbmNlKCkuc2V0RGltZW5zaW9ucygpO1xuICAgICAgICBqZXN0LnJ1bkFsbFRpbWVycygpO1xuICAgICAgICBleHBlY3QoY2xlYXJJbnRlcnZhbCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
6
+
7
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
8
+
9
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
10
+
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+
15
+ var _drawableHelper = _interopRequireDefault(require("../drawable-helper"));
16
+
17
+ 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); }; }
18
+
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
+
21
+ describe('DrawableHelper', function () {
22
+ describe('toJson', function () {
23
+ it('emits json', function () {
24
+ var Foo = /*#__PURE__*/function (_DrawableHelper) {
25
+ (0, _inherits2["default"])(Foo, _DrawableHelper);
26
+
27
+ var _super = _createSuper(Foo);
28
+
29
+ function Foo(props) {
30
+ var _this;
31
+
32
+ (0, _classCallCheck2["default"])(this, Foo);
33
+ _this = _super.call(this, props, 'FOO_TYPE');
34
+ _this.foo = 'bar';
35
+ return _this;
36
+ }
37
+
38
+ return (0, _createClass2["default"])(Foo);
39
+ }(_drawableHelper["default"]);
40
+
41
+ var foo = new Foo({});
42
+ var o = foo.toJson();
43
+ expect(o).toEqual({
44
+ type: 'FOO_TYPE',
45
+ foo: 'bar'
46
+ });
47
+ });
48
+ });
49
+ });
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcmF3aW5nLXJlc3BvbnNlL19fdGVzdHNfXy9kcmF3YWJsZS1oZWxwZXIudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsIkZvbyIsInByb3BzIiwiZm9vIiwiRHJhd2FibGVIZWxwZXIiLCJvIiwidG9Kc29uIiwiZXhwZWN0IiwidG9FcXVhbCIsInR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVBQSxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMvQkEsRUFBQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCQyxJQUFBQSxFQUFFLENBQUMsWUFBRCxFQUFlLFlBQU07QUFBQSxVQUNmQyxHQURlO0FBQUE7O0FBQUE7O0FBRW5CLHFCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsb0NBQU1BLEtBQU4sRUFBYSxVQUFiO0FBRUEsZ0JBQUtDLEdBQUwsR0FBVyxLQUFYO0FBSGlCO0FBSWxCOztBQU5rQjtBQUFBLFFBQ0hDLDBCQURHOztBQVNyQixVQUFNRCxHQUFHLEdBQUcsSUFBSUYsR0FBSixDQUFRLEVBQVIsQ0FBWjtBQUVBLFVBQU1JLENBQUMsR0FBR0YsR0FBRyxDQUFDRyxNQUFKLEVBQVY7QUFFQUMsTUFBQUEsTUFBTSxDQUFDRixDQUFELENBQU4sQ0FBVUcsT0FBVixDQUFrQjtBQUNoQkMsUUFBQUEsSUFBSSxFQUFFLFVBRFU7QUFFaEJOLFFBQUFBLEdBQUcsRUFBRTtBQUZXLE9BQWxCO0FBSUQsS0FqQkMsQ0FBRjtBQWtCRCxHQW5CTyxDQUFSO0FBb0JELENBckJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRHJhd2FibGVIZWxwZXIgZnJvbSAnLi4vZHJhd2FibGUtaGVscGVyJztcblxuZGVzY3JpYmUoJ0RyYXdhYmxlSGVscGVyJywgKCkgPT4ge1xuICBkZXNjcmliZSgndG9Kc29uJywgKCkgPT4ge1xuICAgIGl0KCdlbWl0cyBqc29uJywgKCkgPT4ge1xuICAgICAgY2xhc3MgRm9vIGV4dGVuZHMgRHJhd2FibGVIZWxwZXIge1xuICAgICAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICAgIHN1cGVyKHByb3BzLCAnRk9PX1RZUEUnKTtcblxuICAgICAgICAgIHRoaXMuZm9vID0gJ2Jhcic7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgZm9vID0gbmV3IEZvbyh7fSk7XG5cbiAgICAgIGNvbnN0IG8gPSBmb28udG9Kc29uKCk7XG5cbiAgICAgIGV4cGVjdChvKS50b0VxdWFsKHtcbiAgICAgICAgdHlwZTogJ0ZPT19UWVBFJyxcbiAgICAgICAgZm9vOiAnYmFyJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=