@pie-element/charting 10.3.4-next.3 → 11.0.0-beta.0

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","container","marginBottom","spacing","unit","display","flex","button","marginTop","cursor","background","palette","grey","padding","width","borderRadius","column","chartError","border","error","main","errorText","fontSize","typography","color","paddingTop","title","addCategoryProps","correctAnswer","data","map","correct","index","editable","length","interactive","deletable","updateCorrectResponseData","correctAnswerData","correctResponseDefinition","forEach","category","currentIndex","label","value","missingCategories","slice","concat","insertCategory","positionToInsert","categoryToInsert","splice","removeCategory","positionToRemove","getUpdatedCategories","nextProps","prevProps","prevState","nextData","model","nextCorrectAnswerDataCopy","categoriesCopy","categories","nextCategories","removedIndex","CorrectResponse","props","onChange","keepAttrs","state","initialCategories","setState","changeData","classes","charts","studentNewCategoryDefaultLabel","correctAnswerErrors","mathMlOptions","labelsPlaceholders","domain","range","identicalError","categoriesError","name","chartType","graph","addCategoryEnabled","React","Component","PropTypes","object","isRequired","string","func","array"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Chart } from '@pie-lib/charting';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = (theme) => ({\n container: {\n marginBottom: theme.spacing.unit * 2.5,\n display: 'flex',\n flex: 1,\n },\n button: {\n marginTop: theme.spacing.unit * 3,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 2,\n width: 'fit-content',\n borderRadius: '4px',\n },\n column: {\n flex: 1,\n },\n chartError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n title: {\n marginBottom: theme.spacing.unit,\n },\n});\n\nconst addCategoryProps = (correctAnswer, data) =>\n correctAnswer.map((correct, index) => ({\n ...correct,\n editable: index < data.length ? data[index].editable : true,\n interactive: index < data.length ? data[index].interactive : true,\n deletable: index >= data.length ? true : false,\n }));\n\nconst updateCorrectResponseData = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n const correctAnswerData = [...correctAnswer];\n let correctResponseDefinition = [];\n\n (data || []).forEach((category, currentIndex) => {\n const editable = category.editable;\n const interactive = category.interactive;\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n const value =\n (interactive && correctAnswer[currentIndex]?.value) || (interactive && correctAnswer[currentIndex]?.value == 0)\n ? correctAnswer[currentIndex].value\n : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n if (correctResponseDefinition.length < correctAnswer.length) {\n const missingCategories = (correctAnswerData || []).slice(correctResponseDefinition.length, correctAnswer.length);\n\n return addCategoryProps((correctResponseDefinition || []).concat(missingCategories), data);\n }\n\n return correctResponseDefinition;\n};\n\nconst insertCategory = (correctAnswer, data) => {\n const positionToInsert = data.length - 1;\n // eslint-disable-next-line no-unused-vars\n const { editable, interactive, deletable, ...categoryToInsert } = data[data.length - 1];\n\n (correctAnswer || []).splice(positionToInsert, 0, categoryToInsert);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nconst removeCategory = (correctAnswer, data, positionToRemove) => {\n (correctAnswer || []).splice(positionToRemove, 1);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nexport const getUpdatedCategories = (nextProps, prevProps, prevState) => {\n const nextData = (nextProps && nextProps.model && nextProps.model.data) || [];\n const data = (prevProps && prevProps.model && prevProps.model.data) || [];\n const nextCorrectAnswerDataCopy = cloneDeep(\n (nextProps && nextProps.model && nextProps.model.correctAnswer && nextProps.model.correctAnswer.data) || [],\n );\n\n const categoriesCopy = cloneDeep(prevState ? prevState.categories : []);\n\n let nextCategories = [];\n\n // Handle categories insertion in Define Chart\n if (nextData.length > data.length) {\n nextCategories = insertCategory(nextCorrectAnswerDataCopy, nextData);\n return nextCategories;\n }\n\n // Handle categories removal from Define Chart\n if (nextData.length < data.length) {\n let removedIndex = nextData.length;\n\n // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data\n // index is a property of the nextData category\n for (let index = 0; index < nextData.length; index++) {\n if (nextData[index].index !== index) {\n removedIndex = index;\n break;\n }\n }\n\n nextCategories = removeCategory(categoriesCopy, nextData, removedIndex);\n return nextCategories;\n }\n\n // Handle category value or label changes in Define Chart\n // Handle categories update in Define Correct Response Chart\n nextCategories = updateCorrectResponseData(nextCorrectAnswerDataCopy, nextData);\n\n return nextCategories;\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correctAnswerErrors: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.string,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n error: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n categories: [],\n };\n }\n\n changeData = (data) => {\n const { model, onChange } = this.props;\n const { correctAnswer } = model || {};\n\n onChange({\n ...model,\n correctAnswer: {\n ...correctAnswer,\n // eslint-disable-next-line no-unused-vars\n data: data.map(({ interactive, editable, index, ...keepAttrs }) => keepAttrs),\n },\n });\n };\n\n componentDidMount() {\n const initialCategories = getUpdatedCategories(this.props, this.props, null);\n\n this.setState({\n categories:\n initialCategories || updateCorrectResponseData(this.props.model.correctAnswer.data, this.props.model.data),\n });\n }\n\n componentDidUpdate(prevProps, prevState) {\n const nextCategories = getUpdatedCategories(this.props, prevProps, prevState);\n\n if (nextCategories && !isEqual(nextCategories, this.state.categories)) {\n this.changeData(nextCategories);\n this.setState({ categories: nextCategories });\n }\n }\n\n render() {\n const {\n classes,\n model,\n charts,\n error,\n studentNewCategoryDefaultLabel,\n correctAnswerErrors,\n mathMlOptions = {},\n labelsPlaceholders = {},\n } = this.props;\n const { categories } = this.state;\n\n const { domain = {}, range = {} } = model || {};\n const { identicalError, categoriesError } = correctAnswerErrors || {};\n\n return (\n <div>\n <div className={classes.title}>Define Correct Response</div>\n <div className={classes.container}>\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to define the correct answer.</span>\n </Typography>\n\n <div\n key={`correct-response-graph-${model.correctAnswer.name}`}\n className={identicalError || categoriesError ? classes.chartError : ''}\n >\n <Chart\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n data={categories}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={model.addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n error={error}\n mathMlOptions={mathMlOptions}\n labelsPlaceholders={labelsPlaceholders}\n />\n </div>\n\n {(identicalError || categoriesError) && (\n <Typography component=\"div\" type=\"body1\" className={classes.errorText}>\n <span>{identicalError || categoriesError}</span>\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
1
+ {"version":3,"file":"correct-response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_charting","_isEqual","_cloneDeep","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Container","styled","theme","marginBottom","spacing","display","flex","Column","ChartError","border","palette","error","main","ErrorText","Typography","fontSize","typography","color","paddingTop","Title","addCategoryProps","correctAnswer","data","map","correct","index","editable","length","interactive","deletable","updateCorrectResponseData","correctAnswerData","correctResponseDefinition","forEach","category","currentIndex","label","value","missingCategories","slice","concat","insertCategory","positionToInsert","categoryToInsert","splice","removeCategory","positionToRemove","getUpdatedCategories","nextProps","prevProps","prevState","nextData","model","nextCorrectAnswerDataCopy","cloneDeep","categoriesCopy","categories","nextCategories","removedIndex","exports","CorrectResponse","Component","constructor","props","_defineProperty2","onChange","keepAttrs","state","componentDidMount","initialCategories","setState","componentDidUpdate","isEqual","changeData","render","charts","studentNewCategoryDefaultLabel","correctAnswerErrors","mathMlOptions","labelsPlaceholders","domain","range","identicalError","categoriesError","createElement","key","component","type","name","Chart","chartType","size","graph","title","onDataChange","addCategoryEnabled","categoryDefaultLabel","PropTypes","object","string","isRequired","func","array","_default"],"sources":["../src/correct-response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { Chart } from '@pie-lib/charting';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport Typography from '@mui/material/Typography';\n\nconst Container = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n display: 'flex',\n flex: 1,\n}));\n\nconst Column = styled('div')({\n flex: 1,\n});\n\nconst ChartError = styled('div')(({ theme }) => ({\n border: `2px solid ${theme.palette.error.main}`,\n}));\n\nconst ErrorText = styled(Typography)(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst Title = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(1),\n}));\n\nconst addCategoryProps = (correctAnswer, data) =>\n correctAnswer.map((correct, index) => ({\n ...correct,\n editable: index < data.length ? data[index].editable : true,\n interactive: index < data.length ? data[index].interactive : true,\n deletable: index >= data.length ? true : false,\n }));\n\nconst updateCorrectResponseData = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n const correctAnswerData = [...correctAnswer];\n let correctResponseDefinition = [];\n\n (data || []).forEach((category, currentIndex) => {\n const editable = category.editable;\n const interactive = category.interactive;\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n const value =\n (interactive && correctAnswer[currentIndex]?.value) || (interactive && correctAnswer[currentIndex]?.value == 0)\n ? correctAnswer[currentIndex].value\n : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n if (correctResponseDefinition.length < correctAnswer.length) {\n const missingCategories = (correctAnswerData || []).slice(correctResponseDefinition.length, correctAnswer.length);\n\n return addCategoryProps((correctResponseDefinition || []).concat(missingCategories), data);\n }\n\n return correctResponseDefinition;\n};\n\nconst insertCategory = (correctAnswer, data) => {\n const positionToInsert = data.length - 1;\n // eslint-disable-next-line no-unused-vars\n const { editable, interactive, deletable, ...categoryToInsert } = data[data.length - 1];\n\n (correctAnswer || []).splice(positionToInsert, 0, categoryToInsert);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nconst removeCategory = (correctAnswer, data, positionToRemove) => {\n (correctAnswer || []).splice(positionToRemove, 1);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nexport const getUpdatedCategories = (nextProps, prevProps, prevState) => {\n const nextData = (nextProps && nextProps.model && nextProps.model.data) || [];\n const data = (prevProps && prevProps.model && prevProps.model.data) || [];\n const nextCorrectAnswerDataCopy = cloneDeep(\n (nextProps && nextProps.model && nextProps.model.correctAnswer && nextProps.model.correctAnswer.data) || [],\n );\n\n const categoriesCopy = cloneDeep(prevState ? prevState.categories : []);\n\n let nextCategories = [];\n\n // Handle categories insertion in Define Chart\n if (nextData.length > data.length) {\n nextCategories = insertCategory(nextCorrectAnswerDataCopy, nextData);\n return nextCategories;\n }\n\n // Handle categories removal from Define Chart\n if (nextData.length < data.length) {\n let removedIndex = nextData.length;\n\n // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data\n // index is a property of the nextData category\n for (let index = 0; index < nextData.length; index++) {\n if (nextData[index].index !== index) {\n removedIndex = index;\n break;\n }\n }\n\n nextCategories = removeCategory(categoriesCopy, nextData, removedIndex);\n return nextCategories;\n }\n\n // Handle category value or label changes in Define Chart\n // Handle categories update in Define Correct Response Chart\n nextCategories = updateCorrectResponseData(nextCorrectAnswerDataCopy, nextData);\n\n return nextCategories;\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n correctAnswerErrors: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.string,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n error: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n categories: [],\n };\n }\n\n changeData = (data) => {\n const { model, onChange } = this.props;\n const { correctAnswer } = model || {};\n\n onChange({\n ...model,\n correctAnswer: {\n ...correctAnswer,\n // eslint-disable-next-line no-unused-vars\n data: data.map(({ interactive, editable, index, ...keepAttrs }) => keepAttrs),\n },\n });\n };\n\n componentDidMount() {\n const initialCategories = getUpdatedCategories(this.props, this.props, null);\n\n this.setState({\n categories:\n initialCategories || updateCorrectResponseData(this.props.model.correctAnswer.data, this.props.model.data),\n });\n }\n\n componentDidUpdate(prevProps, prevState) {\n const nextCategories = getUpdatedCategories(this.props, prevProps, prevState);\n\n if (nextCategories && !isEqual(nextCategories, this.state.categories)) {\n this.changeData(nextCategories);\n this.setState({ categories: nextCategories });\n }\n }\n\n render() {\n const {\n model,\n charts,\n error,\n studentNewCategoryDefaultLabel,\n correctAnswerErrors,\n mathMlOptions = {},\n labelsPlaceholders = {},\n } = this.props;\n const { categories } = this.state;\n\n const { domain = {}, range = {} } = model || {};\n const { identicalError, categoriesError } = correctAnswerErrors || {};\n\n return (\n <div>\n <Title>Define Correct Response</Title>\n <Container>\n <Column key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to define the correct answer.</span>\n </Typography>\n\n {(identicalError || categoriesError) ? (\n <ChartError key={`correct-response-graph-${model.correctAnswer.name}`}>\n <Chart\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n data={categories}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={model.addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n error={error}\n mathMlOptions={mathMlOptions}\n labelsPlaceholders={labelsPlaceholders}\n />\n </ChartError>\n ) : (\n <div key={`correct-response-graph-${model.correctAnswer.name}`}>\n <Chart\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n data={categories}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={model.addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n error={error}\n mathMlOptions={mathMlOptions}\n labelsPlaceholders={labelsPlaceholders}\n />\n </div>\n )}\n\n {(identicalError || categoriesError) && (\n <ErrorText component=\"div\" type=\"body1\">\n <span>{identicalError || categoriesError}</span>\n </ErrorText>\n )}\n </Column>\n </Container>\n </div>\n );\n }\n}\n\nexport default CorrectResponse;\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
-
6
+ exports.default = void 0;
8
7
  /**
9
8
  * NOTE: There's no functionality described for graphTitle,
10
9
  * rationale, scoringType, studentInstructions, teacherInstructions
@@ -16,7 +15,7 @@ exports["default"] = void 0;
16
15
  // interactive: true,
17
16
  // editable: true
18
17
  // });
19
- var _default = {
18
+ var _default = exports.default = {
20
19
  model: {
21
20
  addCategoryEnabled: true,
22
21
  changeAddCategoryEnabled: false,
@@ -228,5 +227,4 @@ var _default = {
228
227
  }
229
228
  }
230
229
  };
231
- exports["default"] = _default;
232
230
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","addCategoryEnabled","changeAddCategoryEnabled","changeEditableEnabled","changeInteractiveEnabled","chartType","correctAnswer","data","domain","graph","width","height","prompt","promptEnabled","range","label","max","min","labelStep","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","studentNewCategoryDefaultLabel","teacherInstructions","teacherInstructionsEnabled","title","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","spellCheck","settings","enabled","chartDimensions","showInConfigPanel","step","authorNewCategoryDefaults","interactive","editable","availableChartTypes","bar","histogram","lineDot","lineCross","dotPlot","linePlot","chartTypeLabel","required","inputConfiguration","settingsPanelDisabled","studentInstructions","instruction","titlePlaceholder","labelsPlaceholders","left","right","top","bottom","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","options","chartingOptions","changeInteractive","authoringLabel","settingsLabel","changeEditable","addCategory","mathMlOptions","mmlOutput","mmlEditing"],"mappings":"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","sourcesContent":["/**\n * NOTE: There's no functionality described for graphTitle,\n * rationale, scoringType, studentInstructions, teacherInstructions\n * so there's no implementation (they are only added in model)\n */\n\n// const createCategory = (label, value) => ({\n// label,\n// value,\n// interactive: true,\n// editable: true\n// });\n\nexport default {\n model: {\n addCategoryEnabled: true,\n changeAddCategoryEnabled: false,\n changeEditableEnabled: false,\n changeInteractiveEnabled: false,\n chartType: 'lineCross',\n correctAnswer: {},\n data: [],\n domain: {},\n graph: { width: 480, height: 480 },\n prompt: '',\n promptEnabled: true,\n range: { label: '', max: 1, min: 0, labelStep: 1 },\n rationale: '',\n rationaleEnabled: true,\n scoringType: 'all or nothing',\n studentInstructionsEnabled: true,\n studentNewCategoryDefaultLabel: 'New Category',\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n title: '',\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n chartDimensions: {\n settings: false,\n label: 'Chart Dimensions',\n showInConfigPanel: true,\n width: {\n min: 50,\n max: 700,\n step: 20,\n },\n height: {\n min: 400,\n max: 700,\n step: 20,\n },\n },\n authorNewCategoryDefaults: {\n settings: false,\n label: 'Category',\n interactive: true,\n editable: false,\n },\n availableChartTypes: {\n bar: 'Bar Chart',\n histogram: 'Histogram',\n lineDot: 'Line Chart ●',\n lineCross: 'Line Chart x',\n dotPlot: 'Dot/Line Plot ⬤',\n linePlot: 'Dot/Line Plot X',\n },\n chartTypeLabel: 'ChartType',\n studentNewCategoryDefaultLabel: {\n settings: false,\n label: 'Category',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n settingsPanelDisabled: false,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n title: {\n settings: false,\n label: 'Chart Title',\n },\n instruction: {\n settings: false,\n label:\n 'This item type provides various types of interactive charts. Depending upon how an item is configured,\\n' +\n ' students can change the heights of bars (or other similar chart elements) created by the author; relabel bars\\n' +\n ' created by the author; and/or add new bars, label them, and set their heights.',\n },\n titlePlaceholder: {\n settings: false,\n label: 'Click here to add a title',\n },\n labelsPlaceholders: {\n left: 'Click here to add a label for this axis',\n right: '',\n top: '',\n bottom: 'Click here to add a label for this axis',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n chartingOptions: {\n changeInteractive: {\n settings: false,\n authoringLabel: 'Student can set value',\n settingsLabel: 'Allow non-interactive categories',\n },\n changeEditable: {\n settings: false,\n authoringLabel: 'Student can edit name',\n settingsLabel: 'Allow editable category names',\n },\n addCategory: {\n settings: false,\n authoringLabel: 'Student can add categories',\n settingsLabel: 'Allow changes to whether students can add categories',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n },\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"file":"defaults.js","names":["_default","exports","default","model","addCategoryEnabled","changeAddCategoryEnabled","changeEditableEnabled","changeInteractiveEnabled","chartType","correctAnswer","data","domain","graph","width","height","prompt","promptEnabled","range","label","max","min","labelStep","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","studentNewCategoryDefaultLabel","teacherInstructions","teacherInstructionsEnabled","title","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","spellCheck","settings","enabled","chartDimensions","showInConfigPanel","step","authorNewCategoryDefaults","interactive","editable","availableChartTypes","bar","histogram","lineDot","lineCross","dotPlot","linePlot","chartTypeLabel","required","inputConfiguration","settingsPanelDisabled","studentInstructions","instruction","titlePlaceholder","labelsPlaceholders","left","right","top","bottom","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","options","chartingOptions","changeInteractive","authoringLabel","settingsLabel","changeEditable","addCategory","mathMlOptions","mmlOutput","mmlEditing"],"sources":["../src/defaults.js"],"sourcesContent":["/**\n * NOTE: There's no functionality described for graphTitle,\n * rationale, scoringType, studentInstructions, teacherInstructions\n * so there's no implementation (they are only added in model)\n */\n\n// const createCategory = (label, value) => ({\n// label,\n// value,\n// interactive: true,\n// editable: true\n// });\n\nexport default {\n model: {\n addCategoryEnabled: true,\n changeAddCategoryEnabled: false,\n changeEditableEnabled: false,\n changeInteractiveEnabled: false,\n chartType: 'lineCross',\n correctAnswer: {},\n data: [],\n domain: {},\n graph: { width: 480, height: 480 },\n prompt: '',\n promptEnabled: true,\n range: { label: '', max: 1, min: 0, labelStep: 1 },\n rationale: '',\n rationaleEnabled: true,\n scoringType: 'all or nothing',\n studentInstructionsEnabled: true,\n studentNewCategoryDefaultLabel: 'New Category',\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n title: '',\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n chartDimensions: {\n settings: false,\n label: 'Chart Dimensions',\n showInConfigPanel: true,\n width: {\n min: 50,\n max: 700,\n step: 20,\n },\n height: {\n min: 400,\n max: 700,\n step: 20,\n },\n },\n authorNewCategoryDefaults: {\n settings: false,\n label: 'Category',\n interactive: true,\n editable: false,\n },\n availableChartTypes: {\n bar: 'Bar Chart',\n histogram: 'Histogram',\n lineDot: 'Line Chart ●',\n lineCross: 'Line Chart x',\n dotPlot: 'Dot/Line Plot ⬤',\n linePlot: 'Dot/Line Plot X',\n },\n chartTypeLabel: 'ChartType',\n studentNewCategoryDefaultLabel: {\n settings: false,\n label: 'Category',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n settingsPanelDisabled: false,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n title: {\n settings: false,\n label: 'Chart Title',\n },\n instruction: {\n settings: false,\n label:\n 'This item type provides various types of interactive charts. Depending upon how an item is configured,\\n' +\n ' students can change the heights of bars (or other similar chart elements) created by the author; relabel bars\\n' +\n ' created by the author; and/or add new bars, label them, and set their heights.',\n },\n titlePlaceholder: {\n settings: false,\n label: 'Click here to add a title',\n },\n labelsPlaceholders: {\n left: 'Click here to add a label for this axis',\n right: '',\n top: '',\n bottom: 'Click here to add a label for this axis',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n chartingOptions: {\n changeInteractive: {\n settings: false,\n authoringLabel: 'Student can set value',\n settingsLabel: 'Allow non-interactive categories',\n },\n changeEditable: {\n settings: false,\n authoringLabel: 'Student can edit name',\n settingsLabel: 'Allow editable category names',\n },\n addCategory: {\n settings: false,\n authoringLabel: 'Student can add categories',\n settingsLabel: 'Allow changes to whether students can add categories',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n },\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,184 +1,120 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
21
-
7
+ exports.default = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
- var _reactDom = _interopRequireDefault(require("react-dom"));
27
-
10
+ var _client = require("react-dom/client");
28
11
  var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
29
-
30
12
  var _debug = _interopRequireDefault(require("debug"));
31
-
32
13
  var _configure = _interopRequireDefault(require("./configure"));
33
-
34
14
  var _defaults = _interopRequireDefault(require("./defaults"));
35
-
36
15
  var _mathRendering = require("@pie-lib/math-rendering");
37
-
38
- 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; }
39
-
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
-
42
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
-
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
-
46
- var log = (0, _debug["default"])('pie-elements:graphing:configure');
47
-
48
- var GraphLinesConfigure = /*#__PURE__*/function (_HTMLElement) {
49
- (0, _inherits2["default"])(GraphLinesConfigure, _HTMLElement);
50
-
51
- var _super = _createSuper(GraphLinesConfigure);
52
-
53
- function GraphLinesConfigure() {
54
- var _this;
55
-
56
- (0, _classCallCheck2["default"])(this, GraphLinesConfigure);
57
- _this = _super.call(this);
58
- _this._model = GraphLinesConfigure.createDefaultModel();
59
- _this._configuration = _defaults["default"].configuration;
60
- return _this;
16
+ const log = (0, _debug.default)('pie-elements:graphing:configure');
17
+ class GraphLinesConfigure extends HTMLElement {
18
+ constructor() {
19
+ super();
20
+ this._root = null;
21
+ this._model = GraphLinesConfigure.createDefaultModel();
22
+ this._configuration = _defaults.default.configuration;
61
23
  }
24
+ set model(m) {
25
+ this._model = GraphLinesConfigure.createDefaultModel(m);
26
+ this._render();
27
+ }
28
+ set configuration(c) {
29
+ const newConfiguration = {
30
+ ..._defaults.default.configuration,
31
+ ...c
32
+ };
33
+ this._configuration = newConfiguration;
34
+
35
+ // if language:enabled is true, then the corresponding default item model should include a language value;
36
+ // if it is false, then the language field should be omitted from the item model.
37
+ // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
38
+ // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
39
+ if (newConfiguration?.language?.enabled) {
40
+ if (newConfiguration?.languageChoices?.options?.length) {
41
+ this._model.language = newConfiguration?.languageChoices.options[0].value;
42
+ }
43
+ } else if (newConfiguration.language.settings && this._model.language) {
44
+ this._configuration.language.enabled = true;
45
+ if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
46
+ this._configuration.languageChoices.options = [];
47
+ }
62
48
 
63
- (0, _createClass2["default"])(GraphLinesConfigure, [{
64
- key: "model",
65
- set: function set(m) {
66
- this._model = GraphLinesConfigure.createDefaultModel(m);
67
-
68
- this._render();
49
+ // check if the language is already included in the languageChoices.options array
50
+ // and if not, then add it.
51
+ if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {
52
+ this._configuration.languageChoices.options.push({
53
+ value: this._model.language,
54
+ label: this._model.language
55
+ });
56
+ }
57
+ } else {
58
+ delete this._model.language;
69
59
  }
70
- }, {
71
- key: "configuration",
72
- set: function set(c) {
73
- var _newConfiguration$lan,
74
- _this2 = this;
75
-
76
- var newConfiguration = _objectSpread(_objectSpread({}, _defaults["default"].configuration), c);
77
-
78
- this._configuration = newConfiguration; // if language:enabled is true, then the corresponding default item model should include a language value;
79
- // if it is false, then the language field should be omitted from the item model.
80
- // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
81
- // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
82
-
83
- if (newConfiguration !== null && newConfiguration !== void 0 && (_newConfiguration$lan = newConfiguration.language) !== null && _newConfiguration$lan !== void 0 && _newConfiguration$lan.enabled) {
84
- var _newConfiguration$lan2, _newConfiguration$lan3;
85
-
86
- if (newConfiguration !== null && newConfiguration !== void 0 && (_newConfiguration$lan2 = newConfiguration.languageChoices) !== null && _newConfiguration$lan2 !== void 0 && (_newConfiguration$lan3 = _newConfiguration$lan2.options) !== null && _newConfiguration$lan3 !== void 0 && _newConfiguration$lan3.length) {
87
- this._model.language = newConfiguration === null || newConfiguration === void 0 ? void 0 : newConfiguration.languageChoices.options[0].value;
88
- }
89
- } else if (newConfiguration.language.settings && this._model.language) {
90
- this._configuration.language.enabled = true;
91
-
92
- if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
93
- this._configuration.languageChoices.options = [];
94
- } // check if the language is already included in the languageChoices.options array
95
- // and if not, then add it.
96
-
97
-
98
- if (!this._configuration.languageChoices.options.find(function (option) {
99
- return option.value === _this2._model.language;
100
- })) {
101
- this._configuration.languageChoices.options.push({
102
- value: this._model.language,
103
- label: this._model.language
104
- });
60
+ this._render();
61
+ }
62
+ onModelChanged(model) {
63
+ this._model = model;
64
+ this._render();
65
+ log('[onModelChanged]: ', this._model);
66
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
67
+ }
68
+ onConfigurationChanged(config) {
69
+ this._configuration = config;
70
+ this._render();
71
+ }
72
+ insertImage(handler) {
73
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
74
+ }
75
+ onDeleteImage(src, done) {
76
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
77
+ }
78
+ insertSound(handler) {
79
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
80
+ }
81
+ onDeleteSound(src, done) {
82
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
83
+ }
84
+ _render() {
85
+ if (this._model) {
86
+ const el = /*#__PURE__*/_react.default.createElement(_configure.default, {
87
+ onModelChanged: this.onModelChanged.bind(this),
88
+ onConfigurationChanged: this.onConfigurationChanged.bind(this),
89
+ model: this._model,
90
+ configuration: this._configuration,
91
+ imageSupport: {
92
+ add: this.insertImage.bind(this),
93
+ delete: this.onDeleteImage.bind(this)
94
+ },
95
+ uploadSoundSupport: {
96
+ add: this.insertSound.bind(this),
97
+ delete: this.onDeleteSound.bind(this)
105
98
  }
106
- } else {
107
- delete this._model.language;
99
+ });
100
+ if (!this._root) {
101
+ this._root = (0, _client.createRoot)(this);
108
102
  }
109
-
110
- this._render();
111
- }
112
- }, {
113
- key: "onModelChanged",
114
- value: function onModelChanged(model) {
115
- this._model = model;
116
-
117
- this._render();
118
-
119
- log('[onModelChanged]: ', this._model);
120
- this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
121
- }
122
- }, {
123
- key: "onConfigurationChanged",
124
- value: function onConfigurationChanged(config) {
125
- this._configuration = config;
126
-
127
- this._render();
128
- }
129
- }, {
130
- key: "insertImage",
131
- value: function insertImage(handler) {
132
- this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
103
+ this._root.render(el);
104
+ queueMicrotask(() => {
105
+ (0, _mathRendering.renderMath)(this);
106
+ });
133
107
  }
134
- }, {
135
- key: "onDeleteImage",
136
- value: function onDeleteImage(src, done) {
137
- this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
138
- }
139
- }, {
140
- key: "insertSound",
141
- value: function insertSound(handler) {
142
- this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
143
- }
144
- }, {
145
- key: "onDeleteSound",
146
- value: function onDeleteSound(src, done) {
147
- this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
148
- }
149
- }, {
150
- key: "_render",
151
- value: function _render() {
152
- var _this3 = this;
153
-
154
- if (this._model) {
155
- var el = /*#__PURE__*/_react["default"].createElement(_configure["default"], {
156
- onModelChanged: this.onModelChanged.bind(this),
157
- onConfigurationChanged: this.onConfigurationChanged.bind(this),
158
- model: this._model,
159
- configuration: this._configuration,
160
- imageSupport: {
161
- add: this.insertImage.bind(this),
162
- "delete": this.onDeleteImage.bind(this)
163
- },
164
- uploadSoundSupport: {
165
- add: this.insertSound.bind(this),
166
- "delete": this.onDeleteSound.bind(this)
167
- }
168
- });
169
-
170
- _reactDom["default"].render(el, this, function () {
171
- (0, _mathRendering.renderMath)(_this3);
172
- });
173
- }
108
+ }
109
+ disconnectedCallback() {
110
+ if (this._root) {
111
+ this._root.unmount();
174
112
  }
175
- }]);
176
- return GraphLinesConfigure;
177
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
178
-
179
- exports["default"] = GraphLinesConfigure;
180
- (0, _defineProperty2["default"])(GraphLinesConfigure, "createDefaultModel", function () {
181
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
182
- return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
183
- });
113
+ }
114
+ }
115
+ exports.default = GraphLinesConfigure;
116
+ (0, _defineProperty2.default)(GraphLinesConfigure, "createDefaultModel", (model = {}) => ({
117
+ ..._defaults.default.model,
118
+ ...model
119
+ }));
184
120
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","GraphLinesConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","_render","c","newConfiguration","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","model","dispatchEvent","ModelUpdatedEvent","config","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport Configure from './configure';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing:configure');\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({ ...defaultValues.model, ...model });\n\n constructor() {\n super();\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\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 if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n this._render();\n\n log('[onModelChanged]: ', this._model);\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\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 _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_pieConfigureEvents","_debug","_configure","_defaults","_mathRendering","log","debug","GraphLinesConfigure","HTMLElement","constructor","_root","_model","createDefaultModel","_configuration","defaultValues","configuration","model","m","_render","c","newConfiguration","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","onModelChanged","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","config","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","bind","imageSupport","add","delete","uploadSoundSupport","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default","_defineProperty2"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport Configure from './configure';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing:configure');\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({ ...defaultValues.model, ...model });\n\n constructor() {\n super();\n this._root = null;\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\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 if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n this._render();\n\n log('[onModelChanged]: ', this._model);\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\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 _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\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}"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.getLabelValues = exports.getGridValues = exports.applyConstraints = exports.VALID_LABEL_VALUES = void 0;
9
-
10
8
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
11
-
12
9
  // this file is almost duplicated from graphing/configure/src/utils.js; the same logic must be used in charting
13
- var VALID_GRID_VALUES = [0.01, 0.02, 0.04, 0.05, 0.0625, 0.1, 0.125, 0.2, 0.25, 0.5, 1, 2, 3, 4, 5, 8, 10, 12, 15, 20, 40, 50, 64, 100, 500, 1000]; // same as VALID_GRID_VALUES but next values are excluded: 0.04, 0.0625, 0.125, 3, 4, 8, 12, 15, 40, 64
14
10
 
15
- var PREFERRED_VALID_GRID_VALUES = [0.01, 0.02, 0.05, 0.1, 0.2, 0.25, 0.5, 1, 2, 5, 10, 20, 50, 100, 500, 1000];
16
- var VALID_LABEL_VALUES = {
11
+ const VALID_GRID_VALUES = [0.01, 0.02, 0.04, 0.05, 0.0625, 0.1, 0.125, 0.2, 0.25, 0.5, 1, 2, 3, 4, 5, 8, 10, 12, 15, 20, 40, 50, 64, 100, 500, 1000];
12
+
13
+ // same as VALID_GRID_VALUES but next values are excluded: 0.04, 0.0625, 0.125, 3, 4, 8, 12, 15, 40, 64
14
+ const PREFERRED_VALID_GRID_VALUES = [0.01, 0.02, 0.05, 0.1, 0.2, 0.25, 0.5, 1, 2, 5, 10, 20, 50, 100, 500, 1000];
15
+ const VALID_LABEL_VALUES = exports.VALID_LABEL_VALUES = {
17
16
  0.01: [0, 0.01, 0.02, 0.04, 0.05, 0.1],
18
17
  0.02: [0, 0.02, 0.04, 0.1],
19
18
  0.04: [0, 0.04, 0.08, 0.16, 0.2],
@@ -41,58 +40,42 @@ var VALID_LABEL_VALUES = {
41
40
  500: [0, 500, 1000, 2500],
42
41
  1000: [0, 1000, 2000, 4000, 5000]
43
42
  };
44
- exports.VALID_LABEL_VALUES = VALID_LABEL_VALUES;
43
+ const getGridValues = (axis, size, prefferedValues = false) => {
44
+ const minValue = 10 * (axis.max - axis.min) / size;
45
+ const maxValue = minValue * 10;
45
46
 
46
- var getGridValues = function getGridValues(axis, size) {
47
- var prefferedValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
48
- var minValue = 10 * (axis.max - axis.min) / size;
49
- var maxValue = minValue * 10; // if preferred values should be used enforce all values to be used if the axis step
47
+ // if preferred values should be used enforce all values to be used if the axis step
50
48
  // is included in all supported values and not included in preferred values
51
-
52
- var useAllValues = prefferedValues && !PREFERRED_VALID_GRID_VALUES.includes(axis.step) && VALID_GRID_VALUES.includes(axis.step);
53
- var values = !prefferedValues || useAllValues ? VALID_GRID_VALUES : PREFERRED_VALID_GRID_VALUES;
54
- return values.filter(function (value) {
55
- return value >= minValue && value <= maxValue;
56
- });
49
+ const useAllValues = prefferedValues && !PREFERRED_VALID_GRID_VALUES.includes(axis.step) && VALID_GRID_VALUES.includes(axis.step);
50
+ const values = !prefferedValues || useAllValues ? VALID_GRID_VALUES : PREFERRED_VALID_GRID_VALUES;
51
+ return values.filter(value => value >= minValue && value <= maxValue);
57
52
  };
58
-
59
53
  exports.getGridValues = getGridValues;
60
-
61
- var getLabelValues = function getLabelValues(value) {
62
- return VALID_LABEL_VALUES[value] || [];
63
- };
64
-
54
+ const getLabelValues = value => VALID_LABEL_VALUES[value] || [];
65
55
  exports.getLabelValues = getLabelValues;
66
-
67
- var applyConstraints = function applyConstraints(axis, size, oldGridValues, oldLabelValues) {
68
- var gridValues = getGridValues(axis, size);
69
- var labelValues = getLabelValues(axis.step || 1);
70
-
71
- if (!(0, _isEqual["default"])(oldGridValues, gridValues) && !gridValues.includes(axis.step)) {
72
- var preferredValues = getGridValues(axis, size, true);
73
- var lowestValue = preferredValues[0] || 1;
56
+ const applyConstraints = (axis, size, oldGridValues, oldLabelValues) => {
57
+ const gridValues = getGridValues(axis, size);
58
+ let labelValues = getLabelValues(axis.step || 1);
59
+ if (!(0, _isEqual.default)(oldGridValues, gridValues) && !gridValues.includes(axis.step)) {
60
+ const preferredValues = getGridValues(axis, size, true);
61
+ const lowestValue = preferredValues[0] || 1;
74
62
  axis.step = lowestValue;
75
63
  labelValues = getLabelValues(lowestValue);
76
-
77
64
  if (!labelValues.includes(axis.labelStep)) {
78
65
  axis.labelStep = lowestValue;
79
66
  }
80
-
81
67
  return {
82
- gridValues: gridValues,
83
- labelValues: labelValues
68
+ gridValues,
69
+ labelValues
84
70
  };
85
71
  }
86
-
87
- if (!(0, _isEqual["default"])(oldLabelValues, labelValues) && !labelValues.includes(axis.labelStep)) {
72
+ if (!(0, _isEqual.default)(oldLabelValues, labelValues) && !labelValues.includes(axis.labelStep)) {
88
73
  axis.labelStep = axis.step;
89
74
  }
90
-
91
75
  return {
92
- gridValues: gridValues,
93
- labelValues: labelValues
76
+ gridValues,
77
+ labelValues
94
78
  };
95
79
  };
96
-
97
80
  exports.applyConstraints = applyConstraints;
98
81
  //# sourceMappingURL=utils.js.map