@pie-element/rubric 6.1.0 → 6.2.0-mui-update.1

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 (42) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/configure/CHANGELOG.md +11 -0
  3. package/configure/lib/__tests__/index.test.js +174 -0
  4. package/configure/lib/defaults.js +3 -4
  5. package/configure/lib/defaults.js.map +1 -1
  6. package/configure/lib/index.js +91 -153
  7. package/configure/lib/index.js.map +1 -1
  8. package/configure/lib/main.js +91 -150
  9. package/configure/lib/main.js.map +1 -1
  10. package/configure/package.json +10 -7
  11. package/configure/src/index.js +12 -2
  12. package/configure/src/main.jsx +11 -13
  13. package/controller/CHANGELOG.md +8 -0
  14. package/controller/lib/__tests__/index.test.js +39 -0
  15. package/controller/lib/defaults.js +3 -4
  16. package/controller/lib/defaults.js.map +1 -1
  17. package/controller/lib/index.js +16 -29
  18. package/controller/lib/index.js.map +1 -1
  19. package/controller/package.json +1 -1
  20. package/docs/demo/pie.manifest.json +11 -0
  21. package/lib/__tests__/rubric-view.test.js +49 -0
  22. package/lib/index.js +39 -81
  23. package/lib/index.js.map +1 -1
  24. package/lib/main.js +185 -245
  25. package/lib/main.js.map +1 -1
  26. package/lib/print.js +42 -85
  27. package/lib/print.js.map +1 -1
  28. package/package.json +8 -5
  29. package/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +2350 -1524
  30. package/src/index.js +14 -3
  31. package/src/main.jsx +100 -93
  32. package/src/print.js +13 -2
  33. package/LICENSE.md +0 -5
  34. package/configure/lib/pie-toolbox-rubric/authoring.js +0 -573
  35. package/configure/lib/pie-toolbox-rubric/authoring.js.map +0 -1
  36. package/configure/lib/pie-toolbox-rubric/index.js +0 -24
  37. package/configure/lib/pie-toolbox-rubric/index.js.map +0 -1
  38. package/configure/lib/pie-toolbox-rubric/point-menu.js +0 -172
  39. package/configure/lib/pie-toolbox-rubric/point-menu.js.map +0 -1
  40. package/configure/src/pie-toolbox-rubric/authoring.jsx +0 -449
  41. package/configure/src/pie-toolbox-rubric/index.js +0 -9
  42. package/configure/src/pie-toolbox-rubric/point-menu.jsx +0 -94
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,CAAD;AAAA,yCAAaC,qBAASC,KAAtB,GAAgCF,CAAhC;AAAA,CAA1B;;AAEA,IAAMG,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,CAAD;AAAA,yCAAaH,qBAASI,aAAtB,GAAwCD,CAAxC;AAAA,CAAlC;;IAEqBE,a;;;;;AACnB,2BAAc;AAAA;;AAAA;AACZ;AADY,4HASwB,UAACC,SAAD,EAAe;AACnD,UAAMC,YAAY,qBAAQ,MAAKC,MAAb,CAAlB;;AAEA,UAAI,CAACF,SAAL,EAAgB;AACd,eAAOC,YAAP;AACD;;AAED,UAAME,cAAc,qBAAQH,SAAR,CAApB,CAPmD,CASnD;;;AACA,UAAIG,cAAc,CAACC,SAAf,KAA6B,CAAjC,EAAoC;AAClCD,QAAAA,cAAc,CAACE,WAAf,GAA6B,KAA7B;AACD;;AAED,iBAAmCF,cAAc,IAAI,EAArD;AAAA,UAAQC,SAAR,QAAQA,SAAR;AAAA,UAAmBC,WAAnB,QAAmBA,WAAnB;;AAEAF,MAAAA,cAAc,CAACG,MAAf,GAAwBH,cAAc,CAACG,MAAf,uCAA4BH,cAAc,CAACG,MAA3C,IAAqD,EAA7E;AACAH,MAAAA,cAAc,CAACI,aAAf,GAA+BJ,cAAc,CAACI,aAAf,uCAAmCJ,cAAc,CAACI,aAAlD,IAAmE,EAAlG;AAEA,UAAMC,uBAAuB,GAAGH,WAAW,GAAGD,SAAH,GAAeA,SAAS,GAAG,CAAtE;AACA,UAAMK,uBAAuB,GAAGN,cAAc,CAACG,MAAf,CAAsBI,MAAtD;AAEA,UAAMC,kBAAkB,GAAG,CAAAV,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEI,WAAd,OAA8BL,SAA9B,aAA8BA,SAA9B,uBAA8BA,SAAS,CAAEK,WAAzC,CAA3B;AACA,UAAMO,gBAAgB,GAAG,CAAAX,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEG,SAAd,OAA4BJ,SAA5B,aAA4BA,SAA5B,uBAA4BA,SAAS,CAAEI,SAAvC,CAAzB;;AAEA,UAAIK,uBAAuB,GAAGD,uBAA9B,EAAuD;AACrD,YAAIG,kBAAkB,IAAI,CAACN,WAA3B,EAAwC;AACtCF,UAAAA,cAAc,CAACG,MAAf,IAAyB,EAAzB,6CAAgCH,cAAc,CAACG,MAA/C;AACAH,UAAAA,cAAc,CAACI,aAAf,IAAgC,IAAhC,6CAAyCJ,cAAc,CAACI,aAAxD;AACD;;AAED,YAAIK,gBAAJ,EAAsB;AACpB,eAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,uBAAuB,GAAGC,uBAA9C,EAAuEI,CAAC,EAAxE,EAA4E;AAC1EV,YAAAA,cAAc,CAACG,MAAf,CAAsBQ,IAAtB,CAA2B,EAA3B;AACAX,YAAAA,cAAc,CAACI,aAAf,CAA6BO,IAA7B,CAAkC,IAAlC;AACD;AACF;AACF,OAZD,MAYO,IAAIL,uBAAuB,GAAGD,uBAA9B,EAAuD;AAC5D,YAAIG,kBAAkB,IAAIN,WAA1B,EAAuC;AACrCF,UAAAA,cAAc,CAACG,MAAf,GAAwBH,cAAc,CAACG,MAAf,CAAsBS,KAAtB,CAA4B,CAA5B,CAAxB;AACAZ,UAAAA,cAAc,CAACI,aAAf,GAA+BJ,cAAc,CAACI,aAAf,CAA6BQ,KAA7B,CAAmC,CAAnC,CAA/B;AACD;;AAED,YAAIH,gBAAJ,EAAsB;AACpBT,UAAAA,cAAc,CAACG,MAAf,GAAwBH,cAAc,CAACG,MAAf,CAAsBS,KAAtB,CAA4B,CAA5B,EAA+BP,uBAA/B,CAAxB;AACAL,UAAAA,cAAc,CAACI,aAAf,GAA+BJ,cAAc,CAACI,aAAf,CAA6BQ,KAA7B,CAAmC,CAAnC,EAAsCP,uBAAtC,CAA/B;AACD;AACF;;AAED,aAAOL,cAAP;AACD,KA3Da;AAAA,+GA6EW,UAACN,CAAD,EAAO;AAC9B,YAAKmB,cAAL,GAAsBpB,yBAAyB,CAACC,CAAD,CAA/C;;AAEA,UAAI,MAAKK,MAAT,EAAiB;AACf,cAAKe,cAAL,CAAoB,MAAKf,MAAzB;AACD;;AAED,YAAKgB,OAAL;AACD,KArFa;;AAEZC,sBAAMC,GAAN,CAAU,oBAAV;;AACA,UAAKlB,MAAL,GAAcV,iBAAiB,EAA/B;AACA,UAAKwB,cAAL,GAAsBpB,yBAAyB,EAA/C;AACA,UAAKqB,cAAL,GAAsB,MAAKA,cAAL,CAAoBI,IAApB,gDAAtB;AACA,UAAKC,sBAAL,GAA8B,MAAKA,sBAAL,CAA4BD,IAA5B,gDAA9B;AANY;AAOb;;;;SAsDD,aAAU5B,CAAV,EAAa;AACX,WAAKS,MAAL,GAAc,KAAKqB,mCAAL,CAAyC/B,iBAAiB,CAACC,CAAD,CAA1D,CAAd;;AACA,WAAKyB,OAAL;AACD;;;SAED,aAAkBrB,CAAlB,EAAqB;AACnB,WAAKmB,cAAL,GAAsBpB,yBAAyB,CAACC,CAAD,CAA/C;;AACA,WAAKqB,OAAL;AACD;;;WAED,wBAAezB,CAAf,EAAkB;AAChB,WAAKS,MAAL,GAAc,KAAKqB,mCAAL,CAAyC9B,CAAzC,CAAd;;AACA,WAAKyB,OAAL;;AACA,WAAKM,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKvB,MAA3B,EAAmC,KAAnC,CAAnB;AACD;;;WAYD,qBAAYwB,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIG,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIM,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,6BAAoB;AAClB,WAAKX,OAAL;AACD;;;WAED,mBAAU;AACR,UAAI,KAAKhB,MAAT,EAAiB;AACf,YAAI6B,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtCvC,UAAAA,KAAK,EAAE,KAAKO,MAD0B;AAEtCJ,UAAAA,aAAa,EAAE,KAAKkB,cAFkB;AAGtCC,UAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCK,UAAAA,sBAAsB,EAAE,KAAKA,sBAJS;AAKtCa,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBhB,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKiB,aAAL,CAAmBjB,IAAnB,CAAwB,IAAxB;AAFI;AALwB,SAA1B,CAAd;;AAWAkB,6BAASC,MAAT,CAAgBT,OAAhB,EAAyB,IAAzB;AACD;AACF;;;kDAnHwCU,W","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;
162
- //# sourceMappingURL=main.js.map
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;
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9ydWJyaWMiLCJfc3R5bGVzIiwiX2NvbmZpZ1VpIiwiUGFuZWwiLCJ0b2dnbGUiLCJzZXR0aW5ncyIsIlN0eWxlZERpdiIsInN0eWxlZCIsInRoZW1lIiwid2lkdGgiLCJtYXhXaWR0aCIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJNYWluIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsIm0iLCJjb25maWciLCJydWJyaWNsZXNzIiwicG9pbnRzIiwic2FtcGxlQW5zd2VycyIsInJlc3QiLCJyZW5kZXIiLCJtb2RlbCIsImNvbmZpZ3VyYXRpb24iLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwib25Nb2RlbENoYW5nZWQiLCJpbWFnZVN1cHBvcnQiLCJwcm9wcyIsImJhc2VJbnB1dENvbmZpZ3VyYXRpb24iLCJjb250ZW50RGltZW5zaW9ucyIsInNldHRpbmdzUGFuZWxEaXNhYmxlZCIsInNob3dFeGNsdWRlWmVybyIsInNob3dNYXhQb2ludCIsIm1hdGhNbE9wdGlvbnMiLCJydWJyaWNsZXNzSW5zdHJ1Y3Rpb24iLCJ2YWx1ZSIsInZlcmlmeVJ1YnJpY2xlc3NNb2RlbCIsImV4dHJhQ1NTUnVsZXMiLCJwYW5lbFByb3BlcnRpZXMiLCJleGNsdWRlWmVyb0VuYWJsZWQiLCJsYWJlbCIsIm1heFBvaW50c0VuYWJsZWQiLCJydWJyaWNsZXNzSW5zdHJ1Y3Rpb25FbmFibGVkIiwiZ2V0UGx1Z2luUHJvcHMiLCJPYmplY3QiLCJhc3NpZ24iLCJjcmVhdGVFbGVtZW50IiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwiZGltZW5zaW9ucyIsImhpZGVTZXR0aW5ncyIsIm9uQ2hhbmdlTW9kZWwiLCJvbkNoYW5nZUNvbmZpZ3VyYXRpb24iLCJwbHVnaW5PcHRzIiwiaW5wdXRDb25maWd1cmF0aW9uIiwiZ3JvdXBzIiwiUHJvcGVydGllcyIsIkF1dGhvcmluZyIsIm9uQ2hhbmdlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL21haW4uanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBdXRob3JpbmcgfSBmcm9tICdAcGllLWxpYi9ydWJyaWMnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgbGF5b3V0LCBzZXR0aW5ncyB9IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5cbmNvbnN0IHsgUGFuZWwsIHRvZ2dsZSB9ID0gc2V0dGluZ3M7XG5cbmNvbnN0IFN0eWxlZERpdiA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUsIHdpZHRoIH0pID0+ICh7XG4gIG1heFdpZHRoOiB3aWR0aCxcbiAgZm9udEZhbWlseTogJ0NlcmVicmkgU2FucycsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxufSkpO1xuXG5jbGFzcyBNYWluIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgdmVyaWZ5UnVicmljbGVzc01vZGVsID0gKG0sIGNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHsgcnVicmljbGVzcyA9IGZhbHNlIH0gPSBjb25maWcgfHwge307XG4gICAgcmV0dXJuIHJ1YnJpY2xlc3MgPyAoKHsgcG9pbnRzLCBzYW1wbGVBbnN3ZXJzLCAuLi5yZXN0IH0pID0+IHJlc3QpKG0pIDogbTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgY29uZmlndXJhdGlvbiwgb25Db25maWd1cmF0aW9uQ2hhbmdlZCwgb25Nb2RlbENoYW5nZWQsIGltYWdlU3VwcG9ydCB9ID0gdGhpcy5wcm9wcyB8fCB7fTtcbiAgICBjb25zdCB7XG4gICAgICBiYXNlSW5wdXRDb25maWd1cmF0aW9uID0ge30sXG4gICAgICBjb250ZW50RGltZW5zaW9ucyA9IHt9LFxuICAgICAgc2V0dGluZ3NQYW5lbERpc2FibGVkLFxuICAgICAgc2hvd0V4Y2x1ZGVaZXJvID0ge30sXG4gICAgICBzaG93TWF4UG9pbnQgPSB7fSxcbiAgICAgIG1hdGhNbE9wdGlvbnMgPSB7fSxcbiAgICAgIHJ1YnJpY2xlc3MgPSBmYWxzZSxcbiAgICAgIHJ1YnJpY2xlc3NJbnN0cnVjdGlvbixcbiAgICAgIHdpZHRoLFxuICAgIH0gPSBjb25maWd1cmF0aW9uIHx8IHt9O1xuXG4gICAgLy8gZW5zdXJlIHRvIGVsaW1pbmF0ZSBwb2ludHMgYW5kIHNhbXBsZUFuc3dlcnMgaW4gY2FzZSBvZiBydWJyaWNsZXNzXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZlcmlmeVJ1YnJpY2xlc3NNb2RlbChtb2RlbCwgY29uZmlndXJhdGlvbik7XG4gICAgY29uc3QgeyBleHRyYUNTU1J1bGVzIH0gPSBtb2RlbDtcblxuICAgIGNvbnN0IHBhbmVsUHJvcGVydGllcyA9IHtcbiAgICAgIGV4Y2x1ZGVaZXJvRW5hYmxlZDogc2hvd0V4Y2x1ZGVaZXJvLnNldHRpbmdzICYmIHRvZ2dsZShzaG93RXhjbHVkZVplcm8ubGFiZWwpLFxuICAgICAgbWF4UG9pbnRzRW5hYmxlZDogc2hvd01heFBvaW50LnNldHRpbmdzICYmIHRvZ2dsZShzaG93TWF4UG9pbnQubGFiZWwpLFxuICAgICAgcnVicmljbGVzc0luc3RydWN0aW9uRW5hYmxlZDogcnVicmljbGVzcyAmJiBydWJyaWNsZXNzSW5zdHJ1Y3Rpb24uc2V0dGluZ3MgJiYgdG9nZ2xlKHJ1YnJpY2xlc3NJbnN0cnVjdGlvbi5sYWJlbCksXG4gICAgfTtcblxuICAgIGNvbnN0IGdldFBsdWdpblByb3BzID0gKHByb3BzKSA9PiB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIC4uLmJhc2VJbnB1dENvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BzIHx8IHt9LFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsYXlvdXQuQ29uZmlnTGF5b3V0XG4gICAgICAgIGV4dHJhQ1NTUnVsZXM9e2V4dHJhQ1NTUnVsZXN9XG4gICAgICAgIGRpbWVuc2lvbnM9e2NvbnRlbnREaW1lbnNpb25zfVxuICAgICAgICBoaWRlU2V0dGluZ3M9e3NldHRpbmdzUGFuZWxEaXNhYmxlZH1cbiAgICAgICAgc2V0dGluZ3M9e1xuICAgICAgICAgIDxQYW5lbFxuICAgICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgICAgb25DaGFuZ2VNb2RlbD17b25Nb2RlbENoYW5nZWR9XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uPXtjb25maWd1cmF0aW9ufVxuICAgICAgICAgICAgb25DaGFuZ2VDb25maWd1cmF0aW9uPXtvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkfVxuICAgICAgICAgICAgcGx1Z2luT3B0cz17Z2V0UGx1Z2luUHJvcHMocnVicmljbGVzc0luc3RydWN0aW9uPy5pbnB1dENvbmZpZ3VyYXRpb24pfVxuICAgICAgICAgICAgZ3JvdXBzPXt7XG4gICAgICAgICAgICAgIFByb3BlcnRpZXM6IHBhbmVsUHJvcGVydGllcyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAvPlxuICAgICAgICB9ICAgICAgICA+XG4gICAgICAgIDxTdHlsZWREaXYgd2lkdGg9e3dpZHRofT5cbiAgICAgICAgICA8QXV0aG9yaW5nXG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBjb25maWc9e2NvbmZpZ3VyYXRpb259XG4gICAgICAgICAgICBvbkNoYW5nZT17b25Nb2RlbENoYW5nZWR9XG4gICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgcnVicmljbGVzcz17cnVicmljbGVzc31cbiAgICAgICAgICAgIHBsdWdpbk9wdHM9e2Jhc2VJbnB1dENvbmZpZ3VyYXRpb259XG4gICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZERpdj5cbiAgICAgIDwvbGF5b3V0LkNvbmZpZ0xheW91dD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1haW47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBRUEsTUFBTTtFQUFFSSxLQUFLO0VBQUVDO0FBQU8sQ0FBQyxHQUFHQyxrQkFBUTtBQUVsQyxNQUFNQyxTQUFTLEdBQUcsSUFBQUMsY0FBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7RUFBRUMsS0FBSztFQUFFQztBQUFNLENBQUMsTUFBTTtFQUNyREMsUUFBUSxFQUFFRCxLQUFLO0VBQ2ZFLFVBQVUsRUFBRSxjQUFjO0VBQzFCQyxRQUFRLEVBQUVKLEtBQUssQ0FBQ0ssVUFBVSxDQUFDRDtBQUM3QixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU1FLElBQUksU0FBU0MsY0FBSyxDQUFDQyxTQUFTLENBQUM7RUFBQUMsWUFBQSxHQUFBQyxJQUFBO0lBQUEsU0FBQUEsSUFBQTtJQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsaUNBQ1QsQ0FBQ0MsQ0FBQyxFQUFFQyxNQUFNLEtBQUs7TUFDckMsTUFBTTtRQUFFQyxVQUFVLEdBQUc7TUFBTSxDQUFDLEdBQUdELE1BQU0sSUFBSSxDQUFDLENBQUM7TUFDM0MsT0FBT0MsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUFFQyxNQUFNO1FBQUVDLGFBQWE7UUFBRSxHQUFHQztNQUFLLENBQUMsS0FBS0EsSUFBSSxFQUFFTCxDQUFDLENBQUMsR0FBR0EsQ0FBQztJQUMzRSxDQUFDO0VBQUE7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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","styles","theme","design","fontFamily","fontSize","typography","Main","m","config","rubricless","points","sampleAnswers","rest","props","model","configuration","onConfigurationChanged","onModelChanged","imageSupport","baseInputConfiguration","contentDimensions","settingsPanelDisabled","showExcludeZero","showMaxPoint","mathMlOptions","rubriclessInstruction","width","value","verifyRubriclessModel","extraCSSRules","panelProperties","excludeZeroEnabled","label","maxPointsEnabled","rubriclessInstructionEnabled","getPluginProps","Object","assign","inputConfiguration","Properties","maxWidth","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Authoring } from './pie-toolbox-rubric/index';\nimport { withStyles } from '@material-ui/core/styles';\nimport { layout, settings } from '@pie-lib/config-ui';\n\nconst { Panel, toggle } = settings;\n\nconst styles = (theme) => ({\n design: {\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize,\n },\n});\n\nclass Main extends React.Component {\n verifyRubriclessModel = (m, config) => {\n const { rubricless = false } = config || {};\n return rubricless ? (({ points, sampleAnswers, ...rest }) => rest)(m) : m;\n };\n\n render() {\n const { model, configuration, onConfigurationChanged, onModelChanged, imageSupport } = this.props || {};\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n settingsPanelDisabled,\n showExcludeZero = {},\n showMaxPoint = {},\n mathMlOptions = {},\n rubricless = false,\n rubriclessInstruction,\n width,\n } = configuration || {};\n\n // ensure to eliminate points and sampleAnswers in case of rubricless\n const value = this.verifyRubriclessModel(model, configuration);\n const { extraCSSRules } = model;\n\n const panelProperties = {\n excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),\n maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),\n rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n pluginOpts={getPluginProps(rubriclessInstruction?.inputConfiguration)}\n groups={{\n Properties: panelProperties,\n }}\n imageSupport={imageSupport}\n />\n }\n >\n <div style={{ maxWidth: width }}>\n <Authoring\n value={value}\n config={configuration}\n onChange={onModelChanged}\n mathMlOptions={mathMlOptions}\n rubricless={rubricless}\n pluginOpts={baseInputConfiguration}\n imageSupport={imageSupport}\n />\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_rubric","_styles","_configUi","Panel","toggle","settings","StyledDiv","styled","theme","width","maxWidth","fontFamily","fontSize","typography","Main","React","Component","constructor","args","_defineProperty2","default","m","config","rubricless","points","sampleAnswers","rest","render","model","configuration","onConfigurationChanged","onModelChanged","imageSupport","props","baseInputConfiguration","contentDimensions","settingsPanelDisabled","showExcludeZero","showMaxPoint","mathMlOptions","rubriclessInstruction","value","verifyRubriclessModel","extraCSSRules","panelProperties","excludeZeroEnabled","label","maxPointsEnabled","rubriclessInstructionEnabled","getPluginProps","Object","assign","createElement","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","pluginOpts","inputConfiguration","groups","Properties","Authoring","onChange","_default","exports"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport { Authoring } from '@pie-lib/rubric';\nimport { styled } from '@mui/material/styles';\nimport { layout, settings } from '@pie-lib/config-ui';\n\nconst { Panel, toggle } = settings;\n\nconst StyledDiv = styled('div')(({ theme, width }) => ({\n maxWidth: width,\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize,\n}));\n\nclass Main extends React.Component {\n verifyRubriclessModel = (m, config) => {\n const { rubricless = false } = config || {};\n return rubricless ? (({ points, sampleAnswers, ...rest }) => rest)(m) : m;\n };\n\n render() {\n const { model, configuration, onConfigurationChanged, onModelChanged, imageSupport } = this.props || {};\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n settingsPanelDisabled,\n showExcludeZero = {},\n showMaxPoint = {},\n mathMlOptions = {},\n rubricless = false,\n rubriclessInstruction,\n width,\n } = configuration || {};\n\n // ensure to eliminate points and sampleAnswers in case of rubricless\n const value = this.verifyRubriclessModel(model, configuration);\n const { extraCSSRules } = model;\n\n const panelProperties = {\n excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),\n maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),\n rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n pluginOpts={getPluginProps(rubriclessInstruction?.inputConfiguration)}\n groups={{\n Properties: panelProperties,\n }}\n imageSupport={imageSupport}\n />\n } >\n <StyledDiv width={width}>\n <Authoring\n value={value}\n config={configuration}\n onChange={onModelChanged}\n mathMlOptions={mathMlOptions}\n rubricless={rubricless}\n pluginOpts={baseInputConfiguration}\n imageSupport={imageSupport}\n />\n </StyledDiv>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,23 @@
1
1
  {
2
2
  "name": "@pie-element/rubric-configure",
3
3
  "private": true,
4
- "version": "5.1.0",
4
+ "version": "5.2.0",
5
5
  "description": "Rubric authoring view",
6
6
  "main": "lib/index.js",
7
7
  "author": "Pie Framework Authors",
8
8
  "dependencies": {
9
- "@material-ui/core": "^3.9.2",
9
+ "@emotion/react": "^11.14.0",
10
+ "@emotion/style": "^0.8.0",
11
+ "@mui/icons-material": "^7.3.4",
12
+ "@mui/material": "^7.3.4",
10
13
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/config-ui": "^11.25.0",
12
- "@pie-lib/editable-html": "^11.17.0",
13
- "@pie-lib/render-ui": "^4.31.0",
14
+ "@pie-lib/config-ui": "11.36.1-mui-update.0",
15
+ "@pie-lib/editable-html": "11.28.1-mui-update.0",
16
+ "@pie-lib/render-ui": "4.42.1-mui-update.0",
14
17
  "debug": "^4.1.1",
15
- "react": "^16.8.6",
18
+ "react": "18.2.0",
16
19
  "react-beautiful-dnd": "^11.0.2",
17
- "react-dom": "^16.8.6"
20
+ "react-dom": "18.2.0"
18
21
  },
19
22
  "license": "ISC"
20
23
  }
@@ -1,6 +1,6 @@
1
1
  import { ModelUpdatedEvent, InsertImageEvent, DeleteImageEvent } from '@pie-framework/pie-configure-events';
2
2
  import React from 'react';
3
- import ReactDOM from 'react-dom';
3
+ import { createRoot } from 'react-dom/client';
4
4
  import debug from 'debug';
5
5
 
6
6
  import Main from './main';
@@ -13,6 +13,7 @@ const configurationWithDefaults = (c) => ({ ...defaults.configuration, ...c });
13
13
  export default class RubricElement extends HTMLElement {
14
14
  constructor() {
15
15
  super();
16
+ this._root = null;
16
17
  debug.log('constructor called');
17
18
  this._model = modelWithDefaults();
18
19
  this._configuration = configurationWithDefaults();
@@ -123,7 +124,16 @@ export default class RubricElement extends HTMLElement {
123
124
  },
124
125
  });
125
126
 
126
- ReactDOM.render(element, this);
127
+ if (!this._root) {
128
+ this._root = createRoot(this);
129
+ }
130
+ this._root.render(element);
131
+ }
132
+ }
133
+
134
+ disconnectedCallback() {
135
+ if (this._root) {
136
+ this._root.unmount();
127
137
  }
128
138
  }
129
139
  }
@@ -1,16 +1,15 @@
1
1
  import React from 'react';
2
- import { Authoring } from './pie-toolbox-rubric/index';
3
- import { withStyles } from '@material-ui/core/styles';
2
+ import { Authoring } from '@pie-lib/rubric';
3
+ import { styled } from '@mui/material/styles';
4
4
  import { layout, settings } from '@pie-lib/config-ui';
5
5
 
6
6
  const { Panel, toggle } = settings;
7
7
 
8
- const styles = (theme) => ({
9
- design: {
10
- fontFamily: 'Cerebri Sans',
11
- fontSize: theme.typography.fontSize,
12
- },
13
- });
8
+ const StyledDiv = styled('div')(({ theme, width }) => ({
9
+ maxWidth: width,
10
+ fontFamily: 'Cerebri Sans',
11
+ fontSize: theme.typography.fontSize,
12
+ }));
14
13
 
15
14
  class Main extends React.Component {
16
15
  verifyRubriclessModel = (m, config) => {
@@ -68,9 +67,8 @@ class Main extends React.Component {
68
67
  }}
69
68
  imageSupport={imageSupport}
70
69
  />
71
- }
72
- >
73
- <div style={{ maxWidth: width }}>
70
+ } >
71
+ <StyledDiv width={width}>
74
72
  <Authoring
75
73
  value={value}
76
74
  config={configuration}
@@ -80,10 +78,10 @@ class Main extends React.Component {
80
78
  pluginOpts={baseInputConfiguration}
81
79
  imageSupport={imageSupport}
82
80
  />
83
- </div>
81
+ </StyledDiv>
84
82
  </layout.ConfigLayout>
85
83
  );
86
84
  }
87
85
  }
88
86
 
89
- export default withStyles(styles)(Main);
87
+ export default Main;
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-controller@4.0.1...@pie-element/rubric-controller@4.1.1) (2025-10-10)
7
+
8
+ **Note:** Version bump only for package @pie-element/rubric-controller
9
+
10
+
11
+
12
+
13
+
6
14
  # [4.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-controller@4.0.0...@pie-element/rubric-controller@4.1.0) (2025-10-07)
7
15
 
8
16
  **Note:** Version bump only for package @pie-element/rubric-controller
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _index = require("../index");
4
+ describe('rubric model', () => {
5
+ let state = {
6
+ points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
7
+ sampleAnswers: [null, 'just right', 'not left', null],
8
+ maxPoints: 4,
9
+ maxPointsEnabled: true,
10
+ excludeZero: false,
11
+ excludeZeroEnabled: true
12
+ };
13
+ let session = {};
14
+ let env, result;
15
+ it('returns no model for gather', async () => {
16
+ env = {
17
+ mode: 'gather'
18
+ };
19
+ result = await (0, _index.model)(state, session, env);
20
+ expect(result).toEqual({});
21
+ });
22
+ it('returns no model for student role', async () => {
23
+ env = {
24
+ mode: 'gather',
25
+ role: 'student'
26
+ };
27
+ result = await (0, _index.model)(state, session, env);
28
+ expect(result).toEqual({});
29
+ });
30
+ it('returns model for instructor role', async () => {
31
+ env = {
32
+ mode: 'gather',
33
+ role: 'instructor'
34
+ };
35
+ result = await (0, _index.model)(state, session, env);
36
+ expect(result).toEqual(state);
37
+ });
38
+ });
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiZGVzY3JpYmUiLCJzdGF0ZSIsInBvaW50cyIsInNhbXBsZUFuc3dlcnMiLCJtYXhQb2ludHMiLCJtYXhQb2ludHNFbmFibGVkIiwiZXhjbHVkZVplcm8iLCJleGNsdWRlWmVyb0VuYWJsZWQiLCJzZXNzaW9uIiwiZW52IiwicmVzdWx0IiwiaXQiLCJtb2RlIiwibW9kZWwiLCJleHBlY3QiLCJ0b0VxdWFsIiwicm9sZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb2RlbCB9IGZyb20gJy4uL2luZGV4JztcblxuZGVzY3JpYmUoJ3J1YnJpYyBtb2RlbCcsICgpID0+IHtcbiAgbGV0IHN0YXRlID0ge1xuICAgIHBvaW50czogWydub3RoaW5nIHJpZ2h0JywgJ2EgdGVlbnkgYml0IHJpZ2h0JywgJ21vc3RseSByaWdodCcsICdiaW5nbyddLFxuICAgIHNhbXBsZUFuc3dlcnM6IFtudWxsLCAnanVzdCByaWdodCcsICdub3QgbGVmdCcsIG51bGxdLFxuICAgIG1heFBvaW50czogNCxcbiAgICBtYXhQb2ludHNFbmFibGVkOiB0cnVlLFxuICAgIGV4Y2x1ZGVaZXJvOiBmYWxzZSxcbiAgICBleGNsdWRlWmVyb0VuYWJsZWQ6IHRydWUsXG4gIH07XG5cbiAgbGV0IHNlc3Npb24gPSB7fTtcbiAgbGV0IGVudiwgcmVzdWx0O1xuXG4gIGl0KCdyZXR1cm5zIG5vIG1vZGVsIGZvciBnYXRoZXInLCBhc3luYyAoKSA9PiB7XG4gICAgZW52ID0geyBtb2RlOiAnZ2F0aGVyJyB9O1xuICAgIHJlc3VsdCA9IGF3YWl0IG1vZGVsKHN0YXRlLCBzZXNzaW9uLCBlbnYpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe30pO1xuICB9KTtcblxuICBpdCgncmV0dXJucyBubyBtb2RlbCBmb3Igc3R1ZGVudCByb2xlJywgYXN5bmMgKCkgPT4ge1xuICAgIGVudiA9IHsgbW9kZTogJ2dhdGhlcicsIHJvbGU6ICdzdHVkZW50JyB9O1xuICAgIHJlc3VsdCA9IGF3YWl0IG1vZGVsKHN0YXRlLCBzZXNzaW9uLCBlbnYpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe30pO1xuICB9KTtcblxuICBpdCgncmV0dXJucyBtb2RlbCBmb3IgaW5zdHJ1Y3RvciByb2xlJywgYXN5bmMgKCkgPT4ge1xuICAgIGVudiA9IHsgbW9kZTogJ2dhdGhlcicsIHJvbGU6ICdpbnN0cnVjdG9yJyB9O1xuICAgIHJlc3VsdCA9IGF3YWl0IG1vZGVsKHN0YXRlLCBzZXNzaW9uLCBlbnYpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoc3RhdGUpO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU07RUFDN0IsSUFBSUMsS0FBSyxHQUFHO0lBQ1ZDLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3ZFQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDckRDLFNBQVMsRUFBRSxDQUFDO0lBQ1pDLGdCQUFnQixFQUFFLElBQUk7SUFDdEJDLFdBQVcsRUFBRSxLQUFLO0lBQ2xCQyxrQkFBa0IsRUFBRTtFQUN0QixDQUFDO0VBRUQsSUFBSUMsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUNoQixJQUFJQyxHQUFHLEVBQUVDLE1BQU07RUFFZkMsRUFBRSxDQUFDLDZCQUE2QixFQUFFLFlBQVk7SUFDNUNGLEdBQUcsR0FBRztNQUFFRyxJQUFJLEVBQUU7SUFBUyxDQUFDO0lBQ3hCRixNQUFNLEdBQUcsTUFBTSxJQUFBRyxZQUFLLEVBQUNaLEtBQUssRUFBRU8sT0FBTyxFQUFFQyxHQUFHLENBQUM7SUFDekNLLE1BQU0sQ0FBQ0osTUFBTSxDQUFDLENBQUNLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUM1QixDQUFDLENBQUM7RUFFRkosRUFBRSxDQUFDLG1DQUFtQyxFQUFFLFlBQVk7SUFDbERGLEdBQUcsR0FBRztNQUFFRyxJQUFJLEVBQUUsUUFBUTtNQUFFSSxJQUFJLEVBQUU7SUFBVSxDQUFDO0lBQ3pDTixNQUFNLEdBQUcsTUFBTSxJQUFBRyxZQUFLLEVBQUNaLEtBQUssRUFBRU8sT0FBTyxFQUFFQyxHQUFHLENBQUM7SUFDekNLLE1BQU0sQ0FBQ0osTUFBTSxDQUFDLENBQUNLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUM1QixDQUFDLENBQUM7RUFFRkosRUFBRSxDQUFDLG1DQUFtQyxFQUFFLFlBQVk7SUFDbERGLEdBQUcsR0FBRztNQUFFRyxJQUFJLEVBQUUsUUFBUTtNQUFFSSxJQUFJLEVBQUU7SUFBYSxDQUFDO0lBQzVDTixNQUFNLEdBQUcsTUFBTSxJQUFBRyxZQUFLLEVBQUNaLEtBQUssRUFBRU8sT0FBTyxFQUFFQyxHQUFHLENBQUM7SUFDekNLLE1BQU0sQ0FBQ0osTUFBTSxDQUFDLENBQUNLLE9BQU8sQ0FBQ2QsS0FBSyxDQUFDO0VBQy9CLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -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
  points: ['', '', '', ''],
9
9
  sampleAnswers: [null, null, null, null],
10
10
  maxPoints: 3,
@@ -12,5 +12,4 @@ var _default = {
12
12
  excludeZero: false,
13
13
  excludeZeroEnabled: true
14
14
  };
15
- exports["default"] = _default;
16
- //# sourceMappingURL=defaults.js.map
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwb2ludHMiLCJzYW1wbGVBbnN3ZXJzIiwibWF4UG9pbnRzIiwibWF4UG9pbnRzRW5hYmxlZCIsImV4Y2x1ZGVaZXJvIiwiZXhjbHVkZVplcm9FbmFibGVkIl0sInNvdXJjZXMiOlsiLi4vc3JjL2RlZmF1bHRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcbiAgcG9pbnRzOiBbJycsICcnLCAnJywgJyddLFxuICBzYW1wbGVBbnN3ZXJzOiBbbnVsbCwgbnVsbCwgbnVsbCwgbnVsbF0sXG4gIG1heFBvaW50czogMyxcbiAgbWF4UG9pbnRzRW5hYmxlZDogdHJ1ZSxcbiAgZXhjbHVkZVplcm86IGZhbHNlLFxuICBleGNsdWRlWmVyb0VuYWJsZWQ6IHRydWUsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7aUNBQWU7RUFDYkEsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQ3hCQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7RUFDdkNDLFNBQVMsRUFBRSxDQUFDO0VBQ1pDLGdCQUFnQixFQUFFLElBQUk7RUFDdEJDLFdBQVcsRUFBRSxLQUFLO0VBQ2xCQyxrQkFBa0IsRUFBRTtBQUN0QixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["points","sampleAnswers","maxPoints","maxPointsEnabled","excludeZero","excludeZeroEnabled"],"mappings":";;;;;;eAAe;AACbA,EAAAA,MAAM,EAAE,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,CADK;AAEbC,EAAAA,aAAa,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,CAFF;AAGbC,EAAAA,SAAS,EAAE,CAHE;AAIbC,EAAAA,gBAAgB,EAAE,IAJL;AAKbC,EAAAA,WAAW,EAAE,KALA;AAMbC,EAAAA,kBAAkB,EAAE;AANP,C","sourcesContent":["export default {\n points: ['', '', '', ''],\n sampleAnswers: [null, null, null, null],\n maxPoints: 3,\n maxPointsEnabled: true,\n excludeZero: false,\n excludeZeroEnabled: true,\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"file":"defaults.js","names":["points","sampleAnswers","maxPoints","maxPointsEnabled","excludeZero","excludeZeroEnabled"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n points: ['', '', '', ''],\n sampleAnswers: [null, null, null, null],\n maxPoints: 3,\n maxPointsEnabled: true,\n excludeZero: false,\n excludeZeroEnabled: true,\n};\n"],"mappings":";;;;;;iCAAe;EACbA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;EACxBC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;EACvCC,SAAS,EAAE,CAAC;EACZC,gBAAgB,EAAE,IAAI;EACtBC,WAAW,EAAE,KAAK;EAClBC,kBAAkB,EAAE;AACtB,CAAC","ignoreList":[]}