@pie-lib/config-ui 11.30.0-mui-update.0 → 11.30.1-beta-1
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 +12 -9
- package/lib/__tests__/choice-utils.test.js +16 -0
- package/lib/__tests__/langs.test.js +55 -0
- package/lib/__tests__/number-text-field.test.js +128 -0
- package/lib/__tests__/settings-panel.test.js +201 -0
- package/lib/__tests__/two-choice.test.js +33 -0
- package/lib/alert-dialog.js +42 -23
- package/lib/alert-dialog.js.map +1 -1
- package/lib/checkbox.js +71 -56
- package/lib/checkbox.js.map +1 -1
- package/lib/choice-configuration/__tests__/feedback-menu.test.js +20 -0
- package/lib/choice-configuration/__tests__/index.test.js +119 -0
- package/lib/choice-configuration/feedback-menu.js +63 -24
- package/lib/choice-configuration/feedback-menu.js.map +1 -1
- package/lib/choice-configuration/index.js +257 -201
- package/lib/choice-configuration/index.js.map +1 -1
- package/lib/choice-utils.js +18 -6
- package/lib/choice-utils.js.map +1 -1
- package/lib/feedback-config/__tests__/feedback-config.test.js +78 -0
- package/lib/feedback-config/__tests__/feedback-selector.test.js +71 -0
- package/lib/feedback-config/feedback-selector.js +114 -77
- package/lib/feedback-config/feedback-selector.js.map +1 -1
- package/lib/feedback-config/group.js +40 -26
- package/lib/feedback-config/group.js.map +1 -1
- package/lib/feedback-config/index.js +90 -38
- package/lib/feedback-config/index.js.map +1 -1
- package/lib/form-section.js +33 -24
- package/lib/form-section.js.map +1 -1
- package/lib/help.js +80 -39
- package/lib/help.js.map +1 -1
- package/lib/index.js +31 -1
- package/lib/index.js.map +1 -1
- package/lib/input.js +54 -21
- package/lib/input.js.map +1 -1
- package/lib/inputs.js +95 -61
- package/lib/inputs.js.map +1 -1
- package/lib/langs.js +100 -56
- package/lib/langs.js.map +1 -1
- package/lib/layout/__tests__/config.layout.test.js +33 -0
- package/lib/layout/__tests__/layout-content.test.js +6 -0
- package/lib/layout/config-layout.js +99 -48
- package/lib/layout/config-layout.js.map +1 -1
- package/lib/layout/index.js +3 -0
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/layout-contents.js +101 -72
- package/lib/layout/layout-contents.js.map +1 -1
- package/lib/layout/settings-box.js +56 -27
- package/lib/layout/settings-box.js.map +1 -1
- package/lib/mui-box/index.js +57 -41
- package/lib/mui-box/index.js.map +1 -1
- package/lib/number-text-field-custom.js +161 -79
- package/lib/number-text-field-custom.js.map +1 -1
- package/lib/number-text-field.js +115 -57
- package/lib/number-text-field.js.map +1 -1
- package/lib/radio-with-label.js +31 -23
- package/lib/radio-with-label.js.map +1 -1
- package/lib/settings/display-size.js +32 -16
- package/lib/settings/display-size.js.map +1 -1
- package/lib/settings/index.js +47 -14
- package/lib/settings/index.js.map +1 -1
- package/lib/settings/panel.js +228 -142
- package/lib/settings/panel.js.map +1 -1
- package/lib/settings/settings-radio-label.js +30 -21
- package/lib/settings/settings-radio-label.js.map +1 -1
- package/lib/settings/toggle.js +46 -34
- package/lib/settings/toggle.js.map +1 -1
- package/lib/tabs/index.js +57 -22
- package/lib/tabs/index.js.map +1 -1
- package/lib/tags-input/__tests__/index.test.js +88 -0
- package/lib/tags-input/index.js +99 -50
- package/lib/tags-input/index.js.map +1 -1
- package/lib/two-choice.js +90 -46
- package/lib/two-choice.js.map +1 -1
- package/lib/with-stateful-model.js +31 -8
- package/lib/with-stateful-model.js.map +1 -1
- package/package.json +10 -12
- package/src/__tests__/number-text-field.test.jsx +1 -1
- package/src/alert-dialog.jsx +18 -14
- package/src/checkbox.jsx +46 -42
- package/src/choice-configuration/feedback-menu.jsx +5 -5
- package/src/choice-configuration/index.jsx +193 -205
- package/src/feedback-config/feedback-selector.jsx +53 -51
- package/src/feedback-config/group.jsx +22 -21
- package/src/feedback-config/index.jsx +29 -27
- package/src/form-section.jsx +18 -18
- package/src/help.jsx +28 -20
- package/src/input.jsx +1 -1
- package/src/inputs.jsx +50 -34
- package/src/langs.jsx +46 -40
- package/src/layout/config-layout.jsx +36 -25
- package/src/layout/layout-contents.jsx +34 -34
- package/src/layout/settings-box.jsx +19 -16
- package/src/mui-box/index.jsx +43 -35
- package/src/number-text-field-custom.jsx +36 -30
- package/src/number-text-field.jsx +30 -22
- package/src/radio-with-label.jsx +13 -17
- package/src/settings/display-size.jsx +11 -12
- package/src/settings/panel.jsx +89 -83
- package/src/settings/settings-radio-label.jsx +13 -17
- package/src/settings/toggle.jsx +29 -29
- package/src/tabs/index.jsx +8 -8
- package/src/tags-input/index.jsx +38 -35
- package/src/two-choice.jsx +19 -15
- package/LICENSE.md +0 -5
- package/NEXT.CHANGELOG.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_TextField","_Delete","_SubdirectoryArrowRight","_IconButton","_classnames","_renderUi","_inputs","_feedbackMenu","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","EditableHtml","window","StyledEditorHolder","styled","_ref","theme","marginTop","spacing","EditableHtmlContainer","_ref2","label","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","pluginOpts","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","_ref2$mathMlOptions","mathMlOptions","names","classNames","createElement","InputContainer","markup","pluginProps","languageCharactersProps","language","StyledFeedbackContainer","position","StyledArrowIcon","ArrowRight","_ref3","fill","palette","grey","left","top","StyledTextField","TextField","width","StyledEditableHtmlContainer","Feedback","_ref4","type","correct","defaults","_ref4$mathMlOptions","incorrect","StyledIndex","_ref5","paddingRight","paddingTop","StyledTopRow","display","StyledToggle","_ref6","flex","paddingBottom","marginRight","marginLeft","StyledFeedback","_ref7","paddingLeft","StyledFeedbackIcon","margin","StyledDeleteIcon","StyledDelete","_ref8","StyledMiddleColumn","_ref9","flexDirection","StyledInput","StyledErrorText","_ref0","fontSize","typography","color","main","ChoiceConfiguration","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","key","update","_this$props","props","data","_changeFn","event","target","checked","_this$props2","v","_this$props3","feedback","fb","_this$props4","undefined","_inherits2","_createClass2","render","_this$props5","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","_this$props5$mathMlOp","InputToggle","InputCheckbox","InputRadio","String","fromCharCode","toUpperCase","onCheckedChange","onLabelChange","_extends2","onFeedbackValueChange","onFeedbackTypeChange","onClick","size","React","Component","PropTypes","bool","string","oneOf","object","isRequired","shape","func","number","add","_default"],"sources":["../../src/choice-configuration/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport TextField from '@mui/material/TextField';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport ArrowRight from '@mui/icons-material/SubdirectoryArrowRight';\nimport IconButton from '@mui/material/IconButton';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\n// import EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\n\n// - mathquill error window not defined\nlet EditableHtml;\nif (typeof window !== 'undefined') {\n EditableHtml = require('@pie-lib/editable-html')['default'];\n}\n\nconst StyledEditorHolder = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\nconst EditableHtmlContainer = ({\n label,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n pluginOpts,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n}) => {\n const names = classNames(className);\n\n return (\n <InputContainer label={label} className={names}>\n <StyledEditorHolder>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n pluginProps={pluginOpts || {}}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledEditorHolder>\n </InputContainer>\n );\n};\n\nconst StyledFeedbackContainer = styled('div')(() => ({\n position: 'relative',\n}));\n\nconst StyledArrowIcon = styled(ArrowRight)(({ theme }) => ({\n fill: theme.palette.grey[400],\n left: -56,\n position: 'absolute',\n top: 20,\n}));\n\nconst StyledTextField = styled(TextField)(() => ({\n width: '100%',\n}));\n\nconst StyledEditableHtmlContainer = styled(EditableHtmlContainer)(() => ({\n width: '100%',\n}));\n\nconst Feedback = ({ value, onChange, type, correct, defaults, toolbarOpts, mathMlOptions = {} }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <StyledFeedbackContainer>\n <StyledArrowIcon />\n <StyledTextField\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </StyledFeedbackContainer>\n );\n } else {\n return (\n <StyledFeedbackContainer>\n <StyledArrowIcon />\n <StyledEditableHtmlContainer\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n mathMlOptions={mathMlOptions}\n />\n </StyledFeedbackContainer>\n );\n }\n};\n\nconst StyledIndex = styled('span')(({ theme }) => ({\n paddingRight: theme.spacing(1),\n paddingTop: theme.spacing(3.5),\n}));\n\nconst StyledTopRow = styled('div')(() => ({\n display: 'flex',\n}));\n\nconst StyledToggle = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(0.5),\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing(1),\n}));\n\nconst StyledFeedback = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(2),\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing(1),\n}));\n\nconst StyledFeedbackIcon = styled('div')(() => ({\n margin: 0,\n width: 'inherit',\n}));\n\nconst StyledDeleteIcon = styled('div')(() => ({\n margin: 0,\n width: 'inherit',\n}));\n\nconst StyledDelete = styled('div')(({ theme }) => ({\n flex: '0 1 auto',\n paddingTop: theme.spacing(2),\n paddingLeft: 0,\n marginLeft: 0,\n}));\n\nconst StyledMiddleColumn = styled('div')(({ theme }) => ({\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing(1),\n}));\n\nconst StyledInput = styled('div')(() => ({\n marginRight: 0,\n}));\n\nconst StyledErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n}));\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\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 pluginOpts: PropTypes.object,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\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 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 pluginOpts,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n maxImageWidth,\n maxImageHeight,\n mathMlOptions = {},\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(className);\n\n return (\n <div className={names}>\n <StyledTopRow>\n {index > 0 && (\n <StyledIndex type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </StyledIndex>\n )}\n\n <StyledToggle>\n <InputToggle\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n </StyledToggle>\n\n <StyledMiddleColumn>\n <StyledInput>\n <EditableHtmlContainer\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 pluginOpts={pluginOpts}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n </StyledInput>\n {error && <StyledErrorText>{error}</StyledErrorText>}\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 </StyledMiddleColumn>\n\n {allowFeedBack && (\n <StyledFeedback>\n <InputContainer label={!noLabels ? 'Feedback' : ''}>\n <StyledFeedbackIcon>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n />\n </StyledFeedbackIcon>\n </InputContainer>\n </StyledFeedback>\n )}\n\n {allowDelete && (\n <StyledDelete>\n <InputContainer label={!noLabels ? 'Delete' : ''}>\n <StyledDeleteIcon>\n <IconButton\n aria-label=\"delete\"\n onClick={onDelete}\n size=\"large\">\n <ActionDelete />\n </IconButton>\n </StyledDeleteIcon>\n </InputContainer>\n </StyledDelete>\n )}\n </StyledTopRow>\n </div>\n );\n }\n}\n\nexport default ChoiceConfiguration;\n"],"mappings":"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","ignoreList":[]}
|
|
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","pluginOpts","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","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 ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\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 pluginOpts,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\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 pluginProps={pluginOpts || {}}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\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, mathMlOptions = {} }) => {\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 mathMlOptions={mathMlOptions}\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 pluginOpts: PropTypes.object,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\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 pluginOpts,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n maxImageWidth,\n maxImageHeight,\n mathMlOptions = {},\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 pluginOpts={pluginOpts}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\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"}
|
package/lib/choice-utils.js
CHANGED
|
@@ -1,42 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.normalizeChoices = exports.firstAvailableIndex = void 0;
|
|
9
|
+
|
|
8
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
9
12
|
var _includes = _interopRequireDefault(require("lodash/includes"));
|
|
10
|
-
|
|
11
|
-
function
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
|
|
12
18
|
/**
|
|
13
19
|
* Add value to every model.choices.
|
|
14
20
|
* @param {Object} model the model to normalize
|
|
15
21
|
* @return {Object} the updated model
|
|
16
22
|
*/
|
|
17
|
-
var normalizeChoices =
|
|
23
|
+
var normalizeChoices = function normalizeChoices(model) {
|
|
18
24
|
var choices = model.choices.map(function (c, index) {
|
|
19
25
|
if (!c.value) {
|
|
20
26
|
c.value = "".concat(index);
|
|
21
27
|
}
|
|
28
|
+
|
|
22
29
|
return c;
|
|
23
30
|
});
|
|
24
31
|
return _objectSpread(_objectSpread({}, model), {}, {
|
|
25
32
|
choices: choices
|
|
26
33
|
});
|
|
27
34
|
};
|
|
28
|
-
|
|
29
35
|
/**
|
|
30
36
|
* Find the first available index.
|
|
31
37
|
* @param {string[]} values
|
|
32
38
|
* @param {number} index
|
|
33
39
|
* @return {string}
|
|
34
40
|
*/
|
|
35
|
-
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
exports.normalizeChoices = normalizeChoices;
|
|
44
|
+
|
|
45
|
+
var firstAvailableIndex = function firstAvailableIndex(values, index) {
|
|
36
46
|
if ((0, _includes["default"])(values, "".concat(index))) {
|
|
37
|
-
return
|
|
47
|
+
return firstAvailableIndex(values, index + 1);
|
|
38
48
|
} else {
|
|
39
49
|
return "".concat(index);
|
|
40
50
|
}
|
|
41
51
|
};
|
|
52
|
+
|
|
53
|
+
exports.firstAvailableIndex = firstAvailableIndex;
|
|
42
54
|
//# sourceMappingURL=choice-utils.js.map
|
package/lib/choice-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/choice-utils.js"],"names":["normalizeChoices","model","choices","map","c","index","value","firstAvailableIndex","values"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;AACzC,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAN,CAAcC,GAAd,CAAkB,UAACC,CAAD,EAAIC,KAAJ,EAAc;AAC9C,QAAI,CAACD,CAAC,CAACE,KAAP,EAAc;AACZF,MAAAA,CAAC,CAACE,KAAF,aAAaD,KAAb;AACD;;AACD,WAAOD,CAAP;AACD,GALe,CAAhB;AAMA,yCAAYH,KAAZ;AAAmBC,IAAAA,OAAO,EAAPA;AAAnB;AACD,CARM;AAUP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASH,KAAT,EAAmB;AACpD,MAAI,0BAASG,MAAT,YAAoBH,KAApB,EAAJ,EAAkC;AAChC,WAAOE,mBAAmB,CAACC,MAAD,EAASH,KAAK,GAAG,CAAjB,CAA1B;AACD,GAFD,MAEO;AACL,qBAAUA,KAAV;AACD;AACF,CANM","sourcesContent":["import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = (model) => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n"],"file":"choice-utils.js"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
|
|
9
|
+
var _enzyme = _interopRequireWildcard(require("enzyme"));
|
|
10
|
+
|
|
11
|
+
var _index = require("../index");
|
|
12
|
+
|
|
13
|
+
var _feedbackSelector = _interopRequireDefault(require("../feedback-selector"));
|
|
14
|
+
|
|
15
|
+
var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
|
|
16
|
+
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
|
|
21
|
+
_enzyme["default"].configure({
|
|
22
|
+
adapter: new _enzymeAdapterReact["default"]()
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
describe('FeedbackConfig', function () {
|
|
26
|
+
describe('render', function () {
|
|
27
|
+
var component, selectors;
|
|
28
|
+
var feedback = {
|
|
29
|
+
correctFeedback: undefined,
|
|
30
|
+
correctFeedbackType: 'default',
|
|
31
|
+
incorrectFeedback: undefined,
|
|
32
|
+
incorrectFeedbackType: 'default'
|
|
33
|
+
};
|
|
34
|
+
var defaults = {
|
|
35
|
+
correct: 'Correct',
|
|
36
|
+
incorrect: 'Incorrect',
|
|
37
|
+
partial: 'Nearly'
|
|
38
|
+
};
|
|
39
|
+
describe('Feedback Config Component', function () {
|
|
40
|
+
it('should exist', function () {
|
|
41
|
+
component = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
42
|
+
feedback: feedback,
|
|
43
|
+
defaults: defaults,
|
|
44
|
+
onChange: jest.fn(),
|
|
45
|
+
classes: {}
|
|
46
|
+
}));
|
|
47
|
+
selectors = component.find(_feedbackSelector["default"]);
|
|
48
|
+
expect(selectors.length).toEqual(3);
|
|
49
|
+
});
|
|
50
|
+
describe('props', function () {
|
|
51
|
+
it('should not render optionally correct if optional is not needed', function () {
|
|
52
|
+
component = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
53
|
+
allowPartial: false,
|
|
54
|
+
feedback: feedback,
|
|
55
|
+
defaults: defaults,
|
|
56
|
+
onChange: jest.fn(),
|
|
57
|
+
classes: {}
|
|
58
|
+
}));
|
|
59
|
+
selectors = component.find(_feedbackSelector["default"]);
|
|
60
|
+
expect(selectors.length).toEqual(2);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe('snapshot', function () {
|
|
64
|
+
it('matches the snapshot', function () {
|
|
65
|
+
component = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.FeedbackConfig, {
|
|
66
|
+
allowPartial: false,
|
|
67
|
+
feedback: feedback,
|
|
68
|
+
defaults: defaults,
|
|
69
|
+
onChange: jest.fn(),
|
|
70
|
+
classes: {}
|
|
71
|
+
}));
|
|
72
|
+
expect(component).toMatchSnapshot();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mZWVkYmFjay1jb25maWcvX190ZXN0c19fL2ZlZWRiYWNrLWNvbmZpZy50ZXN0LmpzeCJdLCJuYW1lcyI6WyJFbnp5bWUiLCJjb25maWd1cmUiLCJhZGFwdGVyIiwiQWRhcHRlciIsImRlc2NyaWJlIiwiY29tcG9uZW50Iiwic2VsZWN0b3JzIiwiZmVlZGJhY2siLCJjb3JyZWN0RmVlZGJhY2siLCJ1bmRlZmluZWQiLCJjb3JyZWN0RmVlZGJhY2tUeXBlIiwiaW5jb3JyZWN0RmVlZGJhY2siLCJpbmNvcnJlY3RGZWVkYmFja1R5cGUiLCJkZWZhdWx0cyIsImNvcnJlY3QiLCJpbmNvcnJlY3QiLCJwYXJ0aWFsIiwiaXQiLCJqZXN0IiwiZm4iLCJmaW5kIiwiRmVlZGJhY2tTZWxlY3RvciIsImV4cGVjdCIsImxlbmd0aCIsInRvRXF1YWwiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsbUJBQU9DLFNBQVAsQ0FBaUI7QUFBRUMsRUFBQUEsT0FBTyxFQUFFLElBQUlDLDhCQUFKO0FBQVgsQ0FBakI7O0FBRUFDLFFBQVEsQ0FBQyxnQkFBRCxFQUFtQixZQUFNO0FBQy9CQSxFQUFBQSxRQUFRLENBQUMsUUFBRCxFQUFXLFlBQU07QUFDdkIsUUFBSUMsU0FBSixFQUFlQyxTQUFmO0FBQ0EsUUFBSUMsUUFBUSxHQUFHO0FBQ2JDLE1BQUFBLGVBQWUsRUFBRUMsU0FESjtBQUViQyxNQUFBQSxtQkFBbUIsRUFBRSxTQUZSO0FBR2JDLE1BQUFBLGlCQUFpQixFQUFFRixTQUhOO0FBSWJHLE1BQUFBLHFCQUFxQixFQUFFO0FBSlYsS0FBZjtBQU9BLFFBQUlDLFFBQVEsR0FBRztBQUNiQyxNQUFBQSxPQUFPLEVBQUUsU0FESTtBQUViQyxNQUFBQSxTQUFTLEVBQUUsV0FGRTtBQUdiQyxNQUFBQSxPQUFPLEVBQUU7QUFISSxLQUFmO0FBTUFaLElBQUFBLFFBQVEsQ0FBQywyQkFBRCxFQUE4QixZQUFNO0FBQzFDYSxNQUFBQSxFQUFFLENBQUMsY0FBRCxFQUFpQixZQUFNO0FBQ3ZCWixRQUFBQSxTQUFTLEdBQUcsbUNBQ1YsZ0NBQUMscUJBQUQ7QUFBZ0IsVUFBQSxRQUFRLEVBQUVFLFFBQTFCO0FBQW9DLFVBQUEsUUFBUSxFQUFFTSxRQUE5QztBQUF3RCxVQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMLEVBQWxFO0FBQTZFLFVBQUEsT0FBTyxFQUFFO0FBQXRGLFVBRFUsQ0FBWjtBQUlBYixRQUFBQSxTQUFTLEdBQUdELFNBQVMsQ0FBQ2UsSUFBVixDQUFlQyw0QkFBZixDQUFaO0FBRUFDLFFBQUFBLE1BQU0sQ0FBQ2hCLFNBQVMsQ0FBQ2lCLE1BQVgsQ0FBTixDQUF5QkMsT0FBekIsQ0FBaUMsQ0FBakM7QUFDRCxPQVJDLENBQUY7QUFVQXBCLE1BQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QmEsUUFBQUEsRUFBRSxDQUFDLGdFQUFELEVBQW1FLFlBQU07QUFDekVaLFVBQUFBLFNBQVMsR0FBRyxtQ0FDVixnQ0FBQyxxQkFBRDtBQUNFLFlBQUEsWUFBWSxFQUFFLEtBRGhCO0FBRUUsWUFBQSxRQUFRLEVBQUVFLFFBRlo7QUFHRSxZQUFBLFFBQVEsRUFBRU0sUUFIWjtBQUlFLFlBQUEsUUFBUSxFQUFFSyxJQUFJLENBQUNDLEVBQUwsRUFKWjtBQUtFLFlBQUEsT0FBTyxFQUFFO0FBTFgsWUFEVSxDQUFaO0FBVUFiLFVBQUFBLFNBQVMsR0FBR0QsU0FBUyxDQUFDZSxJQUFWLENBQWVDLDRCQUFmLENBQVo7QUFFQUMsVUFBQUEsTUFBTSxDQUFDaEIsU0FBUyxDQUFDaUIsTUFBWCxDQUFOLENBQXlCQyxPQUF6QixDQUFpQyxDQUFqQztBQUNELFNBZEMsQ0FBRjtBQWVELE9BaEJPLENBQVI7QUFrQkFwQixNQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJhLFFBQUFBLEVBQUUsQ0FBQyxzQkFBRCxFQUF5QixZQUFNO0FBQy9CWixVQUFBQSxTQUFTLEdBQUcsbUNBQ1YsZ0NBQUMscUJBQUQ7QUFDRSxZQUFBLFlBQVksRUFBRSxLQURoQjtBQUVFLFlBQUEsUUFBUSxFQUFFRSxRQUZaO0FBR0UsWUFBQSxRQUFRLEVBQUVNLFFBSFo7QUFJRSxZQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMLEVBSlo7QUFLRSxZQUFBLE9BQU8sRUFBRTtBQUxYLFlBRFUsQ0FBWjtBQVVBRyxVQUFBQSxNQUFNLENBQUNqQixTQUFELENBQU4sQ0FBa0JvQixlQUFsQjtBQUNELFNBWkMsQ0FBRjtBQWFELE9BZE8sQ0FBUjtBQWVELEtBNUNPLENBQVI7QUE2Q0QsR0E1RE8sQ0FBUjtBQTZERCxDQTlETyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFByb3BUeXBlcyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBFbnp5bWUsIHsgc2hhbGxvdywgbW91bnQgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IHsgRmVlZGJhY2tDb25maWcgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgRmVlZGJhY2tTZWxlY3RvciBmcm9tICcuLi9mZWVkYmFjay1zZWxlY3Rvcic7XG5pbXBvcnQgQWRhcHRlciBmcm9tICdlbnp5bWUtYWRhcHRlci1yZWFjdC0xNic7XG5cbkVuenltZS5jb25maWd1cmUoeyBhZGFwdGVyOiBuZXcgQWRhcHRlcigpIH0pO1xuXG5kZXNjcmliZSgnRmVlZGJhY2tDb25maWcnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdyZW5kZXInLCAoKSA9PiB7XG4gICAgbGV0IGNvbXBvbmVudCwgc2VsZWN0b3JzO1xuICAgIGxldCBmZWVkYmFjayA9IHtcbiAgICAgIGNvcnJlY3RGZWVkYmFjazogdW5kZWZpbmVkLFxuICAgICAgY29ycmVjdEZlZWRiYWNrVHlwZTogJ2RlZmF1bHQnLFxuICAgICAgaW5jb3JyZWN0RmVlZGJhY2s6IHVuZGVmaW5lZCxcbiAgICAgIGluY29ycmVjdEZlZWRiYWNrVHlwZTogJ2RlZmF1bHQnLFxuICAgIH07XG5cbiAgICBsZXQgZGVmYXVsdHMgPSB7XG4gICAgICBjb3JyZWN0OiAnQ29ycmVjdCcsXG4gICAgICBpbmNvcnJlY3Q6ICdJbmNvcnJlY3QnLFxuICAgICAgcGFydGlhbDogJ05lYXJseScsXG4gICAgfTtcblxuICAgIGRlc2NyaWJlKCdGZWVkYmFjayBDb25maWcgQ29tcG9uZW50JywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCBleGlzdCcsICgpID0+IHtcbiAgICAgICAgY29tcG9uZW50ID0gc2hhbGxvdyhcbiAgICAgICAgICA8RmVlZGJhY2tDb25maWcgZmVlZGJhY2s9e2ZlZWRiYWNrfSBkZWZhdWx0cz17ZGVmYXVsdHN9IG9uQ2hhbmdlPXtqZXN0LmZuKCl9IGNsYXNzZXM9e3t9fSAvPixcbiAgICAgICAgKTtcblxuICAgICAgICBzZWxlY3RvcnMgPSBjb21wb25lbnQuZmluZChGZWVkYmFja1NlbGVjdG9yKTtcblxuICAgICAgICBleHBlY3Qoc2VsZWN0b3JzLmxlbmd0aCkudG9FcXVhbCgzKTtcbiAgICAgIH0pO1xuXG4gICAgICBkZXNjcmliZSgncHJvcHMnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG91bGQgbm90IHJlbmRlciBvcHRpb25hbGx5IGNvcnJlY3QgaWYgb3B0aW9uYWwgaXMgbm90IG5lZWRlZCcsICgpID0+IHtcbiAgICAgICAgICBjb21wb25lbnQgPSBzaGFsbG93KFxuICAgICAgICAgICAgPEZlZWRiYWNrQ29uZmlnXG4gICAgICAgICAgICAgIGFsbG93UGFydGlhbD17ZmFsc2V9XG4gICAgICAgICAgICAgIGZlZWRiYWNrPXtmZWVkYmFja31cbiAgICAgICAgICAgICAgZGVmYXVsdHM9e2RlZmF1bHRzfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17amVzdC5mbigpfVxuICAgICAgICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBzZWxlY3RvcnMgPSBjb21wb25lbnQuZmluZChGZWVkYmFja1NlbGVjdG9yKTtcblxuICAgICAgICAgIGV4cGVjdChzZWxlY3RvcnMubGVuZ3RoKS50b0VxdWFsKDIpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdtYXRjaGVzIHRoZSBzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgICAgICBjb21wb25lbnQgPSBzaGFsbG93KFxuICAgICAgICAgICAgPEZlZWRiYWNrQ29uZmlnXG4gICAgICAgICAgICAgIGFsbG93UGFydGlhbD17ZmFsc2V9XG4gICAgICAgICAgICAgIGZlZWRiYWNrPXtmZWVkYmFja31cbiAgICAgICAgICAgICAgZGVmYXVsdHM9e2RlZmF1bHRzfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17amVzdC5mbigpfVxuICAgICAgICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBleHBlY3QoY29tcG9uZW50KS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _enzyme = require("enzyme");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _feedbackSelector = require("../feedback-selector");
|
|
10
|
+
|
|
11
|
+
describe('feedback-selector', function () {
|
|
12
|
+
var w, onChange;
|
|
13
|
+
|
|
14
|
+
var getWrapper = function getWrapper() {
|
|
15
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_feedbackSelector.FeedbackSelector, {
|
|
16
|
+
classes: {},
|
|
17
|
+
label: 'foo',
|
|
18
|
+
onChange: onChange,
|
|
19
|
+
feedback: {
|
|
20
|
+
type: 'default',
|
|
21
|
+
"default": 'hi'
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
beforeEach(function () {
|
|
27
|
+
onChange = jest.fn();
|
|
28
|
+
w = getWrapper();
|
|
29
|
+
});
|
|
30
|
+
describe('snapshot', function () {
|
|
31
|
+
it('renders', function () {
|
|
32
|
+
expect(w).toMatchSnapshot();
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
describe('logic', function () {
|
|
36
|
+
describe('changeCustom', function () {
|
|
37
|
+
it('calls onChange with text', function () {
|
|
38
|
+
w.instance().changeCustom('bar');
|
|
39
|
+
expect(onChange).toBeCalledWith({
|
|
40
|
+
type: 'custom',
|
|
41
|
+
custom: 'bar',
|
|
42
|
+
"default": 'hi'
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('changeType', function () {
|
|
47
|
+
it('calls onChange with default', function () {
|
|
48
|
+
w.instance().changeType('default');
|
|
49
|
+
expect(onChange).toBeCalledWith({
|
|
50
|
+
type: 'default',
|
|
51
|
+
"default": 'hi'
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
it('calls onChange with custom', function () {
|
|
55
|
+
w.instance().changeType('custom');
|
|
56
|
+
expect(onChange).toBeCalledWith({
|
|
57
|
+
type: 'custom',
|
|
58
|
+
"default": 'hi'
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
it('calls onChange with none', function () {
|
|
62
|
+
w.instance().changeType('none');
|
|
63
|
+
expect(onChange).toBeCalledWith({
|
|
64
|
+
type: 'none',
|
|
65
|
+
"default": 'hi'
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mZWVkYmFjay1jb25maWcvX190ZXN0c19fL2ZlZWRiYWNrLXNlbGVjdG9yLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiZ2V0V3JhcHBlciIsInR5cGUiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJpbnN0YW5jZSIsImNoYW5nZUN1c3RvbSIsInRvQmVDYWxsZWRXaXRoIiwiY3VzdG9tIiwiY2hhbmdlVHlwZSJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBQSxRQUFRLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUNsQyxNQUFJQyxDQUFKLEVBQU9DLFFBQVA7O0FBRUEsTUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQWEsR0FBTTtBQUN2QixXQUFPLG1DQUNMLGdDQUFDLGtDQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUUsRUFEWDtBQUVFLE1BQUEsS0FBSyxFQUFFLEtBRlQ7QUFHRSxNQUFBLFFBQVEsRUFBRUQsUUFIWjtBQUlFLE1BQUEsUUFBUSxFQUFFO0FBQ1JFLFFBQUFBLElBQUksRUFBRSxTQURFO0FBRVIsbUJBQVM7QUFGRDtBQUpaLE1BREssQ0FBUDtBQVdELEdBWkQ7O0FBY0FDLEVBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZILElBQUFBLFFBQVEsR0FBR0ksSUFBSSxDQUFDQyxFQUFMLEVBQVg7QUFDQU4sSUFBQUEsQ0FBQyxHQUFHRSxVQUFVLEVBQWQ7QUFDRCxHQUhTLENBQVY7QUFLQUgsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCUSxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJDLE1BQUFBLE1BQU0sQ0FBQ1IsQ0FBRCxDQUFOLENBQVVTLGVBQVY7QUFDRCxLQUZDLENBQUY7QUFHRCxHQUpPLENBQVI7QUFNQVYsRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCQSxJQUFBQSxRQUFRLENBQUMsY0FBRCxFQUFpQixZQUFNO0FBQzdCUSxNQUFBQSxFQUFFLENBQUMsMEJBQUQsRUFBNkIsWUFBTTtBQUNuQ1AsUUFBQUEsQ0FBQyxDQUFDVSxRQUFGLEdBQWFDLFlBQWIsQ0FBMEIsS0FBMUI7QUFDQUgsUUFBQUEsTUFBTSxDQUFDUCxRQUFELENBQU4sQ0FBaUJXLGNBQWpCLENBQWdDO0FBQzlCVCxVQUFBQSxJQUFJLEVBQUUsUUFEd0I7QUFFOUJVLFVBQUFBLE1BQU0sRUFBRSxLQUZzQjtBQUc5QixxQkFBUztBQUhxQixTQUFoQztBQUtELE9BUEMsQ0FBRjtBQVFELEtBVE8sQ0FBUjtBQVdBZCxJQUFBQSxRQUFRLENBQUMsWUFBRCxFQUFlLFlBQU07QUFDM0JRLE1BQUFBLEVBQUUsQ0FBQyw2QkFBRCxFQUFnQyxZQUFNO0FBQ3RDUCxRQUFBQSxDQUFDLENBQUNVLFFBQUYsR0FBYUksVUFBYixDQUF3QixTQUF4QjtBQUNBTixRQUFBQSxNQUFNLENBQUNQLFFBQUQsQ0FBTixDQUFpQlcsY0FBakIsQ0FBZ0M7QUFBRVQsVUFBQUEsSUFBSSxFQUFFLFNBQVI7QUFBbUIscUJBQVM7QUFBNUIsU0FBaEM7QUFDRCxPQUhDLENBQUY7QUFJQUksTUFBQUEsRUFBRSxDQUFDLDRCQUFELEVBQStCLFlBQU07QUFDckNQLFFBQUFBLENBQUMsQ0FBQ1UsUUFBRixHQUFhSSxVQUFiLENBQXdCLFFBQXhCO0FBQ0FOLFFBQUFBLE1BQU0sQ0FBQ1AsUUFBRCxDQUFOLENBQWlCVyxjQUFqQixDQUFnQztBQUFFVCxVQUFBQSxJQUFJLEVBQUUsUUFBUjtBQUFrQixxQkFBUztBQUEzQixTQUFoQztBQUNELE9BSEMsQ0FBRjtBQUlBSSxNQUFBQSxFQUFFLENBQUMsMEJBQUQsRUFBNkIsWUFBTTtBQUNuQ1AsUUFBQUEsQ0FBQyxDQUFDVSxRQUFGLEdBQWFJLFVBQWIsQ0FBd0IsTUFBeEI7QUFDQU4sUUFBQUEsTUFBTSxDQUFDUCxRQUFELENBQU4sQ0FBaUJXLGNBQWpCLENBQWdDO0FBQUVULFVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCLHFCQUFTO0FBQXpCLFNBQWhDO0FBQ0QsT0FIQyxDQUFGO0FBSUQsS0FiTyxDQUFSO0FBY0QsR0ExQk8sQ0FBUjtBQTJCRCxDQXZETyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRmVlZGJhY2tTZWxlY3RvciB9IGZyb20gJy4uL2ZlZWRiYWNrLXNlbGVjdG9yJztcblxuZGVzY3JpYmUoJ2ZlZWRiYWNrLXNlbGVjdG9yJywgKCkgPT4ge1xuICBsZXQgdywgb25DaGFuZ2U7XG5cbiAgY29uc3QgZ2V0V3JhcHBlciA9ICgpID0+IHtcbiAgICByZXR1cm4gc2hhbGxvdyhcbiAgICAgIDxGZWVkYmFja1NlbGVjdG9yXG4gICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICBsYWJlbD17J2Zvbyd9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgZmVlZGJhY2s9e3tcbiAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgZGVmYXVsdDogJ2hpJyxcbiAgICAgICAgfX1cbiAgICAgIC8+LFxuICAgICk7XG4gIH07XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgdyA9IGdldFdyYXBwZXIoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ2NoYW5nZUN1c3RvbScsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIHRleHQnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jaGFuZ2VDdXN0b20oJ2JhcicpO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKHtcbiAgICAgICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBjdXN0b206ICdiYXInLFxuICAgICAgICAgIGRlZmF1bHQ6ICdoaScsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY2hhbmdlVHlwZScsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGRlZmF1bHQnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jaGFuZ2VUeXBlKCdkZWZhdWx0Jyk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoeyB0eXBlOiAnZGVmYXVsdCcsIGRlZmF1bHQ6ICdoaScgfSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGN1c3RvbScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmNoYW5nZVR5cGUoJ2N1c3RvbScpO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKHsgdHlwZTogJ2N1c3RvbScsIGRlZmF1bHQ6ICdoaScgfSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIG5vbmUnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jaGFuZ2VUeXBlKCdub25lJyk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoeyB0eXBlOiAnbm9uZScsIGRlZmF1bHQ6ICdoaScgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|