@pie-element/graphing-solution-set 6.1.3 → 6.1.5
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 +13 -0
- package/configure/CHANGELOG.md +13 -0
- package/configure/lib/index.js +4 -0
- package/configure/lib/index.js.map +1 -1
- package/configure/package.json +4 -4
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
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
|
+
## [6.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set@6.1.4...@pie-element/graphing-solution-set@6.1.5) (2026-06-22)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
11
|
+
- handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
|
|
12
|
+
|
|
13
|
+
## [6.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set@6.1.3...@pie-element/graphing-solution-set@6.1.4) (2026-06-17)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
- 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))
|
|
18
|
+
|
|
6
19
|
## [6.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set@6.1.2...@pie-element/graphing-solution-set@6.1.3) (2026-06-12)
|
|
7
20
|
|
|
8
21
|
### Bug Fixes
|
package/configure/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
|
+
## [5.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-configure@5.1.4...@pie-element/graphing-solution-set-configure@5.1.5) (2026-06-22)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
11
|
+
- handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
|
|
12
|
+
|
|
13
|
+
## [5.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-configure@5.1.3...@pie-element/graphing-solution-set-configure@5.1.4) (2026-06-17)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
- 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))
|
|
18
|
+
|
|
6
19
|
## [5.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-configure@5.1.2...@pie-element/graphing-solution-set-configure@5.1.3) (2026-06-12)
|
|
7
20
|
|
|
8
21
|
### Bug Fixes
|
package/configure/lib/index.js
CHANGED
|
@@ -122,9 +122,13 @@ class GraphLinesConfigure extends HTMLElement {
|
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
+
connectedCallback() {
|
|
126
|
+
this._render();
|
|
127
|
+
}
|
|
125
128
|
disconnectedCallback() {
|
|
126
129
|
if (this._root) {
|
|
127
130
|
this._root.unmount();
|
|
131
|
+
this._root = null;
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_configure","_pieConfigureEvents","_debug","_defaults","_mathRendering","log","debug","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","HTMLElement","constructor","_defineProperty2","default","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","_root","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","delete","onDeleteImage","uploadSoundSupport","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing-solution-set:configure');\n\n// this function is implemented in controller as well\nconst sortedAnswers = (answers) =>\n Object.keys(answers || {})\n .sort()\n .reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n }, {});\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = { ...defaultValues.model, ...model };\n const { answers = {}, domain = {}, graph = {}, range = {}, standardGrid } = normalizedModel;\n return {\n ...normalizedModel,\n answers:\n (answers &&\n answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers),\n }) ||\n answers,\n range:\n (standardGrid && {\n ...range,\n min: domain.min,\n max: domain.max,\n step: domain.step,\n labelStep: domain.labelStep,\n }) ||\n range,\n graph: (standardGrid && { ...graph, height: graph.width }) || graph,\n };\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n /*\n * Function to set the model\n * */\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n /*\n * Function to set the configuration\n * */\n set configuration(c) {\n this._configuration = c;\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n //TODO: add logic in controller and add tests\n if (c.language?.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else {\n if (c.language.settings) {\n if (this._model.language) {\n this._configuration.language.enabled = true;\n }\n } else {\n delete this._model.language;\n }\n }\n this._render();\n }\n\n /*\n * Triggered when the model is changed\n * @param {object} model - the new model\n * */\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n log('[onModelChanged]: ', this._model);\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n /*\n * Triggered when the configuration is changed\n * @param {object} config - the new configuration\n * */\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n /*\n * Render the component\n * */\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.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\n disconnectedCallback() {\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":["_react","_interopRequireDefault","require","_client","_configure","_pieConfigureEvents","_debug","_defaults","_mathRendering","log","debug","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","HTMLElement","constructor","_defineProperty2","default","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","_root","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","delete","onDeleteImage","uploadSoundSupport","bind","createRoot","render","queueMicrotask","renderMath","connectedCallback","disconnectedCallback","unmount","exports","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing-solution-set:configure');\n\n// this function is implemented in controller as well\nconst sortedAnswers = (answers) =>\n Object.keys(answers || {})\n .sort()\n .reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n }, {});\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = { ...defaultValues.model, ...model };\n const { answers = {}, domain = {}, graph = {}, range = {}, standardGrid } = normalizedModel;\n return {\n ...normalizedModel,\n answers:\n (answers &&\n answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers),\n }) ||\n answers,\n range:\n (standardGrid && {\n ...range,\n min: domain.min,\n max: domain.max,\n step: domain.step,\n labelStep: domain.labelStep,\n }) ||\n range,\n graph: (standardGrid && { ...graph, height: graph.width }) || graph,\n };\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n /*\n * Function to set the model\n * */\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n /*\n * Function to set the configuration\n * */\n set configuration(c) {\n this._configuration = c;\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n //TODO: add logic in controller and add tests\n if (c.language?.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else {\n if (c.language.settings) {\n if (this._model.language) {\n this._configuration.language.enabled = true;\n }\n } else {\n delete this._model.language;\n }\n }\n this._render();\n }\n\n /*\n * Triggered when the model is changed\n * @param {object} model - the new model\n * */\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n log('[onModelChanged]: ', this._model);\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n /*\n * Triggered when the configuration is changed\n * @param {object} config - the new configuration\n * */\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n /*\n * Render the component\n * */\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.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\n connectedCallback() {\n this._render();\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/configure/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/graphing-solution-set-configure",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "5.1.
|
|
4
|
+
"version": "5.1.5",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"@mui/icons-material": "^7.3.4",
|
|
13
13
|
"@mui/material": "^7.3.4",
|
|
14
14
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
15
|
-
"@pie-lib/config-ui": "13.0.
|
|
16
|
-
"@pie-lib/editable-html-tip-tap": "2.1.
|
|
17
|
-
"@pie-lib/graphing-solution-set": "4.0.
|
|
15
|
+
"@pie-lib/config-ui": "13.0.9",
|
|
16
|
+
"@pie-lib/editable-html-tip-tap": "2.1.7",
|
|
17
|
+
"@pie-lib/graphing-solution-set": "4.0.9",
|
|
18
18
|
"@pie-lib/math-rendering": "5.0.2",
|
|
19
19
|
"classnames": "^2.2.6",
|
|
20
20
|
"debug": "^4.1.1",
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_utils","_main","Graphing","HTMLElement","constructor","_defineProperty2","default","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","removeInvalidAnswers","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","_root","model","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","findSectionsInSolutionSet","connectedCallback","el","React","createElement","Main","onAnswersChange","changeAnswers","setGssData","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports"],"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 { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\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":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_utils","_main","Graphing","HTMLElement","constructor","_defineProperty2","default","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","removeInvalidAnswers","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","_root","model","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","findSectionsInSolutionSet","connectedCallback","el","React","createElement","Main","onAnswersChange","changeAnswers","setGssData","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports"],"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 { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\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 this._root = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "6.1.
|
|
7
|
+
"version": "6.1.5",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"@mui/icons-material": "^7.3.4",
|
|
17
17
|
"@mui/material": "^7.3.4",
|
|
18
18
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
19
|
-
"@pie-lib/config-ui": "13.0.
|
|
19
|
+
"@pie-lib/config-ui": "13.0.9",
|
|
20
20
|
"@pie-lib/correct-answer-toggle": "4.0.4",
|
|
21
|
-
"@pie-lib/graphing-solution-set": "4.0.
|
|
21
|
+
"@pie-lib/graphing-solution-set": "4.0.9",
|
|
22
22
|
"@pie-lib/math-rendering": "5.0.2",
|
|
23
23
|
"@pie-lib/render-ui": "6.1.2",
|
|
24
24
|
"classnames": "^2.2.6",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"author": "",
|
|
30
30
|
"license": "ISC",
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "f898c2bf045f66d34e66e8bb201950bfd00b2f0f",
|
|
32
32
|
"main": "lib/index.js",
|
|
33
33
|
"module": "src/index.js"
|
|
34
34
|
}
|