@pie-element/rubric 6.3.4-next.0 → 7.0.0-beta.0

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 (45) hide show
  1. package/configure/lib/defaults.js +2 -3
  2. package/configure/lib/defaults.js.map +1 -1
  3. package/configure/lib/index.js +90 -152
  4. package/configure/lib/index.js.map +1 -1
  5. package/configure/lib/main.js +90 -149
  6. package/configure/lib/main.js.map +1 -1
  7. package/configure/package.json +11 -7
  8. package/configure/src/__tests__/index.test.jsx +12 -2
  9. package/configure/src/index.js +12 -2
  10. package/configure/src/main.jsx +11 -13
  11. package/controller/lib/defaults.js +2 -3
  12. package/controller/lib/defaults.js.map +1 -1
  13. package/controller/lib/index.js +15 -28
  14. package/controller/lib/index.js.map +1 -1
  15. package/controller/package.json +1 -1
  16. package/lib/index.js +38 -80
  17. package/lib/index.js.map +1 -1
  18. package/lib/main.js +182 -244
  19. package/lib/main.js.map +1 -1
  20. package/lib/print.js +41 -84
  21. package/lib/print.js.map +1 -1
  22. package/package.json +8 -9
  23. package/src/__tests__/rubric-view.test.jsx +12 -24
  24. package/src/index.js +14 -3
  25. package/src/main.jsx +100 -93
  26. package/src/print.js +13 -2
  27. package/configure/lib/pie-toolbox-rubric/authoring.js +0 -573
  28. package/configure/lib/pie-toolbox-rubric/authoring.js.map +0 -1
  29. package/configure/lib/pie-toolbox-rubric/index.js +0 -24
  30. package/configure/lib/pie-toolbox-rubric/index.js.map +0 -1
  31. package/configure/lib/pie-toolbox-rubric/point-menu.js +0 -172
  32. package/configure/lib/pie-toolbox-rubric/point-menu.js.map +0 -1
  33. package/configure/src/pie-toolbox-rubric/authoring.jsx +0 -449
  34. package/configure/src/pie-toolbox-rubric/index.js +0 -9
  35. package/configure/src/pie-toolbox-rubric/point-menu.jsx +0 -94
  36. package/module/configure.js +0 -1
  37. package/module/controller.js +0 -113
  38. package/module/demo.js +0 -33
  39. package/module/element.js +0 -1
  40. package/module/index.html +0 -21
  41. package/module/manifest.json +0 -14
  42. package/module/print-demo.js +0 -71
  43. package/module/print.html +0 -18
  44. package/module/print.js +0 -1
  45. package/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +0 -2521
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
- var _default = {
6
+ exports.default = void 0;
7
+ var _default = exports.default = {
8
8
  model: {
9
9
  points: ['', '', '', ''],
10
10
  sampleAnswers: [null, null, null, null],
@@ -64,5 +64,4 @@ var _default = {
64
64
  maxMaxPoints: 9
65
65
  }
66
66
  };
67
- exports["default"] = _default;
68
67
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","points","sampleAnswers","maxPoints","excludeZero","excludeZeroEnabled","maxPointsEnabled","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","rubriclessInstruction","inputConfiguration","showExcludeZero","settings","label","showMaxPoint","settingsPanelDisabled","mathMlOptions","mmlOutput","mmlEditing","maxMaxPoints"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,CADH;AAELC,IAAAA,aAAa,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,CAFV;AAGLC,IAAAA,SAAS,EAAE,CAHN;AAILC,IAAAA,WAAW,EAAE,KAJR;AAKLC,IAAAA,kBAAkB,EAAE,IALf;AAMLC,IAAAA,gBAAgB,EAAE;AANb,GADM;AASbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,sBAAsB,EAAE;AACtBC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OADe;AAEtBC,MAAAA,KAAK,EAAE;AAAED,QAAAA,QAAQ,EAAE;AAAZ,OAFe;AAGtBE,MAAAA,KAAK,EAAE;AAAEF,QAAAA,QAAQ,EAAE;AAAZ,OAHe;AAItBG,MAAAA,SAAS,EAAE;AAAEH,QAAAA,QAAQ,EAAE;AAAZ,OAJW;AAKtBI,MAAAA,cAAc,EAAE;AAAEJ,QAAAA,QAAQ,EAAE;AAAZ,OALM;AAMtBK,MAAAA,kBAAkB,EAAE;AAAEL,QAAAA,QAAQ,EAAE;AAAZ;AANE,KADX;AASbM,IAAAA,qBAAqB,EAAE;AACrBC,MAAAA,kBAAkB,EAAE;AAClBR,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW;AADC,KATV;AAgBbQ,IAAAA,eAAe,EAAE;AACfC,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KAhBJ;AAoBbC,IAAAA,YAAY,EAAE;AACZF,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,KAAK,EAAE;AAFK,KApBD;AAwBbE,IAAAA,qBAAqB,EAAE,KAxBV;AAyBb;AACAC,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC,KA1BF;AA8BbC,IAAAA,YAAY,EAAE;AA9BD;AATF,C","sourcesContent":["export default {\n model: {\n points: ['', '', '', ''],\n sampleAnswers: [null, null, null, null],\n maxPoints: 3,\n excludeZero: false,\n excludeZeroEnabled: true,\n maxPointsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n rubriclessInstruction: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n showExcludeZero: {\n settings: true,\n label: 'Ability to exclude zero',\n },\n showMaxPoint: {\n settings: true,\n label: 'Show max points dropdown',\n },\n settingsPanelDisabled: false,\n // width: '500px'\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n maxMaxPoints: 9,\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"file":"defaults.js","names":["model","points","sampleAnswers","maxPoints","excludeZero","excludeZeroEnabled","maxPointsEnabled","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","rubriclessInstruction","inputConfiguration","showExcludeZero","settings","label","showMaxPoint","settingsPanelDisabled","mathMlOptions","mmlOutput","mmlEditing","maxMaxPoints"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n model: {\n points: ['', '', '', ''],\n sampleAnswers: [null, null, null, null],\n maxPoints: 3,\n excludeZero: false,\n excludeZeroEnabled: true,\n maxPointsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n rubriclessInstruction: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n showExcludeZero: {\n settings: true,\n label: 'Ability to exclude zero',\n },\n showMaxPoint: {\n settings: true,\n label: 'Show max points dropdown',\n },\n settingsPanelDisabled: false,\n // width: '500px'\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n maxMaxPoints: 9,\n },\n};\n"],"mappings":";;;;;;iCAAe;EACbA,KAAK,EAAE;IACLC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACxBC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACvCC,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,KAAK;IAClBC,kBAAkB,EAAE,IAAI;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACDC,aAAa,EAAE;IACbC,sBAAsB,EAAE;MACtBC,KAAK,EAAE;QAAEC,QAAQ,EAAE;MAAM,CAAC;MAC1BC,KAAK,EAAE;QAAED,QAAQ,EAAE;MAAM,CAAC;MAC1BE,KAAK,EAAE;QAAEF,QAAQ,EAAE;MAAM,CAAC;MAC1BG,SAAS,EAAE;QAAEH,QAAQ,EAAE;MAAK,CAAC;MAC7BI,cAAc,EAAE;QAAEJ,QAAQ,EAAE;MAAM,CAAC;MACnCK,kBAAkB,EAAE;QAAEL,QAAQ,EAAE;MAAK;IACvC,CAAC;IACDM,qBAAqB,EAAE;MACrBC,kBAAkB,EAAE;QAClBR,KAAK,EAAE;UAAEC,QAAQ,EAAE;QAAM,CAAC;QAC1BC,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM;MAC3B;IACF,CAAC;IACDQ,eAAe,EAAE;MACfC,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDC,YAAY,EAAE;MACZF,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDE,qBAAqB,EAAE,KAAK;IAC5B;IACAC,aAAa,EAAE;MACbC,SAAS,EAAE,KAAK;MAChBC,UAAU,EAAE;IACd,CAAC;IACDC,YAAY,EAAE;EAChB;AACF,CAAC","ignoreList":[]}
@@ -1,101 +1,60 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
25
-
7
+ exports.default = void 0;
26
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
9
  var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
29
-
30
10
  var _react = _interopRequireDefault(require("react"));
31
-
32
- var _reactDom = _interopRequireDefault(require("react-dom"));
33
-
11
+ var _client = require("react-dom/client");
34
12
  var _debug = _interopRequireDefault(require("debug"));
35
-
36
13
  var _main = _interopRequireDefault(require("./main"));
37
-
38
14
  var _defaults = _interopRequireDefault(require("./defaults"));
39
-
40
- 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); }; }
41
-
42
- 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; } }
43
-
44
- 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; }
45
-
46
- 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; }
47
-
48
- var modelWithDefaults = function modelWithDefaults(m) {
49
- return _objectSpread(_objectSpread({}, _defaults["default"].model), m);
50
- };
51
-
52
- var configurationWithDefaults = function configurationWithDefaults(c) {
53
- return _objectSpread(_objectSpread({}, _defaults["default"].configuration), c);
54
- };
55
-
56
- var RubricElement = /*#__PURE__*/function (_HTMLElement) {
57
- (0, _inherits2["default"])(RubricElement, _HTMLElement);
58
-
59
- var _super = _createSuper(RubricElement);
60
-
61
- function RubricElement() {
62
- var _this;
63
-
64
- (0, _classCallCheck2["default"])(this, RubricElement);
65
- _this = _super.call(this);
66
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateModelAccordingToReceivedProps", function (nextModel) {
67
- var currentModel = _objectSpread({}, _this._model);
68
-
15
+ const modelWithDefaults = m => ({
16
+ ..._defaults.default.model,
17
+ ...m
18
+ });
19
+ const configurationWithDefaults = c => ({
20
+ ..._defaults.default.configuration,
21
+ ...c
22
+ });
23
+ class RubricElement extends HTMLElement {
24
+ constructor() {
25
+ super();
26
+ (0, _defineProperty2.default)(this, "updateModelAccordingToReceivedProps", nextModel => {
27
+ const currentModel = {
28
+ ...this._model
29
+ };
69
30
  if (!nextModel) {
70
31
  return currentModel;
71
32
  }
33
+ const validatedModel = {
34
+ ...nextModel
35
+ };
72
36
 
73
- var validatedModel = _objectSpread({}, nextModel); // excludeZero should be false and disabled when maxPoints is 1
74
-
75
-
37
+ // excludeZero should be false and disabled when maxPoints is 1
76
38
  if (validatedModel.maxPoints === 1) {
77
39
  validatedModel.excludeZero = false;
78
40
  }
79
-
80
- var _ref = validatedModel || {},
81
- maxPoints = _ref.maxPoints,
82
- excludeZero = _ref.excludeZero;
83
-
84
- validatedModel.points = validatedModel.points ? (0, _toConsumableArray2["default"])(validatedModel.points) : [];
85
- validatedModel.sampleAnswers = validatedModel.sampleAnswers ? (0, _toConsumableArray2["default"])(validatedModel.sampleAnswers) : [];
86
- var howManyPointsShouldHave = excludeZero ? maxPoints : maxPoints + 1;
87
- var howManyPointsDoesItHave = validatedModel.points.length;
88
- var excludeZeroChanged = (currentModel === null || currentModel === void 0 ? void 0 : currentModel.excludeZero) !== (nextModel === null || nextModel === void 0 ? void 0 : nextModel.excludeZero);
89
- var maxPointsChanged = (currentModel === null || currentModel === void 0 ? void 0 : currentModel.maxPoints) !== (nextModel === null || nextModel === void 0 ? void 0 : nextModel.maxPoints);
90
-
41
+ const {
42
+ maxPoints,
43
+ excludeZero
44
+ } = validatedModel || {};
45
+ validatedModel.points = validatedModel.points ? [...validatedModel.points] : [];
46
+ validatedModel.sampleAnswers = validatedModel.sampleAnswers ? [...validatedModel.sampleAnswers] : [];
47
+ const howManyPointsShouldHave = excludeZero ? maxPoints : maxPoints + 1;
48
+ const howManyPointsDoesItHave = validatedModel.points.length;
49
+ const excludeZeroChanged = currentModel?.excludeZero !== nextModel?.excludeZero;
50
+ const maxPointsChanged = currentModel?.maxPoints !== nextModel?.maxPoints;
91
51
  if (howManyPointsDoesItHave < howManyPointsShouldHave) {
92
52
  if (excludeZeroChanged && !excludeZero) {
93
- validatedModel.points = [''].concat((0, _toConsumableArray2["default"])(validatedModel.points));
94
- validatedModel.sampleAnswers = [null].concat((0, _toConsumableArray2["default"])(validatedModel.sampleAnswers));
53
+ validatedModel.points = ['', ...validatedModel.points];
54
+ validatedModel.sampleAnswers = [null, ...validatedModel.sampleAnswers];
95
55
  }
96
-
97
56
  if (maxPointsChanged) {
98
- for (var i = 0; i < howManyPointsShouldHave - howManyPointsDoesItHave; i++) {
57
+ for (let i = 0; i < howManyPointsShouldHave - howManyPointsDoesItHave; i++) {
99
58
  validatedModel.points.push('');
100
59
  validatedModel.sampleAnswers.push(null);
101
60
  }
@@ -105,93 +64,72 @@ var RubricElement = /*#__PURE__*/function (_HTMLElement) {
105
64
  validatedModel.points = validatedModel.points.slice(1);
106
65
  validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(1);
107
66
  }
108
-
109
67
  if (maxPointsChanged) {
110
68
  validatedModel.points = validatedModel.points.slice(0, howManyPointsShouldHave);
111
69
  validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(0, howManyPointsShouldHave);
112
70
  }
113
71
  }
114
-
115
72
  return validatedModel;
116
73
  });
117
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigurationChanged", function (c) {
118
- _this._configuration = configurationWithDefaults(c);
119
-
120
- if (_this._model) {
121
- _this.onModelChanged(_this._model);
74
+ (0, _defineProperty2.default)(this, "onConfigurationChanged", c => {
75
+ this._configuration = configurationWithDefaults(c);
76
+ if (this._model) {
77
+ this.onModelChanged(this._model);
122
78
  }
123
-
124
- _this._render();
79
+ this._render();
125
80
  });
126
-
127
- _debug["default"].log('constructor called');
128
-
129
- _this._model = modelWithDefaults();
130
- _this._configuration = configurationWithDefaults();
131
- _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
132
- _this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
133
- return _this;
81
+ this._root = null;
82
+ _debug.default.log('constructor called');
83
+ this._model = modelWithDefaults();
84
+ this._configuration = configurationWithDefaults();
85
+ this.onModelChanged = this.onModelChanged.bind(this);
86
+ this.onConfigurationChanged = this.onConfigurationChanged.bind(this);
134
87
  }
135
-
136
- (0, _createClass2["default"])(RubricElement, [{
137
- key: "model",
138
- set: function set(m) {
139
- this._model = this.updateModelAccordingToReceivedProps(modelWithDefaults(m));
140
-
141
- this._render();
142
- }
143
- }, {
144
- key: "configuration",
145
- set: function set(c) {
146
- this._configuration = configurationWithDefaults(c);
147
-
148
- this._render();
149
- }
150
- }, {
151
- key: "onModelChanged",
152
- value: function onModelChanged(m) {
153
- this._model = this.updateModelAccordingToReceivedProps(m);
154
-
155
- this._render();
156
-
157
- this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, false));
158
- }
159
- }, {
160
- key: "insertImage",
161
- value: function insertImage(handler) {
162
- this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
163
- }
164
- }, {
165
- key: "onDeleteImage",
166
- value: function onDeleteImage(src, done) {
167
- this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
168
- }
169
- }, {
170
- key: "connectedCallback",
171
- value: function connectedCallback() {
172
- this._render();
173
- }
174
- }, {
175
- key: "_render",
176
- value: function _render() {
177
- if (this._model) {
178
- var element = /*#__PURE__*/_react["default"].createElement(_main["default"], {
179
- model: this._model,
180
- configuration: this._configuration,
181
- onModelChanged: this.onModelChanged,
182
- onConfigurationChanged: this.onConfigurationChanged,
183
- imageSupport: {
184
- add: this.insertImage.bind(this),
185
- "delete": this.onDeleteImage.bind(this)
186
- }
187
- });
188
-
189
- _reactDom["default"].render(element, this);
88
+ set model(m) {
89
+ this._model = this.updateModelAccordingToReceivedProps(modelWithDefaults(m));
90
+ this._render();
91
+ }
92
+ set configuration(c) {
93
+ this._configuration = configurationWithDefaults(c);
94
+ this._render();
95
+ }
96
+ onModelChanged(m) {
97
+ this._model = this.updateModelAccordingToReceivedProps(m);
98
+ this._render();
99
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, false));
100
+ }
101
+ insertImage(handler) {
102
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
103
+ }
104
+ onDeleteImage(src, done) {
105
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
106
+ }
107
+ connectedCallback() {
108
+ this._render();
109
+ }
110
+ _render() {
111
+ if (this._model) {
112
+ let element = /*#__PURE__*/_react.default.createElement(_main.default, {
113
+ model: this._model,
114
+ configuration: this._configuration,
115
+ onModelChanged: this.onModelChanged,
116
+ onConfigurationChanged: this.onConfigurationChanged,
117
+ imageSupport: {
118
+ add: this.insertImage.bind(this),
119
+ delete: this.onDeleteImage.bind(this)
120
+ }
121
+ });
122
+ if (!this._root) {
123
+ this._root = (0, _client.createRoot)(this);
190
124
  }
125
+ this._root.render(element);
191
126
  }
192
- }]);
193
- return RubricElement;
194
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
195
-
196
- exports["default"] = RubricElement;
127
+ }
128
+ disconnectedCallback() {
129
+ if (this._root) {
130
+ this._root.unmount();
131
+ }
132
+ }
133
+ }
134
+ exports.default = RubricElement;
197
135
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["modelWithDefaults","m","defaults","model","configurationWithDefaults","c","configuration","RubricElement","nextModel","currentModel","_model","validatedModel","maxPoints","excludeZero","points","sampleAnswers","howManyPointsShouldHave","howManyPointsDoesItHave","length","excludeZeroChanged","maxPointsChanged","i","push","slice","_configuration","onModelChanged","_render","debug","log","bind","onConfigurationChanged","updateModelAccordingToReceivedProps","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","element","React","createElement","Main","imageSupport","add","insertImage","onDeleteImage","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import { ModelUpdatedEvent, InsertImageEvent, DeleteImageEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\n\nimport Main from './main';\nimport defaults from './defaults';\n\nconst modelWithDefaults = (m) => ({ ...defaults.model, ...m });\n\nconst configurationWithDefaults = (c) => ({ ...defaults.configuration, ...c });\n\nexport default class RubricElement extends HTMLElement {\n constructor() {\n super();\n debug.log('constructor called');\n this._model = modelWithDefaults();\n this._configuration = configurationWithDefaults();\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n updateModelAccordingToReceivedProps = (nextModel) => {\n const currentModel = { ...this._model };\n\n if (!nextModel) {\n return currentModel;\n }\n\n const validatedModel = { ...nextModel };\n\n // excludeZero should be false and disabled when maxPoints is 1\n if (validatedModel.maxPoints === 1) {\n validatedModel.excludeZero = false;\n }\n\n const { maxPoints, excludeZero } = validatedModel || {};\n\n validatedModel.points = validatedModel.points ? [...validatedModel.points] : [];\n validatedModel.sampleAnswers = validatedModel.sampleAnswers ? [...validatedModel.sampleAnswers] : [];\n\n const howManyPointsShouldHave = excludeZero ? maxPoints : maxPoints + 1;\n const howManyPointsDoesItHave = validatedModel.points.length;\n\n const excludeZeroChanged = currentModel?.excludeZero !== nextModel?.excludeZero;\n const maxPointsChanged = currentModel?.maxPoints !== nextModel?.maxPoints;\n\n if (howManyPointsDoesItHave < howManyPointsShouldHave) {\n if (excludeZeroChanged && !excludeZero) {\n validatedModel.points = ['', ...validatedModel.points];\n validatedModel.sampleAnswers = [null, ...validatedModel.sampleAnswers];\n }\n\n if (maxPointsChanged) {\n for (let i = 0; i < howManyPointsShouldHave - howManyPointsDoesItHave; i++) {\n validatedModel.points.push('');\n validatedModel.sampleAnswers.push(null);\n }\n }\n } else if (howManyPointsDoesItHave > howManyPointsShouldHave) {\n if (excludeZeroChanged && excludeZero) {\n validatedModel.points = validatedModel.points.slice(1);\n validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(1);\n }\n\n if (maxPointsChanged) {\n validatedModel.points = validatedModel.points.slice(0, howManyPointsShouldHave);\n validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(0, howManyPointsShouldHave);\n }\n }\n\n return validatedModel;\n };\n\n set model(m) {\n this._model = this.updateModelAccordingToReceivedProps(modelWithDefaults(m));\n this._render();\n }\n\n set configuration(c) {\n this._configuration = configurationWithDefaults(c);\n this._render();\n }\n\n onModelChanged(m) {\n this._model = this.updateModelAccordingToReceivedProps(m);\n this._render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged = (c) => {\n this._configuration = configurationWithDefaults(c);\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n };\n\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model) {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_pieConfigureEvents","require","_react","_interopRequireDefault","_client","_debug","_main","_defaults","modelWithDefaults","m","defaults","model","configurationWithDefaults","c","configuration","RubricElement","HTMLElement","constructor","_defineProperty2","default","nextModel","currentModel","_model","validatedModel","maxPoints","excludeZero","points","sampleAnswers","howManyPointsShouldHave","howManyPointsDoesItHave","length","excludeZeroChanged","maxPointsChanged","i","push","slice","_configuration","onModelChanged","_render","_root","debug","log","bind","onConfigurationChanged","updateModelAccordingToReceivedProps","dispatchEvent","ModelUpdatedEvent","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","connectedCallback","element","React","createElement","Main","imageSupport","add","delete","createRoot","render","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import { ModelUpdatedEvent, InsertImageEvent, DeleteImageEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\n\nimport Main from './main';\nimport defaults from './defaults';\n\nconst modelWithDefaults = (m) => ({ ...defaults.model, ...m });\n\nconst configurationWithDefaults = (c) => ({ ...defaults.configuration, ...c });\n\nexport default class RubricElement extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n debug.log('constructor called');\n this._model = modelWithDefaults();\n this._configuration = configurationWithDefaults();\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n updateModelAccordingToReceivedProps = (nextModel) => {\n const currentModel = { ...this._model };\n\n if (!nextModel) {\n return currentModel;\n }\n\n const validatedModel = { ...nextModel };\n\n // excludeZero should be false and disabled when maxPoints is 1\n if (validatedModel.maxPoints === 1) {\n validatedModel.excludeZero = false;\n }\n\n const { maxPoints, excludeZero } = validatedModel || {};\n\n validatedModel.points = validatedModel.points ? [...validatedModel.points] : [];\n validatedModel.sampleAnswers = validatedModel.sampleAnswers ? [...validatedModel.sampleAnswers] : [];\n\n const howManyPointsShouldHave = excludeZero ? maxPoints : maxPoints + 1;\n const howManyPointsDoesItHave = validatedModel.points.length;\n\n const excludeZeroChanged = currentModel?.excludeZero !== nextModel?.excludeZero;\n const maxPointsChanged = currentModel?.maxPoints !== nextModel?.maxPoints;\n\n if (howManyPointsDoesItHave < howManyPointsShouldHave) {\n if (excludeZeroChanged && !excludeZero) {\n validatedModel.points = ['', ...validatedModel.points];\n validatedModel.sampleAnswers = [null, ...validatedModel.sampleAnswers];\n }\n\n if (maxPointsChanged) {\n for (let i = 0; i < howManyPointsShouldHave - howManyPointsDoesItHave; i++) {\n validatedModel.points.push('');\n validatedModel.sampleAnswers.push(null);\n }\n }\n } else if (howManyPointsDoesItHave > howManyPointsShouldHave) {\n if (excludeZeroChanged && excludeZero) {\n validatedModel.points = validatedModel.points.slice(1);\n validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(1);\n }\n\n if (maxPointsChanged) {\n validatedModel.points = validatedModel.points.slice(0, howManyPointsShouldHave);\n validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(0, howManyPointsShouldHave);\n }\n }\n\n return validatedModel;\n };\n\n set model(m) {\n this._model = this.updateModelAccordingToReceivedProps(modelWithDefaults(m));\n this._render();\n }\n\n set configuration(c) {\n this._configuration = configurationWithDefaults(c);\n this._render();\n }\n\n onModelChanged(m) {\n this._model = this.updateModelAccordingToReceivedProps(m);\n this._render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged = (c) => {\n this._configuration = configurationWithDefaults(c);\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n };\n\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model) {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,162 +1,103 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
7
+ exports.default = void 0;
24
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
9
  var _react = _interopRequireDefault(require("react"));
27
-
28
- var _index = require("./pie-toolbox-rubric/index");
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
10
+ var _rubric = require("@pie-lib/rubric");
11
+ var _styles = require("@mui/material/styles");
32
12
  var _configUi = require("@pie-lib/config-ui");
33
-
34
- var _excluded = ["points", "sampleAnswers"];
35
-
36
- 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; }
37
-
38
- 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; }
39
-
40
- 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); }; }
41
-
42
- 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; } }
43
-
44
- var Panel = _configUi.settings.Panel,
45
- toggle = _configUi.settings.toggle;
46
-
47
- var styles = function styles(theme) {
48
- return {
49
- design: {
50
- fontFamily: 'Cerebri Sans',
51
- fontSize: theme.typography.fontSize
52
- }
53
- };
54
- };
55
-
56
- var Main = /*#__PURE__*/function (_React$Component) {
57
- (0, _inherits2["default"])(Main, _React$Component);
58
-
59
- var _super = _createSuper(Main);
60
-
61
- function Main() {
62
- var _this;
63
-
64
- (0, _classCallCheck2["default"])(this, Main);
65
-
66
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
67
- args[_key] = arguments[_key];
68
- }
69
-
70
- _this = _super.call.apply(_super, [this].concat(args));
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "verifyRubriclessModel", function (m, config) {
72
- var _ref = config || {},
73
- _ref$rubricless = _ref.rubricless,
74
- rubricless = _ref$rubricless === void 0 ? false : _ref$rubricless;
75
-
76
- return rubricless ? function (_ref2) {
77
- var points = _ref2.points,
78
- sampleAnswers = _ref2.sampleAnswers,
79
- rest = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
80
- return rest;
81
- }(m) : m;
13
+ const {
14
+ Panel,
15
+ toggle
16
+ } = _configUi.settings;
17
+ const StyledDiv = (0, _styles.styled)('div')(({
18
+ theme,
19
+ width
20
+ }) => ({
21
+ maxWidth: width,
22
+ fontFamily: 'Cerebri Sans',
23
+ fontSize: theme.typography.fontSize
24
+ }));
25
+ class Main extends _react.default.Component {
26
+ constructor(...args) {
27
+ super(...args);
28
+ (0, _defineProperty2.default)(this, "verifyRubriclessModel", (m, config) => {
29
+ const {
30
+ rubricless = false
31
+ } = config || {};
32
+ return rubricless ? (({
33
+ points,
34
+ sampleAnswers,
35
+ ...rest
36
+ }) => rest)(m) : m;
82
37
  });
83
- return _this;
84
38
  }
85
-
86
- (0, _createClass2["default"])(Main, [{
87
- key: "render",
88
- value: function render() {
89
- var _ref3 = this.props || {},
90
- model = _ref3.model,
91
- configuration = _ref3.configuration,
92
- onConfigurationChanged = _ref3.onConfigurationChanged,
93
- onModelChanged = _ref3.onModelChanged,
94
- imageSupport = _ref3.imageSupport;
95
-
96
- var _ref4 = configuration || {},
97
- _ref4$baseInputConfig = _ref4.baseInputConfiguration,
98
- baseInputConfiguration = _ref4$baseInputConfig === void 0 ? {} : _ref4$baseInputConfig,
99
- _ref4$contentDimensio = _ref4.contentDimensions,
100
- contentDimensions = _ref4$contentDimensio === void 0 ? {} : _ref4$contentDimensio,
101
- settingsPanelDisabled = _ref4.settingsPanelDisabled,
102
- _ref4$showExcludeZero = _ref4.showExcludeZero,
103
- showExcludeZero = _ref4$showExcludeZero === void 0 ? {} : _ref4$showExcludeZero,
104
- _ref4$showMaxPoint = _ref4.showMaxPoint,
105
- showMaxPoint = _ref4$showMaxPoint === void 0 ? {} : _ref4$showMaxPoint,
106
- _ref4$mathMlOptions = _ref4.mathMlOptions,
107
- mathMlOptions = _ref4$mathMlOptions === void 0 ? {} : _ref4$mathMlOptions,
108
- _ref4$rubricless = _ref4.rubricless,
109
- rubricless = _ref4$rubricless === void 0 ? false : _ref4$rubricless,
110
- rubriclessInstruction = _ref4.rubriclessInstruction,
111
- width = _ref4.width; // ensure to eliminate points and sampleAnswers in case of rubricless
112
-
113
-
114
- var value = this.verifyRubriclessModel(model, configuration);
115
- var extraCSSRules = model.extraCSSRules;
116
- var panelProperties = {
117
- excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),
118
- maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),
119
- rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label)
120
- };
121
-
122
- var getPluginProps = function getPluginProps(props) {
123
- return Object.assign(_objectSpread({}, baseInputConfiguration), props || {});
124
- };
125
-
126
- return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
127
- extraCSSRules: extraCSSRules,
128
- dimensions: contentDimensions,
129
- hideSettings: settingsPanelDisabled,
130
- settings: /*#__PURE__*/_react["default"].createElement(Panel, {
131
- model: model,
132
- onChangeModel: onModelChanged,
133
- configuration: configuration,
134
- onChangeConfiguration: onConfigurationChanged,
135
- pluginOpts: getPluginProps(rubriclessInstruction === null || rubriclessInstruction === void 0 ? void 0 : rubriclessInstruction.inputConfiguration),
136
- groups: {
137
- Properties: panelProperties
138
- },
139
- imageSupport: imageSupport
140
- })
141
- }, /*#__PURE__*/_react["default"].createElement("div", {
142
- style: {
143
- maxWidth: width
144
- }
145
- }, /*#__PURE__*/_react["default"].createElement(_index.Authoring, {
146
- value: value,
147
- config: configuration,
148
- onChange: onModelChanged,
149
- mathMlOptions: mathMlOptions,
150
- rubricless: rubricless,
151
- pluginOpts: baseInputConfiguration,
39
+ render() {
40
+ const {
41
+ model,
42
+ configuration,
43
+ onConfigurationChanged,
44
+ onModelChanged,
45
+ imageSupport
46
+ } = this.props || {};
47
+ const {
48
+ baseInputConfiguration = {},
49
+ contentDimensions = {},
50
+ settingsPanelDisabled,
51
+ showExcludeZero = {},
52
+ showMaxPoint = {},
53
+ mathMlOptions = {},
54
+ rubricless = false,
55
+ rubriclessInstruction,
56
+ width
57
+ } = configuration || {};
58
+
59
+ // ensure to eliminate points and sampleAnswers in case of rubricless
60
+ const value = this.verifyRubriclessModel(model, configuration);
61
+ const {
62
+ extraCSSRules
63
+ } = model;
64
+ const panelProperties = {
65
+ excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),
66
+ maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),
67
+ rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label)
68
+ };
69
+ const getPluginProps = props => {
70
+ return Object.assign({
71
+ ...baseInputConfiguration
72
+ }, props || {});
73
+ };
74
+ return /*#__PURE__*/_react.default.createElement(_configUi.layout.ConfigLayout, {
75
+ extraCSSRules: extraCSSRules,
76
+ dimensions: contentDimensions,
77
+ hideSettings: settingsPanelDisabled,
78
+ settings: /*#__PURE__*/_react.default.createElement(Panel, {
79
+ model: model,
80
+ onChangeModel: onModelChanged,
81
+ configuration: configuration,
82
+ onChangeConfiguration: onConfigurationChanged,
83
+ pluginOpts: getPluginProps(rubriclessInstruction?.inputConfiguration),
84
+ groups: {
85
+ Properties: panelProperties
86
+ },
152
87
  imageSupport: imageSupport
153
- })));
154
- }
155
- }]);
156
- return Main;
157
- }(_react["default"].Component);
158
-
159
- var _default = (0, _styles.withStyles)(styles)(Main);
160
-
161
- exports["default"] = _default;
88
+ })
89
+ }, /*#__PURE__*/_react.default.createElement(StyledDiv, {
90
+ width: width
91
+ }, /*#__PURE__*/_react.default.createElement(_rubric.Authoring, {
92
+ value: value,
93
+ config: configuration,
94
+ onChange: onModelChanged,
95
+ mathMlOptions: mathMlOptions,
96
+ rubricless: rubricless,
97
+ pluginOpts: baseInputConfiguration,
98
+ imageSupport: imageSupport
99
+ })));
100
+ }
101
+ }
102
+ var _default = exports.default = Main;
162
103
  //# sourceMappingURL=main.js.map