@pie-lib/math-toolbar 1.8.1-next.417 → 1.8.1-next.437
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/lib/editor-and-pad.js +6 -82
- package/lib/editor-and-pad.js.map +1 -1
- package/package.json +3 -3
- package/src/editor-and-pad.jsx +6 -102
package/lib/editor-and-pad.js
CHANGED
|
@@ -108,6 +108,10 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
|
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
if (!c) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
|
|
111
115
|
if (c.type === 'clear') {
|
|
112
116
|
log('call clear...');
|
|
113
117
|
|
|
@@ -313,7 +317,6 @@ var EditorAndPad = /*#__PURE__*/function (_React$Component) {
|
|
|
313
317
|
}, "+ Response Area"), /*#__PURE__*/_react["default"].createElement("hr", {
|
|
314
318
|
className: classes.hr
|
|
315
319
|
}), shouldShowKeypad && /*#__PURE__*/_react["default"].createElement(_mathInput.HorizontalKeypad, {
|
|
316
|
-
className: classes.keyboard,
|
|
317
320
|
layoutForKeyPad: layoutForKeyPad,
|
|
318
321
|
additionalKeys: additionalKeys,
|
|
319
322
|
mode: controlledKeypadMode ? this.state.equationEditor : keypadMode,
|
|
@@ -352,10 +355,7 @@ var styles = function styles(theme) {
|
|
|
352
355
|
inputAndTypeContainer: {
|
|
353
356
|
display: 'flex',
|
|
354
357
|
alignItems: 'center',
|
|
355
|
-
'&
|
|
356
|
-
marginTop: '8px'
|
|
357
|
-
},
|
|
358
|
-
'& .mq-math-mode .mq-overarrow': {
|
|
358
|
+
'& *': {
|
|
359
359
|
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
|
|
360
360
|
},
|
|
361
361
|
'& .mq-overarrow.mq-arrow-both': {
|
|
@@ -380,46 +380,6 @@ var styles = function styles(theme) {
|
|
|
380
380
|
top: '-0.4em',
|
|
381
381
|
right: '-1px'
|
|
382
382
|
}
|
|
383
|
-
},
|
|
384
|
-
'& *': {
|
|
385
|
-
fontFamily: 'MJXZERO, MJXTEX-I !important',
|
|
386
|
-
'& .mq-math-mode .mq-empty': {
|
|
387
|
-
padding: '9px 1px !important'
|
|
388
|
-
},
|
|
389
|
-
'& .mq-longdiv-inner': {
|
|
390
|
-
marginTop: '-1px',
|
|
391
|
-
marginLeft: '5px !important;',
|
|
392
|
-
'& > .mq-empty': {
|
|
393
|
-
padding: '0 !important',
|
|
394
|
-
marginLeft: '0px !important',
|
|
395
|
-
marginTop: '2px'
|
|
396
|
-
}
|
|
397
|
-
},
|
|
398
|
-
'& .mq-math-mode .mq-longdiv': {
|
|
399
|
-
display: 'flex !important'
|
|
400
|
-
},
|
|
401
|
-
'& .mq-math-mode .mq-supsub': {
|
|
402
|
-
fontSize: '70.7% !important'
|
|
403
|
-
},
|
|
404
|
-
'& .mq-math-mode .mq-paren': {
|
|
405
|
-
verticalAlign: 'middle !important'
|
|
406
|
-
},
|
|
407
|
-
'& .mq-math-mode .mq-sqrt-stem': {
|
|
408
|
-
borderTop: '0.07em solid',
|
|
409
|
-
marginLeft: '-1.5px',
|
|
410
|
-
marginTop: '-2px !important',
|
|
411
|
-
paddingTop: '5px !important'
|
|
412
|
-
},
|
|
413
|
-
'& .mq-supsub ': {
|
|
414
|
-
fontSize: '70.7%'
|
|
415
|
-
},
|
|
416
|
-
'& .mq-math-mode .mq-supsub.mq-sup-only': {
|
|
417
|
-
verticalAlign: '-0.1em !important',
|
|
418
|
-
'& .mq-sup': {
|
|
419
|
-
marginBottom: '0px !important'
|
|
420
|
-
}
|
|
421
|
-
},
|
|
422
|
-
'-webkit-font-smoothing': 'antialiased !important'
|
|
423
383
|
}
|
|
424
384
|
},
|
|
425
385
|
hide: {
|
|
@@ -432,13 +392,7 @@ var styles = function styles(theme) {
|
|
|
432
392
|
marginLeft: '15px',
|
|
433
393
|
marginTop: '5px',
|
|
434
394
|
marginBottom: '5px',
|
|
435
|
-
marginRight: '5px'
|
|
436
|
-
'& label': {
|
|
437
|
-
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
|
|
438
|
-
},
|
|
439
|
-
'& div': {
|
|
440
|
-
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
|
|
441
|
-
}
|
|
395
|
+
marginRight: '5px'
|
|
442
396
|
},
|
|
443
397
|
mathEditor: {
|
|
444
398
|
maxWidth: '400px',
|
|
@@ -507,36 +461,6 @@ var styles = function styles(theme) {
|
|
|
507
461
|
},
|
|
508
462
|
error: {
|
|
509
463
|
border: '2px solid red'
|
|
510
|
-
},
|
|
511
|
-
keyboard: {
|
|
512
|
-
'& *': {
|
|
513
|
-
fontFamily: 'MJXZERO, MJXTEX-I !important',
|
|
514
|
-
'& .mq-math-mode .mq-empty': {
|
|
515
|
-
padding: '9px 1px !important'
|
|
516
|
-
},
|
|
517
|
-
'& .mq-longdiv-inner': {
|
|
518
|
-
marginTop: '-1px',
|
|
519
|
-
marginLeft: '5px !important;',
|
|
520
|
-
'& > .mq-empty': {
|
|
521
|
-
padding: '0 !important',
|
|
522
|
-
marginLeft: '0px !important',
|
|
523
|
-
marginTop: '2px'
|
|
524
|
-
}
|
|
525
|
-
},
|
|
526
|
-
'& .mq-math-mode .mq-longdiv': {
|
|
527
|
-
display: 'flex !important'
|
|
528
|
-
},
|
|
529
|
-
'& .mq-math-mode .mq-supsub': {
|
|
530
|
-
fontSize: '70.7% !important'
|
|
531
|
-
},
|
|
532
|
-
'& .mq-math-mode .mq-sqrt-stem': {
|
|
533
|
-
marginTop: '-5px',
|
|
534
|
-
paddingTop: '4px'
|
|
535
|
-
},
|
|
536
|
-
'& .mq-math-mode .mq-paren': {
|
|
537
|
-
verticalAlign: 'middle !important'
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
464
|
}
|
|
541
465
|
};
|
|
542
466
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-and-pad.js","names":["log","debug","decimalRegex","toNodeData","data","type","value","EditorAndPad","props","noDecimal","noLatexHandling","onChange","c","input","clear","command","keystroke","write","isEdit","maxResponseAreas","shouldDisable","checkResponseAreasNumber","setState","addDisabled","onAnswerBlockAdd","onClick","updateDisable","latex","updateSpans","indexOf","replace","evt","equationEditor","target","count","match","length","state","autoFocus","focus","nextProps","nextState","inputIsDifferent","mathField","isEqual","error","keypadMode","controlledKeypad","showKeypad","classNames","allowAnswerBlock","additionalKeys","controlledKeypadMode","hideInput","layoutForKeyPad","onFocus","onBlur","classes","shouldShowKeypad","cx","mathToolbar","inputAndTypeContainer","hide","selectContainer","select","onEditorTypeChange","inputContainer","event","mathEditor","editor","longMathEditor","r","onEditorChange","addAnswerBlockButton","bottom","onAnswerBlockClick","hr","keyboard","React","Component","PropTypes","object","oneOfType","string","number","bool","array","isRequired","func","styles","theme","display","alignItems","marginTop","fontFamily","minWidth","lineHeight","top","left","right","padding","marginLeft","fontSize","verticalAlign","borderTop","paddingTop","marginBottom","flex","width","marginRight","maxWidth","color","text","backgroundColor","background","spacing","unit","position","border","margin","height","borderBottom","palette","primary","main","zIndex","textAlign","outline","boxShadow","borderRadius","minHeight","withStyles"],"sources":["../src/editor-and-pad.jsx"],"sourcesContent":["import { HorizontalKeypad, mq } from '@pie-lib/math-input';\nimport React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nconst log = debug('@pie-lib:math-toolbar:editor-and-pad');\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport { updateSpans } from '@pie-lib/math-input';\nimport isEqual from 'lodash/isEqual';\n\nconst decimalRegex = /\\.|,/g;\n\nconst toNodeData = data => {\n if (!data) {\n return;\n }\n\n const { type, value } = data;\n\n if (type === 'command' || type === 'cursor') {\n return data;\n } else if (type === 'answer') {\n return { type: 'answer', ...data };\n } else if (value === 'clear') {\n return { type: 'clear' };\n } else {\n return { type: 'write', value };\n }\n};\n\nexport class EditorAndPad extends React.Component {\n static propTypes = {\n classNames: PropTypes.object,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n autoFocus: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n showKeypad: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n noDecimal: PropTypes.bool,\n hideInput: PropTypes.bool,\n noLatexHandling: PropTypes.bool,\n layoutForKeyPad: PropTypes.object,\n additionalKeys: PropTypes.array,\n latex: PropTypes.string.isRequired,\n onAnswerBlockAdd: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n\n this.state = { equationEditor: 'item-authoring', addDisabled: false };\n }\n\n componentDidMount() {\n if (this.input && this.props.autoFocus) {\n this.input.focus();\n }\n }\n\n onClick = data => {\n const { noDecimal, noLatexHandling, onChange } = this.props;\n const c = toNodeData(data);\n log('mathChange: ', c);\n\n if (noLatexHandling) {\n onChange(c.value);\n return;\n }\n\n // if decimals are not allowed for this response, we discard the input\n if (noDecimal && (c.value === '.' || c.value === ',')) {\n return;\n }\n\n if (c.type === 'clear') {\n log('call clear...');\n this.input.clear();\n } else if (c.type === 'command') {\n this.input.command(c.value);\n } else if (c.type === 'cursor') {\n this.input.keystroke(c.value);\n } else if (c.type === 'answer') {\n this.input.write('%response%');\n } else {\n this.input.write(c.value);\n }\n };\n\n updateDisable = isEdit => {\n const { maxResponseAreas } = this.props;\n\n if (maxResponseAreas) {\n const shouldDisable = this.checkResponseAreasNumber(maxResponseAreas, isEdit);\n\n this.setState({ addDisabled: shouldDisable });\n }\n };\n\n onAnswerBlockClick = () => {\n this.props.onAnswerBlockAdd();\n this.onClick({\n type: 'answer'\n });\n\n this.updateDisable(true);\n };\n\n onEditorChange = latex => {\n const { onChange, noDecimal } = this.props;\n\n updateSpans();\n\n this.updateDisable(true);\n\n // if no decimals are allowed and the last change is a decimal dot, discard the change\n if (noDecimal && (latex.indexOf('.') !== -1 || latex.indexOf(',') !== -1) && this.input) {\n this.input.clear();\n this.input.write(latex.replace(decimalRegex, ''));\n return;\n }\n\n onChange(latex);\n };\n\n /** Only render if the mathquill instance's latex is different\n * or the keypad state changed from one state to the other (shown / hidden) */\n shouldComponentUpdate(nextProps, nextState) {\n const inputIsDifferent = this.input.mathField.latex() !== nextProps.latex;\n log('[shouldComponentUpdate] ', 'inputIsDifferent: ', inputIsDifferent);\n\n if (!isEqual(this.props.error, nextProps.error)) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.keypadMode !== nextProps.keypadMode) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.noDecimal !== nextProps.noDecimal) {\n return true;\n }\n\n if (!inputIsDifferent && this.state.equationEditor !== nextState.equationEditor) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.controlledKeypad) {\n return this.props.showKeypad !== nextProps.showKeypad;\n }\n\n return inputIsDifferent;\n }\n\n onEditorTypeChange = evt => {\n this.setState({ equationEditor: evt.target.value });\n };\n\n checkResponseAreasNumber = (maxResponseAreas, isEdit) => {\n const { latex } = (this.input && this.input.props) || {};\n\n if (latex) {\n const count = (latex.match(/answerBlock/g) || []).length;\n\n return isEdit ? count === maxResponseAreas - 1 : count === maxResponseAreas;\n }\n\n return false;\n };\n\n render() {\n const {\n classNames,\n keypadMode,\n allowAnswerBlock,\n additionalKeys,\n controlledKeypad,\n controlledKeypadMode,\n showKeypad,\n noDecimal,\n hideInput,\n layoutForKeyPad,\n latex,\n onFocus,\n onBlur,\n classes,\n error\n } = this.props;\n const shouldShowKeypad = !controlledKeypad || (controlledKeypad && showKeypad);\n const { addDisabled } = this.state;\n\n log('[render]', latex);\n\n return (\n <div className={cx(classes.mathToolbar, classNames.mathToolbar)}>\n <div className={cx(classes.inputAndTypeContainer, { [classes.hide]: hideInput })}>\n {controlledKeypadMode && (\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select\n className={classes.select}\n onChange={this.onEditorTypeChange}\n value={this.state.equationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n <MenuItem value={'language'}>Language</MenuItem>\n </Select>\n </InputContainer>\n )}\n <div className={cx(classes.inputContainer, error ? classes.error : '')}>\n <mq.Input\n onFocus={() => {\n onFocus && onFocus();\n this.updateDisable(false);\n }}\n onBlur={event => {\n this.updateDisable(false);\n onBlur && onBlur(event);\n }}\n className={cx(\n classes.mathEditor,\n classNames.editor,\n !controlledKeypadMode ? classes.longMathEditor : ''\n )}\n innerRef={r => (this.input = r)}\n latex={latex}\n onChange={this.onEditorChange}\n />\n </div>\n </div>\n {allowAnswerBlock && (\n <Button\n className={classes.addAnswerBlockButton}\n type=\"primary\"\n style={{ bottom: shouldShowKeypad ? '320px' : '20px' }}\n onClick={this.onAnswerBlockClick}\n disabled={addDisabled}\n >\n + Response Area\n </Button>\n )}\n <hr className={classes.hr} />\n {shouldShowKeypad && (\n <HorizontalKeypad\n className={classes.keyboard}\n layoutForKeyPad={layoutForKeyPad}\n additionalKeys={additionalKeys}\n mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}\n onClick={this.onClick}\n noDecimal={noDecimal}\n />\n )}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n inputAndTypeContainer: {\n display: 'flex',\n alignItems: 'center',\n '& .mq-root-block': {\n marginTop: '8px',\n },\n '& .mq-math-mode .mq-overarrow': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px'\n },\n '&:after': {\n top: '-2.36em',\n right: '-1px'\n },\n '&.mq-empty:after': {\n top: '-0.45em'\n }\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px'\n }\n },\n '& *': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n\n '& .mq-math-mode .mq-empty': {\n padding: '9px 1px !important'\n },\n\n '& .mq-longdiv-inner': {\n marginTop: '-1px',\n marginLeft: '5px !important;',\n\n '& > .mq-empty': {\n padding: '0 !important',\n marginLeft: '0px !important',\n marginTop: '2px'\n }\n },\n\n '& .mq-math-mode .mq-longdiv': {\n display: 'flex !important'\n },\n\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important'\n },\n\n '& .mq-math-mode .mq-paren': {\n verticalAlign: 'middle !important'\n },\n\n '& .mq-math-mode .mq-sqrt-stem': {\n borderTop: '0.07em solid',\n marginLeft: '-1.5px',\n marginTop: '-2px !important',\n paddingTop: '5px !important'\n },\n\n '& .mq-supsub ': {\n fontSize: '70.7%'\n },\n\n '& .mq-math-mode .mq-supsub.mq-sup-only': {\n verticalAlign: '-0.1em !important',\n\n '& .mq-sup': {\n marginBottom: '0px !important'\n }\n },\n\n '-webkit-font-smoothing': 'antialiased !important'\n }\n },\n hide: {\n display: 'none'\n },\n selectContainer: {\n flex: 'initial',\n width: '25%',\n minWidth: '100px',\n marginLeft: '15px',\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px',\n\n '& label': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n\n '& div': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n }\n },\n mathEditor: {\n maxWidth: '400px',\n color: color.text(),\n backgroundColor: color.background(),\n padding: theme.spacing.unit\n },\n longMathEditor: {\n maxWidth: '500px'\n },\n addAnswerBlockButton: {\n position: 'absolute',\n right: '12px',\n border: '1px solid lightgrey'\n },\n hr: {\n padding: 0,\n margin: 0,\n height: '1px',\n border: 'none',\n borderBottom: `solid 1px ${theme.palette.primary.main}`\n },\n mathToolbar: {\n zIndex: 9,\n position: 'relative',\n textAlign: 'center',\n width: 'auto',\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey'\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: `dotted 1px ${theme.palette.primary.main}`,\n borderRadius: '0px'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important',\n paddingTop: '0 !important'\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important'\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n }\n },\n inputContainer: {\n minWidth: '500px',\n maxWidth: '900px',\n minHeight: '40px',\n width: '100%',\n display: 'flex',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit\n },\n error: {\n border: '2px solid red'\n },\n keyboard: {\n '& *': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n\n '& .mq-math-mode .mq-empty': {\n padding: '9px 1px !important'\n },\n\n '& .mq-longdiv-inner': {\n marginTop: '-1px',\n marginLeft: '5px !important;',\n\n '& > .mq-empty': {\n padding: '0 !important',\n marginLeft: '0px !important',\n marginTop: '2px'\n }\n },\n\n '& .mq-math-mode .mq-longdiv': {\n display: 'flex !important'\n },\n\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important'\n },\n\n '& .mq-math-mode .mq-sqrt-stem': {\n marginTop: '-5px',\n paddingTop: '4px'\n },\n\n '& .mq-math-mode .mq-paren': {\n verticalAlign: 'middle !important'\n }\n }\n }\n});\n\nexport default withStyles(styles)(EditorAndPad);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor-and-pad.js","names":["log","debug","decimalRegex","toNodeData","data","type","value","EditorAndPad","props","noDecimal","noLatexHandling","onChange","c","input","clear","command","keystroke","write","isEdit","maxResponseAreas","shouldDisable","checkResponseAreasNumber","setState","addDisabled","onAnswerBlockAdd","onClick","updateDisable","latex","updateSpans","indexOf","replace","evt","equationEditor","target","count","match","length","state","autoFocus","focus","nextProps","nextState","inputIsDifferent","mathField","isEqual","error","keypadMode","controlledKeypad","showKeypad","classNames","allowAnswerBlock","additionalKeys","controlledKeypadMode","hideInput","layoutForKeyPad","onFocus","onBlur","classes","shouldShowKeypad","cx","mathToolbar","inputAndTypeContainer","hide","selectContainer","select","onEditorTypeChange","inputContainer","event","mathEditor","editor","longMathEditor","r","onEditorChange","addAnswerBlockButton","bottom","onAnswerBlockClick","hr","React","Component","PropTypes","object","oneOfType","string","number","bool","array","isRequired","func","styles","theme","display","alignItems","fontFamily","minWidth","lineHeight","top","left","right","flex","width","marginLeft","marginTop","marginBottom","marginRight","maxWidth","color","text","backgroundColor","background","padding","spacing","unit","position","border","margin","height","borderBottom","palette","primary","main","zIndex","textAlign","outline","boxShadow","borderRadius","paddingTop","borderTop","minHeight","withStyles"],"sources":["../src/editor-and-pad.jsx"],"sourcesContent":["import { HorizontalKeypad, mq } from '@pie-lib/math-input';\nimport React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nconst log = debug('@pie-lib:math-toolbar:editor-and-pad');\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport { updateSpans } from '@pie-lib/math-input';\nimport isEqual from 'lodash/isEqual';\n\nconst decimalRegex = /\\.|,/g;\n\nconst toNodeData = data => {\n if (!data) {\n return;\n }\n\n const { type, value } = data;\n\n if (type === 'command' || type === 'cursor') {\n return data;\n } else if (type === 'answer') {\n return { type: 'answer', ...data };\n } else if (value === 'clear') {\n return { type: 'clear' };\n } else {\n return { type: 'write', value };\n }\n};\n\nexport class EditorAndPad extends React.Component {\n static propTypes = {\n classNames: PropTypes.object,\n keypadMode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n autoFocus: PropTypes.bool,\n allowAnswerBlock: PropTypes.bool,\n showKeypad: PropTypes.bool,\n controlledKeypad: PropTypes.bool,\n controlledKeypadMode: PropTypes.bool,\n noDecimal: PropTypes.bool,\n hideInput: PropTypes.bool,\n noLatexHandling: PropTypes.bool,\n layoutForKeyPad: PropTypes.object,\n additionalKeys: PropTypes.array,\n latex: PropTypes.string.isRequired,\n onAnswerBlockAdd: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n\n this.state = { equationEditor: 'item-authoring', addDisabled: false };\n }\n\n componentDidMount() {\n if (this.input && this.props.autoFocus) {\n this.input.focus();\n }\n }\n\n onClick = data => {\n const { noDecimal, noLatexHandling, onChange } = this.props;\n const c = toNodeData(data);\n log('mathChange: ', c);\n\n if (noLatexHandling) {\n onChange(c.value);\n return;\n }\n\n // if decimals are not allowed for this response, we discard the input\n if (noDecimal && (c.value === '.' || c.value === ',')) {\n return;\n }\n\n if (!c) {\n return;\n }\n\n if (c.type === 'clear') {\n log('call clear...');\n this.input.clear();\n } else if (c.type === 'command') {\n this.input.command(c.value);\n } else if (c.type === 'cursor') {\n this.input.keystroke(c.value);\n } else if (c.type === 'answer') {\n this.input.write('%response%');\n } else {\n this.input.write(c.value);\n }\n };\n\n updateDisable = isEdit => {\n const { maxResponseAreas } = this.props;\n\n if (maxResponseAreas) {\n const shouldDisable = this.checkResponseAreasNumber(maxResponseAreas, isEdit);\n\n this.setState({ addDisabled: shouldDisable });\n }\n };\n\n onAnswerBlockClick = () => {\n this.props.onAnswerBlockAdd();\n this.onClick({\n type: 'answer'\n });\n\n this.updateDisable(true);\n };\n\n onEditorChange = latex => {\n const { onChange, noDecimal } = this.props;\n\n updateSpans();\n\n this.updateDisable(true);\n\n // if no decimals are allowed and the last change is a decimal dot, discard the change\n if (noDecimal && (latex.indexOf('.') !== -1 || latex.indexOf(',') !== -1) && this.input) {\n this.input.clear();\n this.input.write(latex.replace(decimalRegex, ''));\n return;\n }\n\n onChange(latex);\n };\n\n /** Only render if the mathquill instance's latex is different\n * or the keypad state changed from one state to the other (shown / hidden) */\n shouldComponentUpdate(nextProps, nextState) {\n const inputIsDifferent = this.input.mathField.latex() !== nextProps.latex;\n log('[shouldComponentUpdate] ', 'inputIsDifferent: ', inputIsDifferent);\n\n if (!isEqual(this.props.error, nextProps.error)) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.keypadMode !== nextProps.keypadMode) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.noDecimal !== nextProps.noDecimal) {\n return true;\n }\n\n if (!inputIsDifferent && this.state.equationEditor !== nextState.equationEditor) {\n return true;\n }\n\n if (!inputIsDifferent && this.props.controlledKeypad) {\n return this.props.showKeypad !== nextProps.showKeypad;\n }\n\n return inputIsDifferent;\n }\n\n onEditorTypeChange = evt => {\n this.setState({ equationEditor: evt.target.value });\n };\n\n checkResponseAreasNumber = (maxResponseAreas, isEdit) => {\n const { latex } = (this.input && this.input.props) || {};\n\n if (latex) {\n const count = (latex.match(/answerBlock/g) || []).length;\n\n return isEdit ? count === maxResponseAreas - 1 : count === maxResponseAreas;\n }\n\n return false;\n };\n\n render() {\n const {\n classNames,\n keypadMode,\n allowAnswerBlock,\n additionalKeys,\n controlledKeypad,\n controlledKeypadMode,\n showKeypad,\n noDecimal,\n hideInput,\n layoutForKeyPad,\n latex,\n onFocus,\n onBlur,\n classes,\n error\n } = this.props;\n const shouldShowKeypad = !controlledKeypad || (controlledKeypad && showKeypad);\n const { addDisabled } = this.state;\n\n log('[render]', latex);\n\n return (\n <div className={cx(classes.mathToolbar, classNames.mathToolbar)}>\n <div className={cx(classes.inputAndTypeContainer, { [classes.hide]: hideInput })}>\n {controlledKeypadMode && (\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select\n className={classes.select}\n onChange={this.onEditorTypeChange}\n value={this.state.equationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n <MenuItem value={'language'}>Language</MenuItem>\n </Select>\n </InputContainer>\n )}\n <div className={cx(classes.inputContainer, error ? classes.error : '')}>\n <mq.Input\n onFocus={() => {\n onFocus && onFocus();\n this.updateDisable(false);\n }}\n onBlur={event => {\n this.updateDisable(false);\n onBlur && onBlur(event);\n }}\n className={cx(\n classes.mathEditor,\n classNames.editor,\n !controlledKeypadMode ? classes.longMathEditor : ''\n )}\n innerRef={r => (this.input = r)}\n latex={latex}\n onChange={this.onEditorChange}\n />\n </div>\n </div>\n {allowAnswerBlock && (\n <Button\n className={classes.addAnswerBlockButton}\n type=\"primary\"\n style={{ bottom: shouldShowKeypad ? '320px' : '20px' }}\n onClick={this.onAnswerBlockClick}\n disabled={addDisabled}\n >\n + Response Area\n </Button>\n )}\n <hr className={classes.hr} />\n {shouldShowKeypad && (\n <HorizontalKeypad\n layoutForKeyPad={layoutForKeyPad}\n additionalKeys={additionalKeys}\n mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}\n onClick={this.onClick}\n noDecimal={noDecimal}\n />\n )}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n inputAndTypeContainer: {\n display: 'flex',\n alignItems: 'center',\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px'\n },\n '&:after': {\n top: '-2.36em',\n right: '-1px'\n },\n '&.mq-empty:after': {\n top: '-0.45em'\n }\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px'\n }\n }\n },\n hide: {\n display: 'none'\n },\n selectContainer: {\n flex: 'initial',\n width: '25%',\n minWidth: '100px',\n marginLeft: '15px',\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px'\n },\n mathEditor: {\n maxWidth: '400px',\n color: color.text(),\n backgroundColor: color.background(),\n padding: theme.spacing.unit\n },\n longMathEditor: {\n maxWidth: '500px'\n },\n addAnswerBlockButton: {\n position: 'absolute',\n right: '12px',\n border: '1px solid lightgrey'\n },\n hr: {\n padding: 0,\n margin: 0,\n height: '1px',\n border: 'none',\n borderBottom: `solid 1px ${theme.palette.primary.main}`\n },\n mathToolbar: {\n zIndex: 9,\n position: 'relative',\n textAlign: 'center',\n width: 'auto',\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey'\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: `dotted 1px ${theme.palette.primary.main}`,\n borderRadius: '0px'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important',\n paddingTop: '0 !important'\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important'\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n }\n },\n inputContainer: {\n minWidth: '500px',\n maxWidth: '900px',\n minHeight: '40px',\n width: '100%',\n display: 'flex',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit\n },\n error: {\n border: '2px solid red'\n }\n});\n\nexport default withStyles(styles)(EditorAndPad);\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.8.1-next.
|
|
6
|
+
"version": "1.8.1-next.437+7133506c",
|
|
7
7
|
"description": "Math toolbar for editing math equations",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"math",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@material-ui/core": "^3.8.3",
|
|
21
21
|
"@material-ui/icons": "^3.0.2",
|
|
22
|
-
"@pie-lib/math-input": "^6.6.1-next.
|
|
22
|
+
"@pie-lib/math-input": "^6.6.1-next.437+7133506c",
|
|
23
23
|
"classnames": "^2.2.6",
|
|
24
24
|
"debug": "^4.1.1",
|
|
25
25
|
"keycode": "^2.2.0",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"@pie-lib/test-utils": "^0.2.19"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "7133506c26c247c6be91245284e61ccd14789d4f"
|
|
37
37
|
}
|
package/src/editor-and-pad.jsx
CHANGED
|
@@ -81,6 +81,10 @@ export class EditorAndPad extends React.Component {
|
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
if (!c) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
84
88
|
if (c.type === 'clear') {
|
|
85
89
|
log('call clear...');
|
|
86
90
|
this.input.clear();
|
|
@@ -260,7 +264,6 @@ export class EditorAndPad extends React.Component {
|
|
|
260
264
|
<hr className={classes.hr} />
|
|
261
265
|
{shouldShowKeypad && (
|
|
262
266
|
<HorizontalKeypad
|
|
263
|
-
className={classes.keyboard}
|
|
264
267
|
layoutForKeyPad={layoutForKeyPad}
|
|
265
268
|
additionalKeys={additionalKeys}
|
|
266
269
|
mode={controlledKeypadMode ? this.state.equationEditor : keypadMode}
|
|
@@ -277,10 +280,7 @@ const styles = theme => ({
|
|
|
277
280
|
inputAndTypeContainer: {
|
|
278
281
|
display: 'flex',
|
|
279
282
|
alignItems: 'center',
|
|
280
|
-
'&
|
|
281
|
-
marginTop: '8px',
|
|
282
|
-
},
|
|
283
|
-
'& .mq-math-mode .mq-overarrow': {
|
|
283
|
+
'& *': {
|
|
284
284
|
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
|
|
285
285
|
},
|
|
286
286
|
'& .mq-overarrow.mq-arrow-both': {
|
|
@@ -305,57 +305,6 @@ const styles = theme => ({
|
|
|
305
305
|
top: '-0.4em',
|
|
306
306
|
right: '-1px'
|
|
307
307
|
}
|
|
308
|
-
},
|
|
309
|
-
'& *': {
|
|
310
|
-
fontFamily: 'MJXZERO, MJXTEX-I !important',
|
|
311
|
-
|
|
312
|
-
'& .mq-math-mode .mq-empty': {
|
|
313
|
-
padding: '9px 1px !important'
|
|
314
|
-
},
|
|
315
|
-
|
|
316
|
-
'& .mq-longdiv-inner': {
|
|
317
|
-
marginTop: '-1px',
|
|
318
|
-
marginLeft: '5px !important;',
|
|
319
|
-
|
|
320
|
-
'& > .mq-empty': {
|
|
321
|
-
padding: '0 !important',
|
|
322
|
-
marginLeft: '0px !important',
|
|
323
|
-
marginTop: '2px'
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
|
|
327
|
-
'& .mq-math-mode .mq-longdiv': {
|
|
328
|
-
display: 'flex !important'
|
|
329
|
-
},
|
|
330
|
-
|
|
331
|
-
'& .mq-math-mode .mq-supsub': {
|
|
332
|
-
fontSize: '70.7% !important'
|
|
333
|
-
},
|
|
334
|
-
|
|
335
|
-
'& .mq-math-mode .mq-paren': {
|
|
336
|
-
verticalAlign: 'middle !important'
|
|
337
|
-
},
|
|
338
|
-
|
|
339
|
-
'& .mq-math-mode .mq-sqrt-stem': {
|
|
340
|
-
borderTop: '0.07em solid',
|
|
341
|
-
marginLeft: '-1.5px',
|
|
342
|
-
marginTop: '-2px !important',
|
|
343
|
-
paddingTop: '5px !important'
|
|
344
|
-
},
|
|
345
|
-
|
|
346
|
-
'& .mq-supsub ': {
|
|
347
|
-
fontSize: '70.7%'
|
|
348
|
-
},
|
|
349
|
-
|
|
350
|
-
'& .mq-math-mode .mq-supsub.mq-sup-only': {
|
|
351
|
-
verticalAlign: '-0.1em !important',
|
|
352
|
-
|
|
353
|
-
'& .mq-sup': {
|
|
354
|
-
marginBottom: '0px !important'
|
|
355
|
-
}
|
|
356
|
-
},
|
|
357
|
-
|
|
358
|
-
'-webkit-font-smoothing': 'antialiased !important'
|
|
359
308
|
}
|
|
360
309
|
},
|
|
361
310
|
hide: {
|
|
@@ -368,15 +317,7 @@ const styles = theme => ({
|
|
|
368
317
|
marginLeft: '15px',
|
|
369
318
|
marginTop: '5px',
|
|
370
319
|
marginBottom: '5px',
|
|
371
|
-
marginRight: '5px'
|
|
372
|
-
|
|
373
|
-
'& label': {
|
|
374
|
-
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
|
|
375
|
-
},
|
|
376
|
-
|
|
377
|
-
'& div': {
|
|
378
|
-
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
|
|
379
|
-
}
|
|
320
|
+
marginRight: '5px'
|
|
380
321
|
},
|
|
381
322
|
mathEditor: {
|
|
382
323
|
maxWidth: '400px',
|
|
@@ -445,43 +386,6 @@ const styles = theme => ({
|
|
|
445
386
|
},
|
|
446
387
|
error: {
|
|
447
388
|
border: '2px solid red'
|
|
448
|
-
},
|
|
449
|
-
keyboard: {
|
|
450
|
-
'& *': {
|
|
451
|
-
fontFamily: 'MJXZERO, MJXTEX-I !important',
|
|
452
|
-
|
|
453
|
-
'& .mq-math-mode .mq-empty': {
|
|
454
|
-
padding: '9px 1px !important'
|
|
455
|
-
},
|
|
456
|
-
|
|
457
|
-
'& .mq-longdiv-inner': {
|
|
458
|
-
marginTop: '-1px',
|
|
459
|
-
marginLeft: '5px !important;',
|
|
460
|
-
|
|
461
|
-
'& > .mq-empty': {
|
|
462
|
-
padding: '0 !important',
|
|
463
|
-
marginLeft: '0px !important',
|
|
464
|
-
marginTop: '2px'
|
|
465
|
-
}
|
|
466
|
-
},
|
|
467
|
-
|
|
468
|
-
'& .mq-math-mode .mq-longdiv': {
|
|
469
|
-
display: 'flex !important'
|
|
470
|
-
},
|
|
471
|
-
|
|
472
|
-
'& .mq-math-mode .mq-supsub': {
|
|
473
|
-
fontSize: '70.7% !important'
|
|
474
|
-
},
|
|
475
|
-
|
|
476
|
-
'& .mq-math-mode .mq-sqrt-stem': {
|
|
477
|
-
marginTop: '-5px',
|
|
478
|
-
paddingTop: '4px'
|
|
479
|
-
},
|
|
480
|
-
|
|
481
|
-
'& .mq-math-mode .mq-paren': {
|
|
482
|
-
verticalAlign: 'middle !important'
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
389
|
}
|
|
486
390
|
});
|
|
487
391
|
|