@pie-element/matrix 2.3.4-next.3 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -12
- package/configure/CHANGELOG.md +0 -11
- package/configure/lib/HeaderCommon.js +19 -22
- package/configure/lib/HeaderCommon.js.map +1 -1
- package/configure/lib/Main.js +117 -182
- package/configure/lib/Main.js.map +1 -1
- package/configure/lib/MatrixColumnsSizeHeaderInput.js +28 -48
- package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -1
- package/configure/lib/MatrixLabelEditableButton.js +134 -129
- package/configure/lib/MatrixLabelEditableButton.js.map +1 -1
- package/configure/lib/MatrixLabelTypeHeaderInput.js +45 -93
- package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -1
- package/configure/lib/MatrixRowsSizeHeaderInput.js +28 -48
- package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -1
- package/configure/lib/MatrixValues.js +150 -178
- package/configure/lib/MatrixValues.js.map +1 -1
- package/configure/lib/NumberInput.js +39 -60
- package/configure/lib/NumberInput.js.map +1 -1
- package/configure/lib/columnLabelsGenerator.js +23 -32
- package/configure/lib/columnLabelsGenerator.js.map +1 -1
- package/configure/lib/defaults.js +2 -4
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +76 -140
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/isNumeric.js +3 -5
- package/configure/lib/isNumeric.js.map +1 -1
- package/configure/lib/matrixEntities.js +1 -2
- package/configure/lib/matrixEntities.js.map +1 -1
- package/configure/package.json +10 -7
- package/controller/lib/defaults.js +2 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +44 -91
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/lib/ChoiceInput.js +31 -47
- package/lib/ChoiceInput.js.map +1 -1
- package/lib/Main.js +24 -58
- package/lib/Main.js.map +1 -1
- package/lib/Matrix.js +57 -66
- package/lib/Matrix.js.map +1 -1
- package/lib/index.js +59 -103
- package/lib/index.js.map +1 -1
- package/lib/session-updater.js +0 -1
- package/lib/session-updater.js.map +1 -1
- package/package.json +10 -7
- package/esm/configure.js +0 -26337
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -1084
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -13321
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
package/lib/Matrix.js
CHANGED
|
@@ -1,53 +1,50 @@
|
|
|
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
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
7
|
+
exports.default = void 0;
|
|
14
8
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
|
|
18
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
|
-
|
|
20
11
|
var _ChoiceInput = _interopRequireDefault(require("./ChoiceInput"));
|
|
21
|
-
|
|
22
12
|
var _renderUi = require("@pie-lib/render-ui");
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
13
|
+
const MatrixWrapper = _styledComponents.default.div`
|
|
14
|
+
color: ${_renderUi.color.text()};
|
|
15
|
+
background-color: ${_renderUi.color.background()};
|
|
16
|
+
font-family: Roboto, Arial, Helvetica, sans-serif;
|
|
17
|
+
`;
|
|
18
|
+
const MatrixGridWrapper = _styledComponents.default.div`
|
|
19
|
+
display: grid;
|
|
20
|
+
grid-template-columns: ${props => props.gridTemplateColumns};
|
|
21
|
+
grid-column-gap: 30px;
|
|
22
|
+
grid-row-gap: 20px;
|
|
23
|
+
margin-top: 20px;
|
|
24
|
+
`;
|
|
25
|
+
const TeacherInstructions = (0, _styledComponents.default)(_renderUi.Collapsible)`
|
|
26
|
+
margin-bottom: 16px;
|
|
27
|
+
`;
|
|
28
|
+
const MatrixGridItem = _styledComponents.default.div`
|
|
29
|
+
align-self: center;
|
|
30
|
+
justify-self: center;
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
`;
|
|
33
|
+
const Matrix = props => {
|
|
34
|
+
const {
|
|
35
|
+
disabled,
|
|
36
|
+
prompt,
|
|
37
|
+
onSessionChange,
|
|
38
|
+
columnLabels,
|
|
39
|
+
matrixValues,
|
|
40
|
+
rowLabels,
|
|
41
|
+
session,
|
|
42
|
+
teacherInstructions
|
|
43
|
+
} = props;
|
|
44
|
+
const gridMatrixItems = [];
|
|
45
|
+
for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {
|
|
46
|
+
for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {
|
|
47
|
+
let gridMatrixItem;
|
|
51
48
|
if (rowIndex === 0 && columnIndex === 0) {
|
|
52
49
|
gridMatrixItem = null;
|
|
53
50
|
} else if (rowIndex === 0) {
|
|
@@ -55,59 +52,53 @@ var Matrix = function Matrix(props) {
|
|
|
55
52
|
} else if (columnIndex === 0) {
|
|
56
53
|
gridMatrixItem = rowLabels[rowIndex - 1];
|
|
57
54
|
} else {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
gridMatrixItem = /*#__PURE__*/_react
|
|
55
|
+
const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;
|
|
56
|
+
const matrixValue = matrixValues[matrixKey];
|
|
57
|
+
gridMatrixItem = /*#__PURE__*/_react.default.createElement(_ChoiceInput.default, {
|
|
61
58
|
matrixKey: matrixKey,
|
|
62
59
|
matrixValue: matrixValue || 0,
|
|
63
60
|
disabled: disabled,
|
|
64
61
|
onChange: onSessionChange,
|
|
65
|
-
checked: session.value &&
|
|
62
|
+
checked: session.value && Object.prototype.hasOwnProperty.call(session.value, matrixKey)
|
|
66
63
|
});
|
|
67
64
|
}
|
|
68
|
-
|
|
69
65
|
gridMatrixItems.push(gridMatrixItem);
|
|
70
66
|
}
|
|
71
67
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return 'min-content';
|
|
75
|
-
}).join(' ');
|
|
76
|
-
return /*#__PURE__*/_react["default"].createElement(MatrixWrapper, null, teacherInstructions && /*#__PURE__*/_react["default"].createElement(TeacherInstructions, {
|
|
68
|
+
const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement(MatrixWrapper, null, teacherInstructions && /*#__PURE__*/_react.default.createElement(TeacherInstructions, {
|
|
77
70
|
className: teacherInstructions,
|
|
78
71
|
labels: {
|
|
79
72
|
hidden: 'Show Teacher Instructions',
|
|
80
73
|
visible: 'Hide Teacher Instructions'
|
|
81
74
|
}
|
|
82
|
-
}, /*#__PURE__*/_react
|
|
75
|
+
}, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
83
76
|
prompt: teacherInstructions
|
|
84
|
-
})), /*#__PURE__*/_react
|
|
77
|
+
})), /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
85
78
|
className: "prompt",
|
|
86
79
|
prompt: prompt
|
|
87
|
-
}), /*#__PURE__*/_react
|
|
80
|
+
}), /*#__PURE__*/_react.default.createElement(MatrixGridWrapper, {
|
|
88
81
|
gridTemplateColumns: gridTemplateColumns
|
|
89
|
-
}, gridMatrixItems.map(
|
|
90
|
-
return /*#__PURE__*/_react
|
|
91
|
-
key:
|
|
82
|
+
}, gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(MatrixGridItem, {
|
|
84
|
+
key: `${gridMatrixIndex}`
|
|
92
85
|
}, gridMatrixItem);
|
|
93
86
|
})));
|
|
94
87
|
};
|
|
95
|
-
|
|
96
88
|
Matrix.propTypes = {
|
|
97
|
-
prompt: _propTypes
|
|
98
|
-
teacherInstructions: _propTypes
|
|
99
|
-
session: _propTypes
|
|
100
|
-
matrixValues: _propTypes
|
|
101
|
-
rowLabels: _propTypes
|
|
102
|
-
columnLabels: _propTypes
|
|
103
|
-
disabled: _propTypes
|
|
104
|
-
onSessionChange: _propTypes
|
|
89
|
+
prompt: _propTypes.default.string,
|
|
90
|
+
teacherInstructions: _propTypes.default.string,
|
|
91
|
+
session: _propTypes.default.object,
|
|
92
|
+
matrixValues: _propTypes.default.object,
|
|
93
|
+
rowLabels: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
94
|
+
columnLabels: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
95
|
+
disabled: _propTypes.default.bool.isRequired,
|
|
96
|
+
onSessionChange: _propTypes.default.func.isRequired
|
|
105
97
|
};
|
|
106
98
|
Matrix.defaultProps = {
|
|
107
99
|
session: {
|
|
108
100
|
value: {}
|
|
109
101
|
}
|
|
110
102
|
};
|
|
111
|
-
var _default = Matrix;
|
|
112
|
-
exports["default"] = _default;
|
|
103
|
+
var _default = exports.default = Matrix;
|
|
113
104
|
//# sourceMappingURL=Matrix.js.map
|
package/lib/Matrix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Matrix.js","names":["_react","_interopRequireDefault","require","_propTypes","_styledComponents","_ChoiceInput","_renderUi","MatrixWrapper","styled","div","color","text","background","MatrixGridWrapper","props","gridTemplateColumns","TeacherInstructions","Collapsible","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","matrixValue","default","createElement","onChange","checked","value","Object","prototype","hasOwnProperty","call","push","map","join","className","labels","hidden","visible","PreviewPrompt","gridMatrixIndex","key","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps","_default","exports"],"sources":["../src/Matrix.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport ChoiceInput from './ChoiceInput';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\n\nconst MatrixWrapper = styled.div`\n color: ${color.text()};\n background-color: ${color.background()};\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: 20px;\n`;\n\nconst TeacherInstructions = styled(Collapsible)`\n margin-bottom: 16px;\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\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\n gridMatrixItem = (\n <ChoiceInput\n matrixKey={matrixKey}\n matrixValue={matrixValue || 0}\n disabled={disabled}\n onChange={onSessionChange}\n checked={session.value && Object.prototype.hasOwnProperty.call(session.value, matrixKey)}\n />\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 <TeacherInstructions\n className={teacherInstructions}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n\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"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js
CHANGED
|
@@ -1,124 +1,80 @@
|
|
|
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.isComplete = exports
|
|
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.isComplete = 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 _mathRendering = require("@pie-lib/math-rendering");
|
|
29
|
-
|
|
30
12
|
var _Main = _interopRequireDefault(require("./Main"));
|
|
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 isComplete = function isComplete(session) {
|
|
13
|
+
const isComplete = session => {
|
|
37
14
|
if (!session || !session.value) {
|
|
38
15
|
return false;
|
|
39
16
|
}
|
|
40
|
-
|
|
41
17
|
return !!Object.keys(session.value).length;
|
|
42
18
|
};
|
|
43
|
-
|
|
44
19
|
exports.isComplete = isComplete;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var _super = _createSuper(Matrix);
|
|
50
|
-
|
|
51
|
-
function Matrix() {
|
|
52
|
-
(0, _classCallCheck2["default"])(this, Matrix);
|
|
53
|
-
return _super.call(this);
|
|
20
|
+
class Matrix extends HTMLElement {
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
this._root = null;
|
|
54
24
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this._session.value = sessionValueClone;
|
|
90
|
-
var complete = isComplete(this._session, this._model);
|
|
91
|
-
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), complete));
|
|
92
|
-
|
|
93
|
-
this._render();
|
|
25
|
+
set model(m) {
|
|
26
|
+
this._model = m;
|
|
27
|
+
this._render();
|
|
28
|
+
}
|
|
29
|
+
set session(s) {
|
|
30
|
+
this._session = s;
|
|
31
|
+
this._render();
|
|
32
|
+
}
|
|
33
|
+
get session() {
|
|
34
|
+
return this._session;
|
|
35
|
+
}
|
|
36
|
+
sessionChanged({
|
|
37
|
+
matrixKey,
|
|
38
|
+
matrixValue
|
|
39
|
+
}) {
|
|
40
|
+
const matrixRowKey = matrixKey.split('-')[0];
|
|
41
|
+
const sessionValueClone = Object.keys(this._session.value || {}).reduce((acc, key) => {
|
|
42
|
+
if (!key.startsWith(matrixRowKey)) {
|
|
43
|
+
acc[key] = this._session.value[key];
|
|
44
|
+
}
|
|
45
|
+
return acc;
|
|
46
|
+
}, {});
|
|
47
|
+
sessionValueClone[matrixKey] = matrixValue;
|
|
48
|
+
this._session.value = sessionValueClone;
|
|
49
|
+
const complete = isComplete(this._session, this._model);
|
|
50
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), complete));
|
|
51
|
+
this._render();
|
|
52
|
+
}
|
|
53
|
+
connectedCallback() {
|
|
54
|
+
this._render();
|
|
55
|
+
}
|
|
56
|
+
_render() {
|
|
57
|
+
if (!this._model || !this._session) {
|
|
58
|
+
return;
|
|
94
59
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.
|
|
60
|
+
const el = /*#__PURE__*/_react.default.createElement(_Main.default, {
|
|
61
|
+
model: this._model,
|
|
62
|
+
session: this._session,
|
|
63
|
+
onSessionChange: this.sessionChanged.bind(this)
|
|
64
|
+
});
|
|
65
|
+
if (!this._root) {
|
|
66
|
+
this._root = (0, _client.createRoot)(this);
|
|
99
67
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
var el = /*#__PURE__*/_react["default"].createElement(_Main["default"], {
|
|
110
|
-
model: this._model,
|
|
111
|
-
session: this._session,
|
|
112
|
-
onSessionChange: this.sessionChanged.bind(this)
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
_reactDom["default"].render(el, this, function () {
|
|
116
|
-
(0, _mathRendering.renderMath)(_this2);
|
|
117
|
-
});
|
|
68
|
+
this._root.render(el);
|
|
69
|
+
queueMicrotask(() => {
|
|
70
|
+
(0, _mathRendering.renderMath)(this);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
disconnectedCallback() {
|
|
74
|
+
if (this._root) {
|
|
75
|
+
this._root.unmount();
|
|
118
76
|
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
exports["default"] = Matrix;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.default = Matrix;
|
|
124
80
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_Main","isComplete","session","value","Object","keys","length","exports","Matrix","HTMLElement","constructor","_root","model","m","_model","_render","s","_session","sessionChanged","matrixKey","matrixValue","matrixRowKey","split","sessionValueClone","reduce","acc","key","startsWith","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","React","createElement","Main","onSessionChange","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\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 this._root = null;\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 if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\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,cAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEO,MAAMK,UAAU,GAAIC,OAAO,IAAK;EACrC,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,KAAK,EAAE;IAC9B,OAAO,KAAK;EACd;EACA,OAAO,CAAC,CAACC,MAAM,CAACC,IAAI,CAACH,OAAO,CAACC,KAAK,CAAC,CAACG,MAAM;AAC5C,CAAC;AAACC,OAAA,CAAAN,UAAA,GAAAA,UAAA;AAEa,MAAMO,MAAM,SAASC,WAAW,CAAC;EAC9CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,MAAM,GAAGD,CAAC;IACf,IAAI,CAACE,OAAO,CAAC,CAAC;EAChB;EAEA,IAAIb,OAAOA,CAACc,CAAC,EAAE;IACb,IAAI,CAACC,QAAQ,GAAGD,CAAC;IACjB,IAAI,CAACD,OAAO,CAAC,CAAC;EAChB;EAEA,IAAIb,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACe,QAAQ;EACtB;EAEAC,cAAcA,CAAC;IAAEC,SAAS;IAAEC;EAAY,CAAC,EAAE;IACzC,MAAMC,YAAY,GAAGF,SAAS,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAMC,iBAAiB,GAAGnB,MAAM,CAACC,IAAI,CAAC,IAAI,CAACY,QAAQ,CAACd,KAAK,IAAI,CAAC,CAAC,CAAC,CAACqB,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MACpF,IAAI,CAACA,GAAG,CAACC,UAAU,CAACN,YAAY,CAAC,EAAE;QACjCI,GAAG,CAACC,GAAG,CAAC,GAAG,IAAI,CAACT,QAAQ,CAACd,KAAK,CAACuB,GAAG,CAAC;MACrC;MACA,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACNF,iBAAiB,CAACJ,SAAS,CAAC,GAAGC,WAAW;IAC1C,IAAI,CAACH,QAAQ,CAACd,KAAK,GAAGoB,iBAAiB;IACvC,MAAMK,QAAQ,GAAG3B,UAAU,CAAC,IAAI,CAACgB,QAAQ,EAAE,IAAI,CAACH,MAAM,CAAC;IAEvD,IAAI,CAACe,aAAa,CAAC,IAAIC,oCAAmB,CAAC,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,EAAEJ,QAAQ,CAAC,CAAC;IACjF,IAAI,CAACb,OAAO,CAAC,CAAC;EAChB;EAEAkB,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAClB,OAAO,CAAC,CAAC;EAChB;EAEAA,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC,IAAI,CAACD,MAAM,IAAI,CAAC,IAAI,CAACG,QAAQ,EAAE;MAClC;IACF;IAEA,MAAMiB,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAI,EAAE;MACnCzB,KAAK,EAAE,IAAI,CAACE,MAAM;MAClBZ,OAAO,EAAE,IAAI,CAACe,QAAQ;MACtBqB,eAAe,EAAE,IAAI,CAACpB,cAAc,CAACqB,IAAI,CAAC,IAAI;IAChD,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC5B,KAAK,EAAE;MACf,IAAI,CAACA,KAAK,GAAG,IAAA6B,kBAAU,EAAC,IAAI,CAAC;IAC/B;IACA,IAAI,CAAC7B,KAAK,CAAC8B,MAAM,CAACP,EAAE,CAAC;IACrBQ,cAAc,CAAC,MAAM;MACnB,IAAAC,yBAAU,EAAC,IAAI,CAAC;IAClB,CAAC,CAAC;EACJ;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACjC,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACkC,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACtC,OAAA,CAAAuC,OAAA,GAAAtC,MAAA","ignoreList":[]}
|
package/lib/session-updater.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"session-updater.js","names":["updateSessionValue","session","data","value"],"sources":["../src/session-updater.js"],"sourcesContent":["export function updateSessionValue(session, data) {\n session.value = data.value || session.value || {};\n}\n"],"mappings":";;;;;;AAAO,SAASA,kBAAkBA,CAACC,OAAO,EAAEC,IAAI,EAAE;EAChDD,OAAO,CAACE,KAAK,GAAGD,IAAI,CAACC,KAAK,IAAIF,OAAO,CAACE,KAAK,IAAI,CAAC,CAAC;AACnD","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -4,25 +4,28 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "
|
|
7
|
+
"version": "3.0.0-beta.1",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
13
|
+
"@emotion/react": "^11.14.0",
|
|
14
|
+
"@emotion/style": "^0.8.0",
|
|
15
|
+
"@mui/icons-material": "^7.3.4",
|
|
16
|
+
"@mui/material": "^7.3.4",
|
|
14
17
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
15
|
-
"@pie-lib/math-rendering": "
|
|
16
|
-
"@pie-lib/render-ui": "
|
|
18
|
+
"@pie-lib/math-rendering": "4.1.0-next.4",
|
|
19
|
+
"@pie-lib/render-ui": "5.1.0-next.5",
|
|
17
20
|
"debug": "^4.1.1",
|
|
18
21
|
"prop-types": "^15.6.1",
|
|
19
|
-
"react": "
|
|
20
|
-
"react-dom": "
|
|
22
|
+
"react": "18.2.0",
|
|
23
|
+
"react-dom": "18.2.0",
|
|
21
24
|
"styled-components": "^5.2.1"
|
|
22
25
|
},
|
|
23
26
|
"author": "",
|
|
24
27
|
"license": "ISC",
|
|
25
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "f7801e8a2cd1bdc01ef1da55f9157f0989714bdc",
|
|
26
29
|
"main": "lib/index.js",
|
|
27
30
|
"module": "src/index.js"
|
|
28
31
|
}
|