@pie-element/rubric 3.3.1-next.42 → 3.3.1-next.45

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.
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = {
8
+ model: {
9
+ points: ['', '', '', ''],
10
+ sampleAnswers: [null, null, null, null],
11
+ maxPoints: 3,
12
+ excludeZero: false,
13
+ excludeZeroEnabled: true,
14
+ maxPointsEnabled: true
15
+ },
16
+ configuration: {
17
+ showExcludeZero: {
18
+ settings: true,
19
+ label: 'Ability to exclude zero'
20
+ },
21
+ showMaxPoint: {
22
+ settings: true,
23
+ label: 'Show max points dropdown'
24
+ },
25
+ settingsPanelDisabled: false,
26
+ // width: '500px'
27
+ mathMlOptions: {
28
+ mmlOutput: false,
29
+ mmlEditing: false
30
+ },
31
+ maxMaxPoints: 9
32
+ }
33
+ };
34
+ exports["default"] = _default;
35
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","points","sampleAnswers","maxPoints","excludeZero","excludeZeroEnabled","maxPointsEnabled","configuration","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,eAAe,EAAE;AACfC,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KADJ;AAKbC,IAAAA,YAAY,EAAE;AACZF,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,KAAK,EAAE;AAFK,KALD;AASbE,IAAAA,qBAAqB,EAAE,KATV;AAUb;AACAC,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC,KAXF;AAebC,IAAAA,YAAY,EAAE;AAfD;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 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"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
27
+
28
+ var _react = _interopRequireDefault(require("react"));
29
+
30
+ var _reactDom = _interopRequireDefault(require("react-dom"));
31
+
32
+ var _debug = _interopRequireDefault(require("debug"));
33
+
34
+ var _main = _interopRequireDefault(require("./main"));
35
+
36
+ var _defaults = _interopRequireDefault(require("./defaults"));
37
+
38
+ 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); }; }
39
+
40
+ 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; } }
41
+
42
+ 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; }
43
+
44
+ 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; }
45
+
46
+ var modelWithDefaults = function modelWithDefaults(m) {
47
+ return _objectSpread(_objectSpread({}, _defaults["default"].model), m);
48
+ };
49
+
50
+ var configurationWithDefaults = function configurationWithDefaults(c) {
51
+ return _objectSpread(_objectSpread({}, _defaults["default"].configuration), c);
52
+ };
53
+
54
+ var RubricElement = /*#__PURE__*/function (_HTMLElement) {
55
+ (0, _inherits2["default"])(RubricElement, _HTMLElement);
56
+
57
+ var _super = _createSuper(RubricElement);
58
+
59
+ function RubricElement() {
60
+ var _this;
61
+
62
+ (0, _classCallCheck2["default"])(this, RubricElement);
63
+ _this = _super.call(this);
64
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigurationChanged", function (c) {
65
+ _this._configuration = configurationWithDefaults(c);
66
+
67
+ if (_this._model) {
68
+ _this.onModelChanged(_this._model);
69
+ }
70
+
71
+ _this._render();
72
+ });
73
+
74
+ _debug["default"].log('constructor called');
75
+
76
+ _this._model = modelWithDefaults();
77
+ _this._configuration = configurationWithDefaults();
78
+ _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
79
+ _this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
80
+ return _this;
81
+ }
82
+
83
+ (0, _createClass2["default"])(RubricElement, [{
84
+ key: "model",
85
+ set: function set(m) {
86
+ this._model = modelWithDefaults(m);
87
+
88
+ this._render();
89
+ }
90
+ }, {
91
+ key: "configuration",
92
+ set: function set(c) {
93
+ this._configuration = configurationWithDefaults(c);
94
+
95
+ this._render();
96
+ }
97
+ }, {
98
+ key: "onModelChanged",
99
+ value: function onModelChanged(m) {
100
+ this._model = m;
101
+
102
+ this._render();
103
+
104
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, false));
105
+ }
106
+ }, {
107
+ key: "connectedCallback",
108
+ value: function connectedCallback() {
109
+ this._render();
110
+ }
111
+ }, {
112
+ key: "_render",
113
+ value: function _render() {
114
+ if (this._model) {
115
+ var element = /*#__PURE__*/_react["default"].createElement(_main["default"], {
116
+ model: this._model,
117
+ configuration: this._configuration,
118
+ onModelChanged: this.onModelChanged,
119
+ onConfigurationChanged: this.onConfigurationChanged
120
+ });
121
+
122
+ _reactDom["default"].render(element, this);
123
+ }
124
+ }
125
+ }]);
126
+ return RubricElement;
127
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
128
+
129
+ exports["default"] = RubricElement;
130
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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;;;;;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"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
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
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _rubric = require("@pie-lib/pie-toolbox/rubric");
29
+
30
+ var _styles = require("@material-ui/core/styles");
31
+
32
+ var _configUi = require("@pie-lib/pie-toolbox/config-ui");
33
+
34
+ var _excluded = ["points", "sampleAnswers"];
35
+
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); }; }
37
+
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; } }
39
+
40
+ var Panel = _configUi.settings.Panel,
41
+ toggle = _configUi.settings.toggle;
42
+
43
+ var styles = function styles(theme) {
44
+ return {
45
+ design: {
46
+ fontFamily: 'Cerebri Sans',
47
+ fontSize: theme.typography.fontSize
48
+ }
49
+ };
50
+ };
51
+
52
+ var Main = /*#__PURE__*/function (_React$Component) {
53
+ (0, _inherits2["default"])(Main, _React$Component);
54
+
55
+ var _super = _createSuper(Main);
56
+
57
+ function Main() {
58
+ var _this;
59
+
60
+ (0, _classCallCheck2["default"])(this, Main);
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;
80
+ }
81
+
82
+ (0, _createClass2["default"])(Main, [{
83
+ key: "render",
84
+ value: function render() {
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);
108
+ var panelProperties = {
109
+ excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),
110
+ maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),
111
+ rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label)
112
+ };
113
+ return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
114
+ dimensions: contentDimensions,
115
+ hideSettings: settingsPanelDisabled,
116
+ settings: /*#__PURE__*/_react["default"].createElement(Panel, {
117
+ model: model,
118
+ onChangeModel: onModelChanged,
119
+ configuration: configuration,
120
+ onChangeConfiguration: onConfigurationChanged,
121
+ groups: {
122
+ Properties: panelProperties
123
+ }
124
+ })
125
+ }, /*#__PURE__*/_react["default"].createElement("div", {
126
+ style: {
127
+ maxWidth: width
128
+ }
129
+ }, /*#__PURE__*/_react["default"].createElement(_rubric.Authoring, {
130
+ value: value,
131
+ config: configuration,
132
+ onChange: onModelChanged,
133
+ mathMlOptions: mathMlOptions,
134
+ rubricless: rubricless
135
+ })));
136
+ }
137
+ }]);
138
+ return Main;
139
+ }(_react["default"].Component);
140
+
141
+ var _default = (0, _styles.withStyles)(styles)(Main);
142
+
143
+ exports["default"] = _default;
144
+ //# sourceMappingURL=main.js.map
@@ -0,0 +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","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.8.3-next.17",
11
+ "@pie-lib/pie-toolbox": "1.8.1",
12
12
  "debug": "^4.1.1",
13
13
  "react": "^16.8.6",
14
14
  "react-dom": "^16.8.6"
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.model = model;
7
+ exports.validate = validate;
8
+
9
+ function model(model, session, env) {
10
+ return new Promise(function (resolve) {
11
+ var modelResult = !model ? {} : model;
12
+ resolve(env && env.role && env.role === 'instructor' ? modelResult : {});
13
+ });
14
+ }
15
+
16
+ function markupToText(s) {
17
+ return (s || '').replace(/(<([^>]+)>)/ig, '');
18
+ } // IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.
19
+
20
+
21
+ function validate(model, config) {
22
+ var points = model.points,
23
+ excludeZero = model.excludeZero;
24
+ var errors = {};
25
+ var pointsDescriptorsErrors = {};
26
+ (points || []).forEach(function (point, index) {
27
+ if (index === 0 && excludeZero) {
28
+ // if excludeZero is true, the 0 point is not displayed, so it should not be validated
29
+ return;
30
+ }
31
+
32
+ if (!point || point === '<div></div>') {
33
+ pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';
34
+ } else {
35
+ var identicalPointDescr = points.slice(index + 1).some(function (p) {
36
+ return markupToText(p) === markupToText(point);
37
+ });
38
+
39
+ if (identicalPointDescr) {
40
+ pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';
41
+ }
42
+ }
43
+ });
44
+
45
+ if (Object.keys(pointsDescriptorsErrors).length > 0) {
46
+ errors.pointsDescriptorsErrors = pointsDescriptorsErrors;
47
+ }
48
+
49
+ return errors;
50
+ }
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["model","session","env","Promise","resolve","modelResult","role","markupToText","s","replace","validate","config","points","excludeZero","errors","pointsDescriptorsErrors","forEach","point","index","identicalPointDescr","slice","some","p","Object","keys","length"],"mappings":";;;;;;;;AAAO,SAASA,KAAT,CAAeA,KAAf,EAAsBC,OAAtB,EAA+BC,GAA/B,EAAoC;AACzC,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAMC,WAAW,GAAG,CAACL,KAAD,GAAS,EAAT,GAAcA,KAAlC;AACAI,IAAAA,OAAO,CAACF,GAAG,IAAIA,GAAG,CAACI,IAAX,IAAmBJ,GAAG,CAACI,IAAJ,KAAa,YAAhC,GAA+CD,WAA/C,GAA6D,EAA9D,CAAP;AACD,GAHM,CAAP;AAID;;AAGD,SAASE,YAAT,CAAsBC,CAAtB,EAAyB;AACvB,SAAO,CAACA,CAAC,IAAI,EAAN,EAAUC,OAAV,CAAkB,eAAlB,EAAmC,EAAnC,CAAP;AACD,C,CAGD;;;AACO,SAASC,QAAT,CAAkBV,KAAlB,EAAyBW,MAAzB,EAAiC;AACtC,MAAQC,MAAR,GAAgCZ,KAAhC,CAAQY,MAAR;AAAA,MAAgBC,WAAhB,GAAgCb,KAAhC,CAAgBa,WAAhB;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,uBAAuB,GAAG,EAAhC;AAEA,GAACH,MAAM,IAAI,EAAX,EAAeI,OAAf,CAAuB,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACvC,QAAIA,KAAK,KAAK,CAAV,IAAeL,WAAnB,EAAgC;AAC9B;AACA;AACD;;AAED,QAAI,CAACI,KAAD,IAAUA,KAAK,KAAK,aAAxB,EAAuC;AACrCF,MAAAA,uBAAuB,CAACG,KAAD,CAAvB,GAAiC,qCAAjC;AACD,KAFD,MAEO;AACL,UAAMC,mBAAmB,GAAGP,MAAM,CAACQ,KAAP,CAAaF,KAAK,GAAG,CAArB,EAAwBG,IAAxB,CAA6B,UAAAC,CAAC;AAAA,eAAIf,YAAY,CAACe,CAAD,CAAZ,KAAoBf,YAAY,CAACU,KAAD,CAApC;AAAA,OAA9B,CAA5B;;AAEA,UAAIE,mBAAJ,EAAyB;AACvBJ,QAAAA,uBAAuB,CAACG,KAAD,CAAvB,GAAiC,sCAAjC;AACD;AACF;AACF,GAfD;;AAiBA,MAAIK,MAAM,CAACC,IAAP,CAAYT,uBAAZ,EAAqCU,MAArC,GAA8C,CAAlD,EAAqD;AACnDX,IAAAA,MAAM,CAACC,uBAAP,GAAiCA,uBAAjC;AACD;;AAED,SAAOD,MAAP;AACD","sourcesContent":["export function model(model, session, env) {\n return new Promise((resolve) => {\n const modelResult = !model ? {} : model;\n resolve(env && env.role && env.role === 'instructor' ? modelResult : {});\n });\n}\n\n\nfunction markupToText(s) {\n return (s || '').replace(/(<([^>]+)>)/ig, '');\n}\n\n\n// IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.\nexport function validate(model, config) {\n const { points, excludeZero } = model;\n const errors = {};\n const pointsDescriptorsErrors = {};\n\n (points || []).forEach((point, index) => {\n if (index === 0 && excludeZero) {\n // if excludeZero is true, the 0 point is not displayed, so it should not be validated\n return;\n }\n\n if (!point || point === '<div></div>') {\n pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';\n } else {\n const identicalPointDescr = points.slice(index + 1).some(p => markupToText(p) === markupToText(point));\n\n if (identicalPointDescr) {\n pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';\n }\n }\n });\n\n if (Object.keys(pointsDescriptorsErrors).length > 0) {\n errors.pointsDescriptorsErrors = pointsDescriptorsErrors;\n }\n\n return errors;\n}\n"],"file":"index.js"}
@@ -7,7 +7,7 @@
7
7
  "test": "./node_modules/.bin/jest"
8
8
  },
9
9
  "dependencies": {
10
- "@pie-lib/pie-toolbox": "1.8.3-next.17",
10
+ "@pie-lib/pie-toolbox": "1.8.1",
11
11
  "lodash": "^4.17.15"
12
12
  }
13
13
  }
package/lib/index.js ADDED
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
+
24
+ var _main = _interopRequireDefault(require("./main"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _reactDom = _interopRequireDefault(require("react-dom"));
29
+
30
+ var _debug = _interopRequireDefault(require("debug"));
31
+
32
+ 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); }; }
33
+
34
+ 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; } }
35
+
36
+ var RubricRender = /*#__PURE__*/function (_HTMLElement) {
37
+ (0, _inherits2["default"])(RubricRender, _HTMLElement);
38
+
39
+ var _super = _createSuper(RubricRender);
40
+
41
+ function RubricRender() {
42
+ var _this;
43
+
44
+ (0, _classCallCheck2["default"])(this, RubricRender);
45
+ _this = _super.call(this);
46
+
47
+ _debug["default"].log('constructor called');
48
+
49
+ _this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
50
+ return _this;
51
+ }
52
+
53
+ (0, _createClass2["default"])(RubricRender, [{
54
+ key: "model",
55
+ set: function set(s) {
56
+ this._model = s;
57
+
58
+ this._render();
59
+ }
60
+ }, {
61
+ key: "onModelChanged",
62
+ value: function onModelChanged(m) {
63
+ this._model = m;
64
+
65
+ this._render();
66
+ }
67
+ }, {
68
+ key: "connectedCallback",
69
+ value: function connectedCallback() {
70
+ this._render();
71
+ }
72
+ }, {
73
+ key: "_render",
74
+ value: function _render() {
75
+ if (this._model) {
76
+ var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
77
+ value: this._model
78
+ });
79
+
80
+ _reactDom["default"].render(el, this);
81
+ }
82
+ }
83
+ }]);
84
+ return RubricRender;
85
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
86
+
87
+ exports["default"] = RubricRender;
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["RubricRender","debug","log","onModelChanged","bind","s","_model","_render","m","el","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;;AACAC,sBAAMC,GAAN,CAAU,oBAAV;;AACA,UAAKC,cAAL,GAAsB,MAAKA,cAAL,CAAoBC,IAApB,gDAAtB;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;WAED,wBAAeC,CAAf,EAAkB;AAChB,WAAKF,MAAL,GAAcE,CAAd;;AACA,WAAKD,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AACR,UAAI,KAAKD,MAAT,EAAiB;AACf,YAAMG,EAAE,gBAAG,gCAAC,gBAAD;AAAQ,UAAA,KAAK,EAAE,KAAKH;AAApB,UAAX;;AAEAI,6BAASC,MAAT,CAAgBF,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDA3BuCG,W","sourcesContent":["import Rubric from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\n\nexport default class RubricRender extends HTMLElement {\n constructor() {\n super();\n debug.log('constructor called');\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = s;\n this._render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model) {\n const el = <Rubric value={this._model} />;\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}