@pie-element/rubric 3.0.4-next.57 → 3.0.4-next.69

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["modelWithDefaults","m","defaults","model","configurationWithDefaults","c","configuration","RubricElement","_configuration","_model","onModelChanged","_render","debug","log","bind","onConfigurationChanged","dispatchEvent","ModelUpdatedEvent","element","React","createElement","Main","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;;AACA,IAAMG,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,CAAD;AAAA,yCAAaH,qBAASI,aAAtB,GAAwCD,CAAxC;AAAA,CAAlC;;IAEqBE,a;;;;;AACnB,2BAAc;AAAA;;AAAA;AACZ;AADY,+GAyBW,UAACF,CAAD,EAAO;AAC9B,YAAKG,cAAL,GAAsBJ,yBAAyB,CAACC,CAAD,CAA/C;;AAEA,UAAI,MAAKI,MAAT,EAAiB;AACf,cAAKC,cAAL,CAAoB,MAAKD,MAAzB;AACD;;AAED,YAAKE,OAAL;AACD,KAjCa;;AAEZC,sBAAMC,GAAN,CAAU,oBAAV;;AACA,UAAKJ,MAAL,GAAcT,iBAAiB,EAA/B;AACA,UAAKQ,cAAL,GAAsBJ,yBAAyB,EAA/C;AACA,UAAKM,cAAL,GAAsB,MAAKA,cAAL,CAAoBI,IAApB,gDAAtB;AACA,UAAKC,sBAAL,GAA8B,MAAKA,sBAAL,CAA4BD,IAA5B,gDAA9B;AANY;AAOb;;;;SAED,aAAUb,CAAV,EAAa;AACX,WAAKQ,MAAL,GAAcT,iBAAiB,CAACC,CAAD,CAA/B;;AACA,WAAKU,OAAL;AACD;;;SAED,aAAkBN,CAAlB,EAAqB;AACnB,WAAKG,cAAL,GAAsBJ,yBAAyB,CAACC,CAAD,CAA/C;;AACA,WAAKM,OAAL;AACD;;;WAED,wBAAeV,CAAf,EAAkB;AAChB,WAAKQ,MAAL,GAAcR,CAAd;;AACA,WAAKU,OAAL;;AACA,WAAKK,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKR,MAA3B,EAAmC,KAAnC,CAAnB;AACD;;;WAYD,6BAAoB;AAClB,WAAKE,OAAL;AACD;;;WAED,mBAAU;AACR,UAAI,KAAKF,MAAT,EAAiB;AACf,YAAIS,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtClB,UAAAA,KAAK,EAAE,KAAKM,MAD0B;AAEtCH,UAAAA,aAAa,EAAE,KAAKE,cAFkB;AAGtCE,UAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCK,UAAAA,sBAAsB,EAAE,KAAKA;AAJS,SAA1B,CAAd;;AAOAO,6BAASC,MAAT,CAAgBL,OAAhB,EAAyB,IAAzB;AACD;AACF;;;kDAnDwCM,W","sourcesContent":["import { ModelUpdatedEvent } 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 });\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 set model(m) {\n this._model = 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 = 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 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 });\n\n ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["modelWithDefaults","m","defaults","model","configurationWithDefaults","c","configuration","RubricElement","_configuration","_model","onModelChanged","_render","debug","log","bind","onConfigurationChanged","dispatchEvent","ModelUpdatedEvent","element","React","createElement","Main","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;;AACA,IAAMG,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,CAAD;AAAA,yCAAaH,qBAASI,aAAtB,GAAwCD,CAAxC;AAAA,CAAlC;;IAEqBE,a;;;;;AAGnB,2BAAc;AAAA;;AAAA;AACZ;AADY,+GAyBW,UAACF,CAAD,EAAO;AAC9B,YAAKG,cAAL,GAAsBJ,yBAAyB,CAACC,CAAD,CAA/C;;AAEA,UAAI,MAAKI,MAAT,EAAiB;AACf,cAAKC,cAAL,CAAoB,MAAKD,MAAzB;AACD;;AAED,YAAKE,OAAL;AACD,KAjCa;;AAEZC,sBAAMC,GAAN,CAAU,oBAAV;;AACA,UAAKJ,MAAL,GAAcT,iBAAiB,EAA/B;AACA,UAAKQ,cAAL,GAAsBJ,yBAAyB,EAA/C;AACA,UAAKM,cAAL,GAAsB,MAAKA,cAAL,CAAoBI,IAApB,gDAAtB;AACA,UAAKC,sBAAL,GAA8B,MAAKA,sBAAL,CAA4BD,IAA5B,gDAA9B;AANY;AAOb;;;;SAED,aAAUb,CAAV,EAAa;AACX,WAAKQ,MAAL,GAAcT,iBAAiB,CAACC,CAAD,CAA/B;;AACA,WAAKU,OAAL;AACD;;;SAED,aAAkBN,CAAlB,EAAqB;AACnB,WAAKG,cAAL,GAAsBJ,yBAAyB,CAACC,CAAD,CAA/C;;AACA,WAAKM,OAAL;AACD;;;WAED,wBAAeV,CAAf,EAAkB;AAChB,WAAKQ,MAAL,GAAcR,CAAd;;AACA,WAAKU,OAAL;;AACA,WAAKK,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKR,MAA3B,EAAmC,KAAnC,CAAnB;AACD;;;WAYD,6BAAoB;AAClB,WAAKE,OAAL;AACD;;;WAED,mBAAU;AACR,UAAI,KAAKF,MAAT,EAAiB;AACf,YAAIS,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtClB,UAAAA,KAAK,EAAE,KAAKM,MAD0B;AAEtCH,UAAAA,aAAa,EAAE,KAAKE,cAFkB;AAGtCE,UAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCK,UAAAA,sBAAsB,EAAE,KAAKA;AAJS,SAA1B,CAAd;;AAOAO,6BAASC,MAAT,CAAgBL,OAAhB,EAAyB,IAAzB;AACD;AACF;;;kDArDwCM,W","sourcesContent":["import { ModelUpdatedEvent } 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 });\nconst configurationWithDefaults = (c) => ({ ...defaults.configuration, ...c });\n\nexport default class RubricElement extends HTMLElement {\n\n\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 set model(m) {\n this._model = 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 = 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 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 });\n\n ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
@@ -7,16 +7,22 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
15
 
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
14
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
19
 
16
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
21
 
18
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
23
 
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
20
26
  var _react = _interopRequireDefault(require("react"));
21
27
 
22
28
  var _rubric = require("@pie-lib/pie-toolbox/rubric");
@@ -25,6 +31,8 @@ var _styles = require("@material-ui/core/styles");
25
31
 
26
32
  var _configUi = require("@pie-lib/pie-toolbox/config-ui");
27
33
 
34
+ var _excluded = ["points", "sampleAnswers"];
35
+
28
36
  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); }; }
29
37
 
30
38
  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; } }
@@ -47,35 +55,60 @@ var Main = /*#__PURE__*/function (_React$Component) {
47
55
  var _super = _createSuper(Main);
48
56
 
49
57
  function Main() {
58
+ var _this;
59
+
50
60
  (0, _classCallCheck2["default"])(this, Main);
51
- return _super.apply(this, arguments);
61
+
62
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
63
+ args[_key] = arguments[_key];
64
+ }
65
+
66
+ _this = _super.call.apply(_super, [this].concat(args));
67
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "verifyRubriclessModel", function (m, config) {
68
+ var _ref = config || {},
69
+ _ref$rubricless = _ref.rubricless,
70
+ rubricless = _ref$rubricless === void 0 ? false : _ref$rubricless;
71
+
72
+ return rubricless ? function (_ref2) {
73
+ var points = _ref2.points,
74
+ sampleAnswers = _ref2.sampleAnswers,
75
+ rest = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
76
+ return rest;
77
+ }(m) : m;
78
+ });
79
+ return _this;
52
80
  }
53
81
 
54
82
  (0, _createClass2["default"])(Main, [{
55
83
  key: "render",
56
84
  value: function render() {
57
- var _ref = this.props || {},
58
- model = _ref.model,
59
- configuration = _ref.configuration,
60
- onConfigurationChanged = _ref.onConfigurationChanged,
61
- onModelChanged = _ref.onModelChanged;
62
-
63
- var _ref2 = configuration || {},
64
- _ref2$contentDimensio = _ref2.contentDimensions,
65
- contentDimensions = _ref2$contentDimensio === void 0 ? {} : _ref2$contentDimensio,
66
- settingsPanelDisabled = _ref2.settingsPanelDisabled,
67
- _ref2$showExcludeZero = _ref2.showExcludeZero,
68
- showExcludeZero = _ref2$showExcludeZero === void 0 ? {} : _ref2$showExcludeZero,
69
- _ref2$showMaxPoint = _ref2.showMaxPoint,
70
- showMaxPoint = _ref2$showMaxPoint === void 0 ? {} : _ref2$showMaxPoint,
71
- _ref2$mathMlOptions = _ref2.mathMlOptions,
72
- mathMlOptions = _ref2$mathMlOptions === void 0 ? {} : _ref2$mathMlOptions,
73
- width = _ref2.width,
74
- maxMaxPoints = _ref2.maxMaxPoints;
75
-
85
+ var _ref3 = this.props || {},
86
+ model = _ref3.model,
87
+ configuration = _ref3.configuration,
88
+ onConfigurationChanged = _ref3.onConfigurationChanged,
89
+ onModelChanged = _ref3.onModelChanged;
90
+
91
+ var _ref4 = configuration || {},
92
+ _ref4$contentDimensio = _ref4.contentDimensions,
93
+ contentDimensions = _ref4$contentDimensio === void 0 ? {} : _ref4$contentDimensio,
94
+ settingsPanelDisabled = _ref4.settingsPanelDisabled,
95
+ _ref4$showExcludeZero = _ref4.showExcludeZero,
96
+ showExcludeZero = _ref4$showExcludeZero === void 0 ? {} : _ref4$showExcludeZero,
97
+ _ref4$showMaxPoint = _ref4.showMaxPoint,
98
+ showMaxPoint = _ref4$showMaxPoint === void 0 ? {} : _ref4$showMaxPoint,
99
+ _ref4$mathMlOptions = _ref4.mathMlOptions,
100
+ mathMlOptions = _ref4$mathMlOptions === void 0 ? {} : _ref4$mathMlOptions,
101
+ _ref4$rubricless = _ref4.rubricless,
102
+ rubricless = _ref4$rubricless === void 0 ? false : _ref4$rubricless,
103
+ rubriclessInstruction = _ref4.rubriclessInstruction,
104
+ width = _ref4.width; // ensure to eliminate points and sampleAnswers in case of rubricless
105
+
106
+
107
+ var value = this.verifyRubriclessModel(model, configuration);
76
108
  var panelProperties = {
77
109
  excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),
78
- maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label)
110
+ maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),
111
+ rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label)
79
112
  };
80
113
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
81
114
  dimensions: contentDimensions,
@@ -94,10 +127,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
94
127
  maxWidth: width
95
128
  }
96
129
  }, /*#__PURE__*/_react["default"].createElement(_rubric.Authoring, {
97
- value: model,
130
+ value: value,
131
+ config: configuration,
98
132
  onChange: onModelChanged,
99
133
  mathMlOptions: mathMlOptions,
100
- maxMaxPoints: Math.abs(maxMaxPoints)
134
+ rubricless: rubricless
101
135
  })));
102
136
  }
103
137
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","styles","theme","design","fontFamily","fontSize","typography","Main","props","model","configuration","onConfigurationChanged","onModelChanged","contentDimensions","settingsPanelDisabled","showExcludeZero","showMaxPoint","mathMlOptions","width","maxMaxPoints","panelProperties","excludeZeroEnabled","label","maxPointsEnabled","Properties","maxWidth","Math","abs","React","Component"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAQA,KAAR,GAA0BC,kBAA1B,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAA0BD,kBAA1B,CAAeC,MAAf;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAE,cADN;AAENC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD;AAFrB;AADiB,GAAZ;AAAA,CAAf;;IAOME,I;;;;;;;;;;;;WACJ,kBAAS;AACP,iBAAyE,KAAKC,KAAL,IAAc,EAAvF;AAAA,UAAQC,KAAR,QAAQA,KAAR;AAAA,UAAeC,aAAf,QAAeA,aAAf;AAAA,UAA8BC,sBAA9B,QAA8BA,sBAA9B;AAAA,UAAsDC,cAAtD,QAAsDA,cAAtD;;AACA,kBAQIF,aAAa,IAAI,EARrB;AAAA,wCACEG,iBADF;AAAA,UACEA,iBADF,sCACsB,EADtB;AAAA,UAEEC,qBAFF,SAEEA,qBAFF;AAAA,wCAGEC,eAHF;AAAA,UAGEA,eAHF,sCAGoB,EAHpB;AAAA,qCAIEC,YAJF;AAAA,UAIEA,YAJF,mCAIiB,EAJjB;AAAA,sCAKEC,aALF;AAAA,UAKEA,aALF,oCAKkB,EALlB;AAAA,UAMEC,KANF,SAMEA,KANF;AAAA,UAOEC,YAPF,SAOEA,YAPF;;AAUA,UAAMC,eAAe,GAAG;AACtBC,QAAAA,kBAAkB,EAAEN,eAAe,CAAChB,QAAhB,IAA4BC,MAAM,CAACe,eAAe,CAACO,KAAjB,CADhC;AAEtBC,QAAAA,gBAAgB,EAAEP,YAAY,CAACjB,QAAb,IAAyBC,MAAM,CAACgB,YAAY,CAACM,KAAd;AAF3B,OAAxB;AAKA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,UAAU,EAAET,iBADd;AAEE,QAAA,YAAY,EAAEC,qBAFhB;AAGE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEL,KADT;AAEE,UAAA,aAAa,EAAEG,cAFjB;AAGE,UAAA,aAAa,EAAEF,aAHjB;AAIE,UAAA,qBAAqB,EAAEC,sBAJzB;AAKE,UAAA,MAAM,EAAE;AACNa,YAAAA,UAAU,EAAEJ;AADN;AALV;AAJJ,sBAeE;AAAK,QAAA,KAAK,EAAE;AAAEK,UAAAA,QAAQ,EAAEP;AAAZ;AAAZ,sBACE,gCAAC,iBAAD;AACE,QAAA,KAAK,EAAET,KADT;AAEE,QAAA,QAAQ,EAAEG,cAFZ;AAGE,QAAA,aAAa,EAAEK,aAHjB;AAIE,QAAA,YAAY,EAAES,IAAI,CAACC,GAAL,CAASR,YAAT;AAJhB,QADF,CAfF,CADF;AA0BD;;;EA5CgBS,kBAAMC,S;;eA+CV,wBAAW5B,MAAX,EAAmBM,IAAnB,C","sourcesContent":["import React from 'react';\nimport { Authoring } from '@pie-lib/pie-toolbox/rubric';\nimport { withStyles } from '@material-ui/core/styles';\nimport { layout, settings } from '@pie-lib/pie-toolbox/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 render() {\n const { model, configuration, onConfigurationChanged, onModelChanged } = this.props || {};\n const {\n contentDimensions = {},\n settingsPanelDisabled,\n showExcludeZero = {},\n showMaxPoint = {},\n mathMlOptions = {},\n width,\n maxMaxPoints\n } = configuration || {};\n\n const panelProperties = {\n excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),\n maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <div style={{ maxWidth: width }}>\n <Authoring\n value={model}\n onChange={onModelChanged}\n mathMlOptions={mathMlOptions}\n maxMaxPoints={Math.abs(maxMaxPoints)}\n />\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
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","contentDimensions","settingsPanelDisabled","showExcludeZero","showMaxPoint","mathMlOptions","rubriclessInstruction","width","value","verifyRubriclessModel","panelProperties","excludeZeroEnabled","label","maxPointsEnabled","rubriclessInstructionEnabled","Properties","maxWidth","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Authoring } from '@pie-lib/pie-toolbox/rubric';\nimport { withStyles } from '@material-ui/core/styles';\nimport { layout, settings } from '@pie-lib/pie-toolbox/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\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 } = this.props || {};\n const {\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\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 return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <div style={{ maxWidth: width }}>\n <Authoring value={value} config={configuration} onChange={onModelChanged} mathMlOptions={mathMlOptions} rubricless={rubricless} />\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
@@ -8,7 +8,7 @@
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/pie-toolbox": "1.3.0",
11
+ "@pie-lib/pie-toolbox": "1.4.0",
12
12
  "debug": "^4.1.1",
13
13
  "react": "^16.8.6",
14
14
  "react-dom": "^16.8.6"
@@ -10,6 +10,8 @@ const modelWithDefaults = (m) => ({ ...defaults.model, ...m });
10
10
  const configurationWithDefaults = (c) => ({ ...defaults.configuration, ...c });
11
11
 
12
12
  export default class RubricElement extends HTMLElement {
13
+
14
+
13
15
  constructor() {
14
16
  super();
15
17
  debug.log('constructor called');
@@ -13,6 +13,12 @@ const styles = (theme) => ({
13
13
  });
14
14
 
15
15
  class Main extends React.Component {
16
+
17
+ verifyRubriclessModel = (m, config) => {
18
+ const { rubricless = false } = config || {};
19
+ return rubricless ? (({ points, sampleAnswers, ...rest }) => rest)(m) : m;
20
+ };
21
+
16
22
  render() {
17
23
  const { model, configuration, onConfigurationChanged, onModelChanged } = this.props || {};
18
24
  const {
@@ -21,13 +27,18 @@ class Main extends React.Component {
21
27
  showExcludeZero = {},
22
28
  showMaxPoint = {},
23
29
  mathMlOptions = {},
30
+ rubricless = false,
31
+ rubriclessInstruction,
24
32
  width,
25
- maxMaxPoints
26
33
  } = configuration || {};
27
34
 
35
+ // ensure to eliminate points and sampleAnswers in case of rubricless
36
+ const value = this.verifyRubriclessModel(model, configuration);
37
+
28
38
  const panelProperties = {
29
39
  excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),
30
40
  maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),
41
+ rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label),
31
42
  };
32
43
 
33
44
  return (
@@ -47,12 +58,7 @@ class Main extends React.Component {
47
58
  }
48
59
  >
49
60
  <div style={{ maxWidth: width }}>
50
- <Authoring
51
- value={model}
52
- onChange={onModelChanged}
53
- mathMlOptions={mathMlOptions}
54
- maxMaxPoints={Math.abs(maxMaxPoints)}
55
- />
61
+ <Authoring value={value} config={configuration} onChange={onModelChanged} mathMlOptions={mathMlOptions} rubricless={rubricless} />
56
62
  </div>
57
63
  </layout.ConfigLayout>
58
64
  );
@@ -7,7 +7,7 @@
7
7
  "test": "./node_modules/.bin/jest"
8
8
  },
9
9
  "dependencies": {
10
- "@pie-lib/pie-toolbox": "1.3.0",
10
+ "@pie-lib/pie-toolbox": "1.4.0",
11
11
  "lodash": "^4.17.15"
12
12
  }
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/rubric",
3
- "version": "3.0.4-next.57+2eabcbd03",
3
+ "version": "3.0.4-next.69+84f517e36",
4
4
  "main": "lib/index.js",
5
5
  "module": "src/index.js",
6
6
  "description": "Rubric Scoring Interaction",
@@ -10,12 +10,12 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@material-ui/core": "^3.9.2",
13
- "@pie-lib/pie-toolbox": "1.3.0",
13
+ "@pie-lib/pie-toolbox": "1.4.0",
14
14
  "prop-types": "^15.7.2"
15
15
  },
16
16
  "author": "pie framework developers",
17
17
  "license": "ISC",
18
- "gitHead": "2eabcbd036e318bb24552f4140ca7384ad865951",
18
+ "gitHead": "84f517e360d8415650bb7f0aec1be8cf8660c8f9",
19
19
  "scripts": {
20
20
  "postpublish": "../../scripts/postpublish"
21
21
  },