@pie-element/matrix 0.23.1-next.14 → 0.23.1-next.48

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.
@@ -106,8 +106,9 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
106
106
  scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
107
107
  };
108
108
 
109
- var getPluginProps = function getPluginProps(props) {
110
- return Object.assign(_objectSpread({}, baseInputConfiguration), props || {});
109
+ var getPluginProps = function getPluginProps() {
110
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
111
+ return _objectSpread(_objectSpread({}, baseInputConfiguration), props);
111
112
  };
112
113
 
113
114
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","matrixHeaderOptionsHolder","display","flexWrap","paddingBottom","justifyContent","Design","props","classes","model","configuration","onPromptChanged","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","baseInputConfiguration","contentDimensions","prompt","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","teacherInstructionsEnabled","spellCheckEnabled","panelProperties","label","getPluginProps","Object","assign","Properties","inputConfiguration","Main","onModelChanged","data","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { InputContainer, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n matrixHeaderOptionsHolder: {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n paddingBottom: theme.spacing.unit * 2.5,\n justifyContent: 'space-around',\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n } = configuration || {};\n const { teacherInstructionsEnabled, spellCheckEnabled } = model || {};\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n nonEmpty={!prompt.settings}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n disableUnderline\n />\n </InputContainer>\n\n <div className={classes.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixLabelTypeHeaderInput model={model} onChangeModel={onChangeModel} />\n </div>\n\n <MatrixValues model={model} onChangeModel={onChangeModel} />\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onChangeModel = (data) => {\n this.props.onModelChanged({ ...this.props.model, ...data });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"Main.js"}
1
+ {"version":3,"sources":["../src/Main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","matrixHeaderOptionsHolder","display","flexWrap","paddingBottom","justifyContent","Design","props","classes","model","configuration","onPromptChanged","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","baseInputConfiguration","contentDimensions","prompt","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","teacherInstructionsEnabled","spellCheckEnabled","panelProperties","label","getPluginProps","Properties","inputConfiguration","Main","onModelChanged","data","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { InputContainer, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n matrixHeaderOptionsHolder: {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n paddingBottom: theme.spacing.unit * 2.5,\n justifyContent: 'space-around',\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n } = configuration || {};\n const { teacherInstructionsEnabled, spellCheckEnabled } = model || {};\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n nonEmpty={!prompt.settings}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n disableUnderline\n />\n </InputContainer>\n\n <div className={classes.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixLabelTypeHeaderInput model={model} onChangeModel={onChangeModel} />\n </div>\n\n <MatrixValues model={model} onChangeModel={onChangeModel} />\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onChangeModel = (data) => {\n this.props.onModelChanged({ ...this.props.model, ...data });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"Main.js"}
@@ -9,7 +9,7 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.3.0",
12
- "@pie-lib/pie-toolbox": "1.10.0",
12
+ "@pie-lib/pie-toolbox": "1.11.1",
13
13
  "debug": "^4.1.1",
14
14
  "prop-types": "^15.6.2",
15
15
  "react": "^16.8.1",
@@ -7,6 +7,17 @@
7
7
  "title": "EditableHtmlConfigureProp",
8
8
  "type": "object",
9
9
  "properties": {
10
+ "math": {
11
+ "title": "EditableHtmlButtonConfigure",
12
+ "type": "object",
13
+ "properties": {
14
+ "disabled": {
15
+ "description": "Indicates if the plugin is disabled or not",
16
+ "type": "boolean",
17
+ "title": "disabled"
18
+ }
19
+ }
20
+ },
10
21
  "audio": {
11
22
  "title": "EditableHtmlButtonConfigure",
12
23
  "type": "object",
@@ -71,6 +82,17 @@
71
82
  "title": "EditableHtmlConfigureProp",
72
83
  "type": "object",
73
84
  "properties": {
85
+ "math": {
86
+ "title": "EditableHtmlButtonConfigure",
87
+ "type": "object",
88
+ "properties": {
89
+ "disabled": {
90
+ "description": "Indicates if the plugin is disabled or not",
91
+ "type": "boolean",
92
+ "title": "disabled"
93
+ }
94
+ }
95
+ },
74
96
  "audio": {
75
97
  "title": "EditableHtmlButtonConfigure",
76
98
  "type": "object",
@@ -126,6 +148,17 @@
126
148
  "title": "EditableHtmlConfigureProp",
127
149
  "type": "object",
128
150
  "properties": {
151
+ "math": {
152
+ "title": "EditableHtmlButtonConfigure",
153
+ "type": "object",
154
+ "properties": {
155
+ "disabled": {
156
+ "description": "Indicates if the plugin is disabled or not",
157
+ "type": "boolean",
158
+ "title": "disabled"
159
+ }
160
+ }
161
+ },
129
162
  "audio": {
130
163
  "title": "EditableHtmlButtonConfigure",
131
164
  "type": "object",
@@ -241,6 +274,17 @@
241
274
  "title": "EditableHtmlConfigureProp",
242
275
  "type": "object",
243
276
  "properties": {
277
+ "math": {
278
+ "title": "EditableHtmlButtonConfigure",
279
+ "type": "object",
280
+ "properties": {
281
+ "disabled": {
282
+ "description": "Indicates if the plugin is disabled or not",
283
+ "type": "boolean",
284
+ "title": "disabled"
285
+ }
286
+ }
287
+ },
244
288
  "audio": {
245
289
  "title": "EditableHtmlButtonConfigure",
246
290
  "type": "object",
@@ -311,6 +355,17 @@
311
355
  "title": "EditableHtmlConfigureProp",
312
356
  "type": "object",
313
357
  "properties": {
358
+ "math": {
359
+ "title": "EditableHtmlButtonConfigure",
360
+ "type": "object",
361
+ "properties": {
362
+ "disabled": {
363
+ "description": "Indicates if the plugin is disabled or not",
364
+ "type": "boolean",
365
+ "title": "disabled"
366
+ }
367
+ }
368
+ },
314
369
  "audio": {
315
370
  "title": "EditableHtmlButtonConfigure",
316
371
  "type": "object",
@@ -6,6 +6,14 @@ The schema defines the following properties:
6
6
 
7
7
  Properties of the `baseInputConfiguration` object:
8
8
 
9
+ ## `math` (object)
10
+
11
+ Properties of the `math` object:
12
+
13
+ ### `disabled` (boolean)
14
+
15
+ Indicates if the plugin is disabled or not
16
+
9
17
  ## `audio` (object)
10
18
 
11
19
  Properties of the `audio` object:
@@ -54,6 +62,14 @@ Properties of the `teacherInstructions` object:
54
62
 
55
63
  Properties of the `inputConfiguration` object:
56
64
 
65
+ ### `math` (object)
66
+
67
+ Properties of the `math` object:
68
+
69
+ #### `disabled` (boolean)
70
+
71
+ Indicates if the plugin is disabled or not
72
+
57
73
  ### `audio` (object)
58
74
 
59
75
  Properties of the `audio` object:
@@ -94,6 +110,14 @@ Properties of the `prompt` object:
94
110
 
95
111
  Properties of the `inputConfiguration` object:
96
112
 
113
+ ### `math` (object)
114
+
115
+ Properties of the `math` object:
116
+
117
+ #### `disabled` (boolean)
118
+
119
+ Indicates if the plugin is disabled or not
120
+
97
121
  ### `audio` (object)
98
122
 
99
123
  Properties of the `audio` object:
@@ -188,6 +212,14 @@ The schema defines the following additional types:
188
212
 
189
213
  Properties of the `EditableHtmlConfigureProp` object:
190
214
 
215
+ ### `math` (object)
216
+
217
+ Properties of the `math` object:
218
+
219
+ #### `disabled` (boolean)
220
+
221
+ Indicates if the plugin is disabled or not
222
+
191
223
  ### `audio` (object)
192
224
 
193
225
  Properties of the `audio` object:
@@ -240,6 +272,14 @@ Properties of the `EditableHtmlPluginConfigure` object:
240
272
 
241
273
  Properties of the `inputConfiguration` object:
242
274
 
275
+ #### `math` (object)
276
+
277
+ Properties of the `math` object:
278
+
279
+ ##### `disabled` (boolean)
280
+
281
+ Indicates if the plugin is disabled or not
282
+
243
283
  #### `audio` (object)
244
284
 
245
285
  Properties of the `audio` object:
package/lib/index.js CHANGED
@@ -25,7 +25,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
25
25
 
26
26
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
27
27
 
28
- var _mathRenderingAccessible = require("@pie-lib/pie-toolbox/math-rendering-accessible");
28
+ var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
29
29
 
30
30
  var _Main = _interopRequireDefault(require("./Main"));
31
31
 
@@ -113,7 +113,7 @@ var Matrix = /*#__PURE__*/function (_HTMLElement) {
113
113
  });
114
114
 
115
115
  _reactDom["default"].render(el, this, function () {
116
- (0, _mathRenderingAccessible.renderMath)(_this2);
116
+ (0, _mathRendering.renderMath)(_this2);
117
117
  });
118
118
  }
119
119
  }]);
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","_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,iDAAW,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/pie-toolbox/math-rendering-accessible';\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"}
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/pie-toolbox/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.23.1-next.14+40702f121",
7
+ "version": "0.23.1-next.48+a8e4e6ab2",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/pie-toolbox": "1.10.0",
15
+ "@pie-lib/pie-toolbox": "1.11.1",
16
16
  "debug": "^4.1.1",
17
17
  "prop-types": "^15.6.1",
18
18
  "react": "^16.8.1",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "author": "",
23
23
  "license": "ISC",
24
- "gitHead": "40702f12145825f3032f9ad9c694707543a22812",
24
+ "gitHead": "a8e4e6ab27584435ce7ac3e964ccac2747402777",
25
25
  "main": "lib/index.js",
26
26
  "module": "src/index.js"
27
27
  }