@pie-element/matrix 0.1.19 → 0.1.20-beta.1443

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 (39) hide show
  1. package/CHANGELOG.md +302 -0
  2. package/configure/CHANGELOG.md +285 -0
  3. package/configure/lib/HeaderCommon.js +1 -1
  4. package/configure/lib/Main.js +24 -12
  5. package/configure/lib/Main.js.map +1 -1
  6. package/configure/lib/MatrixColumnsSizeHeaderInput.js +2 -2
  7. package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -1
  8. package/configure/lib/MatrixLabelEditableButton.js +5 -3
  9. package/configure/lib/MatrixLabelEditableButton.js.map +1 -1
  10. package/configure/lib/MatrixLabelTypeHeaderInput.js +2 -2
  11. package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -1
  12. package/configure/lib/MatrixRowsSizeHeaderInput.js +2 -2
  13. package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -1
  14. package/configure/lib/MatrixValues.js +9 -6
  15. package/configure/lib/MatrixValues.js.map +1 -1
  16. package/configure/lib/NumberInput.js +1 -1
  17. package/configure/lib/NumberInput.js.map +1 -1
  18. package/configure/lib/defaults.js +11 -5
  19. package/configure/lib/defaults.js.map +1 -1
  20. package/configure/lib/index.js +17 -3
  21. package/configure/lib/index.js.map +1 -1
  22. package/configure/package.json +4 -4
  23. package/controller/CHANGELOG.md +8 -0
  24. package/controller/lib/defaults.js +1 -1
  25. package/controller/lib/defaults.js.map +1 -1
  26. package/controller/lib/index.js +3 -3
  27. package/controller/lib/index.js.map +1 -1
  28. package/controller/package.json +1 -1
  29. package/docs/config-schema.json +21 -0
  30. package/docs/config-schema.json.md +16 -0
  31. package/docs/demo/config.js +2 -2
  32. package/docs/demo/generate.js +2 -2
  33. package/docs/demo/session.js +2 -2
  34. package/lib/ChoiceInput.js.map +1 -1
  35. package/lib/Main.js.map +1 -1
  36. package/lib/Matrix.js.map +1 -1
  37. package/lib/index.js +4 -1
  38. package/lib/index.js.map +1 -1
  39. package/package.json +4 -4
@@ -37,9 +37,9 @@ var _defaults = _interopRequireDefault(require("lodash/defaults"));
37
37
 
38
38
  var _defaults2 = _interopRequireDefault(require("./defaults"));
39
39
 
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
40
+ 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; }
41
41
 
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ 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; }
43
43
 
44
44
  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); }; }
45
45
 
@@ -121,6 +121,16 @@ var Matrix = /*#__PURE__*/function (_HTMLElement) {
121
121
 
122
122
  this._render();
123
123
  }
124
+ }, {
125
+ key: "insertSound",
126
+ value: function insertSound(handler) {
127
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
128
+ }
129
+ }, {
130
+ key: "onDeleteSound",
131
+ value: function onDeleteSound(src, done) {
132
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
133
+ }
124
134
  }, {
125
135
  key: "_render",
126
136
  value: function _render() {
@@ -131,7 +141,11 @@ var Matrix = /*#__PURE__*/function (_HTMLElement) {
131
141
  configuration: this._configuration,
132
142
  onModelChanged: this.onModelChanged,
133
143
  onConfigurationChanged: this.onConfigurationChanged,
134
- disableSidePanel: this._disableSidePanel
144
+ disableSidePanel: this._disableSidePanel,
145
+ uploadSoundSupport: {
146
+ add: this.insertSound.bind(this),
147
+ "delete": this.onDeleteSound.bind(this)
148
+ }
135
149
  });
136
150
 
137
151
  _reactDom["default"].render(element, this);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","prepareCustomizationObject","config","model","configuration","sensibleDefaults","Matrix","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","element","React","createElement","Main","disableSidePanel","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,kBAAN,CAAZ;;AAEA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,MAAD,EAASC,KAAT,EAAmB;AACpD,MAAMC,aAAa,GAAG,0BAASF,MAAT,EAAiBG,sBAAiBD,aAAlC,CAAtB;AAEA,SAAO;AACLA,IAAAA,aAAa,EAAbA,aADK;AAELD,IAAAA,KAAK,EAALA;AAFK,GAAP;AAID,CAPD;;IASqBG,M;;;;;AAMnB,oBAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,MAAM,CAACE,kBAAP,EAAd;AACA,UAAKC,cAAL,GAAsBJ,sBAAiBD,aAAvC;AACA,UAAKM,cAAL,GAAsB,MAAKA,cAAL,CAAoBC,IAApB,gDAAtB;AACA,UAAKC,sBAAL,GAA8B,MAAKA,sBAAL,CAA4BD,IAA5B,gDAA9B;AALY;AAMb;;;;SAED,aAAUE,CAAV,EAAa;AACX,WAAKN,MAAL,GAAcD,MAAM,CAACE,kBAAP,CAA0BK,CAA1B,CAAd;;AACA,WAAKC,OAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,UAAMC,IAAI,GAAGf,0BAA0B,CAACc,CAAD,EAAI,KAAKR,MAAT,CAAvC;AAEA,WAAKG,cAAL,CAAoBM,IAAI,CAACb,KAAzB;AACA,WAAKM,cAAL,GAAsBO,IAAI,CAACZ,aAA3B;;AACA,WAAKU,OAAL;AACD;;;SAED,aAAqBD,CAArB,EAAwB;AACtB,WAAKI,iBAAL,GAAyBJ,CAAzB;;AACA,WAAKC,OAAL;AACD;;;WAED,8BAAqBI,KAArB,EAA4B;AAC1B,UAAMC,UAAU,GAAG,CAAC,CAACD,KAArB;AAEA,WAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKd,MAA3B,EAAmCY,UAAnC,CAAnB;AACD;;;WAED,wBAAeG,CAAf,EAAkBJ,KAAlB,EAAyB;AACvB,WAAKX,MAAL,GAAce,CAAd;;AACA,WAAKR,OAAL;;AACA,WAAKS,oBAAL,CAA0BL,KAA1B;AACD;;;WAED,gCAAuBH,CAAvB,EAA0B;AACxB,WAAKN,cAAL,GAAsBR,0BAA0B,CAACc,CAAD,EAAI,KAAKR,MAAT,CAA1B,CAA2CH,aAAjE;;AAEA,UAAI,KAAKG,MAAT,EAAiB;AACf,aAAKG,cAAL,CAAoB,KAAKH,MAAzB;AACD;;AAED,WAAKO,OAAL;AACD;;;WAED,mBAAU;AACRd,MAAAA,GAAG,CAAC,SAAD,CAAH;;AACA,UAAIwB,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtCxB,QAAAA,KAAK,EAAE,KAAKI,MAD0B;AAEtCH,QAAAA,aAAa,EAAE,KAAKK,cAFkB;AAGtCC,QAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCE,QAAAA,sBAAsB,EAAE,KAAKA,sBAJS;AAKtCgB,QAAAA,gBAAgB,EAAE,KAAKX;AALe,OAA1B,CAAd;;AAOAY,2BAASC,MAAT,CAAgBN,OAAhB,EAAyB,IAAzB;AACD;;;kDAhEiCO,W;;;iCAAfzB,M,wBACS;AAAA,MAACH,KAAD,uEAAS,EAAT;AAAA,yCACvBE,sBAAiBF,KADM,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport {ModelUpdatedEvent} from '@pie-framework/pie-configure-events';\n\nimport Main from './Main';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('matrix:configure');\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model\n };\n};\n\nexport default class Matrix extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model\n });\n\n constructor() {\n super();\n this._model = Matrix.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = Matrix.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel\n });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","prepareCustomizationObject","config","model","configuration","sensibleDefaults","Matrix","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","uploadSoundSupport","add","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\n\nimport Main from './Main';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('matrix:configure');\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model,\n };\n};\n\nexport default class Matrix extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = Matrix.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = Matrix.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@pie-element/matrix-configure",
3
3
  "private": true,
4
- "version": "0.1.14",
4
+ "version": "0.5.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
- "@pie-framework/pie-configure-events": "^1.2.0",
12
- "@pie-lib/config-ui": "^10.10.16",
13
- "@pie-lib/editable-html": "^7.17.16",
11
+ "@pie-framework/pie-configure-events": "^1.3.0",
12
+ "@pie-lib/config-ui": "12.0.0-beta.2",
13
+ "@pie-lib/editable-html": "10.0.0-beta.2",
14
14
  "debug": "^4.1.1",
15
15
  "prop-types": "^15.6.2",
16
16
  "react": "^16.8.1",
@@ -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
+ ## [0.0.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix-controller@0.0.12...@pie-element/matrix-controller@0.0.13) (2022-12-07)
7
+
8
+ **Note:** Version bump only for package @pie-element/matrix-controller
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.0.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix-controller@0.0.7...@pie-element/matrix-controller@0.0.9) (2021-11-11)
7
15
 
8
16
  **Note:** Version bump only for package @pie-element/matrix-controller
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _default = {
8
8
  labelType: 'agreement',
9
- rowLabels: ['I\'m interested in politics.', 'I\'m interested in economics.'],
9
+ rowLabels: ["I'm interested in politics.", "I'm interested in economics."],
10
10
  columnLabels: ['Disagree', 'Unsure', 'Agree'],
11
11
  matrixValues: {},
12
12
  prompt: 'How interested are you in the following domains?'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["labelType","rowLabels","columnLabels","matrixValues","prompt"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,+BAAjC,CAFE;AAGbC,EAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAHD;AAIbC,EAAAA,YAAY,EAAE,EAJD;AAKbC,EAAAA,MAAM,EAAE;AALK,C","sourcesContent":["export default {\n labelType: 'agreement',\n rowLabels: ['I\\'m interested in politics.', 'I\\'m interested in economics.'],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?'\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["labelType","rowLabels","columnLabels","matrixValues","prompt"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,CAAC,6BAAD,EAAgC,8BAAhC,CAFE;AAGbC,EAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAHD;AAIbC,EAAAA,YAAY,EAAE,EAJD;AAKbC,EAAAA,MAAM,EAAE;AALK,C","sourcesContent":["export default {\n labelType: 'agreement',\n rowLabels: [\"I'm interested in politics.\", \"I'm interested in economics.\"],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?',\n};\n"],"file":"defaults.js"}
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.createDefaultModel = exports.createCorrectResponseSession = void 0;
8
9
  exports.model = model;
9
10
  exports.outcome = outcome;
10
- exports.createCorrectResponseSession = exports.createDefaultModel = void 0;
11
11
 
12
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
13
 
@@ -19,9 +19,9 @@ var _defaults = _interopRequireDefault(require("./defaults"));
19
19
 
20
20
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+ 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; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ 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; }
25
25
 
26
26
  var createDefaultModel = function createDefaultModel() {
27
27
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty","Object","keys","value","reduce","acc","key","matrixValue","matrixValues","createCorrectResponseSession","id"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAACC,KAAD,uEAAS,EAAT;AAAA,SAAgB,IAAIC,OAAJ,CAAY,UAAAC,OAAO;AAAA,WAAIA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAAX;AAAA,GAAnB,CAAhB;AAAA,CAA3B;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBA,K;;;;;yFAAf,iBAAqBI,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,mCAC2BJ,oBAD3B,GACwCC,QADxC;AAGCI,YAAAA,GAHD,mCAIAD,kBAJA;AAKHE,cAAAA,QAAQ,EAAEH,GAAG,CAACI,IAAJ,KAAa,QALpB;AAMHA,cAAAA,IAAI,EAAEJ,GAAG,CAACI;AANP;AAAA,oBASkBJ,GAAG,IAAI,EATzB,EASGK,IATH,SASGA,IATH,EASSD,IATT,SASSA,IATT;;AAWL,gBAAIC,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrEF,cAAAA,GAAG,CAACI,mBAAJ,GAA0BL,kBAAkB,CAACM,0BAAnB,GACtBN,kBAAkB,CAACK,mBADG,GAEtB,IAFJ;AAGD,aAJD,MAIO;AACLJ,cAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AAjBI,6CAmBEJ,GAnBF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAsBA,SAASM,OAAT,CAAiBd,KAAjB,EAAwBK,OAAxB,EAAiC;AACtC,SAAO,IAAIJ,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B,QAAI,CAACG,OAAD,IAAY,yBAAQA,OAAR,CAAhB,EAAkC;AAChC,aAAOH,OAAO,CAAC;AAAEa,QAAAA,KAAK,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAD,CAAd;AACD;;AAED,QAAMD,KAAK,GAAGE,MAAM,CAACC,IAAP,CAAYb,OAAO,CAACc,KAApB,EAA2BC,MAA3B,CAAkC,UAACC,GAAD,EAAMC,GAAN,EAAa;AAC3D,UAAMC,WAAW,GAAGvB,KAAK,CAACwB,YAAN,CAAmBF,GAAnB,CAApB;AACA,aAAOD,GAAG,IAAIE,WAAW,IAAI,CAAnB,CAAV;AACD,KAHa,EAGX,CAHW,CAAd;AAKArB,IAAAA,OAAO,CAAC;AAAEa,MAAAA,KAAK,EAALA,KAAF;AAASC,MAAAA,KAAK,EAAE;AAAhB,KAAD,CAAP;AACD,GAXM,CAAP;AAYD;;AAEM,IAAMS,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACrB,QAAD,EAAWE,GAAX,EAAmB;AAC7D,SAAO,IAAIL,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B,QAAII,GAAG,CAACI,IAAJ,KAAa,UAAb,IAA2BJ,GAAG,CAACK,IAAJ,KAAa,YAA5C,EAA0D;AACxD,iBAAyBP,QAAQ,IAAI,EAArC;AAAA,UAAQoB,YAAR,QAAQA,YAAR;;AAEAtB,MAAAA,OAAO,CAAC;AACNwB,QAAAA,EAAE,EAAE,GADE;AAENP,QAAAA,KAAK,EAAEK;AAFD,OAAD,CAAP;AAID,KAPD,MAOO;AACLtB,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GAXM,CAAP;AAYD,CAbM","sourcesContent":["import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise(resolve => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\n disabled: env.mode !== 'gather',\n mode: env.mode\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome(model, session) {\n return new Promise(resolve => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key)=> {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise(resolve => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty","Object","keys","value","reduce","acc","key","matrixValue","matrixValues","createCorrectResponseSession","id"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAACC,KAAD,uEAAS,EAAT;AAAA,SAAgB,IAAIC,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAApB;AAAA,GAAZ,CAAhB;AAAA,CAA3B;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBA,K;;;;;yFAAf,iBAAqBI,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,mCAC2BJ,oBAD3B,GACwCC,QADxC;AAGCI,YAAAA,GAHD,mCAIAD,kBAJA;AAKHE,cAAAA,QAAQ,EAAEH,GAAG,CAACI,IAAJ,KAAa,QALpB;AAMHA,cAAAA,IAAI,EAAEJ,GAAG,CAACI;AANP;AAAA,oBASkBJ,GAAG,IAAI,EATzB,EASGK,IATH,SASGA,IATH,EASSD,IATT,SASSA,IATT;;AAWL,gBAAIC,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrEF,cAAAA,GAAG,CAACI,mBAAJ,GAA0BL,kBAAkB,CAACM,0BAAnB,GACtBN,kBAAkB,CAACK,mBADG,GAEtB,IAFJ;AAGD,aAJD,MAIO;AACLJ,cAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AAjBI,6CAmBEJ,GAnBF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAsBA,SAASM,OAAT,CAAiBd,KAAjB,EAAwBK,OAAxB,EAAiC;AACtC,SAAO,IAAIJ,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAI,CAACG,OAAD,IAAY,yBAAQA,OAAR,CAAhB,EAAkC;AAChC,aAAOH,OAAO,CAAC;AAAEa,QAAAA,KAAK,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAD,CAAd;AACD;;AAED,QAAMD,KAAK,GAAGE,MAAM,CAACC,IAAP,CAAYb,OAAO,CAACc,KAApB,EAA2BC,MAA3B,CAAkC,UAACC,GAAD,EAAMC,GAAN,EAAc;AAC5D,UAAMC,WAAW,GAAGvB,KAAK,CAACwB,YAAN,CAAmBF,GAAnB,CAApB;AACA,aAAOD,GAAG,IAAIE,WAAW,IAAI,CAAnB,CAAV;AACD,KAHa,EAGX,CAHW,CAAd;AAKArB,IAAAA,OAAO,CAAC;AAAEa,MAAAA,KAAK,EAALA,KAAF;AAASC,MAAAA,KAAK,EAAE;AAAhB,KAAD,CAAP;AACD,GAXM,CAAP;AAYD;;AAEM,IAAMS,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACrB,QAAD,EAAWE,GAAX,EAAmB;AAC7D,SAAO,IAAIL,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAII,GAAG,CAACI,IAAJ,KAAa,UAAb,IAA2BJ,GAAG,CAACK,IAAJ,KAAa,YAA5C,EAA0D;AACxD,iBAAyBP,QAAQ,IAAI,EAArC;AAAA,UAAQoB,YAAR,QAAQA,YAAR;;AAEAtB,MAAAA,OAAO,CAAC;AACNwB,QAAAA,EAAE,EAAE,GADE;AAENP,QAAAA,KAAK,EAAEK;AAFD,OAAD,CAAP;AAID,KAPD,MAOO;AACLtB,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GAXM,CAAP;AAYD,CAbM","sourcesContent":["import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise((resolve) => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome(model, session) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key) => {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues,\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/matrix-controller",
3
3
  "private": true,
4
- "version": "0.0.12",
4
+ "version": "0.0.13",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -3,6 +3,27 @@
3
3
  "additionalProperties": false,
4
4
  "type": "object",
5
5
  "properties": {
6
+ "settingsPanelDisabled": {
7
+ "description": "Indicates if the settings panel is not available",
8
+ "type": "boolean",
9
+ "title": "settingsPanelDisabled"
10
+ },
11
+ "spellCheck": {
12
+ "title": "ConfigureProp",
13
+ "type": "object",
14
+ "properties": {
15
+ "settings": {
16
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
17
+ "type": "boolean",
18
+ "title": "settings"
19
+ },
20
+ "label": {
21
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
22
+ "type": "string",
23
+ "title": "label"
24
+ }
25
+ }
26
+ },
6
27
  "teacherInstructions": {
7
28
  "title": "ConfigureProp",
8
29
  "type": "object",
@@ -2,6 +2,22 @@ Config Object for @pie-elements/matrix
2
2
 
3
3
  The schema defines the following properties:
4
4
 
5
+ # `settingsPanelDisabled` (boolean)
6
+
7
+ Indicates if the settings panel is not available
8
+
9
+ # `spellCheck` (object)
10
+
11
+ Properties of the `spellCheck` object:
12
+
13
+ ## `settings` (boolean)
14
+
15
+ Indicates if the item has to be displayed in the Settings Panel
16
+
17
+ ## `label` (string)
18
+
19
+ Indicates the label for the item that has to be displayed in the Settings Panel
20
+
5
21
  # `teacherInstructions` (object)
6
22
 
7
23
  Properties of the `teacherInstructions` object:
@@ -2,7 +2,7 @@ const { model } = require('./generate');
2
2
 
3
3
  module.exports = {
4
4
  elements: {
5
- 'matrix-element': '../..'
5
+ 'matrix-element': '../..',
6
6
  },
7
- models: [model('1', 'matrix-element')]
7
+ models: [model('1', 'matrix-element')],
8
8
  };
@@ -2,8 +2,8 @@ exports.model = (id, element) => ({
2
2
  id,
3
3
  element,
4
4
  labelType: 'agreement',
5
- rowLabels: ['I\'m interested in politics.', 'I\'m interested in economics.'],
5
+ rowLabels: ["I'm interested in politics.", "I'm interested in economics."],
6
6
  columnLabels: ['Disagree', 'Unsure', 'Agree'],
7
7
  matrixValues: {},
8
- prompt: 'How interested are you in the following domains?'
8
+ prompt: 'How interested are you in the following domains?',
9
9
  });
@@ -1,6 +1,6 @@
1
1
  module.exports = [
2
2
  {
3
3
  id: '1',
4
- element: 'matrix-element'
5
- }
4
+ element: 'matrix-element',
5
+ },
6
6
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ChoiceInput.jsx"],"names":["radioStyles","root","color","text","checked","ChoiceInput","props","disabled","matrixKey","matrixValue","classes","onChange","onChangeWrapper","propTypes","PropTypes","bool","isRequired","number","string","object","func","defaultProps"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,WAAW,GAAG;AAClBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,sCAA+BA,gBAAMC,IAAN,EAA/B;AADD,GADY;AAIlBC,EAAAA,OAAO,EAAE;AACPF,IAAAA,KAAK,+CAAwCA,gBAAMC,IAAN,EAAxC;AADE;AAJS,CAApB;AASA,IAAME,WAAW,GAAG,wBAAWL,WAAX,EAAwB,UAACM,KAAD,EAAW;AACrD,MAAOC,QAAP,GAAuED,KAAvE,CAAOC,QAAP;AAAA,MAAiBH,OAAjB,GAAuEE,KAAvE,CAAiBF,OAAjB;AAAA,MAA0BI,SAA1B,GAAuEF,KAAvE,CAA0BE,SAA1B;AAAA,MAAqCC,WAArC,GAAuEH,KAAvE,CAAqCG,WAArC;AAAA,MAAkDC,OAAlD,GAAuEJ,KAAvE,CAAkDI,OAAlD;AAAA,MAA2DC,QAA3D,GAAuEL,KAAvE,CAA2DK,QAA3D;;AAEA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAIL,QAAJ,EAAc;AACZ;AACD;;AACDI,IAAAA,QAAQ,CAAC;AACPF,MAAAA,WAAW,EAAXA,WADO;AAEPD,MAAAA,SAAS,EAATA;AAFO,KAAD,CAAR;AAID,GARD;;AAUA,sBACE,gCAAC,iBAAD;AACE,IAAA,OAAO,EAAEJ,OADX;AAEE,IAAA,QAAQ,EAAEQ,eAFZ;AAGE,IAAA,QAAQ,EAAEL,QAHZ;AAIE,IAAA,OAAO,EAAE;AACPN,MAAAA,IAAI,EAAES,OAAO,CAACT,IADP;AAEPG,MAAAA,OAAO,EAAEM,OAAO,CAACN;AAFV;AAJX,IADF;AAWD,CAxBmB,CAApB;AA0BAC,WAAW,CAACQ,SAAZ,GAAwB;AACtBT,EAAAA,OAAO,EAAEU,sBAAUC,IAAV,CAAeC,UADF;AAEtBT,EAAAA,QAAQ,EAAEO,sBAAUC,IAAV,CAAeC,UAFH;AAGtBP,EAAAA,WAAW,EAAEK,sBAAUG,MAAV,CAAiBD,UAHR;AAItBR,EAAAA,SAAS,EAAEM,sBAAUI,MAAV,CAAiBF,UAJN;AAKtBN,EAAAA,OAAO,EAAEI,sBAAUK,MALG;AAMtBR,EAAAA,QAAQ,EAAEG,sBAAUM,IAAV,CAAeJ;AANH,CAAxB;AASAX,WAAW,CAACgB,YAAZ,GAA2B;AACzBjB,EAAAA,OAAO,EAAE,KADgB;AAEzBG,EAAAA,QAAQ,EAAE;AAFe,CAA3B;eAKeF,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {withStyles} from '@material-ui/core/styles';\n\nimport {color} from '@pie-lib/render-ui';\nimport Radio from '@material-ui/core/Radio';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`\n }\n};\n\nconst ChoiceInput = withStyles(radioStyles)((props) => {\n const {disabled, checked, matrixKey, matrixValue, classes, onChange} = props;\n\n const onChangeWrapper = () => {\n if (disabled) {\n return;\n }\n onChange({\n matrixValue,\n matrixKey\n });\n };\n\n return (\n <Radio\n checked={checked}\n onChange={onChangeWrapper}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nChoiceInput.propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n matrixValue: PropTypes.number.isRequired,\n matrixKey: PropTypes.string.isRequired,\n classes: PropTypes.object,\n onChange: PropTypes.func.isRequired\n};\n\nChoiceInput.defaultProps = {\n checked: false,\n disabled: false\n};\n\nexport default ChoiceInput;\n"],"file":"ChoiceInput.js"}
1
+ {"version":3,"sources":["../src/ChoiceInput.jsx"],"names":["radioStyles","root","color","text","checked","ChoiceInput","props","disabled","matrixKey","matrixValue","classes","onChange","onChangeWrapper","propTypes","PropTypes","bool","isRequired","number","string","object","func","defaultProps"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,WAAW,GAAG;AAClBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,sCAA+BA,gBAAMC,IAAN,EAA/B;AADD,GADY;AAIlBC,EAAAA,OAAO,EAAE;AACPF,IAAAA,KAAK,+CAAwCA,gBAAMC,IAAN,EAAxC;AADE;AAJS,CAApB;AASA,IAAME,WAAW,GAAG,wBAAWL,WAAX,EAAwB,UAACM,KAAD,EAAW;AACrD,MAAQC,QAAR,GAAyED,KAAzE,CAAQC,QAAR;AAAA,MAAkBH,OAAlB,GAAyEE,KAAzE,CAAkBF,OAAlB;AAAA,MAA2BI,SAA3B,GAAyEF,KAAzE,CAA2BE,SAA3B;AAAA,MAAsCC,WAAtC,GAAyEH,KAAzE,CAAsCG,WAAtC;AAAA,MAAmDC,OAAnD,GAAyEJ,KAAzE,CAAmDI,OAAnD;AAAA,MAA4DC,QAA5D,GAAyEL,KAAzE,CAA4DK,QAA5D;;AAEA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAIL,QAAJ,EAAc;AACZ;AACD;;AACDI,IAAAA,QAAQ,CAAC;AACPF,MAAAA,WAAW,EAAXA,WADO;AAEPD,MAAAA,SAAS,EAATA;AAFO,KAAD,CAAR;AAID,GARD;;AAUA,sBACE,gCAAC,iBAAD;AACE,IAAA,OAAO,EAAEJ,OADX;AAEE,IAAA,QAAQ,EAAEQ,eAFZ;AAGE,IAAA,QAAQ,EAAEL,QAHZ;AAIE,IAAA,OAAO,EAAE;AACPN,MAAAA,IAAI,EAAES,OAAO,CAACT,IADP;AAEPG,MAAAA,OAAO,EAAEM,OAAO,CAACN;AAFV;AAJX,IADF;AAWD,CAxBmB,CAApB;AA0BAC,WAAW,CAACQ,SAAZ,GAAwB;AACtBT,EAAAA,OAAO,EAAEU,sBAAUC,IAAV,CAAeC,UADF;AAEtBT,EAAAA,QAAQ,EAAEO,sBAAUC,IAAV,CAAeC,UAFH;AAGtBP,EAAAA,WAAW,EAAEK,sBAAUG,MAAV,CAAiBD,UAHR;AAItBR,EAAAA,SAAS,EAAEM,sBAAUI,MAAV,CAAiBF,UAJN;AAKtBN,EAAAA,OAAO,EAAEI,sBAAUK,MALG;AAMtBR,EAAAA,QAAQ,EAAEG,sBAAUM,IAAV,CAAeJ;AANH,CAAxB;AASAX,WAAW,CAACgB,YAAZ,GAA2B;AACzBjB,EAAAA,OAAO,EAAE,KADgB;AAEzBG,EAAAA,QAAQ,EAAE;AAFe,CAA3B;eAKeF,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport Radio from '@material-ui/core/Radio';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`,\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`,\n },\n};\n\nconst ChoiceInput = withStyles(radioStyles)((props) => {\n const { disabled, checked, matrixKey, matrixValue, classes, onChange } = props;\n\n const onChangeWrapper = () => {\n if (disabled) {\n return;\n }\n onChange({\n matrixValue,\n matrixKey,\n });\n };\n\n return (\n <Radio\n checked={checked}\n onChange={onChangeWrapper}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nChoiceInput.propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n matrixValue: PropTypes.number.isRequired,\n matrixKey: PropTypes.string.isRequired,\n classes: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n};\n\nChoiceInput.defaultProps = {\n checked: false,\n disabled: false,\n};\n\nexport default ChoiceInput;\n"],"file":"ChoiceInput.js"}
package/lib/Main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Main.jsx"],"names":["Main","props","model","onSessionChange","session","React","Component","PropTypes","object","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEMA,I;;;;;;;;;;;;WAYJ,kBAAS;AACP,wBAA0C,KAAKC,KAA/C;AAAA,UAAOC,KAAP,eAAOA,KAAP;AAAA,UAAcC,eAAd,eAAcA,eAAd;AAAA,UAA+BC,OAA/B,eAA+BA,OAA/B;AACA,0BACE,gCAAC,uBAAD,qBACE,gCAAC,kBAAD,gCACMF,KADN;AAEE,QAAA,OAAO,EAAEE,OAFX;AAGE,QAAA,eAAe,EAAED;AAHnB,SADF,CADF;AASD;;;EAvBgBE,kBAAMC,S;;iCAAnBN,I,eACe;AACjBE,EAAAA,KAAK,EAAEK,sBAAUC,MADA;AAEjBJ,EAAAA,OAAO,EAAEG,sBAAUC,MAFF;AAGjBL,EAAAA,eAAe,EAAEI,sBAAUE;AAHV,C;iCADfT,I,kBAOkB;AACpBE,EAAAA,KAAK,EAAE,EADa;AAEpBE,EAAAA,OAAO,EAAE;AAFW,C;eAmBTJ,I","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {PreviewLayout} from '@pie-lib/render-ui';\nimport Matrix from './Matrix';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const {model, onSessionChange, session} = this.props;\n return (\n <PreviewLayout>\n <Matrix\n {...model}\n session={session}\n onSessionChange={onSessionChange}\n />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"file":"Main.js"}
1
+ {"version":3,"sources":["../src/Main.jsx"],"names":["Main","props","model","onSessionChange","session","React","Component","PropTypes","object","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEMA,I;;;;;;;;;;;;WAYJ,kBAAS;AACP,wBAA4C,KAAKC,KAAjD;AAAA,UAAQC,KAAR,eAAQA,KAAR;AAAA,UAAeC,eAAf,eAAeA,eAAf;AAAA,UAAgCC,OAAhC,eAAgCA,OAAhC;AACA,0BACE,gCAAC,uBAAD,qBACE,gCAAC,kBAAD,gCAAYF,KAAZ;AAAmB,QAAA,OAAO,EAAEE,OAA5B;AAAqC,QAAA,eAAe,EAAED;AAAtD,SADF,CADF;AAKD;;;EAnBgBE,kBAAMC,S;;iCAAnBN,I,eACe;AACjBE,EAAAA,KAAK,EAAEK,sBAAUC,MADA;AAEjBJ,EAAAA,OAAO,EAAEG,sBAAUC,MAFF;AAGjBL,EAAAA,eAAe,EAAEI,sBAAUE;AAHV,C;iCADfT,I,kBAOkB;AACpBE,EAAAA,KAAK,EAAE,EADa;AAEpBE,EAAAA,OAAO,EAAE;AAFW,C;eAeTJ,I","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Matrix from './Matrix';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n return (\n <PreviewLayout>\n <Matrix {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"file":"Main.js"}
package/lib/Matrix.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Matrix.jsx"],"names":["MatrixWrapper","styled","div","MatrixGridWrapper","props","gridTemplateColumns","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","matrixValue","value","hasOwnProperty","push","map","join","hidden","visible","gridMatrixIndex","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport ChoiceInput from './ChoiceInput';\nimport {Collapsible, PreviewPrompt} from '@pie-lib/render-ui';\n\nconst MatrixWrapper = styled.div`\n font-family: Roboto, Arial, Helvetica, sans-serif;\n`;\n\nconst MatrixGridWrapper = styled.div`\n display: grid;\n grid-template-columns: ${props => props.gridTemplateColumns};\n grid-column-gap: 30px;\n grid-row-gap: 20px;\n margin-top: 40px;\n`;\n\n\nconst MatrixGridItem = styled.div`\n align-self: center;\n justify-self: center;\n white-space: nowrap;\n`;\n\nconst Matrix = (props) => {\n const {\n disabled,\n prompt,\n onSessionChange,\n columnLabels,\n matrixValues,\n rowLabels,\n session,\n teacherInstructions\n } = props;\n\n const gridMatrixItems = [];\n\n for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {\n for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {\n let gridMatrixItem;\n if (rowIndex === 0 && columnIndex === 0) {\n gridMatrixItem = null;\n } else if (rowIndex === 0) {\n gridMatrixItem = columnLabels[columnIndex - 1];\n } else if (columnIndex === 0) {\n gridMatrixItem = rowLabels[rowIndex - 1];\n } else {\n const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;\n const matrixValue = matrixValues[matrixKey];\n gridMatrixItem = (<ChoiceInput\n matrixKey={matrixKey}\n matrixValue={matrixValue || 0}\n disabled={disabled}\n onChange={onSessionChange}\n checked={session.value && session.value.hasOwnProperty(matrixKey)}\n />);\n }\n gridMatrixItems.push(gridMatrixItem);\n }\n }\n const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');\n\n return (\n <MatrixWrapper>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n <MatrixGridWrapper gridTemplateColumns={gridTemplateColumns}>\n {gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {\n return (\n <MatrixGridItem key={`${gridMatrixIndex}`}>\n {gridMatrixItem}\n </MatrixGridItem>\n );\n })}\n </MatrixGridWrapper>\n </MatrixWrapper>\n );\n};\n\nMatrix.propTypes = {\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n matrixValues: PropTypes.object,\n rowLabels: PropTypes.arrayOf(PropTypes.string),\n columnLabels: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired\n};\n\nMatrix.defaultProps = {\n session: {\n value: {}\n },\n};\n\nexport default Matrix;\n"],"file":"Matrix.js"}
1
+ {"version":3,"sources":["../src/Matrix.jsx"],"names":["MatrixWrapper","styled","div","MatrixGridWrapper","props","gridTemplateColumns","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","matrixValue","value","hasOwnProperty","push","map","join","hidden","visible","gridMatrixIndex","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport ChoiceInput from './ChoiceInput';\nimport { Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\n\nconst MatrixWrapper = styled.div`\n font-family: Roboto, Arial, Helvetica, sans-serif;\n`;\n\nconst MatrixGridWrapper = styled.div`\n display: grid;\n grid-template-columns: ${(props) => props.gridTemplateColumns};\n grid-column-gap: 30px;\n grid-row-gap: 20px;\n margin-top: 40px;\n`;\n\nconst MatrixGridItem = styled.div`\n align-self: center;\n justify-self: center;\n white-space: nowrap;\n`;\n\nconst Matrix = (props) => {\n const { disabled, prompt, onSessionChange, columnLabels, matrixValues, rowLabels, session, teacherInstructions } =\n props;\n\n const gridMatrixItems = [];\n\n for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {\n for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {\n let gridMatrixItem;\n if (rowIndex === 0 && columnIndex === 0) {\n gridMatrixItem = null;\n } else if (rowIndex === 0) {\n gridMatrixItem = columnLabels[columnIndex - 1];\n } else if (columnIndex === 0) {\n gridMatrixItem = rowLabels[rowIndex - 1];\n } else {\n const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;\n const matrixValue = matrixValues[matrixKey];\n gridMatrixItem = (\n <ChoiceInput\n matrixKey={matrixKey}\n matrixValue={matrixValue || 0}\n disabled={disabled}\n onChange={onSessionChange}\n checked={session.value && session.value.hasOwnProperty(matrixKey)}\n />\n );\n }\n gridMatrixItems.push(gridMatrixItem);\n }\n }\n const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');\n\n return (\n <MatrixWrapper>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n <MatrixGridWrapper gridTemplateColumns={gridTemplateColumns}>\n {gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {\n return <MatrixGridItem key={`${gridMatrixIndex}`}>{gridMatrixItem}</MatrixGridItem>;\n })}\n </MatrixGridWrapper>\n </MatrixWrapper>\n );\n};\n\nMatrix.propTypes = {\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n matrixValues: PropTypes.object,\n rowLabels: PropTypes.arrayOf(PropTypes.string),\n columnLabels: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n};\n\nMatrix.defaultProps = {\n session: {\n value: {},\n },\n};\n\nexport default Matrix;\n"],"file":"Matrix.js"}
package/lib/index.js CHANGED
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = exports.isComplete = void 0;
8
+ exports.isComplete = exports["default"] = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -62,6 +62,9 @@ var Matrix = /*#__PURE__*/function (_HTMLElement) {
62
62
  }
63
63
  }, {
64
64
  key: "session",
65
+ get: function get() {
66
+ return this._session;
67
+ },
65
68
  set: function set(s) {
66
69
  this._session = s;
67
70
 
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["isComplete","session","value","Object","keys","length","Matrix","m","_model","_render","s","_session","matrixKey","matrixValue","matrixRowKey","split","sessionValueClone","reduce","acc","key","startsWith","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","el","React","createElement","Main","model","onSessionChange","sessionChanged","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,OAAO,EAAI;AACnC,MAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,KAAzB,EAAgC;AAC9B,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAAEC,MAAM,CAACC,IAAP,CAAYH,OAAO,CAACC,KAApB,EAA2BG,MAArC;AACD,CALM;;;;IAOcC,M;;;;;AACnB,oBAAc;AAAA;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;SAED,aAAYC,CAAZ,EAAe;AACb,WAAKC,QAAL,GAAgBD,CAAhB;;AACA,WAAKD,OAAL;AACD;;;WAED,8BAAyC;AAAA;;AAAA,UAAzBG,SAAyB,QAAzBA,SAAyB;AAAA,UAAdC,WAAc,QAAdA,WAAc;AACvC,UAAMC,YAAY,GAAGF,SAAS,CAACG,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAArB;AACA,UAAMC,iBAAiB,GAAGb,MAAM,CAC7BC,IADuB,CAClB,KAAKO,QAAL,CAAcT,KAAd,IAAuB,EADL,EAEvBe,MAFuB,CAEhB,UAACC,GAAD,EAAMC,GAAN,EAAc;AACpB,YAAI,CAACA,GAAG,CAACC,UAAJ,CAAeN,YAAf,CAAL,EAAmC;AACjCI,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAW,KAAI,CAACR,QAAL,CAAcT,KAAd,CAAoBiB,GAApB,CAAX;AACD;;AACD,eAAOD,GAAP;AACD,OAPuB,EAOrB,EAPqB,CAA1B;AAQAF,MAAAA,iBAAiB,CAACJ,SAAD,CAAjB,GAA+BC,WAA/B;AACA,WAAKF,QAAL,CAAcT,KAAd,GAAsBc,iBAAtB;AACA,UAAMK,QAAQ,GAAGrB,UAAU,CAAC,KAAKW,QAAN,EAAgB,KAAKH,MAArB,CAA3B;AACA,WAAKc,aAAL,CACE,IAAIC,oCAAJ,CAAwB,KAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoDJ,QAApD,CADF;;AAGA,WAAKZ,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKD,MAAN,IAAgB,CAAC,KAAKG,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMe,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,QAAAA,KAAK,EAAE,KAAKtB,MADuB;AAEnCP,QAAAA,OAAO,EAAE,KAAKU,QAFqB;AAGnCoB,QAAAA,eAAe,EAAE,KAAKC,cAAL,CAAoBC,IAApB,CAAyB,IAAzB;AAHkB,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,MAAX;AACD,OAFD;AAGD;;;kDApDiCU,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {SessionChangedEvent} from '@pie-framework/pie-player-events';\nimport {renderMath} from '@pie-lib/math-rendering';\nimport Main from './Main';\n\nexport const isComplete = session => {\n if (!session || !session.value) {\n return false;\n }\n return !!(Object.keys(session.value).length);\n};\n\nexport default class Matrix extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n sessionChanged({matrixKey, matrixValue}) {\n const matrixRowKey = matrixKey.split('-')[0];\n const sessionValueClone = Object\n .keys(this._session.value || {})\n .reduce((acc, key) => {\n if (!key.startsWith(matrixRowKey)) {\n acc[key] = this._session.value[key];\n }\n return acc;\n }, {});\n sessionValueClone[matrixKey] = matrixValue;\n this._session.value = sessionValueClone;\n const complete = isComplete(this._session, this._model);\n this.dispatchEvent(\n new SessionChangedEvent(this.tagName.toLowerCase(), complete)\n );\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["isComplete","session","value","Object","keys","length","Matrix","m","_model","_render","_session","s","matrixKey","matrixValue","matrixRowKey","split","sessionValueClone","reduce","acc","key","startsWith","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","el","React","createElement","Main","model","onSessionChange","sessionChanged","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAa;AACrC,MAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,KAAzB,EAAgC;AAC9B,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAACC,MAAM,CAACC,IAAP,CAAYH,OAAO,CAACC,KAApB,EAA2BG,MAApC;AACD,CALM;;;;IAOcC,M;;;;;AACnB,oBAAc;AAAA;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD,K;SAPD,aAAYC,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;;AACA,WAAKF,OAAL;AACD;;;WAMD,8BAA2C;AAAA;;AAAA,UAA1BG,SAA0B,QAA1BA,SAA0B;AAAA,UAAfC,WAAe,QAAfA,WAAe;AACzC,UAAMC,YAAY,GAAGF,SAAS,CAACG,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAArB;AACA,UAAMC,iBAAiB,GAAGb,MAAM,CAACC,IAAP,CAAY,KAAKM,QAAL,CAAcR,KAAd,IAAuB,EAAnC,EAAuCe,MAAvC,CAA8C,UAACC,GAAD,EAAMC,GAAN,EAAc;AACpF,YAAI,CAACA,GAAG,CAACC,UAAJ,CAAeN,YAAf,CAAL,EAAmC;AACjCI,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAW,KAAI,CAACT,QAAL,CAAcR,KAAd,CAAoBiB,GAApB,CAAX;AACD;;AACD,eAAOD,GAAP;AACD,OALyB,EAKvB,EALuB,CAA1B;AAMAF,MAAAA,iBAAiB,CAACJ,SAAD,CAAjB,GAA+BC,WAA/B;AACA,WAAKH,QAAL,CAAcR,KAAd,GAAsBc,iBAAtB;AACA,UAAMK,QAAQ,GAAGrB,UAAU,CAAC,KAAKU,QAAN,EAAgB,KAAKF,MAArB,CAA3B;AAEA,WAAKc,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,KAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoDJ,QAApD,CAAnB;;AACA,WAAKZ,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKD,MAAN,IAAgB,CAAC,KAAKE,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMgB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,QAAAA,KAAK,EAAE,KAAKtB,MADuB;AAEnCP,QAAAA,OAAO,EAAE,KAAKS,QAFqB;AAGnCqB,QAAAA,eAAe,EAAE,KAAKC,cAAL,CAAoBC,IAApB,CAAyB,IAAzB;AAHkB,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,MAAX;AACD,OAFD;AAGD;;;kDArDiCU,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Main from './Main';\n\nexport const isComplete = (session) => {\n if (!session || !session.value) {\n return false;\n }\n return !!Object.keys(session.value).length;\n};\n\nexport default class Matrix extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged({ matrixKey, matrixValue }) {\n const matrixRowKey = matrixKey.split('-')[0];\n const sessionValueClone = Object.keys(this._session.value || {}).reduce((acc, key) => {\n if (!key.startsWith(matrixRowKey)) {\n acc[key] = this._session.value[key];\n }\n return acc;\n }, {});\n sessionValueClone[matrixKey] = matrixValue;\n this._session.value = sessionValueClone;\n const complete = isComplete(this._session, this._model);\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "0.1.19",
7
+ "version": "0.1.20-beta.1443+449763c04",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -12,8 +12,8 @@
12
12
  "dependencies": {
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/math-rendering": "^2.3.12",
16
- "@pie-lib/render-ui": "^4.12.4",
15
+ "@pie-lib/math-rendering": "^2.5.12",
16
+ "@pie-lib/render-ui": "^4.14.12",
17
17
  "debug": "^4.1.1",
18
18
  "prop-types": "^15.6.1",
19
19
  "react": "^16.8.1",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "author": "",
24
24
  "license": "ISC",
25
- "gitHead": "510db2949732b8997ff2e1a496ca1a7bd3973088",
25
+ "gitHead": "449763c046b78327513c38ea5367b8d4da120760",
26
26
  "main": "lib/index.js",
27
27
  "module": "src/index.js"
28
28
  }