@pie-element/complex-rubric 1.7.1-next.4 → 1.7.2-next.2

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 CHANGED
@@ -3,6 +3,17 @@
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
+ ## [1.7.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@1.7.0...@pie-element/complex-rubric@1.7.1) (2023-02-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * change withRubric type for extended-text-entry and drawing-response. docs update from different pr for multi-trait-rubric ([7bf77ad](https://github.com/pie-framework/pie-elements/commit/7bf77ada1a09bc56a053341bce9a0eaf02955672))
12
+
13
+
14
+
15
+
16
+
6
17
  # [1.7.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@1.6.0...@pie-element/complex-rubric@1.7.0) (2023-02-14)
7
18
 
8
19
 
@@ -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
+ ## [1.6.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@1.6.0...@pie-element/complex-rubric-configure@1.6.1) (2023-02-22)
7
+
8
+ **Note:** Version bump only for package @pie-element/complex-rubric-configure
9
+
10
+
11
+
12
+
13
+
6
14
  # [1.6.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@1.5.0...@pie-element/complex-rubric-configure@1.6.0) (2023-02-14)
7
15
 
8
16
 
@@ -137,6 +137,7 @@ var ComplexRubricConfigureElement = /*#__PURE__*/function (_HTMLElement) {
137
137
  _this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(_this._model));
138
138
  }
139
139
  });
140
+ _this.canUpdateModel = false;
140
141
 
141
142
  _debug["default"].log('constructor called');
142
143
 
@@ -150,6 +151,7 @@ var ComplexRubricConfigureElement = /*#__PURE__*/function (_HTMLElement) {
150
151
  key: "model",
151
152
  set: function set(m) {
152
153
  this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);
154
+ this.canUpdateModel = true;
153
155
 
154
156
  this._render();
155
157
  }
@@ -197,7 +199,8 @@ var ComplexRubricConfigureElement = /*#__PURE__*/function (_HTMLElement) {
197
199
  model: this._model,
198
200
  configuration: this._configuration,
199
201
  onModelChanged: this.onModelChanged,
200
- onConfigurationChanged: this.onConfigurationChanged
202
+ onConfigurationChanged: this.onConfigurationChanged,
203
+ canUpdateModel: this.canUpdateModel
201
204
  });
202
205
 
203
206
  _reactDom["default"].render(element, this);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["MODEL_UPDATED","ModelUpdatedEvent","TYPE","RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexSimpleRubricConfigure","RubricConfigure","ComplexMTRConfigure","MultiTraitRubricConfigure","defineComplexRubric","customElements","get","define","prepareCustomizationObject","config","model","configuration","sensibleDefaults","ComplexRubricConfigureElement","m","reset","_model","createDefaultModel","dispatchModelUpdated","_render","e","target","preventDefault","stopImmediatePropagation","id","getAttribute","update","rubrics","dispatchEvent","debug","log","_configuration","onConfigurationChanged","bind","resetValue","c","info","onModelChanged","addEventListener","onModelUpdated","removeEventListener","element","React","createElement","Main","ReactDOM","render","HTMLElement","simpleRubric","multiTraitRubric","defaults"],"mappings":"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","sourcesContent":["import { ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport RubricConfigure from '@pie-element/rubric/configure/lib';\nimport MultiTraitRubricConfigure from '@pie-element/multi-trait-rubric/configure/lib';\nimport debug from 'debug';\nimport defaults from 'lodash/defaults';\nimport Main from './main';\nimport sensibleDefaults from './defaults';\n\nconst MODEL_UPDATED = ModelUpdatedEvent.TYPE;\nconst RUBRIC_TAG_NAME = 'rubric-configure';\nconst MULTI_TRAIT_RUBRIC_TAG_NAME = 'multi-trait-rubric-configure';\n\nclass ComplexSimpleRubricConfigure extends RubricConfigure {}\nclass ComplexMTRConfigure extends MultiTraitRubricConfigure {}\n\nconst defineComplexRubric = () => {\n if (!customElements.get(RUBRIC_TAG_NAME)) {\n customElements.define(RUBRIC_TAG_NAME, ComplexSimpleRubricConfigure);\n }\n if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {\n customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexMTRConfigure);\n }\n};\n\ndefineComplexRubric();\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 ComplexRubricConfigureElement extends HTMLElement {\n static createDefaultModel = (\n {\n rubrics: { simpleRubric = {}, multiTraitRubric = {} } = { simpleRubric: {}, multiTraitRubric: {} },\n ...model\n } = {},\n defaults = {},\n ) => ({\n ...defaults,\n ...model,\n rubrics: {\n simpleRubric: {\n ...(defaults.rubrics || {}).simpleRubric,\n ...simpleRubric,\n },\n multiTraitRubric: {\n ...(defaults.rubrics || {}).multiTraitRubric,\n ...multiTraitRubric,\n },\n },\n });\n\n constructor() {\n super();\n debug.log('constructor called');\n this._model = ComplexRubricConfigureElement.createDefaultModel();\n\n this._configuration = sensibleDefaults.configuration;\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(m) {\n this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);\n\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 = ComplexRubricConfigureElement.createDefaultModel(m, this._model);\n\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n this._configuration = info.configuration;\n\n this._render();\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 onModelUpdated = (e) => {\n if (e.target === this) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n const id = e.target && e.target.getAttribute('id');\n\n if (id) {\n if (e.update) {\n this._model.rubrics[id] = e.update;\n }\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n };\n\n connectedCallback() {\n this.addEventListener(MODEL_UPDATED, this.onModelUpdated);\n this._render();\n }\n\n disconnectedCallback() {\n this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);\n }\n\n _render() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["MODEL_UPDATED","ModelUpdatedEvent","TYPE","RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexSimpleRubricConfigure","RubricConfigure","ComplexMTRConfigure","MultiTraitRubricConfigure","defineComplexRubric","customElements","get","define","prepareCustomizationObject","config","model","configuration","sensibleDefaults","ComplexRubricConfigureElement","m","reset","_model","createDefaultModel","dispatchModelUpdated","_render","e","target","preventDefault","stopImmediatePropagation","id","getAttribute","update","rubrics","dispatchEvent","canUpdateModel","debug","log","_configuration","onConfigurationChanged","bind","resetValue","c","info","onModelChanged","addEventListener","onModelUpdated","removeEventListener","element","React","createElement","Main","ReactDOM","render","HTMLElement","simpleRubric","multiTraitRubric","defaults"],"mappings":"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","sourcesContent":["import { ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport RubricConfigure from '@pie-element/rubric/configure/lib';\nimport MultiTraitRubricConfigure from '@pie-element/multi-trait-rubric/configure/lib';\nimport debug from 'debug';\nimport defaults from 'lodash/defaults';\nimport Main from './main';\nimport sensibleDefaults from './defaults';\n\nconst MODEL_UPDATED = ModelUpdatedEvent.TYPE;\nconst RUBRIC_TAG_NAME = 'rubric-configure';\nconst MULTI_TRAIT_RUBRIC_TAG_NAME = 'multi-trait-rubric-configure';\n\nclass ComplexSimpleRubricConfigure extends RubricConfigure {\n}\n\nclass ComplexMTRConfigure extends MultiTraitRubricConfigure {\n}\n\nconst defineComplexRubric = () => {\n if (!customElements.get(RUBRIC_TAG_NAME)) {\n customElements.define(RUBRIC_TAG_NAME, ComplexSimpleRubricConfigure);\n }\n if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {\n customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexMTRConfigure);\n }\n};\n\ndefineComplexRubric();\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 ComplexRubricConfigureElement extends HTMLElement {\n static createDefaultModel = (\n {\n rubrics: { simpleRubric = {}, multiTraitRubric = {} } = { simpleRubric: {}, multiTraitRubric: {} },\n ...model\n } = {},\n defaults = {},\n ) => ({\n ...defaults,\n ...model,\n rubrics: {\n simpleRubric: {\n ...(defaults.rubrics || {}).simpleRubric,\n ...simpleRubric,\n },\n multiTraitRubric: {\n ...(defaults.rubrics || {}).multiTraitRubric,\n ...multiTraitRubric,\n },\n },\n });\n\n constructor() {\n super();\n this.canUpdateModel = false;\n\n debug.log('constructor called');\n\n this._model = ComplexRubricConfigureElement.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(m) {\n this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);\n\n this.canUpdateModel = true;\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 = ComplexRubricConfigureElement.createDefaultModel(m, this._model);\n\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n this._configuration = info.configuration;\n\n this._render();\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 onModelUpdated = (e) => {\n if (e.target === this) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n const id = e.target && e.target.getAttribute('id');\n\n if (id) {\n if (e.update) {\n this._model.rubrics[id] = e.update;\n }\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n };\n\n connectedCallback() {\n this.addEventListener(MODEL_UPDATED, this.onModelUpdated);\n this._render();\n }\n\n disconnectedCallback() {\n this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);\n }\n\n _render() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n canUpdateModel: this.canUpdateModel\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
@@ -90,7 +90,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
90
90
  var _this$props = this.props,
91
91
  classes = _this$props.classes,
92
92
  model = _this$props.model,
93
- configuration = _this$props.configuration;
93
+ configuration = _this$props.configuration,
94
+ canUpdateModel = _this$props.canUpdateModel;
94
95
  var _model$rubrics = model.rubrics,
95
96
  rubrics = _model$rubrics === void 0 ? {} : _model$rubrics;
96
97
  var rubricType = model.rubricType;
@@ -112,10 +113,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
112
113
  ref: function ref(_ref) {
113
114
  if (_ref) {
114
115
  _this2.simpleRubric = _ref;
115
- _this2.simpleRubric.model = rubrics.simpleRubric;
116
- _this2.simpleRubric.configuration = _objectSpread(_objectSpread({}, simpleRubric), {}, {
117
- width: width
118
- });
116
+
117
+ if (canUpdateModel) {
118
+ _this2.simpleRubric.model = rubrics.simpleRubric;
119
+ _this2.simpleRubric.configuration = _objectSpread(_objectSpread({}, simpleRubric), {}, {
120
+ width: width
121
+ });
122
+ }
119
123
  }
120
124
  }
121
125
  });
@@ -128,10 +132,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
128
132
  ref: function ref(_ref2) {
129
133
  if (_ref2) {
130
134
  _this2.multiTraitRubric = _ref2;
131
- _this2.multiTraitRubric.model = rubrics.multiTraitRubric;
132
- _this2.multiTraitRubric.configuration = _objectSpread(_objectSpread({}, multiTraitRubric), {}, {
133
- width: width
134
- });
135
+
136
+ if (canUpdateModel) {
137
+ _this2.multiTraitRubric.model = rubrics.multiTraitRubric;
138
+ _this2.multiTraitRubric.configuration = _objectSpread(_objectSpread({}, multiTraitRubric), {}, {
139
+ width: width
140
+ });
141
+ }
135
142
  }
136
143
  }
137
144
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["styles","rubric","display","flexDirection","Main","model","onModelChanged","props","e","rubricType","target","value","classes","configuration","rubrics","multiTraitRubric","simpleRubric","width","rubricTag","RUBRIC_TYPES","SIMPLE_RUBRIC","ref","MULTI_TRAIT_RUBRIC","onChangeRubricType","React","Component","PropTypes","object","func","onConfigurationChanged"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RUBRIC_TYPES } from '@pie-lib/rubric';\nimport { layout } from '@pie-lib/config-ui';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FormControlLabel } from '@material-ui/core';\n\nconst styles = {\n rubric: {\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n onModelChanged = (model) => {\n const { onModelChanged } = this.props;\n\n return onModelChanged(model);\n };\n\n onChangeRubricType = (e) => {\n const { model } = this.props;\n\n const rubricType = e.target.value;\n this.onModelChanged({ ...model, rubricType });\n };\n\n render() {\n const { classes, model, configuration } = this.props;\n const { rubrics = {} } = model;\n let { rubricType } = model;\n const { multiTraitRubric, simpleRubric, width } = configuration;\n let rubricTag = '';\n\n if (!rubricType) {\n rubricType = RUBRIC_TYPES.SIMPLE_RUBRIC;\n }\n\n switch (rubricType) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n rubricTag = (\n <rubric-configure\n id=\"simpleRubric\"\n key=\"simple-rubric\"\n ref={(ref) => {\n if (ref) {\n this.simpleRubric = ref;\n this.simpleRubric.model = rubrics.simpleRubric;\n this.simpleRubric.configuration = { ...simpleRubric, width };\n }\n }}\n />\n );\n break;\n\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n rubricTag = (\n <multi-trait-rubric-configure\n id=\"multiTraitRubric\"\n key=\"multi-trait-rubric\"\n ref={(ref) => {\n if (ref) {\n this.multiTraitRubric = ref;\n this.multiTraitRubric.model = rubrics.multiTraitRubric;\n this.multiTraitRubric.configuration = { ...multiTraitRubric, width };\n }\n }}\n />\n );\n break;\n }\n\n return (\n <layout.ConfigLayout hideSettings={true} settings={null}>\n <div className={classes.rubric}>\n <div>\n <RadioGroup\n aria-label=\"rubric-type\"\n name=\"rubricType\"\n value={model.rubricType}\n onChange={this.onChangeRubricType}\n >\n <FormControlLabel\n value={RUBRIC_TYPES.SIMPLE_RUBRIC}\n control={<Radio checked={rubricType === RUBRIC_TYPES.SIMPLE_RUBRIC}/>}\n label=\"Simple Rubric\"\n />\n\n <FormControlLabel\n value={RUBRIC_TYPES.MULTI_TRAIT_RUBRIC}\n control={<Radio checked={rubricType === RUBRIC_TYPES.MULTI_TRAIT_RUBRIC}/>}\n label=\"Multi Trait Rubric\"\n />\n </RadioGroup>\n </div>\n\n <div>{rubricTag}</div>\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["styles","rubric","display","flexDirection","Main","model","onModelChanged","props","e","rubricType","target","value","classes","configuration","canUpdateModel","rubrics","multiTraitRubric","simpleRubric","width","rubricTag","RUBRIC_TYPES","SIMPLE_RUBRIC","ref","MULTI_TRAIT_RUBRIC","onChangeRubricType","React","Component","PropTypes","object","func","onConfigurationChanged"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RUBRIC_TYPES } from '@pie-lib/rubric';\nimport { layout } from '@pie-lib/config-ui';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FormControlLabel } from '@material-ui/core';\n\nconst styles = {\n rubric: {\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n onModelChanged = (model) => {\n const { onModelChanged } = this.props;\n\n return onModelChanged(model);\n };\n\n onChangeRubricType = (e) => {\n const { model } = this.props;\n\n const rubricType = e.target.value;\n this.onModelChanged({ ...model, rubricType });\n };\n\n render() {\n const { classes, model, configuration, canUpdateModel } = this.props;\n const { rubrics = {} } = model;\n let { rubricType } = model;\n const { multiTraitRubric, simpleRubric, width } = configuration;\n let rubricTag = '';\n\n if (!rubricType) {\n rubricType = RUBRIC_TYPES.SIMPLE_RUBRIC;\n }\n\n switch (rubricType) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n rubricTag = (\n <rubric-configure\n id=\"simpleRubric\"\n key=\"simple-rubric\"\n ref={(ref) => {\n if (ref) {\n this.simpleRubric = ref;\n\n if (canUpdateModel) {\n this.simpleRubric.model = rubrics.simpleRubric;\n this.simpleRubric.configuration = { ...simpleRubric, width };\n }\n }\n }}\n />\n );\n break;\n\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n rubricTag = (\n <multi-trait-rubric-configure\n id=\"multiTraitRubric\"\n key=\"multi-trait-rubric\"\n ref={(ref) => {\n if (ref) {\n this.multiTraitRubric = ref;\n\n if (canUpdateModel) {\n this.multiTraitRubric.model = rubrics.multiTraitRubric;\n this.multiTraitRubric.configuration = { ...multiTraitRubric, width };\n }\n }\n }}\n />\n );\n break;\n }\n\n return (\n <layout.ConfigLayout hideSettings={true} settings={null}>\n <div className={classes.rubric}>\n <div>\n <RadioGroup\n aria-label=\"rubric-type\"\n name=\"rubricType\"\n value={model.rubricType}\n onChange={this.onChangeRubricType}\n >\n <FormControlLabel\n value={RUBRIC_TYPES.SIMPLE_RUBRIC}\n control={<Radio checked={rubricType === RUBRIC_TYPES.SIMPLE_RUBRIC}/>}\n label=\"Simple Rubric\"\n />\n\n <FormControlLabel\n value={RUBRIC_TYPES.MULTI_TRAIT_RUBRIC}\n control={<Radio checked={rubricType === RUBRIC_TYPES.MULTI_TRAIT_RUBRIC}/>}\n label=\"Multi Trait Rubric\"\n />\n </RadioGroup>\n </div>\n\n <div>{rubricTag}</div>\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/complex-rubric-configure",
3
3
  "private": true,
4
- "version": "1.6.0",
4
+ "version": "1.6.1",
5
5
  "description": "Complex Rubric authoring view",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "Pie Framework Authors",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
- "@pie-element/multi-trait-rubric": "^2.7.0",
11
+ "@pie-element/multi-trait-rubric": "^2.7.1",
12
12
  "@pie-element/rubric": "^2.6.0",
13
13
  "@pie-framework/pie-configure-events": "^1.3.0",
14
14
  "@pie-lib/config-ui": "^11.4.0",
@@ -12,8 +12,11 @@ const MODEL_UPDATED = ModelUpdatedEvent.TYPE;
12
12
  const RUBRIC_TAG_NAME = 'rubric-configure';
13
13
  const MULTI_TRAIT_RUBRIC_TAG_NAME = 'multi-trait-rubric-configure';
14
14
 
15
- class ComplexSimpleRubricConfigure extends RubricConfigure {}
16
- class ComplexMTRConfigure extends MultiTraitRubricConfigure {}
15
+ class ComplexSimpleRubricConfigure extends RubricConfigure {
16
+ }
17
+
18
+ class ComplexMTRConfigure extends MultiTraitRubricConfigure {
19
+ }
17
20
 
18
21
  const defineComplexRubric = () => {
19
22
  if (!customElements.get(RUBRIC_TAG_NAME)) {
@@ -59,16 +62,20 @@ export default class ComplexRubricConfigureElement extends HTMLElement {
59
62
 
60
63
  constructor() {
61
64
  super();
65
+ this.canUpdateModel = false;
66
+
62
67
  debug.log('constructor called');
63
- this._model = ComplexRubricConfigureElement.createDefaultModel();
64
68
 
69
+ this._model = ComplexRubricConfigureElement.createDefaultModel();
65
70
  this._configuration = sensibleDefaults.configuration;
71
+
66
72
  this.onConfigurationChanged = this.onConfigurationChanged.bind(this);
67
73
  }
68
74
 
69
75
  set model(m) {
70
76
  this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);
71
77
 
78
+ this.canUpdateModel = true;
72
79
  this._render();
73
80
  }
74
81
 
@@ -136,6 +143,7 @@ export default class ComplexRubricConfigureElement extends HTMLElement {
136
143
  configuration: this._configuration,
137
144
  onModelChanged: this.onModelChanged,
138
145
  onConfigurationChanged: this.onConfigurationChanged,
146
+ canUpdateModel: this.canUpdateModel
139
147
  });
140
148
 
141
149
  ReactDOM.render(element, this);
@@ -37,7 +37,7 @@ export class Main extends React.Component {
37
37
  };
38
38
 
39
39
  render() {
40
- const { classes, model, configuration } = this.props;
40
+ const { classes, model, configuration, canUpdateModel } = this.props;
41
41
  const { rubrics = {} } = model;
42
42
  let { rubricType } = model;
43
43
  const { multiTraitRubric, simpleRubric, width } = configuration;
@@ -57,8 +57,11 @@ export class Main extends React.Component {
57
57
  ref={(ref) => {
58
58
  if (ref) {
59
59
  this.simpleRubric = ref;
60
- this.simpleRubric.model = rubrics.simpleRubric;
61
- this.simpleRubric.configuration = { ...simpleRubric, width };
60
+
61
+ if (canUpdateModel) {
62
+ this.simpleRubric.model = rubrics.simpleRubric;
63
+ this.simpleRubric.configuration = { ...simpleRubric, width };
64
+ }
62
65
  }
63
66
  }}
64
67
  />
@@ -73,8 +76,11 @@ export class Main extends React.Component {
73
76
  ref={(ref) => {
74
77
  if (ref) {
75
78
  this.multiTraitRubric = ref;
76
- this.multiTraitRubric.model = rubrics.multiTraitRubric;
77
- this.multiTraitRubric.configuration = { ...multiTraitRubric, width };
79
+
80
+ if (canUpdateModel) {
81
+ this.multiTraitRubric.model = rubrics.multiTraitRubric;
82
+ this.multiTraitRubric.configuration = { ...multiTraitRubric, width };
83
+ }
78
84
  }
79
85
  }}
80
86
  />
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/complex-rubric",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "1.7.1-next.4+660136116",
4
+ "version": "1.7.2-next.2+755b939e9",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
- "@pie-element/multi-trait-rubric": "^2.7.1-next.4+660136116",
11
- "@pie-element/rubric": "^2.6.1-next.4+660136116",
10
+ "@pie-element/multi-trait-rubric": "^2.7.2-next.2+755b939e9",
11
+ "@pie-element/rubric": "^2.6.1-next.14+755b939e9",
12
12
  "@pie-framework/pie-player-events": "^0.1.0",
13
13
  "@pie-lib/rubric": "^0.7.12",
14
14
  "classnames": "^2.2.5",
@@ -16,7 +16,7 @@
16
16
  "lodash": "^4.17.11",
17
17
  "prop-types": "^15.7.2"
18
18
  },
19
- "gitHead": "660136116e3b565c5fbd41c9d5f9d40294057733",
19
+ "gitHead": "755b939e9891a6523a5d20360e52dce285fbc83a",
20
20
  "scripts": {
21
21
  "postpublish": "../../scripts/postpublish"
22
22
  },