@pie-element/math-templated 5.3.4-next.3 → 6.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/math-templated-controller",
3
3
  "private": true,
4
- "version": "4.3.3",
4
+ "version": "5.0.0-beta.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
9
  "@pie-framework/math-validation": "^1.4.2",
10
- "@pie-lib/controller-utils": "0.22.2",
11
- "@pie-lib/translator": "2.23.1",
10
+ "@pie-lib/controller-utils": "0.22.4-next.0",
11
+ "@pie-lib/translator": "2.23.3-next.0",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15"
14
14
  },
package/lib/index.js CHANGED
@@ -1,117 +1,76 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
21
-
7
+ exports.default = void 0;
22
8
  var _react = _interopRequireDefault(require("react"));
23
-
24
- var _reactDom = _interopRequireDefault(require("react-dom"));
25
-
9
+ var _client = require("react-dom/client");
26
10
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
27
-
28
11
  var _main = _interopRequireDefault(require("./main"));
29
-
30
12
  var _lodash = _interopRequireDefault(require("lodash"));
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 MathTemplated = /*#__PURE__*/function (_HTMLElement) {
37
- (0, _inherits2["default"])(MathTemplated, _HTMLElement);
38
-
39
- var _super = _createSuper(MathTemplated);
40
-
41
- function MathTemplated() {
42
- var _this;
43
-
44
- (0, _classCallCheck2["default"])(this, MathTemplated);
45
- _this = _super.call(this);
46
- _this.sessionChangedEventCaller = _lodash["default"].debounce(function () {
47
- _this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(_this.tagName.toLowerCase(), true));
13
+ class MathTemplated extends HTMLElement {
14
+ constructor() {
15
+ super();
16
+ this._root = null;
17
+ this.sessionChangedEventCaller = _lodash.default.debounce(() => {
18
+ this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), true));
48
19
  }, 1000);
49
- return _this;
50
20
  }
21
+ set model(m) {
22
+ this._model = m;
23
+ this.render();
24
+ this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));
25
+ }
26
+ get model() {
27
+ return this._model;
28
+ }
29
+ set session(s) {
30
+ this._session = s;
31
+ this.render();
32
+ }
33
+ get session() {
34
+ return this._session;
35
+ }
36
+ isSessionComplete() {
37
+ // a method to check if student answered the question
38
+ return true;
39
+ }
40
+ onSessionChange(session) {
41
+ // you can add an extra step here to validate session
42
+ Object.keys(session).map(key => {
43
+ this._session[key] = session[key];
44
+ });
45
+ this.sessionChangedEventCaller();
46
+ this.render();
47
+ }
48
+ connectedCallback() {
49
+ // TODO set accessibility labels
51
50
 
52
- (0, _createClass2["default"])(MathTemplated, [{
53
- key: "model",
54
- get: function get() {
55
- return this._model;
56
- },
57
- set: function set(m) {
58
- this._model = m;
59
- this.render();
60
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));
61
- }
62
- }, {
63
- key: "session",
64
- get: function get() {
65
- return this._session;
66
- },
67
- set: function set(s) {
68
- this._session = s;
69
- this.render();
70
- }
71
- }, {
72
- key: "isSessionComplete",
73
- value: function isSessionComplete() {
74
- // a method to check if student answered the question
75
- return true;
51
+ this.render();
52
+ }
53
+ render() {
54
+ if (!this._model || !this._session) {
55
+ return;
76
56
  }
77
- }, {
78
- key: "onSessionChange",
79
- value: function onSessionChange(session) {
80
- var _this2 = this;
81
-
82
- // you can add an extra step here to validate session
83
- Object.keys(session).map(function (key) {
84
- _this2._session[key] = session[key];
57
+ if (this._model && this._session) {
58
+ const el = /*#__PURE__*/_react.default.createElement(_main.default, {
59
+ model: this._model,
60
+ session: this._session,
61
+ onSessionChange: this.onSessionChange.bind(this)
85
62
  });
86
- this.sessionChangedEventCaller();
87
- this.render();
88
- }
89
- }, {
90
- key: "connectedCallback",
91
- value: function connectedCallback() {
92
- // TODO set accessibility labels
93
- this.render();
94
- }
95
- }, {
96
- key: "render",
97
- value: function render() {
98
- if (!this._model || !this._session) {
99
- return;
100
- }
101
-
102
- if (this._model && this._session) {
103
- var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
104
- model: this._model,
105
- session: this._session,
106
- onSessionChange: this.onSessionChange.bind(this)
107
- });
108
-
109
- _reactDom["default"].render(el, this);
63
+ if (!this._root) {
64
+ this._root = (0, _client.createRoot)(this);
110
65
  }
66
+ this._root.render(el);
111
67
  }
112
- }]);
113
- return MathTemplated;
114
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
115
-
116
- exports["default"] = MathTemplated;
68
+ }
69
+ disconnectedCallback() {
70
+ if (this._root) {
71
+ this._root.unmount();
72
+ }
73
+ }
74
+ }
75
+ exports.default = MathTemplated;
117
76
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["MathTemplated","sessionChangedEventCaller","_","debounce","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","_model","m","render","ModelSetEvent","isSessionComplete","undefined","_session","s","session","Object","keys","map","key","el","React","createElement","Main","model","onSessionChange","bind","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEqBA,a;;;;;AACjB,2BAAc;AAAA;;AAAA;AACV;AACA,UAAKC,yBAAL,GAAiCC,mBAAEC,QAAF,CAAW,YAAM;AAC9C,YAAKC,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,MAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoD,IAApD,CAAnB;AACH,KAFgC,EAE9B,IAF8B,CAAjC;AAFU;AAKb;;;;SASD,eAAY;AACR,aAAO,KAAKC,MAAZ;AACH,K;SATD,aAAUC,CAAV,EAAa;AACT,WAAKD,MAAL,GAAcC,CAAd;AAEA,WAAKC,MAAL;AACA,WAAKN,aAAL,CAAmB,IAAIO,8BAAJ,CAAkB,KAAKL,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKK,iBAAL,EAA9C,EAAwE,KAAKJ,MAAL,KAAgBK,SAAxF,CAAnB;AACH;;;SAYD,eAAc;AACV,aAAO,KAAKC,QAAZ;AACH,K;SARD,aAAYC,CAAZ,EAAe;AACX,WAAKD,QAAL,GAAgBC,CAAhB;AAEA,WAAKL,MAAL;AACH;;;WAMD,6BAAoB;AAChB;AACA,aAAO,IAAP;AACH;;;WAED,yBAAgBM,OAAhB,EAAyB;AAAA;;AACrB;AACAC,MAAAA,MAAM,CAACC,IAAP,CAAYF,OAAZ,EAAqBG,GAArB,CAAyB,UAACC,GAAD,EAAS;AAC9B,QAAA,MAAI,CAACN,QAAL,CAAcM,GAAd,IAAqBJ,OAAO,CAACI,GAAD,CAA5B;AACH,OAFD;AAIA,WAAKnB,yBAAL;AACA,WAAKS,MAAL;AACH;;;WAED,6BAAoB;AAChB;AAEA,WAAKA,MAAL;AACH;;;WAED,kBAAS;AACL,UAAI,CAAC,KAAKF,MAAN,IAAgB,CAAC,KAAKM,QAA1B,EAAoC;AAChC;AACH;;AAED,UAAI,KAAKN,MAAL,IAAe,KAAKM,QAAxB,EAAkC;AAC9B,YAAMO,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACjCC,UAAAA,KAAK,EAAE,KAAKjB,MADqB;AAEjCQ,UAAAA,OAAO,EAAE,KAAKF,QAFmB;AAGjCY,UAAAA,eAAe,EAAE,KAAKA,eAAL,CAAqBC,IAArB,CAA0B,IAA1B;AAHgB,SAA1B,CAAX;;AAMAC,6BAASlB,MAAT,CAAgBW,EAAhB,EAAoB,IAApB;AACH;AACJ;;;kDAhEsCQ,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {SessionChangedEvent, ModelSetEvent} from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport _ from 'lodash';\n\nexport default class MathTemplated extends HTMLElement {\n constructor() {\n super();\n this.sessionChangedEventCaller = _.debounce(() => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), true));\n }, 1000);\n }\n\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));\n }\n\n get model() {\n return this._model;\n }\n\n set session(s) {\n this._session = s;\n\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n // a method to check if student answered the question\n return true;\n }\n\n onSessionChange(session) {\n // you can add an extra step here to validate session\n Object.keys(session).map((key) => {\n this._session[key] = session[key];\n });\n\n this.sessionChangedEventCaller();\n this.render();\n }\n\n connectedCallback() {\n // TODO set accessibility labels\n\n this.render();\n }\n\n render() {\n if (!this._model || !this._session) {\n return;\n }\n\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.onSessionChange.bind(this),\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_main","_lodash","MathTemplated","HTMLElement","constructor","_root","sessionChangedEventCaller","_","debounce","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","model","m","_model","render","ModelSetEvent","isSessionComplete","undefined","session","s","_session","onSessionChange","Object","keys","map","key","connectedCallback","el","React","createElement","Main","bind","createRoot","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport {SessionChangedEvent, ModelSetEvent} from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport _ from 'lodash';\n\nexport default class MathTemplated extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n this.sessionChangedEventCaller = _.debounce(() => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), true));\n }, 1000);\n }\n\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));\n }\n\n get model() {\n return this._model;\n }\n\n set session(s) {\n this._session = s;\n\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n // a method to check if student answered the question\n return true;\n }\n\n onSessionChange(session) {\n // you can add an extra step here to validate session\n Object.keys(session).map((key) => {\n this._session[key] = session[key];\n });\n\n this.sessionChangedEventCaller();\n this.render();\n }\n\n connectedCallback() {\n // TODO set accessibility labels\n\n this.render();\n }\n\n render() {\n if (!this._model || !this._session) {\n return;\n }\n\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.onSessionChange.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEe,MAAMK,aAAa,SAASC,WAAW,CAAC;EACnDC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,KAAK,GAAG,IAAI;IACjB,IAAI,CAACC,yBAAyB,GAAGC,eAAC,CAACC,QAAQ,CAAC,MAAM;MAC9C,IAAI,CAACC,aAAa,CAAC,IAAIC,oCAAmB,CAAC,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC,EAAE,IAAI,CAAC;EACZ;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACT,IAAI,CAACC,MAAM,GAAGD,CAAC;IAEf,IAAI,CAACE,MAAM,CAAC,CAAC;IACb,IAAI,CAACP,aAAa,CAAC,IAAIQ,8BAAa,CAAC,IAAI,CAACN,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,IAAI,CAACM,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAACH,MAAM,KAAKI,SAAS,CAAC,CAAC;EAC1H;EAEA,IAAIN,KAAKA,CAAA,EAAG;IACR,OAAO,IAAI,CAACE,MAAM;EACtB;EAEA,IAAIK,OAAOA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,QAAQ,GAAGD,CAAC;IAEjB,IAAI,CAACL,MAAM,CAAC,CAAC;EACjB;EAEA,IAAII,OAAOA,CAAA,EAAG;IACV,OAAO,IAAI,CAACE,QAAQ;EACxB;EAEAJ,iBAAiBA,CAAA,EAAG;IAChB;IACA,OAAO,IAAI;EACf;EAEAK,eAAeA,CAACH,OAAO,EAAE;IACrB;IACAI,MAAM,CAACC,IAAI,CAACL,OAAO,CAAC,CAACM,GAAG,CAAEC,GAAG,IAAK;MAC9B,IAAI,CAACL,QAAQ,CAACK,GAAG,CAAC,GAAGP,OAAO,CAACO,GAAG,CAAC;IACrC,CAAC,CAAC;IAEF,IAAI,CAACrB,yBAAyB,CAAC,CAAC;IAChC,IAAI,CAACU,MAAM,CAAC,CAAC;EACjB;EAEAY,iBAAiBA,CAAA,EAAG;IAChB;;IAEA,IAAI,CAACZ,MAAM,CAAC,CAAC;EACjB;EAEAA,MAAMA,CAAA,EAAG;IACL,IAAI,CAAC,IAAI,CAACD,MAAM,IAAI,CAAC,IAAI,CAACO,QAAQ,EAAE;MAChC;IACJ;IAEA,IAAI,IAAI,CAACP,MAAM,IAAI,IAAI,CAACO,QAAQ,EAAE;MAC9B,MAAMO,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAI,EAAE;QACjCnB,KAAK,EAAE,IAAI,CAACE,MAAM;QAClBK,OAAO,EAAE,IAAI,CAACE,QAAQ;QACtBC,eAAe,EAAE,IAAI,CAACA,eAAe,CAACU,IAAI,CAAC,IAAI;MACnD,CAAC,CAAC;MAEF,IAAI,CAAC,IAAI,CAAC5B,KAAK,EAAE;QACb,IAAI,CAACA,KAAK,GAAG,IAAA6B,kBAAU,EAAC,IAAI,CAAC;MACjC;MACA,IAAI,CAAC7B,KAAK,CAACW,MAAM,CAACa,EAAE,CAAC;IACzB;EACJ;EAEAM,oBAAoBA,CAAA,EAAG;IACnB,IAAI,IAAI,CAAC9B,KAAK,EAAE;MACZ,IAAI,CAACA,KAAK,CAAC+B,OAAO,CAAC,CAAC;IACxB;EACJ;AACJ;AAACC,OAAA,CAAAC,OAAA,GAAApC,aAAA","ignoreList":[]}