@pie-element/complex-rubric 2.4.1-next.6 → 2.4.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 CHANGED
@@ -3,6 +3,21 @@
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
+ ## [2.4.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@2.4.0...@pie-element/complex-rubric@2.4.1) (2024-03-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **complex-rubric:** adjust createDefaults method PD-3488 ([328fb26](https://github.com/pie-framework/pie-elements/commit/328fb26617860936fcfd7a45f16f40cb90ddda25))
12
+ * **complex-rubric:** avoid defaults always empty PD-3499 ([274857e](https://github.com/pie-framework/pie-elements/commit/274857e394429c9a1dcd404083ffbe7651283a5c))
13
+ * **complex-rubric:** change parameters name to be more clear PD-3488 ([53029e3](https://github.com/pie-framework/pie-elements/commit/53029e36a034c2e16442a082dab4f6dbc7a2c15a))
14
+ * **complex-rubric:** fix createModel to use defaults PD-3488 ([49e3510](https://github.com/pie-framework/pie-elements/commit/49e3510dff5dfec482d4ac2af4488b410b06e81b))
15
+ * **complex-rubric:** use actual model in createModel to avoid inconsistencies PD-3488 ([99fc1be](https://github.com/pie-framework/pie-elements/commit/99fc1be3017c282097e02262806bde936f674b64))
16
+
17
+
18
+
19
+
20
+
6
21
  # [2.4.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@2.3.5...@pie-element/complex-rubric@2.4.0) (2024-03-04)
7
22
 
8
23
 
@@ -3,6 +3,21 @@
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
+ ## [2.1.19](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@2.1.18...@pie-element/complex-rubric-configure@2.1.19) (2024-03-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **complex-rubric:** adjust createDefaults method PD-3488 ([328fb26](https://github.com/pie-framework/pie-elements/commit/328fb26617860936fcfd7a45f16f40cb90ddda25))
12
+ * **complex-rubric:** avoid defaults always empty PD-3499 ([274857e](https://github.com/pie-framework/pie-elements/commit/274857e394429c9a1dcd404083ffbe7651283a5c))
13
+ * **complex-rubric:** change parameters name to be more clear PD-3488 ([53029e3](https://github.com/pie-framework/pie-elements/commit/53029e36a034c2e16442a082dab4f6dbc7a2c15a))
14
+ * **complex-rubric:** fix createModel to use defaults PD-3488 ([49e3510](https://github.com/pie-framework/pie-elements/commit/49e3510dff5dfec482d4ac2af4488b410b06e81b))
15
+ * **complex-rubric:** use actual model in createModel to avoid inconsistencies PD-3488 ([99fc1be](https://github.com/pie-framework/pie-elements/commit/99fc1be3017c282097e02262806bde936f674b64))
16
+
17
+
18
+
19
+
20
+
6
21
  ## [2.1.18](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@2.1.17...@pie-element/complex-rubric-configure@2.1.18) (2024-03-04)
7
22
 
8
23
  **Note:** Version bump only for package @pie-element/complex-rubric-configure
@@ -211,6 +211,8 @@ var ComplexRubricConfigureElement = /*#__PURE__*/function (_HTMLElement) {
211
211
 
212
212
  exports["default"] = ComplexRubricConfigureElement;
213
213
  (0, _defineProperty2["default"])(ComplexRubricConfigureElement, "createDefaultModel", function () {
214
+ var _sensibleDefaults$mod, _sensibleDefaults$mod2, _sensibleDefaults$mod3;
215
+
214
216
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
215
217
  _ref$rubrics = _ref.rubrics;
216
218
 
@@ -226,12 +228,13 @@ exports["default"] = ComplexRubricConfigureElement;
226
228
  _ref$rubrics$multiTra = _ref$rubrics.multiTraitRubric,
227
229
  multiTraitRubric = _ref$rubrics$multiTra === void 0 ? {} : _ref$rubrics$multiTra,
228
230
  model = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
229
- var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
230
- return _objectSpread(_objectSpread(_objectSpread({}, defaults), model), {}, {
231
+ var currentModel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
232
+ var pieDefaults = (_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : _defaults2["default"].model) || {};
233
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieDefaults), currentModel), model), {}, {
231
234
  rubrics: {
232
- simpleRubric: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).simpleRubric), simpleRubric),
233
- multiTraitRubric: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).multiTraitRubric), multiTraitRubric),
234
- rubricless: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).rubricless), rubricless)
235
+ simpleRubric: _objectSpread(_objectSpread(_objectSpread({}, ((_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : (_sensibleDefaults$mod = _defaults2["default"].model) === null || _sensibleDefaults$mod === void 0 ? void 0 : _sensibleDefaults$mod.rubrics) || {}).simpleRubric), (currentModel.rubrics || {}).simpleRubric), simpleRubric),
236
+ multiTraitRubric: _objectSpread(_objectSpread(_objectSpread({}, ((_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : (_sensibleDefaults$mod2 = _defaults2["default"].model) === null || _sensibleDefaults$mod2 === void 0 ? void 0 : _sensibleDefaults$mod2.rubrics) || {}).multiTraitRubric), (currentModel.rubrics || {}).multiTraitRubric), multiTraitRubric),
237
+ rubricless: _objectSpread(_objectSpread(_objectSpread({}, ((_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : (_sensibleDefaults$mod3 = _defaults2["default"].model) === null || _sensibleDefaults$mod3 === void 0 ? void 0 : _sensibleDefaults$mod3.rubrics) || {}).rubricless), (currentModel.rubrics || {}).rubricless), rubricless)
235
238
  }
236
239
  });
237
240
  });
@@ -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","canUpdateModel","debug","log","_configuration","onConfigurationChanged","bind","resetValue","c","info","onModelChanged","addEventListener","onModelUpdated","removeEventListener","element","React","createElement","Main","ReactDOM","render","HTMLElement","simpleRubric","rubricless","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 = {}, rubricless = {}, multiTraitRubric = {} } = { simpleRubric: {}, rubricless: {}, multiTraitRubric: {} },\n ...model\n } = {},\n defaults = {},\n ) =>\n {\n return {\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 rubricless: {\n ...(defaults.rubrics || {}).rubricless,\n ...rubricless,\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\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"}
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","rubricless","multiTraitRubric","currentModel","pieDefaults"],"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 = {}, rubricless = {}, multiTraitRubric = {} } = { simpleRubric: {}, rubricless: {}, multiTraitRubric: {} },\n ...model\n } = {},\n currentModel = {},\n ) =>\n {\n const pieDefaults = sensibleDefaults?.model || {}\n return {\n ...pieDefaults,\n ...currentModel,\n ...model,\n rubrics: {\n simpleRubric: {\n ...(sensibleDefaults?.model?.rubrics || {}).simpleRubric,\n ...(currentModel.rubrics || {}).simpleRubric,\n ...simpleRubric,\n },\n multiTraitRubric: {\n ...(sensibleDefaults?.model?.rubrics || {}).multiTraitRubric,\n ...(currentModel.rubrics || {}).multiTraitRubric,\n ...multiTraitRubric,\n },\n rubricless: {\n ...(sensibleDefaults?.model?.rubrics || {}).rubricless,\n ...(currentModel.rubrics || {}).rubricless,\n ...rubricless,\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\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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/complex-rubric-configure",
3
3
  "private": true,
4
- "version": "2.1.18",
4
+ "version": "2.1.19",
5
5
  "description": "Complex Rubric authoring view",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -44,23 +44,28 @@ export default class ComplexRubricConfigureElement extends HTMLElement {
44
44
  rubrics: { simpleRubric = {}, rubricless = {}, multiTraitRubric = {} } = { simpleRubric: {}, rubricless: {}, multiTraitRubric: {} },
45
45
  ...model
46
46
  } = {},
47
- defaults = {},
47
+ currentModel = {},
48
48
  ) =>
49
49
  {
50
+ const pieDefaults = sensibleDefaults?.model || {}
50
51
  return {
51
- ...defaults,
52
- ...model,
52
+ ...pieDefaults,
53
+ ...currentModel,
54
+ ...model,
53
55
  rubrics: {
54
56
  simpleRubric: {
55
- ...(defaults.rubrics || {}).simpleRubric,
57
+ ...(sensibleDefaults?.model?.rubrics || {}).simpleRubric,
58
+ ...(currentModel.rubrics || {}).simpleRubric,
56
59
  ...simpleRubric,
57
60
  },
58
61
  multiTraitRubric: {
59
- ...(defaults.rubrics || {}).multiTraitRubric,
62
+ ...(sensibleDefaults?.model?.rubrics || {}).multiTraitRubric,
63
+ ...(currentModel.rubrics || {}).multiTraitRubric,
60
64
  ...multiTraitRubric,
61
65
  },
62
66
  rubricless: {
63
- ...(defaults.rubrics || {}).rubricless,
67
+ ...(sensibleDefaults?.model?.rubrics || {}).rubricless,
68
+ ...(currentModel.rubrics || {}).rubricless,
64
69
  ...rubricless,
65
70
  },
66
71
  },
@@ -2,7 +2,6 @@ exports.model = (id, element) => ({
2
2
  id,
3
3
  element,
4
4
  rubricType: 'simpleRubric',
5
- rubricOptions: ['simpleRubric', 'multiTraitRubric'],
6
5
  rubrics: {
7
6
  simpleRubric: {
8
7
  points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
@@ -233016,6 +233016,27 @@ const React = _dll_react;
233016
233016
  const ReactDOM = _dll_react_dom;
233017
233017
  const debug = _dll_debug;
233018
233018
  const {defaults: defaults} = _dll_lodash;
233019
+ function _optionalChain(ops) {
233020
+ let lastAccessLHS = undefined;
233021
+ let value = ops[0];
233022
+ let i = 1;
233023
+ while (i < ops.length) {
233024
+ const op = ops[i];
233025
+ const fn = ops[i + 1];
233026
+ i += 2;
233027
+ if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {
233028
+ return undefined;
233029
+ }
233030
+ if (op === 'access' || op === 'optionalAccess') {
233031
+ lastAccessLHS = value;
233032
+ value = fn(value);
233033
+ } else if (op === 'call' || op === 'optionalCall') {
233034
+ value = fn((...args) => value.call(lastAccessLHS, ...args));
233035
+ lastAccessLHS = undefined;
233036
+ }
233037
+ }
233038
+ return value;
233039
+ }
233019
233040
  const MODEL_UPDATED = ModelUpdatedEvent_1.TYPE;
233020
233041
  const RUBRIC_TAG_NAME = 'rubric-configure';
233021
233042
  const MULTI_TRAIT_RUBRIC_TAG_NAME = 'multi-trait-rubric-configure';
@@ -233043,21 +233064,26 @@ class ComplexRubricConfigureElement extends HTMLElement {
233043
233064
  simpleRubric: {},
233044
233065
  rubricless: {},
233045
233066
  multiTraitRubric: {}
233046
- }, ...model} = {}, defaults = {}) => {
233067
+ }, ...model} = {}, currentModel = {}) => {
233068
+ const pieDefaults = _optionalChain([sensibleDefaults, 'optionalAccess', _8 => _8.model]) || ({});
233047
233069
  return {
233048
- ...defaults,
233070
+ ...pieDefaults,
233071
+ ...currentModel,
233049
233072
  ...model,
233050
233073
  rubrics: {
233051
233074
  simpleRubric: {
233052
- ...(defaults.rubrics || ({})).simpleRubric,
233075
+ ...(_optionalChain([sensibleDefaults, 'optionalAccess', _9 => _9.model, 'optionalAccess', _10 => _10.rubrics]) || ({})).simpleRubric,
233076
+ ...(currentModel.rubrics || ({})).simpleRubric,
233053
233077
  ...simpleRubric
233054
233078
  },
233055
233079
  multiTraitRubric: {
233056
- ...(defaults.rubrics || ({})).multiTraitRubric,
233080
+ ...(_optionalChain([sensibleDefaults, 'optionalAccess', _11 => _11.model, 'optionalAccess', _12 => _12.rubrics]) || ({})).multiTraitRubric,
233081
+ ...(currentModel.rubrics || ({})).multiTraitRubric,
233057
233082
  ...multiTraitRubric
233058
233083
  },
233059
233084
  rubricless: {
233060
- ...(defaults.rubrics || ({})).rubricless,
233085
+ ...(_optionalChain([sensibleDefaults, 'optionalAccess', _13 => _13.model, 'optionalAccess', _14 => _14.rubrics]) || ({})).rubricless,
233086
+ ...(currentModel.rubrics || ({})).rubricless,
233061
233087
  ...rubricless
233062
233088
  }
233063
233089
  }
package/module/demo.js CHANGED
@@ -8,7 +8,6 @@ generate.model = (id, element) => ({
8
8
  id,
9
9
  element,
10
10
  rubricType: 'simpleRubric',
11
- rubricOptions: ['simpleRubric', 'multiTraitRubric'],
12
11
  rubrics: {
13
12
  simpleRubric: {
14
13
  points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
@@ -6,7 +6,6 @@ generate.model = (id, element) => ({
6
6
  id,
7
7
  element,
8
8
  rubricType: 'simpleRubric',
9
- rubricOptions: ['simpleRubric', 'multiTraitRubric'],
10
9
  rubrics: {
11
10
  simpleRubric: {
12
11
  points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@pie-element/complex-rubric",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "2.4.1-next.6+58a2b4054",
4
+ "version": "2.4.1",
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": "^3.4.1-next.6+58a2b4054",
11
- "@pie-element/rubric": "^3.3.1-next.6+58a2b4054",
10
+ "@pie-element/multi-trait-rubric": "^3.4.0",
11
+ "@pie-element/rubric": "^3.3.0",
12
12
  "@pie-framework/pie-player-events": "^0.1.0",
13
13
  "classnames": "^2.2.5",
14
14
  "debug": "^4.1.1",
15
15
  "lodash": "^4.17.11",
16
16
  "prop-types": "^15.7.2"
17
17
  },
18
- "gitHead": "58a2b4054c992254766b1fe55211f61c2187acdd",
18
+ "gitHead": "36e808657629fb1ffe9b1fcda008611cf9d6fc65",
19
19
  "scripts": {
20
20
  "postpublish": "../../scripts/postpublish"
21
21
  },