@pie-element/number-line 6.10.3-next.40 → 6.10.3-next.57
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/configure/lib/main.js
CHANGED
|
@@ -429,6 +429,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
429
429
|
uploadSoundSupport = _this$props13.uploadSoundSupport;
|
|
430
430
|
|
|
431
431
|
var _ref4 = configuration || {},
|
|
432
|
+
_ref4$contentDimensio = _ref4.contentDimensions,
|
|
433
|
+
contentDimensions = _ref4$contentDimensio === void 0 ? {} : _ref4$contentDimensio,
|
|
432
434
|
_ref4$prompt = _ref4.prompt,
|
|
433
435
|
prompt = _ref4$prompt === void 0 ? {} : _ref4$prompt;
|
|
434
436
|
|
|
@@ -452,6 +454,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
452
454
|
position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
|
|
453
455
|
};
|
|
454
456
|
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
457
|
+
dimensions: contentDimensions,
|
|
455
458
|
hideSettings: true,
|
|
456
459
|
settings: null
|
|
457
460
|
}, prompt.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","graph","title","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","marginBottom","row","display","flexWrap","paddingRight","pointTypeChooser","margin","promptContainer","paddingTop","tooltip","fontSize","typography","whiteSpace","maxWidth","inlineFlexContainer","resetButton","errorText","color","palette","error","main","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","obj","onChange","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","forEach","value","e","getAdjustedHeight","ticks","tickUtils","snapElements","domain","initialElements","arrows","defaultModel","event","exhibitOnly","index","el","position","update","Set","map","indices","filter","v","some","d","data","push","pop","classes","configuration","uploadSoundSupport","errors","spellCheckEnabled","toolbarEditorPosition","widthError","domainError","maxError","pointsError","correctResponseError","validationMessage","initialView","toolbarOpts","settings","label","language","marginLeft","changeSize","changeTicks","changeArrows","changeGraphTitle","changeMaxNoOfPoints","setDefaults","availableTypesChange","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","moveInitialView","deleteInitialView","addInitialView","clearInitialView","undoInitialView","exhibitChanged","React","Component","PropTypes","object","isRequired","func","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { InputCheckbox, FeedbackConfig, FormSection, InputContainer, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n graph: { ...model.graph, title: undefined },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\n\nconst styles = (theme) => ({\n maxNumberOfPoints: {\n width: '150px',\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2,\n },\n },\n pointTypeChooser: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n title: {\n marginBottom: theme.spacing.unit * 4,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n resetButton: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const toPointType = (response) => {\n function rest(response) {\n if (response.pointType) {\n if (response.direction) {\n return `${response.pointType[0]}${response.direction[0]}`;\n }\n\n return response.pointType[0];\n }\n\n return `${response.leftPoint[0]}${response.rightPoint[0]}`;\n }\n\n return `${response.type[0]}${rest(response)}`.toUpperCase();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n const {\n model: {\n graph: { availableTypes, maxNumberOfPoints },\n },\n } = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ height });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n const graph = { ...model.graph, ...obj };\n\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n\n return;\n }\n });\n\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n const {\n model: {\n graph: { availableTypes },\n },\n } = this.props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ maxNumberOfPoints, height });\n };\n\n changeGraphTitle = (title) => this.graphChange({ title });\n\n changeTicks = (ticks) => {\n const { model, onChange } = this.props;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements);\n const graph = { ...model.graph, ticks, initialElements };\n\n onChange({ graph, correctResponse });\n };\n\n changeArrows = (arrows) => this.graphChange({ arrows });\n\n setDefaults = () => {\n const {\n graph: { availableTypes, maxNumberOfPoints },\n } = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n exhibitChanged = (event, value) => {\n const graph = { ...this.props.model.graph, exhibitOnly: value };\n\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n el.position = position;\n\n const { onChange, model } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n\n onChange({ correctResponse });\n };\n\n moveInitialView = (index, el, position) => {\n el.position = position;\n\n const { model, onChange } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const initialElements = [...model.graph.initialElements];\n initialElements[index] = update;\n const graph = { ...model.graph, initialElements };\n\n onChange({ graph });\n };\n\n availableTypesChange = (availableTypes) => {\n const { model, onChange } = this.props;\n const {\n correctResponse,\n graph: { maxNumberOfPoints },\n } = model;\n\n new Set(correctResponse.map(toPointType)).forEach((pointType) => {\n availableTypes[pointType] = true;\n });\n\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...model.graph, availableTypes, height };\n\n onChange({ graph });\n };\n\n deleteCorrectResponse = (indices) => {\n const { model, onChange } = this.props;\n const correctResponse = model.correctResponse.filter((v, index) => !indices.some((d) => d === index));\n\n onChange({ correctResponse });\n };\n\n deleteInitialView = (indices) => {\n const { model, onChange } = this.props;\n const initialElements = model.graph.initialElements.filter((v, index) => !indices.some((d) => d === index));\n const graph = { ...model.graph, initialElements };\n\n onChange({ graph });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n\n onChange({ correctResponse });\n };\n\n addInitialView = (data) => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.push(toSessionFormat(data));\n\n onChange({ graph });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n clearInitialView = () => {\n const { model, onChange } = this.props;\n const graph = { ...model.graph, initialElements: [] };\n\n onChange({ graph });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n\n onChange({ correctResponse });\n };\n\n undoInitialView = () => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.pop();\n\n onChange({ graph });\n };\n\n render() {\n const { classes, model, onChange, configuration, uploadSoundSupport } = this.props;\n const { prompt = {} } = configuration || {};\n const { errors, graph, spellCheckEnabled, toolbarEditorPosition } = model || {};\n\n const { widthError, domainError, maxError, pointsError, correctResponseError } = errors || {};\n const validationMessage = generateValidationMessage();\n\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialView = cloneDeep(graph.initialElements || []).map(toGraphFormat);\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n return (\n <layout.ConfigLayout hideSettings={true} settings={null}>\n {prompt.settings && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <CardBar\n header=\"Attributes\"\n info={\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n }\n >\n Set up the number line by entering the domain and number of tick marks to display. Labels on the number line\n can be edited or removed by clicking on the label.\n </CardBar>\n\n <div className={classes.row}>\n <FormSection label={'Size'}>\n <Size size={graph} onChange={this.changeSize} />\n </FormSection>\n\n <FormSection label={'Domain'}>\n <Domain domain={graph.domain} onChange={(domain) => this.graphChange({ domain })} />\n </FormSection>\n </div>\n\n {widthError && <div className={classes.errorText}>{widthError}</div>}\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n\n <div className={classes.row}>\n <FormSection label={'Ticks'}>\n <Ticks ticks={graph.ticks} onChange={this.changeTicks} domain={graph.domain} />\n </FormSection>\n\n <FormSection label={'Arrows'}>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FormSection>\n </div>\n\n <FormSection label={'Title'} className={classes.title}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </FormSection>\n\n <FormSection label={'Limits'}>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n label=\"Max No of Elements\"\n min={1}\n max={20}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n </FormSection>\n\n <Button className={classes.resetButton} variant=\"outlined\" mini color=\"primary\" onClick={this.setDefaults}>\n Reset to default values\n </Button>\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <CardBar header=\"Available Types\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n\n <div className={classes.pointTypeChooser}>\n <PointConfig onSelectionChange={this.availableTypesChange} selection={graph.availableTypes} />\n </div>\n\n <CardBar header=\"Correct Response\">\n Select answer type and place it on the number line. Intersecting points, line segments and/or rays will\n appear above the number line. <i>Note: A maximum of 20 points, line segments or rays may be plotted.</i>\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n </React.Fragment>\n )}\n\n <CardBar header=\"Initial view/Make Exhibit\">\n Use this number line to set a starting point, line segment or ray. This is optional. <br />\n This number line may also be used to make an exhibit number line, which can not be manipulated by a student.\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveInitialView}\n onDeleteElements={this.deleteInitialView}\n onAddElement={this.addInitialView}\n onClearElements={this.clearInitialView}\n onUndoElement={this.undoInitialView}\n answer={initialView}\n model={trimModel(model)}\n />\n\n <InputCheckbox\n label=\"Make exhibit\"\n className={classes.checkbox}\n checked={graph.exhibitOnly}\n onChange={this.exhibitChanged}\n value={'exhibitOnly'}\n />\n\n {!graph.exhibitOnly && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={(feedback) => onChange({ feedback })}\n toolbarOpts={toolbarOpts}\n />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","graph","title","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","marginBottom","row","display","flexWrap","paddingRight","pointTypeChooser","margin","promptContainer","paddingTop","tooltip","fontSize","typography","whiteSpace","maxWidth","inlineFlexContainer","resetButton","errorText","color","palette","error","main","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","obj","onChange","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","forEach","value","e","getAdjustedHeight","ticks","tickUtils","snapElements","domain","initialElements","arrows","defaultModel","event","exhibitOnly","index","el","position","update","Set","map","indices","filter","v","some","d","data","push","pop","classes","configuration","uploadSoundSupport","contentDimensions","errors","spellCheckEnabled","toolbarEditorPosition","widthError","domainError","maxError","pointsError","correctResponseError","validationMessage","initialView","toolbarOpts","settings","label","language","marginLeft","changeSize","changeTicks","changeArrows","changeGraphTitle","changeMaxNoOfPoints","setDefaults","availableTypesChange","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","moveInitialView","deleteInitialView","addInitialView","clearInitialView","undoInitialView","exhibitChanged","React","Component","PropTypes","object","isRequired","func","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { InputCheckbox, FeedbackConfig, FormSection, InputContainer, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n graph: { ...model.graph, title: undefined },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\n\nconst styles = (theme) => ({\n maxNumberOfPoints: {\n width: '150px',\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2,\n },\n },\n pointTypeChooser: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n title: {\n marginBottom: theme.spacing.unit * 4,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n resetButton: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const toPointType = (response) => {\n function rest(response) {\n if (response.pointType) {\n if (response.direction) {\n return `${response.pointType[0]}${response.direction[0]}`;\n }\n\n return response.pointType[0];\n }\n\n return `${response.leftPoint[0]}${response.rightPoint[0]}`;\n }\n\n return `${response.type[0]}${rest(response)}`.toUpperCase();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n const {\n model: {\n graph: { availableTypes, maxNumberOfPoints },\n },\n } = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ height });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n const graph = { ...model.graph, ...obj };\n\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n\n return;\n }\n });\n\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n const {\n model: {\n graph: { availableTypes },\n },\n } = this.props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ maxNumberOfPoints, height });\n };\n\n changeGraphTitle = (title) => this.graphChange({ title });\n\n changeTicks = (ticks) => {\n const { model, onChange } = this.props;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements);\n const graph = { ...model.graph, ticks, initialElements };\n\n onChange({ graph, correctResponse });\n };\n\n changeArrows = (arrows) => this.graphChange({ arrows });\n\n setDefaults = () => {\n const {\n graph: { availableTypes, maxNumberOfPoints },\n } = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n exhibitChanged = (event, value) => {\n const graph = { ...this.props.model.graph, exhibitOnly: value };\n\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n el.position = position;\n\n const { onChange, model } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n\n onChange({ correctResponse });\n };\n\n moveInitialView = (index, el, position) => {\n el.position = position;\n\n const { model, onChange } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const initialElements = [...model.graph.initialElements];\n initialElements[index] = update;\n const graph = { ...model.graph, initialElements };\n\n onChange({ graph });\n };\n\n availableTypesChange = (availableTypes) => {\n const { model, onChange } = this.props;\n const {\n correctResponse,\n graph: { maxNumberOfPoints },\n } = model;\n\n new Set(correctResponse.map(toPointType)).forEach((pointType) => {\n availableTypes[pointType] = true;\n });\n\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...model.graph, availableTypes, height };\n\n onChange({ graph });\n };\n\n deleteCorrectResponse = (indices) => {\n const { model, onChange } = this.props;\n const correctResponse = model.correctResponse.filter((v, index) => !indices.some((d) => d === index));\n\n onChange({ correctResponse });\n };\n\n deleteInitialView = (indices) => {\n const { model, onChange } = this.props;\n const initialElements = model.graph.initialElements.filter((v, index) => !indices.some((d) => d === index));\n const graph = { ...model.graph, initialElements };\n\n onChange({ graph });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n\n onChange({ correctResponse });\n };\n\n addInitialView = (data) => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.push(toSessionFormat(data));\n\n onChange({ graph });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n clearInitialView = () => {\n const { model, onChange } = this.props;\n const graph = { ...model.graph, initialElements: [] };\n\n onChange({ graph });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n\n onChange({ correctResponse });\n };\n\n undoInitialView = () => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.pop();\n\n onChange({ graph });\n };\n\n render() {\n const { classes, model, onChange, configuration, uploadSoundSupport } = this.props;\n const { contentDimensions = {}, prompt = {} } = configuration || {};\n const { errors, graph, spellCheckEnabled, toolbarEditorPosition } = model || {};\n\n const { widthError, domainError, maxError, pointsError, correctResponseError } = errors || {};\n const validationMessage = generateValidationMessage();\n\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialView = cloneDeep(graph.initialElements || []).map(toGraphFormat);\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n return (\n <layout.ConfigLayout dimensions={contentDimensions} hideSettings={true} settings={null}>\n {prompt.settings && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <CardBar\n header=\"Attributes\"\n info={\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n }\n >\n Set up the number line by entering the domain and number of tick marks to display. Labels on the number line\n can be edited or removed by clicking on the label.\n </CardBar>\n\n <div className={classes.row}>\n <FormSection label={'Size'}>\n <Size size={graph} onChange={this.changeSize} />\n </FormSection>\n\n <FormSection label={'Domain'}>\n <Domain domain={graph.domain} onChange={(domain) => this.graphChange({ domain })} />\n </FormSection>\n </div>\n\n {widthError && <div className={classes.errorText}>{widthError}</div>}\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n\n <div className={classes.row}>\n <FormSection label={'Ticks'}>\n <Ticks ticks={graph.ticks} onChange={this.changeTicks} domain={graph.domain} />\n </FormSection>\n\n <FormSection label={'Arrows'}>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FormSection>\n </div>\n\n <FormSection label={'Title'} className={classes.title}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </FormSection>\n\n <FormSection label={'Limits'}>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n label=\"Max No of Elements\"\n min={1}\n max={20}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n </FormSection>\n\n <Button className={classes.resetButton} variant=\"outlined\" mini color=\"primary\" onClick={this.setDefaults}>\n Reset to default values\n </Button>\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <CardBar header=\"Available Types\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n\n <div className={classes.pointTypeChooser}>\n <PointConfig onSelectionChange={this.availableTypesChange} selection={graph.availableTypes} />\n </div>\n\n <CardBar header=\"Correct Response\">\n Select answer type and place it on the number line. Intersecting points, line segments and/or rays will\n appear above the number line. <i>Note: A maximum of 20 points, line segments or rays may be plotted.</i>\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n </React.Fragment>\n )}\n\n <CardBar header=\"Initial view/Make Exhibit\">\n Use this number line to set a starting point, line segment or ray. This is optional. <br />\n This number line may also be used to make an exhibit number line, which can not be manipulated by a student.\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveInitialView}\n onDeleteElements={this.deleteInitialView}\n onAddElement={this.addInitialView}\n onClearElements={this.clearInitialView}\n onUndoElement={this.undoInitialView}\n answer={initialView}\n model={trimModel(model)}\n />\n\n <InputCheckbox\n label=\"Make exhibit\"\n className={classes.checkbox}\n checked={graph.exhibitOnly}\n onChange={this.exhibitChanged}\n value={'exhibitOnly'}\n />\n\n {!graph.exhibitOnly && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={(feedback) => onChange({ feedback })}\n toolbarOpts={toolbarOpts}\n />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
|
package/docs/config-schema.json
CHANGED
|
@@ -47,6 +47,50 @@
|
|
|
47
47
|
"type": "string",
|
|
48
48
|
"title": "promptLabel"
|
|
49
49
|
},
|
|
50
|
+
"contentDimensions": {
|
|
51
|
+
"description": "Indicates the dimensions configuration for the authoring container\nNote: Some items have a default minimum width because of their content, but if\nthe minWidth is lower than this, the overflow behavior will take care of that",
|
|
52
|
+
"default": ": {}",
|
|
53
|
+
"type": "object",
|
|
54
|
+
"properties": {
|
|
55
|
+
"maxHeight": {
|
|
56
|
+
"description": "Indicates the max height of the authoring container",
|
|
57
|
+
"default": "undefined",
|
|
58
|
+
"type": [
|
|
59
|
+
"string",
|
|
60
|
+
"number"
|
|
61
|
+
],
|
|
62
|
+
"title": "maxHeight"
|
|
63
|
+
},
|
|
64
|
+
"maxWidth": {
|
|
65
|
+
"description": "Indicates the max width of the authoring container",
|
|
66
|
+
"default": "undefined",
|
|
67
|
+
"type": [
|
|
68
|
+
"string",
|
|
69
|
+
"number"
|
|
70
|
+
],
|
|
71
|
+
"title": "maxWidth"
|
|
72
|
+
},
|
|
73
|
+
"minHeight": {
|
|
74
|
+
"description": "Indicates the min height of the authoring container",
|
|
75
|
+
"default": "undefined",
|
|
76
|
+
"type": [
|
|
77
|
+
"string",
|
|
78
|
+
"number"
|
|
79
|
+
],
|
|
80
|
+
"title": "minHeight"
|
|
81
|
+
},
|
|
82
|
+
"minWidth": {
|
|
83
|
+
"description": "Indicates the min width of the authoring container",
|
|
84
|
+
"default": "undefined",
|
|
85
|
+
"type": [
|
|
86
|
+
"string",
|
|
87
|
+
"number"
|
|
88
|
+
],
|
|
89
|
+
"title": "minWidth"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"title": "contentDimensions"
|
|
93
|
+
},
|
|
50
94
|
"settingsPartialScoring": {
|
|
51
95
|
"description": "Indicates whether the settings panel wil allow the author to modify settings for partial scoring",
|
|
52
96
|
"default": true,
|
|
@@ -38,6 +38,40 @@ The label for the item stem/prompt field
|
|
|
38
38
|
|
|
39
39
|
Default: `"Item Stemm"`
|
|
40
40
|
|
|
41
|
+
# `contentDimensions` (object)
|
|
42
|
+
|
|
43
|
+
Indicates the dimensions configuration for the authoring container
|
|
44
|
+
Note: Some items have a default minimum width because of their content, but if
|
|
45
|
+
the minWidth is lower than this, the overflow behavior will take care of that
|
|
46
|
+
|
|
47
|
+
Properties of the `contentDimensions` object:
|
|
48
|
+
|
|
49
|
+
## `maxHeight` (string,number)
|
|
50
|
+
|
|
51
|
+
Indicates the max height of the authoring container
|
|
52
|
+
|
|
53
|
+
Default: `"undefined"`
|
|
54
|
+
|
|
55
|
+
## `maxWidth` (string,number)
|
|
56
|
+
|
|
57
|
+
Indicates the max width of the authoring container
|
|
58
|
+
|
|
59
|
+
Default: `"undefined"`
|
|
60
|
+
|
|
61
|
+
## `minHeight` (string,number)
|
|
62
|
+
|
|
63
|
+
Indicates the min height of the authoring container
|
|
64
|
+
|
|
65
|
+
Default: `"undefined"`
|
|
66
|
+
|
|
67
|
+
## `minWidth` (string,number)
|
|
68
|
+
|
|
69
|
+
Indicates the min width of the authoring container
|
|
70
|
+
|
|
71
|
+
Default: `"undefined"`
|
|
72
|
+
|
|
73
|
+
Default: `": {}"`
|
|
74
|
+
|
|
41
75
|
# `settingsPartialScoring` (boolean)
|
|
42
76
|
|
|
43
77
|
Indicates whether the settings panel wil allow the author to modify settings for partial scoring
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/number-line",
|
|
3
|
-
"version": "6.10.3-next.
|
|
3
|
+
"version": "6.10.3-next.57+f7af573fb",
|
|
4
4
|
"repository": "pie-framework/pie-elements",
|
|
5
5
|
"description": "",
|
|
6
6
|
"publishConfig": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"author": "pie framework developers",
|
|
29
29
|
"license": "ISC",
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "f7af573fb4e0491e4f5ff278103b157ac0120f98",
|
|
31
31
|
"scripts": {
|
|
32
32
|
"postpublish": "../../scripts/postpublish"
|
|
33
33
|
},
|