@pie-element/complex-rubric 7.1.2 → 7.1.4

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,19 @@
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
+ ## [7.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@7.1.3...@pie-element/complex-rubric@7.1.4) (2026-06-17)
7
+
8
+ ### Bug Fixes
9
+
10
+ - bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
11
+ - nulling root in case consumer triggers recreation of the component on update PIE-672 ([efb5faa](https://github.com/pie-framework/pie-elements/commit/efb5faa2ee7dbcb1e9e32527c39f90c3dd25f7bc))
12
+
13
+ ## [7.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@7.1.2...@pie-element/complex-rubric@7.1.3) (2026-06-12)
14
+
15
+ ### Bug Fixes
16
+
17
+ - bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
18
+
6
19
  ## [7.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@7.1.1...@pie-element/complex-rubric@7.1.2) (2026-06-04)
7
20
 
8
21
  ### Bug Fixes
@@ -3,6 +3,19 @@
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
+ ## [5.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@5.1.3...@pie-element/complex-rubric-configure@5.1.4) (2026-06-17)
7
+
8
+ ### Bug Fixes
9
+
10
+ - bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
11
+ - nulling root in case consumer triggers recreation of the component on update PIE-672 ([efb5faa](https://github.com/pie-framework/pie-elements/commit/efb5faa2ee7dbcb1e9e32527c39f90c3dd25f7bc))
12
+
13
+ ## [5.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@5.1.2...@pie-element/complex-rubric-configure@5.1.3) (2026-06-12)
14
+
15
+ ### Bug Fixes
16
+
17
+ - bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
18
+
6
19
  ## [5.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@5.1.1...@pie-element/complex-rubric-configure@5.1.2) (2026-06-04)
7
20
 
8
21
  ### Bug Fixes
@@ -107,6 +107,7 @@ class ComplexRubricConfigureElement extends HTMLElement {
107
107
  this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);
108
108
  if (this._root) {
109
109
  this._root.unmount();
110
+ this._root = null;
110
111
  }
111
112
  }
112
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_pieConfigureEvents","require","_react","_interopRequireDefault","_client","_lib","_lib2","_debug","_lodashEs","_main","_defaults","MODEL_UPDATED","ModelUpdatedEvent","TYPE","RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexSimpleRubricConfigure","RubricConfigure","ComplexMTRConfigure","MultiTraitRubricConfigure","defineComplexRubric","customElements","get","define","prepareCustomizationObject","config","model","configuration","defaults","sensibleDefaults","ComplexRubricConfigureElement","HTMLElement","constructor","_defineProperty2","default","m","reset","_model","createDefaultModel","dispatchModelUpdated","_render","e","target","preventDefault","stopImmediatePropagation","id","getAttribute","update","rubrics","dispatchEvent","_root","canUpdateModel","debug","log","_configuration","onConfigurationChanged","bind","resetValue","c","info","onModelChanged","connectedCallback","addEventListener","onModelUpdated","element","React","createElement","Main","createRoot","render","disconnectedCallback","removeEventListener","unmount","exports","simpleRubric","rubricless","multiTraitRubric","currentModel","pieDefaults"],"sources":["../src/index.js"],"sourcesContent":["import { ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\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-es';\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\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._root = null;\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 _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 if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n\n disconnectedCallback() {\n this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_pieConfigureEvents","require","_react","_interopRequireDefault","_client","_lib","_lib2","_debug","_lodashEs","_main","_defaults","MODEL_UPDATED","ModelUpdatedEvent","TYPE","RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexSimpleRubricConfigure","RubricConfigure","ComplexMTRConfigure","MultiTraitRubricConfigure","defineComplexRubric","customElements","get","define","prepareCustomizationObject","config","model","configuration","defaults","sensibleDefaults","ComplexRubricConfigureElement","HTMLElement","constructor","_defineProperty2","default","m","reset","_model","createDefaultModel","dispatchModelUpdated","_render","e","target","preventDefault","stopImmediatePropagation","id","getAttribute","update","rubrics","dispatchEvent","_root","canUpdateModel","debug","log","_configuration","onConfigurationChanged","bind","resetValue","c","info","onModelChanged","connectedCallback","addEventListener","onModelUpdated","element","React","createElement","Main","createRoot","render","disconnectedCallback","removeEventListener","unmount","exports","simpleRubric","rubricless","multiTraitRubric","currentModel","pieDefaults"],"sources":["../src/index.js"],"sourcesContent":["import { ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\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-es';\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\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._root = null;\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 _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 if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n\n disconnectedCallback() {\n this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/complex-rubric-configure",
3
3
  "private": true,
4
- "version": "5.1.2",
4
+ "version": "5.1.4",
5
5
  "description": "Complex Rubric authoring view",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -11,12 +11,12 @@
11
11
  "@emotion/style": "^0.8.0",
12
12
  "@mui/icons-material": "^7.3.4",
13
13
  "@mui/material": "^7.3.4",
14
- "@pie-element/multi-trait-rubric": "^8.1.2",
15
- "@pie-element/rubric": "^8.1.2",
14
+ "@pie-element/multi-trait-rubric": "^8.1.4",
15
+ "@pie-element/rubric": "^8.1.4",
16
16
  "@pie-framework/pie-configure-events": "^1.3.0",
17
- "@pie-lib/config-ui": "13.0.6",
18
- "@pie-lib/render-ui": "6.1.1",
19
- "@pie-lib/rubric": "2.0.6",
17
+ "@pie-lib/config-ui": "13.0.8",
18
+ "@pie-lib/render-ui": "6.1.2",
19
+ "@pie-lib/rubric": "2.0.8",
20
20
  "debug": "^4.1.1",
21
21
  "lodash-es": "^4.17.23",
22
22
  "prop-types": "^15.8.1",
@@ -164,6 +164,7 @@ export default class ComplexRubricConfigureElement extends HTMLElement {
164
164
  this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);
165
165
  if (this._root) {
166
166
  this._root.unmount();
167
+ this._root = null;
167
168
  }
168
169
  }
169
170
  }