@pie-lib/config-ui 11.6.4-next.1 → 11.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/lib/choice-configuration/index.js +5 -1
- package/lib/choice-configuration/index.js.map +1 -1
- package/lib/feedback-config/index.js +1 -0
- package/lib/feedback-config/index.js.map +1 -1
- package/lib/input.js +2 -2
- package/lib/input.js.map +1 -1
- package/lib/layout/layout-contents.js +4 -4
- package/lib/layout/layout-contents.js.map +1 -1
- package/lib/number-text-field-custom.js +3 -1
- package/lib/number-text-field-custom.js.map +1 -1
- package/lib/settings/panel.js +0 -1
- package/lib/settings/panel.js.map +1 -1
- package/lib/with-stateful-model.js +2 -2
- package/lib/with-stateful-model.js.map +1 -1
- package/package.json +4 -4
- package/src/choice-configuration/index.jsx +4 -0
- package/src/feedback-config/index.jsx +1 -0
- package/src/input.jsx +1 -1
- package/src/layout/layout-contents.jsx +4 -4
- package/src/number-text-field-custom.jsx +3 -1
- package/src/settings/panel.jsx +1 -1
- package/src/with-stateful-model.jsx +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [11.6.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.6.3...@pie-lib/config-ui@11.6.4) (2023-04-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **eslint:** fix eslint problems-AC-2732 ([9eb9976](https://github.com/pie-framework/pie-lib/commit/9eb9976749753da86e1057a07bd2cfc65bf64ae4))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [11.6.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@11.6.2...@pie-lib/config-ui@11.6.3) (2023-04-14)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @pie-lib/config-ui
|
|
@@ -321,6 +321,7 @@ exports.ChoiceConfiguration = ChoiceConfiguration;
|
|
|
321
321
|
noLabels: _propTypes["default"].bool,
|
|
322
322
|
useLetterOrdering: _propTypes["default"].bool,
|
|
323
323
|
className: _propTypes["default"].string,
|
|
324
|
+
error: _propTypes["default"].string,
|
|
324
325
|
mode: _propTypes["default"].oneOf(['checkbox', 'radio']),
|
|
325
326
|
defaultFeedback: _propTypes["default"].object.isRequired,
|
|
326
327
|
disabled: _propTypes["default"].bool,
|
|
@@ -344,7 +345,10 @@ exports.ChoiceConfiguration = ChoiceConfiguration;
|
|
|
344
345
|
disableImageAlignmentButtons: _propTypes["default"].bool,
|
|
345
346
|
allowFeedBack: _propTypes["default"].bool,
|
|
346
347
|
allowDelete: _propTypes["default"].bool,
|
|
347
|
-
|
|
348
|
+
noCorrectAnswerError: _propTypes["default"].string,
|
|
349
|
+
spellCheck: _propTypes["default"].bool,
|
|
350
|
+
toolbarOpts: _propTypes["default"].object,
|
|
351
|
+
uploadSoundSupport: _propTypes["default"].object
|
|
348
352
|
});
|
|
349
353
|
(0, _defineProperty2["default"])(ChoiceConfiguration, "defaultProps", {
|
|
350
354
|
index: -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/choice-configuration/index.jsx"],"names":["EditableHtmlContainer","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","names","editor","language","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","palette","grey","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","input","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","paddingRight","paddingTop","display","flex","paddingBottom","marginRight","marginLeft","paddingLeft","margin","flexDirection","fontSize","typography","color","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst EditableHtmlContainer = withStyles((theme) => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n className={classes.editor}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n </InputContainer>\n );\n },\n);\n\nconst Feedback = withStyles((theme) => ({\n text: {\n width: '100%',\n },\n feedbackContainer: {\n position: 'relative',\n },\n arrowIcon: {\n fill: theme.palette.grey[400],\n left: -56,\n position: 'absolute',\n top: 20,\n },\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true,\n };\n\n _changeFn = (key) => (update) => {\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = (event) => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = (v) => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = (t) => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n className={classes.input}\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon,\n }}\n />\n </InputContainer>\n )}\n\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n index: {\n paddingRight: theme.spacing.unit,\n paddingTop: theme.spacing.unit * 3.5,\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex',\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit,\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n toggle: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing.unit,\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing.unit,\n },\n feedbackIcon: {\n margin: 0,\n width: 'inherit',\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit',\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing.unit,\n },\n input: {\n marginRight: 0,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/choice-configuration/index.jsx"],"names":["EditableHtmlContainer","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","names","editor","language","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","palette","grey","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","input","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","paddingRight","paddingTop","display","flex","paddingBottom","marginRight","marginLeft","paddingLeft","margin","flexDirection","fontSize","typography","color","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst EditableHtmlContainer = withStyles((theme) => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n className={classes.editor}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n </InputContainer>\n );\n },\n);\n\nconst Feedback = withStyles((theme) => ({\n text: {\n width: '100%',\n },\n feedbackContainer: {\n position: 'relative',\n },\n arrowIcon: {\n fill: theme.palette.grey[400],\n left: -56,\n position: 'absolute',\n top: 20,\n },\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n error: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n noCorrectAnswerError: PropTypes.string,\n spellCheck: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true,\n };\n\n _changeFn = (key) => (update) => {\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = (event) => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = (v) => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = (t) => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n className={classes.input}\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon,\n }}\n />\n </InputContainer>\n )}\n\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n index: {\n paddingRight: theme.spacing.unit,\n paddingTop: theme.spacing.unit * 3.5,\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex',\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit,\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n toggle: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing.unit,\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing.unit,\n },\n feedbackIcon: {\n margin: 0,\n width: 'inherit',\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit',\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing.unit,\n },\n input: {\n marginRight: 0,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"file":"index.js"}
|
|
@@ -168,6 +168,7 @@ var FeedbackConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
168
168
|
exports.FeedbackConfig = FeedbackConfig;
|
|
169
169
|
(0, _defineProperty2["default"])(FeedbackConfig, "propTypes", {
|
|
170
170
|
allowPartial: _propTypes["default"].bool,
|
|
171
|
+
className: _propTypes["default"].string,
|
|
171
172
|
feedback: _propTypes["default"].shape({
|
|
172
173
|
correct: _propTypes["default"].shape(_feedbackSelector.FeedbackType),
|
|
173
174
|
incorrect: _propTypes["default"].shape(_feedbackSelector.FeedbackType),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/feedback-config/index.jsx"],"names":["style","feedbackContainer","display","flex","flexDirection","panelDetails","paddingTop","paddingBottom","buildDefaults","input","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","className","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","shape","FeedbackType","func","isRequired","object"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAIA,IAAMA,KAAK,GAAG;AACZC,EAAAA,iBAAiB,EAAE;AACjBC,IAAAA,OAAO,EAAE,MADQ;AAEjBC,IAAAA,IAAI,EAAE,CAFW;AAGjBC,IAAAA,aAAa,EAAE;AAHE,GADP;AAMZC,EAAAA,YAAY,EAAE;AACZC,IAAAA,UAAU,EAAE,CADA;AAEZC,IAAAA,aAAa,EAAE;AAFH;AANF,CAAd;;AAYO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAW;AACtC,SAAO,uBACL,EADK,EAEL;AACEC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,IAAI,EAAE,SAAR;AAAmB,iBAAS;AAA5B,KADX;AAEEC,IAAAA,SAAS,EAAE;AAAED,MAAAA,IAAI,EAAE,SAAR;AAAmB,iBAAS;AAA5B,KAFb;AAGEE,IAAAA,OAAO,EAAE;AAAEF,MAAAA,IAAI,EAAE,SAAR;AAAmB,iBAAS;AAA5B;AAHX,GAFK,EAOLF,KAPK,CAAP;AASD,CAVM;;;;IAYMK,c;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/feedback-config/index.jsx"],"names":["style","feedbackContainer","display","flex","flexDirection","panelDetails","paddingTop","paddingBottom","buildDefaults","input","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","className","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","string","shape","FeedbackType","func","isRequired","object"],"mappings":"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","sourcesContent":["import FeedbackSelector, { FeedbackType } from './feedback-selector';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport merge from 'lodash/merge';\n\nexport { FeedbackSelector };\n\nconst style = {\n feedbackContainer: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n panelDetails: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n};\n\nexport const buildDefaults = (input) => {\n return merge(\n {},\n {\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n },\n input,\n );\n};\n\nexport class FeedbackConfig extends React.Component {\n static propTypes = {\n allowPartial: PropTypes.bool,\n className: PropTypes.string,\n feedback: PropTypes.shape({\n correct: PropTypes.shape(FeedbackType),\n incorrect: PropTypes.shape(FeedbackType),\n partial: PropTypes.shape(FeedbackType),\n }),\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n allowPartial: true,\n feedback: buildDefaults(),\n };\n\n onChange(key, config) {\n const { feedback, onChange } = this.props;\n const update = { ...feedback, [key]: config };\n\n onChange(update);\n }\n\n onCorrectChange = this.onChange.bind(this, 'correct');\n\n onIncorrectChange = this.onChange.bind(this, 'incorrect');\n\n onPartialChange = this.onChange.bind(this, 'partial');\n\n render() {\n const { classes, className, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <div className={className}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails className={classes.panelDetails}>\n <div className={classes.feedbackContainer}>\n <FeedbackSelector\n label=\"If correct, show\"\n feedback={feedback.correct}\n onChange={this.onCorrectChange}\n toolbarOpts={toolbarOpts}\n />\n\n {allowPartial && (\n <FeedbackSelector\n label=\"If partially correct, show\"\n feedback={feedback.partial}\n onChange={this.onPartialChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n\n <FeedbackSelector\n label=\"If incorrect, show\"\n feedback={feedback.incorrect}\n onChange={this.onIncorrectChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n"],"file":"index.js"}
|
package/lib/input.js
CHANGED
|
@@ -83,8 +83,8 @@ var Input = /*#__PURE__*/function (_React$Component) {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
(0, _createClass2["default"])(Input, [{
|
|
86
|
-
key: "
|
|
87
|
-
value: function
|
|
86
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
87
|
+
value: function UNSAFE_componentWillReceiveProps(newProps) {
|
|
88
88
|
this.setState({
|
|
89
89
|
value: newProps.value
|
|
90
90
|
});
|
package/lib/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/input.jsx"],"names":["Input","props","event","type","onChange","error","value","target","setState","state","newProps","label","noModelUpdateOnError","rest","React","Component","PropTypes","oneOfType","string","number","func","isRequired","bool","isNaN"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;IAEqBA,K;;;;;AAgBnB,iBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,iGAcR,UAACC,KAAD,EAAW;AACpB,wBAAkC,MAAKD,KAAvC;AAAA,UAAQE,IAAR,eAAQA,IAAR;AAAA,UAAcC,QAAd,eAAcA,QAAd;AAAA,UAAwBC,KAAxB,eAAwBA,KAAxB;AACA,UAAMC,KAAK,GAAGJ,KAAK,CAACK,MAAN,CAAaD,KAA3B;;AAEA,UAAID,KAAK,CAACC,KAAD,EAAQH,IAAR,CAAT,EAAwB;AACtB,cAAKK,QAAL,CAAc;AACZH,UAAAA,KAAK,EAAE,IADK;AAEZC,UAAAA,KAAK,EAAEJ,KAAK,CAACK,MAAN,CAAaD;AAFR,SAAd;AAID,OALD,MAKO;AACL,cAAKE,QAAL,CAAc;AACZH,UAAAA,KAAK,EAAE,KADK;AAEZC,UAAAA,KAAK,EAAEJ,KAAK,CAACK,MAAN,CAAaD;AAFR,SAAd;;AAKAF,QAAAA,QAAQ,CAACF,KAAD,CAAR;AACD;AACF,KA/BkB;AAGjB,UAAKO,KAAL,GAAa;AACXH,MAAAA,KAAK,EAAEL,KAAK,CAACK;AADF,KAAb;AAHiB;AAMlB;;;;WAED,
|
|
1
|
+
{"version":3,"sources":["../src/input.jsx"],"names":["Input","props","event","type","onChange","error","value","target","setState","state","newProps","label","noModelUpdateOnError","rest","React","Component","PropTypes","oneOfType","string","number","func","isRequired","bool","isNaN"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;IAEqBA,K;;;;;AAgBnB,iBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,iGAcR,UAACC,KAAD,EAAW;AACpB,wBAAkC,MAAKD,KAAvC;AAAA,UAAQE,IAAR,eAAQA,IAAR;AAAA,UAAcC,QAAd,eAAcA,QAAd;AAAA,UAAwBC,KAAxB,eAAwBA,KAAxB;AACA,UAAMC,KAAK,GAAGJ,KAAK,CAACK,MAAN,CAAaD,KAA3B;;AAEA,UAAID,KAAK,CAACC,KAAD,EAAQH,IAAR,CAAT,EAAwB;AACtB,cAAKK,QAAL,CAAc;AACZH,UAAAA,KAAK,EAAE,IADK;AAEZC,UAAAA,KAAK,EAAEJ,KAAK,CAACK,MAAN,CAAaD;AAFR,SAAd;AAID,OALD,MAKO;AACL,cAAKE,QAAL,CAAc;AACZH,UAAAA,KAAK,EAAE,KADK;AAEZC,UAAAA,KAAK,EAAEJ,KAAK,CAACK,MAAN,CAAaD;AAFR,SAAd;;AAKAF,QAAAA,QAAQ,CAACF,KAAD,CAAR;AACD;AACF,KA/BkB;AAGjB,UAAKO,KAAL,GAAa;AACXH,MAAAA,KAAK,EAAEL,KAAK,CAACK;AADF,KAAb;AAHiB;AAMlB;;;;WAED,0CAAiCI,QAAjC,EAA2C;AACzC,WAAKF,QAAL,CAAc;AACZF,QAAAA,KAAK,EAAEI,QAAQ,CAACJ;AADJ,OAAd;AAGD;;;WAqBD,kBAAS;AACP,yBAKI,KAAKL,KALT;AAAA,UACEU,KADF,gBACEA,KADF;AAAA,UAEER,IAFF,gBAEEA,IAFF;AAAA,UAGES,oBAHF,gBAGEA,oBAHF;AAAA,UAIKC,IAJL;AAMA,wBAAyB,KAAKJ,KAA9B;AAAA,UAAQH,KAAR,eAAQA,KAAR;AAAA,UAAeD,KAAf,eAAeA,KAAf;AAEA,aAAOM,KAAK,gBACV,oBAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEA;AAAvB,sBACE,oBAAC,iBAAD;AAAe,QAAA,IAAI,EAAER;AAArB,SAA+BU,IAA/B;AAAqC,QAAA,KAAK,EAAEP,KAA5C;AAAmD,QAAA,QAAQ,EAAE,KAAKF,QAAlE;AAA4E,QAAA,KAAK,EAAEC;AAAnF,SADF,CADU,gBAKV,oBAAC,iBAAD;AAAe,QAAA,IAAI,EAAEF;AAArB,SAA+BU,IAA/B;AAAqC,QAAA,KAAK,EAAEP,KAA5C;AAAmD,QAAA,QAAQ,EAAE,KAAKF,QAAlE;AAA4E,QAAA,KAAK,EAAEC;AAAnF,SALF;AAOD;;;EAjEgCS,KAAK,CAACC,S;;;iCAApBf,K,eACA;AACjBM,EAAAA,KAAK,EAAEU,sBAAUC,SAAV,CAAoB,CAACD,sBAAUE,MAAX,EAAmBF,sBAAUG,MAA7B,CAApB,CADU;AAEjBf,EAAAA,QAAQ,EAAEY,sBAAUI,IAAV,CAAeC,UAFR;AAGjBV,EAAAA,KAAK,EAAEK,sBAAUE,MAHA;AAIjBf,EAAAA,IAAI,EAAEa,sBAAUE,MAAV,CAAiBG,UAJN;AAKjBhB,EAAAA,KAAK,EAAEW,sBAAUI,IALA;AAMjBR,EAAAA,oBAAoB,EAAEI,sBAAUM;AANf,C;iCADAtB,K,kBAUG;AACpBG,EAAAA,IAAI,EAAE,MADc;AAEpBE,EAAAA,KAAK,EAAE,eAACC,KAAD,EAAQH,IAAR;AAAA,WAAkBA,IAAI,KAAK,QAAT,GAAoB,CAACG,KAAD,IAAUiB,KAAK,CAACjB,KAAD,CAAnC,GAA6C,CAACA,KAAhE;AAAA,GAFa;AAGpBM,EAAAA,oBAAoB,EAAE;AAHF,C","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { default as MaterialInput } from '@material-ui/core/Input';\nimport { InputContainer } from '@pie-lib/render-ui';\n\nexport default class Input extends React.Component {\n static propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n type: PropTypes.string.isRequired,\n error: PropTypes.func,\n noModelUpdateOnError: PropTypes.bool,\n };\n\n static defaultProps = {\n type: 'text',\n error: (value, type) => (type === 'number' ? !value || isNaN(value) : !value),\n noModelUpdateOnError: false,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n value: props.value,\n };\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this.setState({\n value: newProps.value,\n });\n }\n\n onChange = (event) => {\n const { type, onChange, error } = this.props;\n const value = event.target.value;\n\n if (error(value, type)) {\n this.setState({\n error: true,\n value: event.target.value,\n });\n } else {\n this.setState({\n error: false,\n value: event.target.value,\n });\n\n onChange(event);\n }\n };\n\n render() {\n const {\n label,\n type,\n noModelUpdateOnError, // eslint-disable-line no-unused-vars\n ...rest\n } = this.props;\n const { value, error } = this.state;\n\n return label ? (\n <InputContainer label={label}>\n <MaterialInput type={type} {...rest} value={value} onChange={this.onChange} error={error} />\n </InputContainer>\n ) : (\n <MaterialInput type={type} {...rest} value={value} onChange={this.onChange} error={error} />\n );\n }\n}\n"],"file":"input.js"}
|
|
@@ -105,7 +105,6 @@ var RawLayoutContents = /*#__PURE__*/function (_React$Component) {
|
|
|
105
105
|
var configuration = this.getConfiguration();
|
|
106
106
|
var hasSettingsPanel = Object.entries(configuration || {}).some(function (_ref2) {
|
|
107
107
|
var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
|
|
108
|
-
propName = _ref3[0],
|
|
109
108
|
obj = _ref3[1];
|
|
110
109
|
|
|
111
110
|
return !!(obj !== null && obj !== void 0 && obj.settings);
|
|
@@ -118,6 +117,7 @@ var RawLayoutContents = /*#__PURE__*/function (_React$Component) {
|
|
|
118
117
|
|
|
119
118
|
hasSettingsPanel = (_JSON$stringify = JSON.stringify(configuration)) === null || _JSON$stringify === void 0 ? void 0 : (_JSON$stringify$match = _JSON$stringify.match(/settings":true/)) === null || _JSON$stringify$match === void 0 ? void 0 : _JSON$stringify$match.length;
|
|
120
119
|
} catch (e) {
|
|
120
|
+
// eslint-disable-next-line no-console
|
|
121
121
|
console.log(e.toString());
|
|
122
122
|
}
|
|
123
123
|
}
|
|
@@ -146,9 +146,9 @@ var RawLayoutContents = /*#__PURE__*/function (_React$Component) {
|
|
|
146
146
|
}, children), /*#__PURE__*/_react["default"].createElement("div", {
|
|
147
147
|
title: "Settings",
|
|
148
148
|
className: "settings-container"
|
|
149
|
-
}, secondary)), mode === 'tabbed' && !hasSettingsPanel && /*#__PURE__*/_react["default"].createElement("div",
|
|
150
|
-
className: classes.contentContainer
|
|
151
|
-
},
|
|
149
|
+
}, secondary)), mode === 'tabbed' && !hasSettingsPanel && /*#__PURE__*/_react["default"].createElement("div", {
|
|
150
|
+
className: (0, _classnames["default"])(classes.contentContainer, 'design-container')
|
|
151
|
+
}, children));
|
|
152
152
|
}
|
|
153
153
|
}]);
|
|
154
154
|
return RawLayoutContents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/layout/layout-contents.jsx"],"names":["RawLayoutContents","secondary","props","configuration","children","undefined","mode","classes","dimensions","minHeight","minWidth","maxHeight","maxWidth","getConfiguration","hasSettingsPanel","Object","entries","some","
|
|
1
|
+
{"version":3,"sources":["../../src/layout/layout-contents.jsx"],"names":["RawLayoutContents","secondary","props","configuration","children","undefined","mode","classes","dimensions","minHeight","minWidth","maxHeight","maxWidth","getConfiguration","hasSettingsPanel","Object","entries","some","obj","settings","JSON","stringify","match","length","e","console","log","toString","container","flow","contentContainer","configContainer","settingsContainer","onTabsChange","React","Component","PropTypes","oneOf","oneOfType","arrayOf","node","object","styles","theme","display","justifyContent","flexDirection","position","overflow","padding","spacing","unit","flex","marginLeft"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAGMA,iB;;;;;;;;;;;;;;;yGASe,YAAM;AAAA;;AACvB,UAAQC,SAAR,GAAsB,MAAKC,KAA3B,CAAQD,SAAR,CADuB,CAEvB;;AAEA,aAAO,CAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,gCAAAA,SAAS,CAAEC,KAAX,sEAAkBC,aAAlB,MAAmCF,SAAnC,aAAmCA,SAAnC,4CAAmCA,SAAS,CAAEC,KAA9C,+EAAmC,kBAAkBE,QAArD,oFAAmC,sBAA4BF,KAA/D,2DAAmC,uBAAmCC,aAAtE,KAAuFE,SAA9F;AACD,K;;;;;;WAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,sBAAS;AACP,wBAA2D,KAAKH,KAAhE;AAAA,UAAQI,IAAR,eAAQA,IAAR;AAAA,UAAcL,SAAd,eAAcA,SAAd;AAAA,UAAyBG,QAAzB,eAAyBA,QAAzB;AAAA,UAAmCG,OAAnC,eAAmCA,OAAnC;AAAA,UAA4CC,UAA5C,eAA4CA,UAA5C;;AACA,iBAAqDA,UAAU,IAAI,EAAnE;AAAA,UAAQC,SAAR,QAAQA,SAAR;AAAA,UAAmBC,QAAnB,QAAmBA,QAAnB;AAAA,UAA6BC,SAA7B,QAA6BA,SAA7B;AAAA,UAAwCC,QAAxC,QAAwCA,QAAxC;;AACA,UAAMT,aAAa,GAAG,KAAKU,gBAAL,EAAtB;AAEA,UAAIC,gBAAgB,GAAGC,MAAM,CAACC,OAAP,CAAeb,aAAa,IAAI,EAAhC,EAAoCc,IAApC,CAAyC;AAAA;AAAA,YAAIC,GAAJ;;AAAA,eAAa,CAAC,EAACA,GAAD,aAACA,GAAD,eAACA,GAAG,CAAEC,QAAN,CAAd;AAAA,OAAzC,CAAvB,CALO,CAMP;AACA;;AAEA,UAAI,CAACL,gBAAL,EAAuB;AACrB,YAAI;AAAA;;AACFA,UAAAA,gBAAgB,sBAAGM,IAAI,CAACC,SAAL,CAAelB,aAAf,CAAH,6EAAG,gBAA+BmB,KAA/B,CAAqC,gBAArC,CAAH,0DAAG,sBAAwDC,MAA3E;AACD,SAFD,CAEE,OAAOC,CAAP,EAAU;AACV;AACAC,UAAAA,OAAO,CAACC,GAAR,CAAYF,CAAC,CAACG,QAAF,EAAZ;AACD;AACF;;AAED,0BACE;AAAK,QAAA,SAAS,EAAEpB,OAAO,CAACqB,SAAxB;AAAmC,QAAA,KAAK,EAAE;AAAEnB,UAAAA,SAAS,EAATA,SAAF;AAAaC,UAAAA,QAAQ,EAARA,QAAb;AAAuBC,UAAAA,SAAS,EAATA,SAAvB;AAAkCC,UAAAA,QAAQ,EAARA;AAAlC;AAA1C,SACGN,IAAI,KAAK,QAAT,iBACC;AAAK,QAAA,SAAS,EAAE,4BAAWC,OAAO,CAACsB,IAAnB,EAAyBtB,OAAO,CAACuB,gBAAjC;AAAhB,sBACE;AAAK,QAAA,SAAS,EAAE,4BAAWvB,OAAO,CAACwB,eAAnB,EAAoC,kBAApC;AAAhB,SAA0E3B,QAA1E,CADF,EAEGU,gBAAgB,iBACf;AAAK,QAAA,SAAS,EAAE,4BAAWP,OAAO,CAACyB,iBAAnB,EAAsC,oBAAtC;AAAhB,SAA8E/B,SAA9E,CAHJ,CAFJ,EAUGK,IAAI,KAAK,QAAT,IAAqBQ,gBAArB,iBACC,gCAAC,gBAAD;AAAM,QAAA,QAAQ,EAAE,KAAKmB,YAArB;AAAmC,QAAA,gBAAgB,EAAE1B,OAAO,CAACuB,gBAA7D;AAA+E,QAAA,cAAc,EAAC;AAA9F,sBACE;AAAK,QAAA,KAAK,EAAC,QAAX;AAAoB,QAAA,SAAS,EAAC;AAA9B,SACG1B,QADH,CADF,eAIE;AAAK,QAAA,KAAK,EAAC,UAAX;AAAsB,QAAA,SAAS,EAAC;AAAhC,SACGH,SADH,CAJF,CAXJ,EAqBGK,IAAI,KAAK,QAAT,IAAqB,CAACQ,gBAAtB,iBACC;AAAK,QAAA,SAAS,EAAE,4BAAWP,OAAO,CAACuB,gBAAnB,EAAqC,kBAArC;AAAhB,SAA2E1B,QAA3E,CAtBJ,CADF;AA2BD;;;EAtF6B8B,kBAAMC,S;;iCAAhCnC,iB,eACe;AACjBM,EAAAA,IAAI,EAAE8B,sBAAUC,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,CAAhB,CADW;AAEjBpC,EAAAA,SAAS,EAAEmC,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,OAAV,CAAkBH,sBAAUI,IAA5B,CAAD,EAAoCJ,sBAAUI,IAA9C,CAApB,CAFM;AAGjBpC,EAAAA,QAAQ,EAAEgC,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,OAAV,CAAkBH,sBAAUI,IAA5B,CAAD,EAAoCJ,sBAAUI,IAA9C,CAApB,CAHO;AAIjBjC,EAAAA,OAAO,EAAE6B,sBAAUK,MAJF;AAKjBjC,EAAAA,UAAU,EAAE4B,sBAAUK;AALL,C;;AAwFrB,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBd,IAAAA,IAAI,EAAE;AACJe,MAAAA,OAAO,EAAE,MADL;AAEJC,MAAAA,cAAc,EAAE;AAFZ,KADmB;AAKzBjB,IAAAA,SAAS,EAAE;AACTgB,MAAAA,OAAO,EAAE,MADA;AAETE,MAAAA,aAAa,EAAE,QAFN;AAGTC,MAAAA,QAAQ,EAAE,UAHD;AAITC,MAAAA,QAAQ,EAAE;AAJD,KALc;AAWzBlB,IAAAA,gBAAgB,EAAE;AAChBmB,MAAAA,OAAO,YAAKN,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAA1B;AADS,KAXO;AAczBpB,IAAAA,eAAe,EAAE;AACfqB,MAAAA,IAAI,EAAE;AADS,KAdQ;AAiBzBpB,IAAAA,iBAAiB,EAAE;AACjBqB,MAAAA,UAAU,EAAEV,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB;AADhB;AAjBM,GAAZ;AAAA,CAAf;;eAsBe,sBAAWT,MAAX,EAAmB1C,iBAAnB,C","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\nimport Tabs from '../tabs';\nimport classNames from 'classnames';\n\nclass RawLayoutContents extends React.Component {\n static propTypes = {\n mode: PropTypes.oneOf(['tabbed', 'inline']),\n secondary: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n classes: PropTypes.object,\n dimensions: PropTypes.object,\n };\n\n getConfiguration = () => {\n const { secondary } = this.props;\n // in config-layout, secondary can be: <SettingsBox>{settings}</SettingsBox>, settings, null\n\n return secondary?.props?.configuration || secondary?.props?.children?.props?.configuration || undefined;\n };\n\n // // eslint-disable-next-line no-unused-vars\n // componentDidUpdate(prevProps, prevState, snapshot) {\n // const configuration = this.getConfiguration();\n // const { mode } = this.props;\n //\n // // promptHolder class is used to wrap up inputs:\n // // we don't want inputs to fill the entire scrollable container,\n // // but instead we want inputs to fit in the first view,\n // // so we calculate the maximum space inputs need\n // try {\n // if (\n // configuration?.maxWidth &&\n // getComputedStyle(document.documentElement).getPropertyValue('--pie-prompt-holder-max-width') !==\n // configuration?.maxWidth\n // ) {\n // document.documentElement.style.setProperty(\n // '--pie-prompt-holder-max-width',\n // mode === 'inline' ? `calc(${configuration.maxWidth} - 340px)` : configuration.maxWidth,\n // );\n // }\n // } catch (e) {\n // console.log(e.toString());\n // }\n // }\n\n render() {\n const { mode, secondary, children, classes, dimensions } = this.props;\n const { minHeight, minWidth, maxHeight, maxWidth } = dimensions || {};\n const configuration = this.getConfiguration();\n\n let hasSettingsPanel = Object.entries(configuration || {}).some(([, obj]) => !!obj?.settings);\n // ebsr has configuration.partA and configuration.partB\n // because we might have nested configuration for other item types as well, let's add this simple regex to check values for settings\n\n if (!hasSettingsPanel) {\n try {\n hasSettingsPanel = JSON.stringify(configuration)?.match(/settings\":true/)?.length;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e.toString());\n }\n }\n\n return (\n <div className={classes.container} style={{ minHeight, minWidth, maxHeight, maxWidth }}>\n {mode === 'inline' && (\n <div className={classnames(classes.flow, classes.contentContainer)}>\n <div className={classnames(classes.configContainer, 'design-container')}>{children}</div>\n {hasSettingsPanel && (\n <div className={classnames(classes.settingsContainer, 'settings-container')}>{secondary}</div>\n )}\n </div>\n )}\n\n {mode === 'tabbed' && hasSettingsPanel && (\n <Tabs onChange={this.onTabsChange} contentClassName={classes.contentContainer} indicatorColor=\"primary\">\n <div title=\"Design\" className=\"design-container\">\n {children}\n </div>\n <div title=\"Settings\" className=\"settings-container\">\n {secondary}\n </div>\n </Tabs>\n )}\n\n {mode === 'tabbed' && !hasSettingsPanel && (\n <div className={classNames(classes.contentContainer, 'design-container')}>{children}</div>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n flow: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n overflow: 'auto',\n },\n contentContainer: {\n padding: `${theme.spacing.unit * 2}px 0`,\n },\n configContainer: {\n flex: '1',\n },\n settingsContainer: {\n marginLeft: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(RawLayoutContents);\n"],"file":"layout-contents.js"}
|
|
@@ -45,7 +45,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
45
45
|
|
|
46
46
|
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; } }
|
|
47
47
|
|
|
48
|
-
var styles = function styles(
|
|
48
|
+
var styles = function styles() {
|
|
49
49
|
return {
|
|
50
50
|
input: {
|
|
51
51
|
'& input[type=number]': {
|
|
@@ -341,6 +341,7 @@ exports.NumberTextFieldCustom = NumberTextFieldCustom;
|
|
|
341
341
|
disabled: _propTypes["default"].bool,
|
|
342
342
|
error: _propTypes["default"].bool,
|
|
343
343
|
inputClassName: _propTypes["default"].string,
|
|
344
|
+
helperText: _propTypes["default"].string,
|
|
344
345
|
onChange: _propTypes["default"].func.isRequired,
|
|
345
346
|
onlyIntegersAllowed: _propTypes["default"].bool,
|
|
346
347
|
value: _propTypes["default"].number,
|
|
@@ -349,6 +350,7 @@ exports.NumberTextFieldCustom = NumberTextFieldCustom;
|
|
|
349
350
|
step: _propTypes["default"].number,
|
|
350
351
|
label: _propTypes["default"].string,
|
|
351
352
|
disableUnderline: _propTypes["default"].bool,
|
|
353
|
+
textAlign: _propTypes["default"].string,
|
|
352
354
|
variant: _propTypes["default"].string
|
|
353
355
|
});
|
|
354
356
|
(0, _defineProperty2["default"])(NumberTextFieldCustom, "defaultProps", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/number-text-field-custom.jsx"],"names":["styles","theme","input","margin","iconButton","padding","fallbackNumber","min","max","NumberTextFieldCustom","props","customValues","number","value","clamp","currentIndex","findIndex","val","length","closestValue","getClosestValue","index","reduce","closest","Math","abs","event","onlyIntegersAllowed","target","rawNumber","parseInt","parseFloat","normalizeValueAndIndex","state","setState","toString","onChange","bind","sign","shouldUpdate","preventDefault","step","updatedIndex","updatedValue","className","classes","label","disabled","error","inputClassName","disableUnderline","helperText","variant","textAlign","names","ref","inputRef","onBlur","e","key","blur","changeValue","startAdornment","endAdornment","style","React","Component","PropTypes","object","isRequired","string","array","bool","func"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport isFinite from 'lodash/isFinite';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Remove from '@material-ui/icons/Remove';\nimport Add from '@material-ui/icons/Add';\n\nconst styles = (theme) => ({\n input: {\n '& input[type=number]': {\n '-moz-appearance': 'textfield',\n },\n '& input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '& input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n },\n iconButton: {\n padding: '2px',\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextFieldCustom extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n customValues: PropTypes.array,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onlyIntegersAllowed: PropTypes.bool,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n label: PropTypes.string,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n step: 1,\n customValues: [],\n textAlign: 'center',\n variant: 'standard',\n onlyIntegersAllowed: false,\n };\n\n constructor(props) {\n super(props);\n\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.state = {\n value,\n currentIndex,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.setState({ value, currentIndex });\n }\n\n clamp(value) {\n const { min, max, customValues } = this.props;\n\n if ((customValues || []).length > 0) {\n return value;\n }\n\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n normalizeValueAndIndex = (customValues, number) => {\n const value = this.clamp(number);\n const currentIndex = (customValues || []).findIndex((val) => val === value);\n\n if ((customValues || []).length > 0 && currentIndex === -1) {\n const closestValue = this.getClosestValue(customValues, value);\n\n return { value: closestValue.value, currentIndex: closestValue.index };\n }\n\n return { value, currentIndex };\n };\n\n getClosestValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(value - number) < Math.abs(closest.value - number) ? { value, index } : closest,\n { value: customValues[0], index: 0 },\n );\n\n onBlur = (event) => {\n const { customValues, onlyIntegersAllowed } = this.props;\n const { value } = event.target;\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n\n const { value: number, currentIndex } = this.normalizeValueAndIndex(customValues, rawNumber);\n\n if (number !== this.state.value) {\n this.setState(\n {\n value: number.toString(),\n currentIndex,\n },\n () => this.props.onChange(event, number),\n );\n }\n };\n\n onChange(event) {\n const { value } = event.target;\n\n this.setState({ value });\n }\n\n changeValue(event, sign = 1, shouldUpdate = false) {\n event.preventDefault();\n\n const { customValues, step, onlyIntegersAllowed, onChange } = this.props;\n const { currentIndex, value } = this.state;\n const updatedIndex = currentIndex + sign * 1;\n let number;\n\n if (customValues.length > 0) {\n if (updatedIndex < 0 || updatedIndex >= customValues.length) {\n return;\n }\n\n number = customValues[updatedIndex];\n } else {\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n const updatedValue = (rawNumber * 10000 + step * sign * 10000) / 10000;\n number = this.clamp(updatedValue);\n }\n\n this.setState(\n {\n value: number.toString(),\n currentIndex: updatedIndex,\n },\n () => {\n if (shouldUpdate) {\n onChange(event, number);\n }\n },\n );\n }\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n error,\n min,\n max,\n inputClassName,\n disableUnderline,\n helperText,\n variant,\n textAlign,\n } = this.props;\n const { value } = this.state;\n const names = classNames(className, classes.input);\n\n return (\n <TextField\n variant={variant}\n inputRef={(ref) => (this.inputRef = ref)}\n disabled={disabled}\n label={label}\n value={value}\n error={error}\n helperText={helperText}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'ArrowUp') {\n this.changeValue(e);\n }\n\n if (e.key === 'ArrowDown') {\n this.changeValue(e, -1);\n }\n }}\n title={''}\n type=\"number\"\n className={names}\n InputProps={{\n className: inputClassName,\n disableUnderline: disableUnderline,\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled}\n onClick={(e) => this.changeValue(e, -1, true)}\n >\n <Remove fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled}\n onClick={(e) => this.changeValue(e, 1, true)}\n >\n <Add fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n inputProps={{\n style: { textAlign },\n min,\n max,\n }}\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextFieldCustom);\n"],"file":"number-text-field-custom.js"}
|
|
1
|
+
{"version":3,"sources":["../src/number-text-field-custom.jsx"],"names":["styles","input","margin","iconButton","padding","fallbackNumber","min","max","NumberTextFieldCustom","props","customValues","number","value","clamp","currentIndex","findIndex","val","length","closestValue","getClosestValue","index","reduce","closest","Math","abs","event","onlyIntegersAllowed","target","rawNumber","parseInt","parseFloat","normalizeValueAndIndex","state","setState","toString","onChange","bind","sign","shouldUpdate","preventDefault","step","updatedIndex","updatedValue","className","classes","label","disabled","error","inputClassName","disableUnderline","helperText","variant","textAlign","names","ref","inputRef","onBlur","e","key","blur","changeValue","startAdornment","endAdornment","style","React","Component","PropTypes","object","isRequired","string","array","bool","func"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport isFinite from 'lodash/isFinite';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Remove from '@material-ui/icons/Remove';\nimport Add from '@material-ui/icons/Add';\n\nconst styles = () => ({\n input: {\n '& input[type=number]': {\n '-moz-appearance': 'textfield',\n },\n '& input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '& input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n },\n iconButton: {\n padding: '2px',\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextFieldCustom extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n customValues: PropTypes.array,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n inputClassName: PropTypes.string,\n helperText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onlyIntegersAllowed: PropTypes.bool,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n label: PropTypes.string,\n disableUnderline: PropTypes.bool,\n textAlign: PropTypes.string,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n step: 1,\n customValues: [],\n textAlign: 'center',\n variant: 'standard',\n onlyIntegersAllowed: false,\n };\n\n constructor(props) {\n super(props);\n\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.state = {\n value,\n currentIndex,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.setState({ value, currentIndex });\n }\n\n clamp(value) {\n const { min, max, customValues } = this.props;\n\n if ((customValues || []).length > 0) {\n return value;\n }\n\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n normalizeValueAndIndex = (customValues, number) => {\n const value = this.clamp(number);\n const currentIndex = (customValues || []).findIndex((val) => val === value);\n\n if ((customValues || []).length > 0 && currentIndex === -1) {\n const closestValue = this.getClosestValue(customValues, value);\n\n return { value: closestValue.value, currentIndex: closestValue.index };\n }\n\n return { value, currentIndex };\n };\n\n getClosestValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(value - number) < Math.abs(closest.value - number) ? { value, index } : closest,\n { value: customValues[0], index: 0 },\n );\n\n onBlur = (event) => {\n const { customValues, onlyIntegersAllowed } = this.props;\n const { value } = event.target;\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n\n const { value: number, currentIndex } = this.normalizeValueAndIndex(customValues, rawNumber);\n\n if (number !== this.state.value) {\n this.setState(\n {\n value: number.toString(),\n currentIndex,\n },\n () => this.props.onChange(event, number),\n );\n }\n };\n\n onChange(event) {\n const { value } = event.target;\n\n this.setState({ value });\n }\n\n changeValue(event, sign = 1, shouldUpdate = false) {\n event.preventDefault();\n\n const { customValues, step, onlyIntegersAllowed, onChange } = this.props;\n const { currentIndex, value } = this.state;\n const updatedIndex = currentIndex + sign * 1;\n let number;\n\n if (customValues.length > 0) {\n if (updatedIndex < 0 || updatedIndex >= customValues.length) {\n return;\n }\n\n number = customValues[updatedIndex];\n } else {\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n const updatedValue = (rawNumber * 10000 + step * sign * 10000) / 10000;\n number = this.clamp(updatedValue);\n }\n\n this.setState(\n {\n value: number.toString(),\n currentIndex: updatedIndex,\n },\n () => {\n if (shouldUpdate) {\n onChange(event, number);\n }\n },\n );\n }\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n error,\n min,\n max,\n inputClassName,\n disableUnderline,\n helperText,\n variant,\n textAlign,\n } = this.props;\n const { value } = this.state;\n const names = classNames(className, classes.input);\n\n return (\n <TextField\n variant={variant}\n inputRef={(ref) => (this.inputRef = ref)}\n disabled={disabled}\n label={label}\n value={value}\n error={error}\n helperText={helperText}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'ArrowUp') {\n this.changeValue(e);\n }\n\n if (e.key === 'ArrowDown') {\n this.changeValue(e, -1);\n }\n }}\n title={''}\n type=\"number\"\n className={names}\n InputProps={{\n className: inputClassName,\n disableUnderline: disableUnderline,\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled}\n onClick={(e) => this.changeValue(e, -1, true)}\n >\n <Remove fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled}\n onClick={(e) => this.changeValue(e, 1, true)}\n >\n <Add fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n inputProps={{\n style: { textAlign },\n min,\n max,\n }}\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextFieldCustom);\n"],"file":"number-text-field-custom.js"}
|
package/lib/settings/panel.js
CHANGED
|
@@ -408,7 +408,6 @@ var Panel = /*#__PURE__*/function (_React$Component) {
|
|
|
408
408
|
var renderedGroups = Object.keys(groups || {}).map(function (group) {
|
|
409
409
|
var showGroup = Object.entries(groups[group]).some(function (_ref8) {
|
|
410
410
|
var _ref9 = (0, _slicedToArray2["default"])(_ref8, 2),
|
|
411
|
-
propName = _ref9[0],
|
|
412
411
|
propVal = _ref9[1];
|
|
413
412
|
|
|
414
413
|
return !!propVal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/settings/panel.jsx"],"names":["log","labelValue","label","PropTypes","string","value","baseTypes","onChange","func","CheckboxChoice","event","target","checked","propTypes","bool","Radio","classes","choices","radioSettings","SettingsRadioLabel","arrayOf","shape","StyledRadio","theme","marginTop","spacing","unit","paddingBottom","width","color","transform","fontSize","display","Dropdown","margin","typography","wrapper","border","borderRadius","padding","map","l","index","TextField","field","marginRight","NumberField","suffix","min","max","ev","object","number","ToggleWrapper","tagMap","toggle","radio","dropdown","numberField","checkbox","textField","Group","group","groupHeader","fontWeight","marginBottom","numberFields","props","model","configuration","getTag","key","innerKey","isConfigProperty","properties","tagProps","Tag","type","v","content","currentGroup","fields","Object","keys","fieldKey","choiceKey","Panel","onChangeModel","onChangeConfiguration","groups","renderedGroups","showGroup","entries","some","propName","propVal","change","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport Select from '@material-ui/core/Select';\nimport Input from '@material-ui/core/Input';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport debug from 'debug';\n\nimport Toggle from './toggle';\nimport { NChoice } from '../two-choice';\nimport SettingsRadioLabel from './settings-radio-label';\nimport { NumberTextField } from '../index';\nimport Checkbox from '../checkbox';\nimport Typography from '@material-ui/core/Typography';\n\nconst log = debug('pie-lib:config-ui:settings:panel');\n\nconst labelValue = {\n label: PropTypes.string,\n value: PropTypes.string,\n};\n\nconst baseTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nconst CheckboxChoice = ({ label, value, onChange }) => {\n return (\n <Checkbox\n checked={value}\n label={label}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n />\n );\n};\n\nCheckboxChoice.propTypes = {\n label: PropTypes.string,\n value: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nconst Radio = ({ classes, label, value, onChange, choices }) => {\n return (\n <NChoice\n className={classes.radioSettings}\n direction=\"horizontal\"\n customLabel={SettingsRadioLabel}\n value={value}\n header={label}\n opts={choices}\n onChange={onChange}\n />\n );\n};\n\nRadio.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.shape(labelValue)) };\n\nconst StyledRadio = withStyles((theme) => ({\n radioSettings: {\n marginTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2,\n width: '100%',\n '& > label': {\n color: 'rgba(0, 0, 0, 0.89)',\n transform: 'translate(0, 10px) scale(1)',\n fontSize: '14px',\n },\n '& > div': {\n marginTop: theme.spacing.unit * 2.5,\n },\n },\n label: {\n display: 'none',\n },\n}))(Radio);\n\nconst Dropdown = withStyles((theme) => ({\n label: {\n margin: 0,\n fontSize: theme.typography.fontSize,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange, choices = [] }) => {\n return (\n <div>\n {label && <p className={classes.label}>{label}</p>}\n <Select\n className={classes.wrapper}\n value={value || (choices && choices[0])}\n onChange={({ target }) => onChange(target.value)}\n input={<Input id={`dropdown-${label}`} />}\n disableUnderline\n >\n {choices.map((l, index) => (\n <MenuItem key={index} value={l}>\n {l}\n </MenuItem>\n ))}\n </Select>\n </div>\n );\n});\n\nDropdown.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.string) };\n\nconst TextField = withStyles((theme) => ({\n field: {\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n}))(({ classes, label }) => {\n return <Typography className={classes.field}>{label}</Typography>;\n});\n\nconst NumberField = withStyles((theme) => ({\n field: {\n width: '35%',\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange = () => {}, suffix, min, max }) => {\n return (\n <NumberTextField\n label={label || 'Label'}\n value={value}\n max={max}\n min={min}\n onChange={(ev, value) => onChange(value)}\n suffix={suffix}\n className={classes.field}\n showErrorWhenOutsideRange\n inputClassName={classes.wrapper}\n disableUnderline\n />\n );\n});\n\nNumberField.propTypes = {\n ...baseTypes,\n classes: PropTypes.object,\n suffix: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n};\n\nTextField.propTypes = {\n ...baseTypes,\n};\n\nconst ToggleWrapper = ({ label, value, onChange }) => <Toggle label={label} checked={!!value} toggle={onChange} />;\n\nToggleWrapper.propTypes = { ...baseTypes, value: PropTypes.bool };\n\nconst tagMap = {\n toggle: ToggleWrapper,\n radio: StyledRadio,\n dropdown: Dropdown,\n numberField: NumberField,\n checkbox: CheckboxChoice,\n textField: TextField,\n};\n\nconst Group = withStyles((theme) => ({\n group: {\n margin: `0 0 ${theme.spacing.unit * 2}px 0`,\n },\n groupHeader: {\n color: '#495B8F',\n fontSize: theme.typography.fontSize + 2,\n fontWeight: 600,\n marginBottom: theme.spacing.unit,\n },\n numberFields: {\n fontSize: theme.typography.fontSize,\n marginBottom: 0,\n },\n}))((props) => {\n const { classes, model, label, group, configuration, onChange } = props;\n\n /**\n * @param group - the group of settings\n * @param key - the key(or path) to be used to set or get from model or configuration\n * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)\n * @returns tag that corresponds to element type */\n const getTag = (group, key, innerKey) => {\n const { isConfigProperty, ...properties } = get(group, innerKey || key);\n const value = isConfigProperty ? get(configuration, key) : get(model, key);\n const tagProps = { ...properties, key, value };\n const Tag = tagMap[tagProps.type];\n\n return <Tag key={key} {...tagProps} onChange={(v) => onChange(key, v, isConfigProperty)} />;\n };\n\n const content = (group, key) => {\n const currentGroup = group[key];\n\n if (!currentGroup) {\n return null;\n }\n\n const { type, label, fields, choices } = currentGroup;\n\n if (type === 'numberFields') {\n return (\n <div key={`numberField-${label}`}>\n <p className={classes.numberFields}>{label}</p>\n {Object.keys(fields).map((fieldKey) => {\n return getTag(group, `${key}.${fieldKey}`, `${key}.fields.${fieldKey}`);\n })}\n </div>\n );\n }\n\n if (type === 'checkboxes') {\n return (\n <div key={`checkbox-${label}`}>\n <p>{label}</p>\n {Object.keys(choices).map((choiceKey) => {\n return getTag(group, `${key}.${choiceKey}`, `${key}.choices.${choiceKey}`);\n })}\n </div>\n );\n }\n\n // if type is toggle, radio, dropdown, numberField or numberText\n return getTag(group, key);\n };\n\n return (\n <div className={classes.group}>\n <div className={classes.groupHeader}>{label}</div>\n\n {Object.keys(group).map((key) => {\n return content(group, key);\n })}\n </div>\n );\n});\n\nexport class Panel extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n configuration: PropTypes.object,\n groups: PropTypes.object,\n onChangeModel: PropTypes.func,\n onChangeConfiguration: PropTypes.func,\n };\n\n static defaultProps = {\n onChangeModel: () => {},\n onChangeConfiguration: () => {},\n };\n\n change = (key, value, isConfigProperty = false) => {\n log('[changeModel]', key, value);\n\n const { onChangeModel, onChangeConfiguration } = this.props;\n const model = { ...this.props.model };\n const configuration = { ...this.props.configuration };\n\n if (isConfigProperty) {\n set(configuration, key, value);\n onChangeConfiguration(configuration, key);\n } else {\n set(model, key, value);\n onChangeModel(model, key);\n }\n };\n\n render() {\n const { groups, model, configuration } = this.props;\n\n log('render:', model);\n\n const renderedGroups = Object.keys(groups || {}).map((group) => {\n const showGroup = Object.entries(groups[group]).some(([propName, propVal]) => !!propVal);\n\n if (showGroup) {\n return (\n <Group\n label={group}\n key={group}\n model={model}\n configuration={configuration}\n group={groups[group]}\n onChange={this.change}\n />\n );\n }\n\n return null;\n });\n\n return <div>{renderedGroups}</div>;\n }\n}\n\nexport default Panel;\n"],"file":"panel.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/settings/panel.jsx"],"names":["log","labelValue","label","PropTypes","string","value","baseTypes","onChange","func","CheckboxChoice","event","target","checked","propTypes","bool","Radio","classes","choices","radioSettings","SettingsRadioLabel","arrayOf","shape","StyledRadio","theme","marginTop","spacing","unit","paddingBottom","width","color","transform","fontSize","display","Dropdown","margin","typography","wrapper","border","borderRadius","padding","map","l","index","TextField","field","marginRight","NumberField","suffix","min","max","ev","object","number","ToggleWrapper","tagMap","toggle","radio","dropdown","numberField","checkbox","textField","Group","group","groupHeader","fontWeight","marginBottom","numberFields","props","model","configuration","getTag","key","innerKey","isConfigProperty","properties","tagProps","Tag","type","v","content","currentGroup","fields","Object","keys","fieldKey","choiceKey","Panel","onChangeModel","onChangeConfiguration","groups","renderedGroups","showGroup","entries","some","propVal","change","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport Select from '@material-ui/core/Select';\nimport Input from '@material-ui/core/Input';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport debug from 'debug';\n\nimport Toggle from './toggle';\nimport { NChoice } from '../two-choice';\nimport SettingsRadioLabel from './settings-radio-label';\nimport { NumberTextField } from '../index';\nimport Checkbox from '../checkbox';\nimport Typography from '@material-ui/core/Typography';\n\nconst log = debug('pie-lib:config-ui:settings:panel');\n\nconst labelValue = {\n label: PropTypes.string,\n value: PropTypes.string,\n};\n\nconst baseTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nconst CheckboxChoice = ({ label, value, onChange }) => {\n return (\n <Checkbox\n checked={value}\n label={label}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n />\n );\n};\n\nCheckboxChoice.propTypes = {\n label: PropTypes.string,\n value: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nconst Radio = ({ classes, label, value, onChange, choices }) => {\n return (\n <NChoice\n className={classes.radioSettings}\n direction=\"horizontal\"\n customLabel={SettingsRadioLabel}\n value={value}\n header={label}\n opts={choices}\n onChange={onChange}\n />\n );\n};\n\nRadio.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.shape(labelValue)) };\n\nconst StyledRadio = withStyles((theme) => ({\n radioSettings: {\n marginTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2,\n width: '100%',\n '& > label': {\n color: 'rgba(0, 0, 0, 0.89)',\n transform: 'translate(0, 10px) scale(1)',\n fontSize: '14px',\n },\n '& > div': {\n marginTop: theme.spacing.unit * 2.5,\n },\n },\n label: {\n display: 'none',\n },\n}))(Radio);\n\nconst Dropdown = withStyles((theme) => ({\n label: {\n margin: 0,\n fontSize: theme.typography.fontSize,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange, choices = [] }) => {\n return (\n <div>\n {label && <p className={classes.label}>{label}</p>}\n <Select\n className={classes.wrapper}\n value={value || (choices && choices[0])}\n onChange={({ target }) => onChange(target.value)}\n input={<Input id={`dropdown-${label}`} />}\n disableUnderline\n >\n {choices.map((l, index) => (\n <MenuItem key={index} value={l}>\n {l}\n </MenuItem>\n ))}\n </Select>\n </div>\n );\n});\n\nDropdown.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.string) };\n\nconst TextField = withStyles((theme) => ({\n field: {\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n}))(({ classes, label }) => {\n return <Typography className={classes.field}>{label}</Typography>;\n});\n\nconst NumberField = withStyles((theme) => ({\n field: {\n width: '35%',\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange = () => {}, suffix, min, max }) => {\n return (\n <NumberTextField\n label={label || 'Label'}\n value={value}\n max={max}\n min={min}\n onChange={(ev, value) => onChange(value)}\n suffix={suffix}\n className={classes.field}\n showErrorWhenOutsideRange\n inputClassName={classes.wrapper}\n disableUnderline\n />\n );\n});\n\nNumberField.propTypes = {\n ...baseTypes,\n classes: PropTypes.object,\n suffix: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n};\n\nTextField.propTypes = {\n ...baseTypes,\n};\n\nconst ToggleWrapper = ({ label, value, onChange }) => <Toggle label={label} checked={!!value} toggle={onChange} />;\n\nToggleWrapper.propTypes = { ...baseTypes, value: PropTypes.bool };\n\nconst tagMap = {\n toggle: ToggleWrapper,\n radio: StyledRadio,\n dropdown: Dropdown,\n numberField: NumberField,\n checkbox: CheckboxChoice,\n textField: TextField,\n};\n\nconst Group = withStyles((theme) => ({\n group: {\n margin: `0 0 ${theme.spacing.unit * 2}px 0`,\n },\n groupHeader: {\n color: '#495B8F',\n fontSize: theme.typography.fontSize + 2,\n fontWeight: 600,\n marginBottom: theme.spacing.unit,\n },\n numberFields: {\n fontSize: theme.typography.fontSize,\n marginBottom: 0,\n },\n}))((props) => {\n const { classes, model, label, group, configuration, onChange } = props;\n\n /**\n * @param group - the group of settings\n * @param key - the key(or path) to be used to set or get from model or configuration\n * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)\n * @returns tag that corresponds to element type */\n const getTag = (group, key, innerKey) => {\n const { isConfigProperty, ...properties } = get(group, innerKey || key);\n const value = isConfigProperty ? get(configuration, key) : get(model, key);\n const tagProps = { ...properties, key, value };\n const Tag = tagMap[tagProps.type];\n\n return <Tag key={key} {...tagProps} onChange={(v) => onChange(key, v, isConfigProperty)} />;\n };\n\n const content = (group, key) => {\n const currentGroup = group[key];\n\n if (!currentGroup) {\n return null;\n }\n\n const { type, label, fields, choices } = currentGroup;\n\n if (type === 'numberFields') {\n return (\n <div key={`numberField-${label}`}>\n <p className={classes.numberFields}>{label}</p>\n {Object.keys(fields).map((fieldKey) => {\n return getTag(group, `${key}.${fieldKey}`, `${key}.fields.${fieldKey}`);\n })}\n </div>\n );\n }\n\n if (type === 'checkboxes') {\n return (\n <div key={`checkbox-${label}`}>\n <p>{label}</p>\n {Object.keys(choices).map((choiceKey) => {\n return getTag(group, `${key}.${choiceKey}`, `${key}.choices.${choiceKey}`);\n })}\n </div>\n );\n }\n\n // if type is toggle, radio, dropdown, numberField or numberText\n return getTag(group, key);\n };\n\n return (\n <div className={classes.group}>\n <div className={classes.groupHeader}>{label}</div>\n\n {Object.keys(group).map((key) => {\n return content(group, key);\n })}\n </div>\n );\n});\n\nexport class Panel extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n configuration: PropTypes.object,\n groups: PropTypes.object,\n onChangeModel: PropTypes.func,\n onChangeConfiguration: PropTypes.func,\n };\n\n static defaultProps = {\n onChangeModel: () => {},\n onChangeConfiguration: () => {},\n };\n\n change = (key, value, isConfigProperty = false) => {\n log('[changeModel]', key, value);\n\n const { onChangeModel, onChangeConfiguration } = this.props;\n const model = { ...this.props.model };\n const configuration = { ...this.props.configuration };\n\n if (isConfigProperty) {\n set(configuration, key, value);\n onChangeConfiguration(configuration, key);\n } else {\n set(model, key, value);\n onChangeModel(model, key);\n }\n };\n\n render() {\n const { groups, model, configuration } = this.props;\n\n log('render:', model);\n\n const renderedGroups = Object.keys(groups || {}).map((group) => {\n const showGroup = Object.entries(groups[group]).some(([, propVal]) => !!propVal);\n\n if (showGroup) {\n return (\n <Group\n label={group}\n key={group}\n model={model}\n configuration={configuration}\n group={groups[group]}\n onChange={this.change}\n />\n );\n }\n\n return null;\n });\n\n return <div>{renderedGroups}</div>;\n }\n}\n\nexport default Panel;\n"],"file":"panel.js"}
|
|
@@ -54,8 +54,8 @@ var withStatefulModel = function withStatefulModel(Component) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
(0, _createClass2["default"])(Stateful, [{
|
|
57
|
-
key: "
|
|
58
|
-
value: function
|
|
57
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
58
|
+
value: function UNSAFE_componentWillReceiveProps(props) {
|
|
59
59
|
this.setState({
|
|
60
60
|
model: props.model
|
|
61
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/with-stateful-model.jsx"],"names":["withStatefulModel","Component","Stateful","props","model","setState","onChange","state","React","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAe;AAAA,MACjCC,QADiC;AAAA;;AAAA;;AAOrC,sBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,gCAAMA,KAAN;AADiB,mGAWR,UAACC,KAAD,EAAW;AACpB,cAAKC,QAAL,CAAc;AAAED,UAAAA,KAAK,EAALA;AAAF,SAAd,EAAyB,YAAM;AAC7B,gBAAKD,KAAL,CAAWG,QAAX,CAAoB,MAAKC,KAAL,CAAWH,KAA/B;AACD,SAFD;AAGD,OAfkB;AAEjB,YAAKG,KAAL,GAAa;AACXH,QAAAA,KAAK,EAAED,KAAK,CAACC;AADF,OAAb;AAFiB;AAKlB;;AAZoC;AAAA;AAAA,aAcrC,
|
|
1
|
+
{"version":3,"sources":["../src/with-stateful-model.jsx"],"names":["withStatefulModel","Component","Stateful","props","model","setState","onChange","state","React","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAe;AAAA,MACjCC,QADiC;AAAA;;AAAA;;AAOrC,sBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,gCAAMA,KAAN;AADiB,mGAWR,UAACC,KAAD,EAAW;AACpB,cAAKC,QAAL,CAAc;AAAED,UAAAA,KAAK,EAALA;AAAF,SAAd,EAAyB,YAAM;AAC7B,gBAAKD,KAAL,CAAWG,QAAX,CAAoB,MAAKC,KAAL,CAAWH,KAA/B;AACD,SAFD;AAGD,OAfkB;AAEjB,YAAKG,KAAL,GAAa;AACXH,QAAAA,KAAK,EAAED,KAAK,CAACC;AADF,OAAb;AAFiB;AAKlB;;AAZoC;AAAA;AAAA,aAcrC,0CAAiCD,KAAjC,EAAwC;AACtC,aAAKE,QAAL,CAAc;AAAED,UAAAA,KAAK,EAAED,KAAK,CAACC;AAAf,SAAd;AACD;AAhBoC;AAAA;AAAA,aAwBrC,kBAAS;AACP,4BAAO,gCAAC,SAAD;AAAW,UAAA,KAAK,EAAE,KAAKG,KAAL,CAAWH,KAA7B;AAAoC,UAAA,QAAQ,EAAE,KAAKE;AAAnD,UAAP;AACD;AA1BoC;AAAA;AAAA,IAChBE,kBAAMP,SADU;;AAAA,mCACjCC,QADiC,eAElB;AACjBE,IAAAA,KAAK,EAAEK,sBAAUC,MAAV,CAAiBC,UADP;AAEjBL,IAAAA,QAAQ,EAAEG,sBAAUG,IAAV,CAAeD;AAFR,GAFkB;AA6BvC,SAAOT,QAAP;AACD,CA9BD;;eAgCeF,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withStatefulModel = (Component) => {\n class Stateful extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n };\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n this.setState({ model: props.model });\n }\n\n onChange = (model) => {\n this.setState({ model }, () => {\n this.props.onChange(this.state.model);\n });\n };\n\n render() {\n return <Component model={this.state.model} onChange={this.onChange} />;\n }\n }\n\n return Stateful;\n};\n\nexport default withStatefulModel;\n"],"file":"with-stateful-model.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/config-ui",
|
|
3
|
-
"version": "11.6.4
|
|
3
|
+
"version": "11.6.4",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"module": "src/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@material-ui/core": "^3.8.3",
|
|
12
12
|
"@material-ui/icons": "^3.0.2",
|
|
13
|
-
"@pie-lib/editable-html": "^9.5.23
|
|
13
|
+
"@pie-lib/editable-html": "^9.5.23",
|
|
14
14
|
"@pie-lib/icons": "^2.4.42",
|
|
15
|
-
"@pie-lib/render-ui": "^4.14.
|
|
15
|
+
"@pie-lib/render-ui": "^4.14.21",
|
|
16
16
|
"classnames": "^2.2.6",
|
|
17
17
|
"debug": "^4.1.1",
|
|
18
18
|
"lodash": "^4.17.11",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": "^16.8.1"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "151723a15c9d7fc8d73a1bcb746e85628385bd6c"
|
|
30
30
|
}
|
|
@@ -110,6 +110,7 @@ export class ChoiceConfiguration extends React.Component {
|
|
|
110
110
|
noLabels: PropTypes.bool,
|
|
111
111
|
useLetterOrdering: PropTypes.bool,
|
|
112
112
|
className: PropTypes.string,
|
|
113
|
+
error: PropTypes.string,
|
|
113
114
|
mode: PropTypes.oneOf(['checkbox', 'radio']),
|
|
114
115
|
defaultFeedback: PropTypes.object.isRequired,
|
|
115
116
|
disabled: PropTypes.bool,
|
|
@@ -133,7 +134,10 @@ export class ChoiceConfiguration extends React.Component {
|
|
|
133
134
|
disableImageAlignmentButtons: PropTypes.bool,
|
|
134
135
|
allowFeedBack: PropTypes.bool,
|
|
135
136
|
allowDelete: PropTypes.bool,
|
|
137
|
+
noCorrectAnswerError: PropTypes.string,
|
|
138
|
+
spellCheck: PropTypes.bool,
|
|
136
139
|
toolbarOpts: PropTypes.object,
|
|
140
|
+
uploadSoundSupport: PropTypes.object,
|
|
137
141
|
};
|
|
138
142
|
|
|
139
143
|
static defaultProps = {
|
|
@@ -38,6 +38,7 @@ export const buildDefaults = (input) => {
|
|
|
38
38
|
export class FeedbackConfig extends React.Component {
|
|
39
39
|
static propTypes = {
|
|
40
40
|
allowPartial: PropTypes.bool,
|
|
41
|
+
className: PropTypes.string,
|
|
41
42
|
feedback: PropTypes.shape({
|
|
42
43
|
correct: PropTypes.shape(FeedbackType),
|
|
43
44
|
incorrect: PropTypes.shape(FeedbackType),
|
package/src/input.jsx
CHANGED
|
@@ -3,6 +3,7 @@ import classnames from 'classnames';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { withStyles } from '@material-ui/core';
|
|
5
5
|
import Tabs from '../tabs';
|
|
6
|
+
import classNames from 'classnames';
|
|
6
7
|
|
|
7
8
|
class RawLayoutContents extends React.Component {
|
|
8
9
|
static propTypes = {
|
|
@@ -50,7 +51,7 @@ class RawLayoutContents extends React.Component {
|
|
|
50
51
|
const { minHeight, minWidth, maxHeight, maxWidth } = dimensions || {};
|
|
51
52
|
const configuration = this.getConfiguration();
|
|
52
53
|
|
|
53
|
-
let hasSettingsPanel = Object.entries(configuration || {}).some(([
|
|
54
|
+
let hasSettingsPanel = Object.entries(configuration || {}).some(([, obj]) => !!obj?.settings);
|
|
54
55
|
// ebsr has configuration.partA and configuration.partB
|
|
55
56
|
// because we might have nested configuration for other item types as well, let's add this simple regex to check values for settings
|
|
56
57
|
|
|
@@ -58,6 +59,7 @@ class RawLayoutContents extends React.Component {
|
|
|
58
59
|
try {
|
|
59
60
|
hasSettingsPanel = JSON.stringify(configuration)?.match(/settings":true/)?.length;
|
|
60
61
|
} catch (e) {
|
|
62
|
+
// eslint-disable-next-line no-console
|
|
61
63
|
console.log(e.toString());
|
|
62
64
|
}
|
|
63
65
|
}
|
|
@@ -85,9 +87,7 @@ class RawLayoutContents extends React.Component {
|
|
|
85
87
|
)}
|
|
86
88
|
|
|
87
89
|
{mode === 'tabbed' && !hasSettingsPanel && (
|
|
88
|
-
<div className={classes.contentContainer
|
|
89
|
-
{children}
|
|
90
|
-
</div>
|
|
90
|
+
<div className={classNames(classes.contentContainer, 'design-container')}>{children}</div>
|
|
91
91
|
)}
|
|
92
92
|
</div>
|
|
93
93
|
);
|
|
@@ -9,7 +9,7 @@ import InputAdornment from '@material-ui/core/InputAdornment';
|
|
|
9
9
|
import Remove from '@material-ui/icons/Remove';
|
|
10
10
|
import Add from '@material-ui/icons/Add';
|
|
11
11
|
|
|
12
|
-
const styles = (
|
|
12
|
+
const styles = () => ({
|
|
13
13
|
input: {
|
|
14
14
|
'& input[type=number]': {
|
|
15
15
|
'-moz-appearance': 'textfield',
|
|
@@ -50,6 +50,7 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
50
50
|
disabled: PropTypes.bool,
|
|
51
51
|
error: PropTypes.bool,
|
|
52
52
|
inputClassName: PropTypes.string,
|
|
53
|
+
helperText: PropTypes.string,
|
|
53
54
|
onChange: PropTypes.func.isRequired,
|
|
54
55
|
onlyIntegersAllowed: PropTypes.bool,
|
|
55
56
|
value: PropTypes.number,
|
|
@@ -58,6 +59,7 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
58
59
|
step: PropTypes.number,
|
|
59
60
|
label: PropTypes.string,
|
|
60
61
|
disableUnderline: PropTypes.bool,
|
|
62
|
+
textAlign: PropTypes.string,
|
|
61
63
|
variant: PropTypes.string,
|
|
62
64
|
};
|
|
63
65
|
|
package/src/settings/panel.jsx
CHANGED
|
@@ -292,7 +292,7 @@ export class Panel extends React.Component {
|
|
|
292
292
|
log('render:', model);
|
|
293
293
|
|
|
294
294
|
const renderedGroups = Object.keys(groups || {}).map((group) => {
|
|
295
|
-
const showGroup = Object.entries(groups[group]).some(([
|
|
295
|
+
const showGroup = Object.entries(groups[group]).some(([, propVal]) => !!propVal);
|
|
296
296
|
|
|
297
297
|
if (showGroup) {
|
|
298
298
|
return (
|