@pie-element/match-list 1.16.1-next.80 → 1.16.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 +11 -0
- package/lib/answer-area.js +4 -5
- package/lib/answer-area.js.map +1 -1
- package/lib/choices-list.js +17 -24
- package/lib/choices-list.js.map +1 -1
- package/lib/main.js +5 -12
- package/lib/main.js.map +1 -1
- package/package.json +5 -5
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
|
+
## [1.16.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.16.0...@pie-element/match-list@1.16.1) (2023-02-28)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-libs ([110161a](https://github.com/pie-framework/pie-elements/commit/110161ad113e76b5fdb6fc06e233889befbc366a))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [1.16.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.15.0...@pie-element/match-list@1.16.0) (2023-02-01)
|
|
7
18
|
|
|
8
19
|
|
package/lib/answer-area.js
CHANGED
|
@@ -142,9 +142,6 @@ var AnswerArea = /*#__PURE__*/function (_React$Component) {
|
|
|
142
142
|
id = _ref.id;
|
|
143
143
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
144
144
|
className: classes.row,
|
|
145
|
-
style: {
|
|
146
|
-
display: 'flex'
|
|
147
|
-
},
|
|
148
145
|
key: index
|
|
149
146
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
150
147
|
className: classes.promptEntry,
|
|
@@ -194,7 +191,7 @@ exports.AnswerArea = AnswerArea;
|
|
|
194
191
|
prompt: _propTypes["default"].string
|
|
195
192
|
});
|
|
196
193
|
|
|
197
|
-
var styles = function styles() {
|
|
194
|
+
var styles = function styles(theme) {
|
|
198
195
|
return {
|
|
199
196
|
answer: {
|
|
200
197
|
flex: 1
|
|
@@ -210,7 +207,9 @@ var styles = function styles() {
|
|
|
210
207
|
display: 'flex',
|
|
211
208
|
flex: 1,
|
|
212
209
|
flexDirection: 'column',
|
|
213
|
-
justifyContent: 'space-between'
|
|
210
|
+
justifyContent: 'space-between',
|
|
211
|
+
marginTop: theme.spacing.unit * 2,
|
|
212
|
+
marginBottom: theme.spacing.unit * 2
|
|
214
213
|
},
|
|
215
214
|
promptEntry: {
|
|
216
215
|
border: '1px solid #c2c2c2',
|
package/lib/answer-area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/answer-area.jsx"],"names":["AnswerArea","promptId","props","model","session","showCorrect","config","answerId","prompts","find","p","id","relatedAnswer","value","answer","answers","sessionValue","reduce","obj","prompt","undefined","mode","correctPromptMap","val","key","map","sessionAnswer","getAnswerFromSession","classes","disabled","onPlaceAnswer","instanceId","onRemoveAnswer","rows","buildRows","correctnessMap","getCorrectOrIncorrectMap","itemList","index","title","row","display","promptEntry","__html","arrowEntry","place","React","Component","PropTypes","object","isRequired","bool","onSessionChange","func","string","styles","flex","alignItems","height","margin","flexDirection","justifyContent","border","boxSizing","minHeight","overflow","padding","textAlign","width","wordBreak"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport reduce from 'lodash/reduce';\n\nimport Arrow from './arrow';\nimport DragAndDropAnswer from './answer';\n\nexport class AnswerArea extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func,\n onRemoveAnswer: PropTypes.func,\n onPlaceAnswer: PropTypes.func.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string,\n };\n\n getAnswerFromSession = (promptId) => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const answerId = showCorrect\n ? config.prompts.find((p) => p.id === promptId).relatedAnswer\n : session.value && session.value[promptId];\n const answer = config.answers.find((answer) => answer.id === answerId);\n\n return answer || {};\n };\n\n getCorrectOrIncorrectMap = () => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const sessionValue =\n session.value ||\n config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = undefined;\n return obj;\n }, {});\n\n if (model.mode !== 'evaluate') {\n return {};\n }\n\n if (showCorrect) {\n return config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = true;\n\n return obj;\n }, {});\n }\n\n const correctPromptMap = config.prompts.reduce((obj, prompt) => {\n if (!isUndefined(prompt.relatedAnswer)) {\n obj[prompt.id] = prompt.relatedAnswer;\n }\n\n return obj;\n }, {});\n\n return reduce(\n sessionValue,\n (obj, val, key) => {\n obj[key] = correctPromptMap[key] === sessionValue[key];\n\n return obj;\n },\n {},\n );\n };\n\n buildRows = () => {\n const { model } = this.props;\n const { config } = model;\n const prompts = config.prompts || [];\n\n return prompts.map((prompt) => {\n const sessionAnswer = this.getAnswerFromSession(prompt.id);\n\n return {\n ...prompt,\n sessionAnswer,\n };\n });\n };\n\n render() {\n const { classes, disabled, onPlaceAnswer, instanceId, onRemoveAnswer } = this.props;\n const rows = this.buildRows();\n const correctnessMap = this.getCorrectOrIncorrectMap();\n\n return (\n <div className={classes.itemList}>\n {rows.map(({ sessionAnswer, title, id }, index) => {\n return (\n <div\n className={classes.row}\n style={{\n display: 'flex',\n }}\n key={index}\n >\n <div className={classes.promptEntry} dangerouslySetInnerHTML={{ __html: title }} />\n <div className={classes.arrowEntry}>\n <Arrow direction=\"left\" />\n <Arrow />\n </div>\n <DragAndDropAnswer\n key={index}\n className={classes.answer}\n index={index}\n promptId={id}\n correct={correctnessMap[id]}\n draggable={!isEmpty(sessionAnswer)}\n disabled={disabled}\n instanceId={instanceId}\n id={sessionAnswer.id}\n onPlaceAnswer={(place, id) => onPlaceAnswer(place, id)}\n title={sessionAnswer.title}\n type={'target'}\n onRemoveChoice={() => onRemoveAnswer(id)}\n />\n </div>\n );\n })}\n </div>\n );\n }\n}\n\nconst styles = () => ({\n answer: {\n flex: 1,\n },\n arrowEntry: {\n alignItems: 'normal',\n display: 'flex',\n height: 40,\n margin: '10px 20px',\n },\n itemList: {\n alignItems: 'flex-start',\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n promptEntry: {\n border: '1px solid #c2c2c2',\n boxSizing: 'border-box',\n flex: 1,\n margin: '10px 0',\n minHeight: 40,\n overflow: 'hidden',\n padding: 10,\n textAlign: 'center',\n width: '100%',\n wordBreak: 'break-word',\n },\n row: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n});\n\nexport default withStyles(styles)(AnswerArea);\n"],"file":"answer-area.js"}
|
|
1
|
+
{"version":3,"sources":["../src/answer-area.jsx"],"names":["AnswerArea","promptId","props","model","session","showCorrect","config","answerId","prompts","find","p","id","relatedAnswer","value","answer","answers","sessionValue","reduce","obj","prompt","undefined","mode","correctPromptMap","val","key","map","sessionAnswer","getAnswerFromSession","classes","disabled","onPlaceAnswer","instanceId","onRemoveAnswer","rows","buildRows","correctnessMap","getCorrectOrIncorrectMap","itemList","index","title","row","promptEntry","__html","arrowEntry","place","React","Component","PropTypes","object","isRequired","bool","onSessionChange","func","string","styles","theme","flex","alignItems","display","height","margin","flexDirection","justifyContent","marginTop","spacing","unit","marginBottom","border","boxSizing","minHeight","overflow","padding","textAlign","width","wordBreak"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport reduce from 'lodash/reduce';\n\nimport Arrow from './arrow';\nimport DragAndDropAnswer from './answer';\n\nexport class AnswerArea extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func,\n onRemoveAnswer: PropTypes.func,\n onPlaceAnswer: PropTypes.func.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string,\n };\n\n getAnswerFromSession = (promptId) => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const answerId = showCorrect\n ? config.prompts.find((p) => p.id === promptId).relatedAnswer\n : session.value && session.value[promptId];\n const answer = config.answers.find((answer) => answer.id === answerId);\n\n return answer || {};\n };\n\n getCorrectOrIncorrectMap = () => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const sessionValue =\n session.value ||\n config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = undefined;\n return obj;\n }, {});\n\n if (model.mode !== 'evaluate') {\n return {};\n }\n\n if (showCorrect) {\n return config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = true;\n\n return obj;\n }, {});\n }\n\n const correctPromptMap = config.prompts.reduce((obj, prompt) => {\n if (!isUndefined(prompt.relatedAnswer)) {\n obj[prompt.id] = prompt.relatedAnswer;\n }\n\n return obj;\n }, {});\n\n return reduce(\n sessionValue,\n (obj, val, key) => {\n obj[key] = correctPromptMap[key] === sessionValue[key];\n\n return obj;\n },\n {},\n );\n };\n\n buildRows = () => {\n const { model } = this.props;\n const { config } = model;\n const prompts = config.prompts || [];\n\n return prompts.map((prompt) => {\n const sessionAnswer = this.getAnswerFromSession(prompt.id);\n\n return {\n ...prompt,\n sessionAnswer,\n };\n });\n };\n\n render() {\n const { classes, disabled, onPlaceAnswer, instanceId, onRemoveAnswer } = this.props;\n const rows = this.buildRows();\n const correctnessMap = this.getCorrectOrIncorrectMap();\n\n return (\n <div className={classes.itemList}>\n {rows.map(({ sessionAnswer, title, id }, index) => {\n return (\n <div className={classes.row} key={index}>\n <div className={classes.promptEntry} dangerouslySetInnerHTML={{ __html: title }} />\n\n <div className={classes.arrowEntry}>\n <Arrow direction=\"left\" />\n <Arrow />\n </div>\n\n <DragAndDropAnswer\n key={index}\n className={classes.answer}\n index={index}\n promptId={id}\n correct={correctnessMap[id]}\n draggable={!isEmpty(sessionAnswer)}\n disabled={disabled}\n instanceId={instanceId}\n id={sessionAnswer.id}\n onPlaceAnswer={(place, id) => onPlaceAnswer(place, id)}\n title={sessionAnswer.title}\n type={'target'}\n onRemoveChoice={() => onRemoveAnswer(id)}\n />\n </div>\n );\n })}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n answer: {\n flex: 1,\n },\n arrowEntry: {\n alignItems: 'normal',\n display: 'flex',\n height: 40,\n margin: '10px 20px',\n },\n itemList: {\n alignItems: 'flex-start',\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n promptEntry: {\n border: '1px solid #c2c2c2',\n boxSizing: 'border-box',\n flex: 1,\n margin: '10px 0',\n minHeight: 40,\n overflow: 'hidden',\n padding: 10,\n textAlign: 'center',\n width: '100%',\n wordBreak: 'break-word',\n },\n row: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n});\n\nexport default withStyles(styles)(AnswerArea);\n"],"file":"answer-area.js"}
|
package/lib/choices-list.js
CHANGED
|
@@ -63,10 +63,7 @@ var ChoicesList = /*#__PURE__*/function (_React$Component) {
|
|
|
63
63
|
onRemoveAnswer = _this$props.onRemoveAnswer;
|
|
64
64
|
var config = model.config;
|
|
65
65
|
var duplicates = config.duplicates;
|
|
66
|
-
|
|
67
|
-
disabled: disabled,
|
|
68
|
-
onRemoveAnswer: onRemoveAnswer
|
|
69
|
-
}, config.answers.filter(function (answer) {
|
|
66
|
+
var filteredAnswers = config.answers.filter(function (answer) {
|
|
70
67
|
return duplicates || (0, _isEmpty["default"])(session) || !session.value || (0, _isUndefined["default"])((0, _find["default"])(session.value, function (val) {
|
|
71
68
|
return val === answer.id;
|
|
72
69
|
}));
|
|
@@ -78,25 +75,17 @@ var ChoicesList = /*#__PURE__*/function (_React$Component) {
|
|
|
78
75
|
draggable: true,
|
|
79
76
|
disabled: disabled,
|
|
80
77
|
session: session,
|
|
81
|
-
type:
|
|
78
|
+
type: "choice"
|
|
82
79
|
}, answer));
|
|
83
|
-
})
|
|
80
|
+
});
|
|
81
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
82
|
+
className: classes.choicesContainer
|
|
83
|
+
}, _drag.MatchDroppablePlaceholder ? /*#__PURE__*/_react["default"].createElement(_drag.MatchDroppablePlaceholder, {
|
|
84
|
+
disabled: disabled,
|
|
85
|
+
onRemoveAnswer: onRemoveAnswer
|
|
86
|
+
}, filteredAnswers) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
84
87
|
className: classes.answersContainer
|
|
85
|
-
},
|
|
86
|
-
return duplicates || (0, _isEmpty["default"])(session) || !session.value || (0, _isUndefined["default"])((0, _find["default"])(session.value, function (val) {
|
|
87
|
-
return val === answer.id;
|
|
88
|
-
}));
|
|
89
|
-
}).map(function (answer) {
|
|
90
|
-
return /*#__PURE__*/_react["default"].createElement(_answer.DragAnswer, (0, _extends2["default"])({
|
|
91
|
-
key: answer.id,
|
|
92
|
-
instanceId: instanceId,
|
|
93
|
-
className: classes.choice,
|
|
94
|
-
draggable: true,
|
|
95
|
-
disabled: disabled,
|
|
96
|
-
session: session,
|
|
97
|
-
type: 'choice'
|
|
98
|
-
}, answer));
|
|
99
|
-
}), ' '));
|
|
88
|
+
}, filteredAnswers));
|
|
100
89
|
}
|
|
101
90
|
}]);
|
|
102
91
|
return ChoicesList;
|
|
@@ -111,21 +100,25 @@ exports.ChoicesList = ChoicesList;
|
|
|
111
100
|
disabled: _propTypes["default"].bool.isRequired
|
|
112
101
|
});
|
|
113
102
|
|
|
114
|
-
var styles = function styles() {
|
|
103
|
+
var styles = function styles(theme) {
|
|
115
104
|
return {
|
|
105
|
+
choicesContainer: {
|
|
106
|
+
marginBottom: theme.spacing.unit * 2
|
|
107
|
+
},
|
|
116
108
|
answersContainer: {
|
|
117
109
|
alignItems: 'center',
|
|
118
110
|
display: 'flex',
|
|
119
111
|
flexDirection: 'row',
|
|
120
112
|
flexWrap: 'wrap',
|
|
121
113
|
justifyContent: 'space-between',
|
|
122
|
-
marginTop:
|
|
114
|
+
marginTop: theme.spacing.unit,
|
|
115
|
+
marginBottom: theme.spacing.unit
|
|
123
116
|
},
|
|
124
117
|
choice: {
|
|
125
118
|
minHeight: '40px',
|
|
126
119
|
minWidth: '200px',
|
|
127
120
|
height: 'initial',
|
|
128
|
-
margin:
|
|
121
|
+
margin: theme.spacing.unit / 2
|
|
129
122
|
}
|
|
130
123
|
};
|
|
131
124
|
};
|
package/lib/choices-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/choices-list.jsx"],"names":["ChoicesList","props","model","classes","disabled","session","instanceId","onRemoveAnswer","config","duplicates","
|
|
1
|
+
{"version":3,"sources":["../src/choices-list.jsx"],"names":["ChoicesList","props","model","classes","disabled","session","instanceId","onRemoveAnswer","config","duplicates","filteredAnswers","answers","filter","answer","value","val","id","map","choice","choicesContainer","MatchDroppablePlaceholder","answersContainer","React","Component","PropTypes","object","isRequired","string","bool","styles","theme","marginBottom","spacing","unit","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","minHeight","minWidth","height","margin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport find from 'lodash/find';\nimport { DragAnswer } from './answer';\nimport { MatchDroppablePlaceholder } from '@pie-lib/drag';\n\nexport class ChoicesList extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired,\n };\n\n render() {\n const { model, classes, disabled, session, instanceId, onRemoveAnswer } = this.props;\n const { config } = model;\n const { duplicates } = config;\n\n const filteredAnswers = config.answers\n .filter(\n (answer) =>\n duplicates ||\n isEmpty(session) ||\n !session.value ||\n isUndefined(find(session.value, (val) => val === answer.id)),\n )\n .map((answer) => (\n <DragAnswer\n key={answer.id}\n instanceId={instanceId}\n className={classes.choice}\n draggable={true}\n disabled={disabled}\n session={session}\n type=\"choice\"\n {...answer}\n />\n ));\n\n return (\n <div className={classes.choicesContainer}>\n {MatchDroppablePlaceholder ? (\n <MatchDroppablePlaceholder disabled={disabled} onRemoveAnswer={onRemoveAnswer}>\n {filteredAnswers}\n </MatchDroppablePlaceholder>\n ) : (\n <div className={classes.answersContainer}>{filteredAnswers}</div>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n choicesContainer: {\n marginBottom: theme.spacing.unit * 2,\n },\n answersContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit,\n },\n choice: {\n minHeight: '40px',\n minWidth: '200px',\n height: 'initial',\n margin: theme.spacing.unit / 2,\n },\n});\n\nexport default withStyles(styles)(ChoicesList);\n"],"file":"choices-list.js"}
|
package/lib/main.js
CHANGED
|
@@ -118,13 +118,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
118
118
|
var prompt = config.prompt;
|
|
119
119
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
120
120
|
className: classes.mainContainer
|
|
121
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
121
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
122
|
+
className: "prompt",
|
|
123
|
+
prompt: prompt
|
|
124
|
+
}), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
122
125
|
show: mode === 'evaluate',
|
|
123
126
|
toggled: showCorrectAnswer,
|
|
124
127
|
onToggle: this.toggleShowCorrect
|
|
125
|
-
}), /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
126
|
-
className: "prompt",
|
|
127
|
-
prompt: prompt
|
|
128
128
|
}), /*#__PURE__*/_react["default"].createElement(_answerArea["default"], {
|
|
129
129
|
instanceId: this.instanceId,
|
|
130
130
|
model: model,
|
|
@@ -170,17 +170,10 @@ var styles = function styles(theme) {
|
|
|
170
170
|
flexDirection: 'column',
|
|
171
171
|
justifyContent: 'center',
|
|
172
172
|
color: _renderUi.color.text(),
|
|
173
|
-
backgroundColor: _renderUi.color.background()
|
|
174
|
-
padding: theme.spacing.unit * 3 / 2
|
|
173
|
+
backgroundColor: _renderUi.color.background()
|
|
175
174
|
},
|
|
176
175
|
promptList: {
|
|
177
176
|
alignItems: 'flex-start'
|
|
178
|
-
},
|
|
179
|
-
main: {
|
|
180
|
-
width: '100%'
|
|
181
|
-
},
|
|
182
|
-
toggle: {
|
|
183
|
-
paddingBottom: theme.spacing.unit * 3
|
|
184
177
|
}
|
|
185
178
|
};
|
|
186
179
|
};
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","setState","showCorrectAnswer","state","instanceId","id","session","onSessionChange","value","undefined","place","model","duplicates","config","choiceKey","val","classes","mode","prompt","mainContainer","toggleShowCorrect","onPlaceAnswer","onRemoveAnswer","correctness","feedback","React","Component","PropTypes","object","isRequired","func","string","styles","theme","display","flexDirection","justifyContent","color","text","backgroundColor","background","
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","setState","showCorrectAnswer","state","instanceId","id","session","onSessionChange","value","undefined","place","model","duplicates","config","choiceKey","val","classes","mode","prompt","mainContainer","toggleShowCorrect","onPlaceAnswer","onRemoveAnswer","correctness","feedback","React","Component","PropTypes","object","isRequired","func","string","styles","theme","display","flexDirection","justifyContent","color","text","backgroundColor","background","promptList","alignItems","styledMain"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withDragContext, swap } from '@pie-lib/drag';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, PreviewPrompt } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport uniqueId from 'lodash/uniqueId';\nimport isUndefined from 'lodash/isUndefined';\nimport findKey from 'lodash/findKey';\nimport AnswerArea from './answer-area';\nimport ChoicesList from './choices-list';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.instanceId = uniqueId();\n this.state = {\n showCorrectAnswer: false,\n };\n }\n\n onRemoveAnswer(id) {\n const { session, onSessionChange } = this.props;\n\n session.value[id] = undefined;\n\n onSessionChange(session);\n }\n\n onPlaceAnswer(place, id) {\n const { session, onSessionChange, model } = this.props;\n const {\n config: { duplicates },\n } = model;\n\n if (isUndefined(session.value)) {\n session.value = {};\n }\n\n const choiceKey = findKey(session.value, (val) => val === id);\n\n if (choiceKey && !duplicates) {\n session.value = swap(session.value, choiceKey, place);\n } else {\n session.value[place] = id;\n }\n\n onSessionChange(session);\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const { classes, model, session } = this.props;\n const { config, mode } = model;\n const { prompt } = config;\n\n return (\n <div className={classes.mainContainer}>\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n\n <CorrectAnswerToggle show={mode === 'evaluate'} toggled={showCorrectAnswer} onToggle={this.toggleShowCorrect} />\n\n <AnswerArea\n instanceId={this.instanceId}\n model={model}\n session={session}\n onPlaceAnswer={(place, id) => this.onPlaceAnswer(place, id)}\n onRemoveAnswer={(id) => this.onRemoveAnswer(id)}\n disabled={mode !== 'gather'}\n showCorrect={showCorrectAnswer}\n />\n\n <ChoicesList\n instanceId={this.instanceId}\n model={model}\n session={session}\n disabled={mode !== 'gather'}\n onRemoveAnswer={(id) => this.onRemoveAnswer(id)}\n />\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness.correctness} feedback={model.feedback} />\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n color: color.text(),\n backgroundColor: color.background(),\n },\n promptList: {\n alignItems: 'flex-start',\n },\n});\n\nexport const styledMain = withStyles(styles)(Main);\n\nexport default withDragContext(styledMain);\n"],"file":"main.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "1.16.1
|
|
7
|
+
"version": "1.16.1",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"@material-ui/core": "^3.9.2",
|
|
15
15
|
"@material-ui/icons": "^3.0.2",
|
|
16
16
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
17
|
-
"@pie-lib/correct-answer-toggle": "^2.3.
|
|
18
|
-
"@pie-lib/drag": "^2.1.
|
|
17
|
+
"@pie-lib/correct-answer-toggle": "^2.3.63",
|
|
18
|
+
"@pie-lib/drag": "^2.1.13",
|
|
19
19
|
"@pie-lib/math-rendering": "^2.5.12",
|
|
20
|
-
"@pie-lib/render-ui": "^4.14.
|
|
20
|
+
"@pie-lib/render-ui": "^4.14.13",
|
|
21
21
|
"classnames": "^2.2.5",
|
|
22
22
|
"debug": "^4.1.1",
|
|
23
23
|
"lodash": "^4.17.10",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"author": "",
|
|
30
30
|
"license": "ISC",
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "67ee976cb7b9b3ee1f4b660cd51ca73d2b2cf2c2",
|
|
32
32
|
"main": "lib/index.js",
|
|
33
33
|
"module": "src/index.js"
|
|
34
34
|
}
|