@pie-element/graphing-solution-set 2.1.8-next.0 → 2.1.8-next.7

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.
@@ -35,7 +35,7 @@ var _debug = _interopRequireDefault(require("debug"));
35
35
 
36
36
  var _defaults = _interopRequireDefault(require("./defaults"));
37
37
 
38
- var _mathRenderingAccessible = require("@pie-lib/pie-toolbox/math-rendering-accessible");
38
+ var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
39
39
 
40
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
41
 
@@ -177,7 +177,7 @@ var GraphLinesConfigure = /*#__PURE__*/function (_HTMLElement) {
177
177
  });
178
178
 
179
179
  _reactDom["default"].render(el, this, function () {
180
- (0, _mathRenderingAccessible.renderMath)(_this2);
180
+ (0, _mathRendering.renderMath)(_this2);
181
181
  });
182
182
  }
183
183
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\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/pie-toolbox/math-rendering-accessible';\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._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 ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAOA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,8CAAN,CAAZ,C,CAEA;;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD;AAAA,SACpBC,MAAM,CAACC,IAAP,CAAYF,OAAO,IAAI,EAAvB,EACGG,IADH,GAEGC,MAFH,CAEU,UAACC,MAAD,EAASC,GAAT,EAAiB;AACvB,QAAIA,GAAG,KAAK,eAAZ,EAA6B;AAC3BD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcN,OAAO,CAACM,GAAD,CAArB;AACD;;AAED,WAAOD,MAAP;AACD,GARH,EAQK,EARL,CADoB;AAAA,CAAtB;;IAWqBE,mB;;;;;AA0BnB,iCAAc;AAAA;;AAAA;AACZ;AADY,uGA4CG,UAACC,KAAD,EAAW;AAC1B,YAAKC,MAAL,GAAcD,KAAd;;AACA,YAAKE,OAAL;;AACAZ,MAAAA,GAAG,CAAC,oBAAD,EAAuB,MAAKW,MAA5B,CAAH;;AACA,YAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,MAAKH,MAA3B,CAAnB;AACD,KAjDa;AAAA,+GAuDW,UAACI,MAAD,EAAY;AACnC,YAAKC,cAAL,GAAsBD,MAAtB;;AACA,YAAKH,OAAL;AACD,KA1Da;AAAA,oGA4DA,UAACK,OAAD,EAAa;AACzB,YAAKJ,aAAL,CAAmB,IAAIK,oCAAJ,CAAqBD,OAArB,CAAnB;AACD,KA9Da;AAAA,sGAgEE,UAACE,GAAD,EAAMC,IAAN,EAAe;AAC7B,YAAKP,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD,KAlEa;AAEZ,UAAKT,MAAL,GAAcF,mBAAmB,CAACa,kBAApB,EAAd;AACA,UAAKN,cAAL,GAAsBO,qBAAcC,aAApC;AAHY;AAIb;AAED;AACF;AACA;;;;;SACE,aAAUC,CAAV,EAAa;AACX,WAAKd,MAAL,GAAcF,mBAAmB,CAACa,kBAApB,CAAuCG,CAAvC,CAAd;;AACA,WAAKb,OAAL;AACD;AAED;AACF;AACA;;;;SACE,aAAkBc,CAAlB,EAAqB;AAAA;;AACnB,WAAKV,cAAL,GAAsBU,CAAtB,CADmB,CAEnB;AACA;AACA;AACA;AACA;;AACA,yBAAIA,CAAC,CAACC,QAAN,wCAAI,YAAYC,OAAhB,EAAyB;AAAA;;AACvB,kCAAIF,CAAC,CAACG,eAAN,wEAAI,mBAAmBC,OAAvB,kDAAI,sBAA4BC,MAAhC,EAAwC;AACtC,eAAKpB,MAAL,CAAYgB,QAAZ,GAAuBD,CAAC,CAACG,eAAF,CAAkBC,OAAlB,CAA0B,CAA1B,EAA6BE,KAApD;AACD;AACF,OAJD,MAIO;AACL,YAAIN,CAAC,CAACC,QAAF,CAAWM,QAAf,EAAyB;AACvB,cAAI,KAAKtB,MAAL,CAAYgB,QAAhB,EAA0B;AACxB,iBAAKX,cAAL,CAAoBW,QAApB,CAA6BC,OAA7B,GAAuC,IAAvC;AACD;AACF,SAJD,MAIO;AACL,iBAAO,KAAKjB,MAAL,CAAYgB,QAAnB;AACD;AACF;;AACD,WAAKf,OAAL;AACD;AAED;AACF;AACA;AACA;;;;WAyBE,qBAAYK,OAAZ,EAAqB;AACnB,WAAKJ,aAAL,CAAmB,IAAIqB,oCAAJ,CAAqBjB,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKP,aAAL,CAAmB,IAAIsB,oCAAJ,CAAqBhB,GAArB,EAA0BC,IAA1B,CAAnB;AACD;AAED;AACF;AACA;;;;WACE,mBAAU;AAAA;;AACR,UAAI,KAAKT,MAAT,EAAiB;AACf,YAAMyB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,qBAApB,EAA+B;AACxCC,UAAAA,cAAc,EAAE,KAAKA,cADmB;AAExCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAFW;AAGxC/B,UAAAA,KAAK,EAAE,KAAKC,MAH4B;AAIxCa,UAAAA,aAAa,EAAE,KAAKR,cAJoB;AAKxC0B,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WADE;AAEZ,sBAAQ,KAAKC;AAFD,WAL0B;AASxCC,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKC,aAAL,CAAmBD,IAAnB,CAAwB,IAAxB;AAFU;AAToB,SAA/B,CAAX;;AAcAE,6BAASC,MAAT,CAAgBf,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,yCAAW,MAAX;AACD,SAFD;AAGD;AACF;;;kDA7H8CgB,W;;;iCAA5B3C,mB,wBACS,YAAgB;AAAA,MAAfC,KAAe,uEAAP,EAAO;;AAC1C,MAAM2C,eAAe,mCAAQ9B,qBAAcb,KAAtB,GAAgCA,KAAhC,CAArB;;AACA,8BAA4E2C,eAA5E,CAAQnD,OAAR;AAAA,MAAQA,OAAR,sCAAkB,EAAlB;AAAA,8BAA4EmD,eAA5E,CAAsBC,MAAtB;AAAA,MAAsBA,MAAtB,sCAA+B,EAA/B;AAAA,8BAA4ED,eAA5E,CAAmCE,KAAnC;AAAA,MAAmCA,KAAnC,sCAA2C,EAA3C;AAAA,8BAA4EF,eAA5E,CAA+CG,KAA/C;AAAA,MAA+CA,KAA/C,sCAAuD,EAAvD;AAAA,MAA2DC,YAA3D,GAA4EJ,eAA5E,CAA2DI,YAA3D;AACA,yCACKJ,eADL;AAEEnD,IAAAA,OAAO,EACJA,OAAO,IACNA,OAAO,CAACwD,aADT;AAEGA,MAAAA,aAAa,EAAExD,OAAO,CAACwD;AAF1B,OAGMzD,aAAa,CAACC,OAAD,CAHnB,CAAD,IAKAA,OARJ;AASEsD,IAAAA,KAAK,EACFC,YAAY,oCACRD,KADQ;AAEXG,MAAAA,GAAG,EAAEL,MAAM,CAACK,GAFD;AAGXC,MAAAA,GAAG,EAAEN,MAAM,CAACM,GAHD;AAIXC,MAAAA,IAAI,EAAEP,MAAM,CAACO,IAJF;AAKXC,MAAAA,SAAS,EAAER,MAAM,CAACQ;AALP,MAAb,IAOAN,KAjBJ;AAkBED,IAAAA,KAAK,EAAGE,YAAY,oCAASF,KAAT;AAAgBQ,MAAAA,MAAM,EAAER,KAAK,CAACS;AAA9B,MAAb,IAAuDT;AAlBhE;AAoBD,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\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/pie-toolbox/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._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 ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.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": "2.6.0",
12
+ "@pie-lib/pie-toolbox": "2.6.1",
13
13
  "classnames": "^2.2.5",
14
14
  "debug": "^4.1.1",
15
15
  "prop-types": "^15.6.2",
@@ -9,7 +9,7 @@
9
9
  "test": "./node_modules/.bin/jest"
10
10
  },
11
11
  "dependencies": {
12
- "@pie-lib/pie-toolbox": "2.6.0",
12
+ "@pie-lib/pie-toolbox": "2.6.1",
13
13
  "debug": "^4.1.1"
14
14
  },
15
15
  "devDependencies": {
package/lib/index.js CHANGED
@@ -35,7 +35,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
35
35
 
36
36
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
37
37
 
38
- var _mathRenderingAccessible = require("@pie-lib/pie-toolbox/math-rendering-accessible");
38
+ var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
39
39
 
40
40
  var _utils = require("./utils");
41
41
 
@@ -203,7 +203,7 @@ var Graphing = /*#__PURE__*/function (_HTMLElement) {
203
203
  });
204
204
 
205
205
  _reactDom["default"].render(el, this, function () {
206
- (0, _mathRenderingAccessible.renderMath)(_this2);
206
+ (0, _mathRendering.renderMath)(_this2);
207
207
  });
208
208
  }
209
209
  }]);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","el","React","createElement","Main","model","onAnswersChange","changeAnswers","setGssData","ReactDOM","render","HTMLElement"],"mappings":"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","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 { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\nimport { set } from 'lodash';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\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 ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","el","React","createElement","Main","model","onAnswersChange","changeAnswers","setGssData","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAIqBA,Q;;;;;AACnB,sBAAc;AAAA;;AAAA;AACZ;AADY,mGAoED,UAACC,MAAD;AAAA,aAAYC,KAAK,CAACC,OAAN,CAAcF,MAAd,KAAyBA,MAAM,CAACG,MAAP,GAAgB,CAArD;AAAA,KApEC;AAAA,sGA2EE,UAACH,MAAD,EAASI,eAAT,EAA6B;AAC3C;AACA;AACA,UAAQC,OAAR,GAAoB,MAAKC,MAAzB,CAAQD,OAAR;;AACA,UAAIA,OAAO,CAACE,YAAR,KAAyB,OAAzB,IAAoCP,MAAM,CAACG,MAAP,GAAgB,CAAxD,EAA2D;AACzDH,QAAAA,MAAM,CAAC,CAAD,CAAN,CAAUQ,IAAV,GAAiBH,OAAO,CAAC,OAAD,CAAP,CAAiBI,QAAlC;AACD;;AACD,UAAIJ,OAAO,CAACE,YAAR,KAAyB,OAAzB,IAAoCP,MAAM,CAACG,MAAP,GAAgB,CAAxD,EAA2D;AACzDH,QAAAA,MAAM,CAAC,CAAD,CAAN,CAAUQ,IAAV,GAAiBH,OAAO,CAAC,OAAD,CAAP,CAAiBI,QAAlC;AACD;;AACD,UAAIT,MAAM,CAACG,MAAP,KAAkB,CAAtB,EAAyB;AACvBE,QAAAA,OAAO,CAACE,YAAR,GAAuB,OAAvB;AACA,cAAKD,MAAL,CAAYD,OAAZ,GAAsBA,OAAtB;AACD;;AACD,UAAI,CAACD,eAAL,EAAsB;AACpB,cAAKM,QAAL,CAAcV,MAAd,GAAuB,iCAAqBA,MAArB,CAAvB;AACD,OAFD,MAEO;AACL,cAAKU,QAAL,CAAcV,MAAd,GAAuBA,MAAvB;AACD;;AACD,YAAKW,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,MAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoD,MAAKC,UAAL,CAAgB,MAAKL,QAAL,CAAcV,MAA9B,CAApD,CAAnB;;AACA,YAAKgB,OAAL;AACD,KAhGa;AAAA,mGAuGD,UAACX,OAAD,EAAUY,OAAV,EAAsB;AACjC,YAAKX,MAAL,CAAYD,OAAZ,GAAsBA,OAAtB;AACA,YAAKK,QAAL,GAAgBO,OAAhB;;AACA,YAAKN,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,MAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoD,MAAKC,UAAL,CAAgB,MAAKL,QAAL,CAAcV,MAA9B,CAApD,CAAnB;;AACA,YAAKgB,OAAL;AACD,KA5Ga;AAAA;AAEb;AAED;AACF;AACA;AACA;;;;;SACE,aAAUE,CAAV,EAAa;AACX,WAAKZ,MAAL,GAAcY,CAAd;;AACA,WAAKF,OAAL;AACD;AAED;AACF;AACA;AACA;;;;;AAqCE;AACF;AACA;AACE,mBAAc;AACZ,aAAO,KAAKN,QAAZ;AACD,K;SAzCD,aAAYS,CAAZ,EAAe;AACb,WAAKT,QAAL,GAAgBS,CAAhB;;AACA,UAAI,CAAC,KAAKT,QAAL,CAAcV,MAAnB,EAA2B;AACzB,aAAKU,QAAL,CAAcV,MAAd,GAAuB,EAAvB;AACD;;AACD,iBAAmB,KAAKU,QAAL,IAAiB,EAApC;AAAA,UAAQV,MAAR,QAAQA,MAAR;;AACA,yBAAuC,KAAKM,MAA5C;AAAA,UAAQc,WAAR,gBAAQA,WAAR;AAAA,UAAqBC,MAArB,gBAAqBA,MAArB;AAAA,UAA6BC,KAA7B,gBAA6BA,KAA7B;AACA,UAAIC,OAAO,GAAGvB,MAAM,IAAIA,MAAM,CAACwB,MAAP,CAAc,UAACC,IAAD;AAAA,eAAUA,IAAI,CAACC,IAAL,KAAc,SAAxB;AAAA,OAAd,EAAiDvB,MAAjD,GAA0D,CAAlF;;AACA,UAAIiB,WAAW,CAACO,aAAZ,KAA8B,CAAlC,EAAqC;AACnC,aAAKrB,MAAL,CAAYD,OAAZ,GAAsB;AACpBsB,UAAAA,aAAa,EAAE,CADK;AAEpBpB,UAAAA,YAAY,EAAEgB,OAAO,GAAG,aAAH,GAAmB,OAFpB;AAGpBK,UAAAA,QAAQ,EAAE,EAHU;AAIpBC,UAAAA,KAAK,EAAE;AACLpB,YAAAA,QAAQ,EAAET,MAAM,IAAIA,MAAM,CAACG,MAAP,GAAgB,CAA1B,GAA8BH,MAAM,CAAC,CAAD,CAAN,CAAUQ,IAAxC,GAA+C;AADpD;AAJa,SAAtB;AAQD,OATD,MASO;AACL,aAAKF,MAAL,CAAYD,OAAZ,GAAsB;AACpBsB,UAAAA,aAAa,EAAE,CADK;AAEpBpB,UAAAA,YAAY,EAAEgB,OAAO,GAAG,aAAH,GAAmB,OAFpB;AAGpBK,UAAAA,QAAQ,EAAE,EAHU;AAIpBC,UAAAA,KAAK,EAAE;AACLpB,YAAAA,QAAQ,EAAET,MAAM,IAAIA,MAAM,CAACG,MAAP,GAAgB,CAA1B,GAA8BH,MAAM,CAAC,CAAD,CAAN,CAAUQ,IAAxC,GAA+C;AADpD,WAJa;AAOpBsB,UAAAA,KAAK,EAAE;AACLrB,YAAAA,QAAQ,EAAET,MAAM,IAAIA,MAAM,CAACG,MAAP,GAAgB,CAA1B,GAA8BH,MAAM,CAAC,CAAD,CAAN,CAAUQ,IAAxC,GAA+C;AADpD;AAPa,SAAtB;AAWD;;AACD,UAAIe,OAAJ,EAAa;AACX,aAAKjB,MAAL,CAAYD,OAAZ,GAAsB,sCAA0B,KAAKC,MAAL,CAAYD,OAAtC,EAA+CL,MAA/C,EAAuDqB,MAAvD,EAA+DC,KAA/D,CAAtB;AACD;;AACD,WAAKN,OAAL;AACD;;;WASD,6BAAoB;AAClB,WAAKA,OAAL;AACD;AAED;AACF;AACA;AACA;;;;;AA2CE;AACF;AACA;AACE,uBAAU;AAAA;;AACR,UAAI,CAAC,KAAKV,MAAN,IAAgB,CAAC,KAAKI,QAA1B,EAAoC;AAClC;AACD;;AACD,UAAMqB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,QAAAA,KAAK,EAAE,KAAK7B,MADuB;AAEnCW,QAAAA,OAAO,EAAE,KAAKP,QAFqB;AAGnC0B,QAAAA,eAAe,EAAE,KAAKC,aAHa;AAInCC,QAAAA,UAAU,EAAE,KAAKA;AAJkB,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,MAAX;AACD,OAFD;AAGD;;;kDA/HmCU,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 { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\nimport { set } from 'lodash';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\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 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": "2.1.8-next.0+97e48ba3c",
7
+ "version": "2.1.8-next.7+2644c33e3",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@material-ui/core": "^3.9.2",
15
15
  "@pie-framework/pie-player-events": "^0.1.0",
16
- "@pie-lib/pie-toolbox": "2.6.0",
16
+ "@pie-lib/pie-toolbox": "2.6.1",
17
17
  "classnames": "^2.2.5",
18
18
  "debug": "^4.1.1",
19
19
  "react": "^16.8.1",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "author": "",
23
23
  "license": "ISC",
24
- "gitHead": "97e48ba3c442bfacd2124fde97313b792ba6178c",
24
+ "gitHead": "2644c33e37693f99500a8cde192f257aa03f5fa1",
25
25
  "main": "lib/index.js",
26
26
  "module": "src/index.js"
27
27
  }