@pie-element/match 4.6.0 → 4.6.1-beta.587
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 +508 -0
- package/configure/CHANGELOG.md +465 -0
- package/configure/lib/add-row.js +1 -1
- package/configure/lib/add-row.js.map +1 -1
- package/configure/lib/answer-config-block.js +151 -51
- package/configure/lib/answer-config-block.js.map +1 -1
- package/configure/lib/common.js +46 -0
- package/configure/lib/common.js.map +1 -0
- package/configure/lib/configure.js +98 -36
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/defaults.js +31 -2
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/general-config-block.js +86 -33
- package/configure/lib/general-config-block.js.map +1 -1
- package/configure/lib/index.js +18 -4
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/row.js +122 -34
- package/configure/lib/row.js.map +1 -1
- package/configure/package.json +7 -7
- package/configure/utils.js +12 -0
- package/controller/CHANGELOG.md +103 -0
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +159 -16
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +3 -3
- package/docs/config-schema.json +153 -0
- package/docs/config-schema.json.md +117 -1
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +11 -9
- package/docs/pie-schema.json +48 -0
- package/docs/pie-schema.json.md +39 -0
- package/lib/answer-grid.js +12 -12
- package/lib/answer-grid.js.map +1 -1
- package/lib/index.js +7 -2
- package/lib/index.js.map +1 -1
- package/lib/main.js +16 -20
- package/lib/main.js.map +1 -1
- package/package.json +6 -5
|
@@ -29,6 +29,8 @@ var _configUi = require("@pie-lib/config-ui");
|
|
|
29
29
|
|
|
30
30
|
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
31
31
|
|
|
32
|
+
var _drag = require("@pie-lib/drag");
|
|
33
|
+
|
|
32
34
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
35
|
|
|
34
36
|
var _debug = _interopRequireDefault(require("debug"));
|
|
@@ -37,13 +39,13 @@ var _generalConfigBlock = _interopRequireDefault(require("./general-config-block
|
|
|
37
39
|
|
|
38
40
|
var _answerConfigBlock = _interopRequireDefault(require("./answer-config-block"));
|
|
39
41
|
|
|
40
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
42
|
+
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; }
|
|
41
43
|
|
|
42
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
44
|
+
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; }
|
|
43
45
|
|
|
44
46
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
45
47
|
|
|
46
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
48
|
+
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
49
|
|
|
48
50
|
var log = (0, _debug["default"])('@pie-element:match:configure');
|
|
49
51
|
var Panel = _configUi.settings.Panel,
|
|
@@ -210,36 +212,69 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
210
212
|
imageSupport = _this$props2.imageSupport,
|
|
211
213
|
onModelChanged = _this$props2.onModelChanged,
|
|
212
214
|
configuration = _this$props2.configuration,
|
|
213
|
-
onConfigurationChanged = _this$props2.onConfigurationChanged
|
|
215
|
+
onConfigurationChanged = _this$props2.onConfigurationChanged,
|
|
216
|
+
uploadSoundSupport = _this$props2.uploadSoundSupport;
|
|
214
217
|
|
|
215
218
|
var _ref = configuration || {},
|
|
216
219
|
_ref$enableImages = _ref.enableImages,
|
|
217
220
|
enableImages = _ref$enableImages === void 0 ? {} : _ref$enableImages,
|
|
221
|
+
_ref$feedback = _ref.feedback,
|
|
222
|
+
feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
|
|
223
|
+
_ref$lockChoiceOrder = _ref.lockChoiceOrder,
|
|
224
|
+
lockChoiceOrder = _ref$lockChoiceOrder === void 0 ? {} : _ref$lockChoiceOrder,
|
|
225
|
+
_ref$maxImageWidth = _ref.maxImageWidth,
|
|
226
|
+
maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
|
|
227
|
+
_ref$maxImageHeight = _ref.maxImageHeight,
|
|
228
|
+
maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
|
|
218
229
|
_ref$partialScoring = _ref.partialScoring,
|
|
219
230
|
partialScoring = _ref$partialScoring === void 0 ? {} : _ref$partialScoring,
|
|
220
|
-
_ref$
|
|
221
|
-
|
|
222
|
-
_ref$studentInstructi = _ref.studentInstructions,
|
|
223
|
-
studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
|
|
231
|
+
_ref$prompt = _ref.prompt,
|
|
232
|
+
prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
224
233
|
_ref$rationale = _ref.rationale,
|
|
225
234
|
rationale = _ref$rationale === void 0 ? {} : _ref$rationale,
|
|
226
|
-
|
|
227
|
-
lockChoiceOrder = _ref$lockChoiceOrder === void 0 ? {} : _ref$lockChoiceOrder,
|
|
235
|
+
settingsPanelDisabled = _ref.settingsPanelDisabled,
|
|
228
236
|
_ref$scoringType = _ref.scoringType,
|
|
229
237
|
scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
|
|
230
|
-
_ref$
|
|
231
|
-
|
|
232
|
-
_ref$
|
|
233
|
-
|
|
238
|
+
_ref$spellCheck = _ref.spellCheck,
|
|
239
|
+
spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
|
|
240
|
+
_ref$studentInstructi = _ref.studentInstructions,
|
|
241
|
+
studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
|
|
242
|
+
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
243
|
+
teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
|
|
244
|
+
_ref$withRubric = _ref.withRubric,
|
|
245
|
+
withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
|
|
234
246
|
|
|
235
247
|
var _ref2 = model || {},
|
|
236
|
-
|
|
248
|
+
feedbackEnabled = _ref2.feedbackEnabled,
|
|
237
249
|
promptEnabled = _ref2.promptEnabled,
|
|
238
250
|
rationaleEnabled = _ref2.rationaleEnabled,
|
|
239
|
-
|
|
240
|
-
|
|
251
|
+
spellCheckEnabled = _ref2.spellCheckEnabled,
|
|
252
|
+
teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
|
|
253
|
+
toolbarEditorPosition = _ref2.toolbarEditorPosition;
|
|
254
|
+
|
|
255
|
+
var toolbarOpts = {
|
|
256
|
+
position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
|
|
257
|
+
};
|
|
258
|
+
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
259
|
+
var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
260
|
+
var panelSettings = {
|
|
261
|
+
enableImages: enableImages.settings && toggle(enableImages.label),
|
|
262
|
+
partialScoring: partialScoring.settings && toggle(partialScoring.label),
|
|
263
|
+
lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),
|
|
264
|
+
feedbackEnabled: feedback.settings && toggle(feedback.label)
|
|
265
|
+
};
|
|
266
|
+
var panelProperties = {
|
|
267
|
+
teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
|
|
268
|
+
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
269
|
+
promptEnabled: prompt.settings && toggle(prompt.label),
|
|
270
|
+
rationaleEnabled: rationale.settings && toggle(rationale.label),
|
|
271
|
+
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
272
|
+
scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),
|
|
273
|
+
rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
|
|
274
|
+
};
|
|
241
275
|
log('[render] model', model);
|
|
242
276
|
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
277
|
+
hideSettings: settingsPanelDisabled,
|
|
243
278
|
settings: /*#__PURE__*/_react["default"].createElement(Panel, {
|
|
244
279
|
model: model,
|
|
245
280
|
configuration: configuration,
|
|
@@ -250,19 +285,8 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
250
285
|
return onConfigurationChanged(config);
|
|
251
286
|
},
|
|
252
287
|
groups: {
|
|
253
|
-
Settings:
|
|
254
|
-
|
|
255
|
-
partialScoring: partialScoring.settings && toggle(partialScoring.label),
|
|
256
|
-
lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),
|
|
257
|
-
feedbackEnabled: feedback.settings && toggle(feedback.label)
|
|
258
|
-
},
|
|
259
|
-
Properties: {
|
|
260
|
-
teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
|
|
261
|
-
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
262
|
-
promptEnabled: prompt.settings && toggle(prompt.label),
|
|
263
|
-
rationaleEnabled: rationale.settings && toggle(rationale.label),
|
|
264
|
-
scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
|
|
265
|
-
}
|
|
288
|
+
Settings: panelSettings,
|
|
289
|
+
Properties: panelProperties
|
|
266
290
|
}
|
|
267
291
|
})
|
|
268
292
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -275,7 +299,17 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
275
299
|
markup: model.teacherInstructions || '',
|
|
276
300
|
onChange: this.onTeacherInstructionsChanged,
|
|
277
301
|
imageSupport: imageSupport,
|
|
278
|
-
nonEmpty: false
|
|
302
|
+
nonEmpty: false,
|
|
303
|
+
toolbarOpts: toolbarOpts,
|
|
304
|
+
spellCheck: spellCheckEnabled,
|
|
305
|
+
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
306
|
+
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
307
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
308
|
+
languageCharactersProps: [{
|
|
309
|
+
language: 'spanish'
|
|
310
|
+
}, {
|
|
311
|
+
language: 'special'
|
|
312
|
+
}]
|
|
279
313
|
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
280
314
|
label: prompt.label,
|
|
281
315
|
className: classes.promptHolder
|
|
@@ -285,7 +319,17 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
285
319
|
onChange: this.onPromptChanged,
|
|
286
320
|
imageSupport: imageSupport,
|
|
287
321
|
nonEmpty: false,
|
|
288
|
-
disableUnderline: true
|
|
322
|
+
disableUnderline: true,
|
|
323
|
+
toolbarOpts: toolbarOpts,
|
|
324
|
+
spellCheck: spellCheckEnabled,
|
|
325
|
+
maxImageWidth: maxImageWidth && maxImageWidth.prompt,
|
|
326
|
+
maxImageHeight: maxImageHeight && maxImageHeight.prompt,
|
|
327
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
328
|
+
languageCharactersProps: [{
|
|
329
|
+
language: 'spanish'
|
|
330
|
+
}, {
|
|
331
|
+
language: 'special'
|
|
332
|
+
}]
|
|
289
333
|
})), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
290
334
|
label: rationale.label,
|
|
291
335
|
className: classes.promptHolder
|
|
@@ -293,7 +337,17 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
293
337
|
className: classes.prompt,
|
|
294
338
|
markup: model.rationale || '',
|
|
295
339
|
onChange: this.onRationaleChanged,
|
|
296
|
-
imageSupport: imageSupport
|
|
340
|
+
imageSupport: imageSupport,
|
|
341
|
+
toolbarOpts: toolbarOpts,
|
|
342
|
+
spellCheck: spellCheckEnabled,
|
|
343
|
+
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
344
|
+
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
345
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
346
|
+
languageCharactersProps: [{
|
|
347
|
+
language: 'spanish'
|
|
348
|
+
}, {
|
|
349
|
+
language: 'special'
|
|
350
|
+
}]
|
|
297
351
|
})), /*#__PURE__*/_react["default"].createElement(_generalConfigBlock["default"], {
|
|
298
352
|
model: model,
|
|
299
353
|
configuration: configuration,
|
|
@@ -305,10 +359,14 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
305
359
|
imageSupport: imageSupport,
|
|
306
360
|
onChange: this.onChange,
|
|
307
361
|
onAddRow: this.onAddRow,
|
|
308
|
-
onDeleteRow: this.onDeleteRow
|
|
362
|
+
onDeleteRow: this.onDeleteRow,
|
|
363
|
+
toolbarOpts: toolbarOpts,
|
|
364
|
+
spellCheck: spellCheckEnabled,
|
|
365
|
+
uploadSoundSupport: uploadSoundSupport
|
|
309
366
|
}), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackConfig, {
|
|
310
367
|
feedback: model.feedback,
|
|
311
|
-
onChange: this.onFeedbackChange
|
|
368
|
+
onChange: this.onFeedbackChange,
|
|
369
|
+
toolbarOpts: toolbarOpts
|
|
312
370
|
})));
|
|
313
371
|
}
|
|
314
372
|
}]);
|
|
@@ -324,6 +382,10 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
324
382
|
imageSupport: _propTypes["default"].shape({
|
|
325
383
|
add: _propTypes["default"].func.isRequired,
|
|
326
384
|
"delete": _propTypes["default"].func.isRequired
|
|
385
|
+
}),
|
|
386
|
+
uploadSoundSupport: _propTypes["default"].shape({
|
|
387
|
+
add: _propTypes["default"].func.isRequired,
|
|
388
|
+
"delete": _propTypes["default"].func.isRequired
|
|
327
389
|
})
|
|
328
390
|
});
|
|
329
391
|
(0, _defineProperty2["default"])(Configure, "defaultProps", {
|
|
@@ -332,7 +394,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
332
394
|
var Config = Configure;
|
|
333
395
|
exports.Config = Config;
|
|
334
396
|
|
|
335
|
-
var _default = (0, _styles.withStyles)(styles)(Configure);
|
|
397
|
+
var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Configure));
|
|
336
398
|
|
|
337
399
|
exports["default"] = _default;
|
|
338
400
|
//# sourceMappingURL=configure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","content","promptHolder","width","paddingTop","prompt","Configure","props","event","value","setState","activeTab","index","model","onModelChanged","feedback","rowIndex","newModel","rows","splice","onChange","concat","id","rowIdCounter","length","values","Array","layout","fill","newLayout","oldLayout","i","headers","push","forEach","row","newChoiceMode","trueCount","reduce","total","current","choiceMode","partialScoring","teacherInstructions","rationale","state","classes","imageSupport","configuration","onConfigurationChanged","enableImages","studentInstructions","lockChoiceOrder","scoringType","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","feedbackEnabled","config","Settings","label","Properties","studentInstructionsEnabled","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","onResponseTypeChange","onLayoutChange","onAddRow","onDeleteRow","onFeedbackChange","React","Component","PropTypes","func","object","isRequired","shape","add","Config"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport {\n FeedbackConfig,\n settings,\n layout,\n InputContainer\n} from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport GeneralConfigBlock from './general-config-block';\nimport AnswerConfigBlock from './answer-config-block';\n\nconst log = debug('@pie-element:match:configure');\nconst { Panel, toggle, radio } = settings;\n\nconst styles = theme => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit\n },\n content: {\n marginTop: theme.spacing.unit * 2\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n }\n});\n\nclass Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {\n classes: {}\n };\n\n constructor(props) {\n super(props);\n\n this.rowIdCounter = props.model.rows[props.model.rows.length - 1].id + 1;\n\n this.state = {\n activeTab: 0\n };\n }\n\n onTabChange = (event, value) => {\n this.setState({ activeTab: value });\n };\n\n onChangeTabIndex = index => {\n this.setState({ activeTab: index });\n };\n\n onChange = model => {\n this.props.onModelChanged(model);\n };\n\n onFeedbackChange = feedback => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n onModelChanged(model);\n };\n\n onDeleteRow = rowIndex => {\n const { model } = this.props;\n\n const newModel = { ...model };\n\n newModel.rows.splice(rowIndex, 1);\n\n this.onChange(newModel);\n };\n\n onAddRow = () => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows = newModel.rows.concat({\n id: this.rowIdCounter + 1,\n title: `Question Text ${newModel.rows.length + 1}`,\n values: new Array(model.layout - 1).fill(false)\n });\n\n this.rowIdCounter += 1;\n\n this.onChange(newModel);\n };\n\n onLayoutChange = newLayout => {\n const { model } = this.props;\n const oldLayout = model.layout;\n const newModel = { ...model };\n\n if (newLayout > oldLayout) {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n newModel.headers.push(`Column ${newModel.headers.length + 1}`);\n }\n\n newModel.rows.forEach(row => {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n row.values.push(false);\n }\n });\n } else if (newLayout < oldLayout) {\n newModel.headers.splice(newLayout);\n\n newModel.rows.forEach(row => {\n row.values.splice(newLayout - 1);\n });\n }\n\n newModel.layout = newLayout;\n\n this.onChange(newModel);\n };\n\n onResponseTypeChange = newChoiceMode => {\n const { model } = this.props;\n const newModel = { ...model };\n\n // if we're switching to radio and we have more than one true, reset\n if (newChoiceMode === 'radio') {\n newModel.rows.forEach(row => {\n const trueCount = row.values.reduce((total, current) =>\n current === true ? total + 1 : total\n );\n\n if (trueCount > 1) {\n row.values = new Array(model.layout - 1).fill(false);\n }\n });\n }\n\n newModel.choiceMode = newChoiceMode;\n\n this.onChange(newModel);\n };\n\n onPartialScoringChange = partialScoring => {\n this.props.model.partialScoring = partialScoring;\n this.props.onModelChanged(this.props.model);\n };\n\n onPromptChanged = prompt => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt\n });\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions\n });\n };\n\n onRationaleChanged = rationale => {\n this.props.onModelChanged({\n ...this.props.model,\n rationale\n });\n };\n\n render() {\n const {\n classes,\n model,\n imageSupport,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n const {\n enableImages = {},\n partialScoring = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n lockChoiceOrder = {},\n scoringType = {},\n prompt = {},\n feedback = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, rationaleEnabled, feedbackEnabled } =\n model || {};\n\n log('[render] model', model);\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => onModelChanged(model)}\n onChangeConfiguration={config => onConfigurationChanged(config)}\n groups={{\n Settings: {\n enableImages:\n enableImages.settings && toggle(enableImages.label),\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled:\n feedback.settings && toggle(feedback.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div className={classes.content}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n />\n </InputContainer>\n )}\n <GeneralConfigBlock\n model={model}\n configuration={configuration}\n onResponseTypeChange={this.onResponseTypeChange}\n onLayoutChange={this.onLayoutChange}\n />\n <AnswerConfigBlock\n model={model}\n configuration={configuration}\n imageSupport={imageSupport}\n onChange={this.onChange}\n onAddRow={this.onAddRow}\n onDeleteRow={this.onDeleteRow}\n />\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.onFeedbackChange}\n />\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport const Config = Configure;\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
|
|
1
|
+
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","content","promptHolder","width","paddingTop","prompt","Configure","props","event","value","setState","activeTab","index","model","onModelChanged","feedback","rowIndex","newModel","rows","splice","onChange","concat","id","rowIdCounter","length","values","Array","layout","fill","newLayout","oldLayout","i","headers","push","forEach","row","newChoiceMode","trueCount","reduce","total","current","choiceMode","partialScoring","teacherInstructions","rationale","state","classes","imageSupport","configuration","onConfigurationChanged","uploadSoundSupport","enableImages","lockChoiceOrder","maxImageWidth","maxImageHeight","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","withRubric","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","panelProperties","studentInstructionsEnabled","rubricEnabled","config","Settings","Properties","onTeacherInstructionsChanged","language","onPromptChanged","onRationaleChanged","onResponseTypeChange","onLayoutChange","onAddRow","onDeleteRow","onFeedbackChange","React","Component","PropTypes","func","object","isRequired","shape","add","Config"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FeedbackConfig, settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withDragContext } from '@pie-lib/drag';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport GeneralConfigBlock from './general-config-block';\nimport AnswerConfigBlock from './answer-config-block';\n\nconst log = debug('@pie-element:match:configure');\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n content: {\n marginTop: theme.spacing.unit * 2,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n});\n\nclass Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n static defaultProps = {\n classes: {},\n };\n\n constructor(props) {\n super(props);\n\n this.rowIdCounter = props.model.rows[props.model.rows.length - 1].id + 1;\n\n this.state = {\n activeTab: 0,\n };\n }\n\n onTabChange = (event, value) => {\n this.setState({ activeTab: value });\n };\n\n onChangeTabIndex = (index) => {\n this.setState({ activeTab: index });\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n\n onModelChanged(model);\n };\n\n onDeleteRow = (rowIndex) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows.splice(rowIndex, 1);\n\n this.onChange(newModel);\n };\n\n onAddRow = () => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows = newModel.rows.concat({\n id: this.rowIdCounter + 1,\n title: `Question Text ${newModel.rows.length + 1}`,\n values: new Array(model.layout - 1).fill(false),\n });\n\n this.rowIdCounter += 1;\n\n this.onChange(newModel);\n };\n\n onLayoutChange = (newLayout) => {\n const { model } = this.props;\n const oldLayout = model.layout;\n const newModel = { ...model };\n\n if (newLayout > oldLayout) {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n newModel.headers.push(`Column ${newModel.headers.length + 1}`);\n }\n\n newModel.rows.forEach((row) => {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n row.values.push(false);\n }\n });\n } else if (newLayout < oldLayout) {\n newModel.headers.splice(newLayout);\n\n newModel.rows.forEach((row) => {\n row.values.splice(newLayout - 1);\n });\n }\n\n newModel.layout = newLayout;\n\n this.onChange(newModel);\n };\n\n onResponseTypeChange = (newChoiceMode) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n // if we're switching to radio and we have more than one true, reset\n if (newChoiceMode === 'radio') {\n newModel.rows.forEach((row) => {\n const trueCount = row.values.reduce((total, current) => (current === true ? total + 1 : total));\n\n if (trueCount > 1) {\n row.values = new Array(model.layout - 1).fill(false);\n }\n });\n }\n\n newModel.choiceMode = newChoiceMode;\n\n this.onChange(newModel);\n };\n\n onPartialScoringChange = (partialScoring) => {\n this.props.model.partialScoring = partialScoring;\n\n this.props.onModelChanged(this.props.model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n render() {\n const { classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n enableImages = {},\n feedback = {},\n lockChoiceOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n } = configuration || {};\n const {\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n enableImages: enableImages.settings && toggle(enableImages.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n log('[render] model', model);\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div className={classes.content}>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n model={model}\n configuration={configuration}\n onResponseTypeChange={this.onResponseTypeChange}\n onLayoutChange={this.onLayoutChange}\n />\n\n <AnswerConfigBlock\n model={model}\n configuration={configuration}\n imageSupport={imageSupport}\n onChange={this.onChange}\n onAddRow={this.onAddRow}\n onDeleteRow={this.onDeleteRow}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport const Config = Configure;\n\nexport default withDragContext(withStyles(styles)(Configure));\n"],"file":"configure.js"}
|
|
@@ -18,6 +18,7 @@ var _default = {
|
|
|
18
18
|
partialScoring: false,
|
|
19
19
|
choiceMode: 'radio',
|
|
20
20
|
prompt: 'Prompt goes here',
|
|
21
|
+
toolbarEditorPosition: 'bottom',
|
|
21
22
|
rows: [{
|
|
22
23
|
id: 1,
|
|
23
24
|
title: 'Question Text 1',
|
|
@@ -48,7 +49,7 @@ var _default = {
|
|
|
48
49
|
label: 'Layout'
|
|
49
50
|
},
|
|
50
51
|
lockChoiceOrder: {
|
|
51
|
-
settings:
|
|
52
|
+
settings: false,
|
|
52
53
|
label: 'Lock Choice Order'
|
|
53
54
|
},
|
|
54
55
|
partialScoring: {
|
|
@@ -67,6 +68,12 @@ var _default = {
|
|
|
67
68
|
settings: true,
|
|
68
69
|
label: 'Rationale'
|
|
69
70
|
},
|
|
71
|
+
settingsPanelDisabled: false,
|
|
72
|
+
spellCheck: {
|
|
73
|
+
label: 'Spellcheck',
|
|
74
|
+
settings: false,
|
|
75
|
+
enabled: true
|
|
76
|
+
},
|
|
70
77
|
scoringType: {
|
|
71
78
|
settings: false,
|
|
72
79
|
label: 'Scoring Type'
|
|
@@ -78,7 +85,29 @@ var _default = {
|
|
|
78
85
|
teacherInstructions: {
|
|
79
86
|
settings: true,
|
|
80
87
|
label: 'Teacher Instructions'
|
|
81
|
-
}
|
|
88
|
+
},
|
|
89
|
+
maxImageWidth: {
|
|
90
|
+
teacherInstructions: 300,
|
|
91
|
+
prompt: 300,
|
|
92
|
+
rationale: 300,
|
|
93
|
+
rowTitles: 300
|
|
94
|
+
},
|
|
95
|
+
maxImageHeight: {
|
|
96
|
+
teacherInstructions: 300,
|
|
97
|
+
prompt: 300,
|
|
98
|
+
rationale: 300,
|
|
99
|
+
rowTitles: 150
|
|
100
|
+
},
|
|
101
|
+
withRubric: {
|
|
102
|
+
settings: false,
|
|
103
|
+
label: 'Add Rubric'
|
|
104
|
+
},
|
|
105
|
+
minQuestions: 2,
|
|
106
|
+
maxQuestions: 5,
|
|
107
|
+
maxLengthQuestionsHeading: 100,
|
|
108
|
+
maxAnswers: 5,
|
|
109
|
+
maxLengthAnswers: 100,
|
|
110
|
+
maxLengthFirstColumnHeading: 100
|
|
82
111
|
}
|
|
83
112
|
};
|
|
84
113
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","enableImages","headers","layout","lockChoiceOrder","partialScoring","choiceMode","prompt","rows","id","title","values","scoringType","feedbackEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","settings","label","feedback","enabled","rationale","studentInstructions","teacherInstructions"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,YAAY,EAAE,IADT;AAELC,IAAAA,OAAO,EAAE,CAAC,UAAD,EAAa,UAAb,EAAyB,UAAzB,CAFJ;AAGLC,IAAAA,MAAM,EAAE,CAHH;AAILC,IAAAA,eAAe,EAAE,IAJZ;AAKLC,IAAAA,cAAc,EAAE,KALX;AAMLC,IAAAA,UAAU,EAAE,OANP;AAOLC,IAAAA,MAAM,EAAE,kBAPH;AAQLC,IAAAA,IAAI,EAAE,CACJ;AACEC,MAAAA,EAAE,EAAE,CADN;AAEEC,MAAAA,KAAK,EAAE,iBAFT;AAGEC,MAAAA,MAAM,EAAE,CAAC,KAAD,EAAQ,KAAR;AAHV,KADI,
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","enableImages","headers","layout","lockChoiceOrder","partialScoring","choiceMode","prompt","toolbarEditorPosition","rows","id","title","values","scoringType","feedbackEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","settings","label","feedback","enabled","rationale","settingsPanelDisabled","spellCheck","studentInstructions","teacherInstructions","maxImageWidth","rowTitles","maxImageHeight","withRubric","minQuestions","maxQuestions","maxLengthQuestionsHeading","maxAnswers","maxLengthAnswers","maxLengthFirstColumnHeading"],"mappings":"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","sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configuration\n */\n\nexport default {\n model: {\n enableImages: true,\n headers: ['Column 1', 'Column 2', 'Column 3'],\n layout: 3,\n lockChoiceOrder: true,\n partialScoring: false,\n choiceMode: 'radio',\n prompt: 'Prompt goes here',\n toolbarEditorPosition: 'bottom',\n rows: [\n {\n id: 1,\n title: 'Question Text 1',\n values: [false, false],\n },\n ],\n scoringType: 'auto',\n feedbackEnabled: true,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n enableImages: {\n settings: true,\n label: 'Enable Images',\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true,\n },\n headers: {\n settings: true,\n },\n layout: {\n settings: true,\n label: 'Layout',\n },\n lockChoiceOrder: {\n settings: false,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowTitles: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowTitles: 150,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n minQuestions: 2,\n maxQuestions: 5,\n maxLengthQuestionsHeading: 100,\n maxAnswers: 5,\n maxLengthAnswers: 100,\n maxLengthFirstColumnHeading: 100\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -35,13 +35,25 @@ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
|
35
35
|
|
|
36
36
|
var _styles = require("@material-ui/core/styles");
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
39
|
+
|
|
40
|
+
var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
|
|
41
|
+
|
|
42
|
+
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
|
|
43
|
+
|
|
44
|
+
var _utils = require("../utils");
|
|
45
|
+
|
|
46
|
+
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); }
|
|
39
47
|
|
|
40
|
-
function
|
|
48
|
+
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; }
|
|
49
|
+
|
|
50
|
+
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; }
|
|
51
|
+
|
|
52
|
+
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; }
|
|
41
53
|
|
|
42
54
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
55
|
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
56
|
+
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; } }
|
|
45
57
|
|
|
46
58
|
var styles = function styles(theme) {
|
|
47
59
|
return {
|
|
@@ -52,8 +64,28 @@ var styles = function styles(theme) {
|
|
|
52
64
|
input: {
|
|
53
65
|
flex: 1
|
|
54
66
|
},
|
|
67
|
+
numberTextField: {
|
|
68
|
+
flexDirection: 'unset'
|
|
69
|
+
},
|
|
55
70
|
inputContainer: {
|
|
56
|
-
width: '
|
|
71
|
+
width: '65%'
|
|
72
|
+
},
|
|
73
|
+
flexContainer: {
|
|
74
|
+
display: 'flex',
|
|
75
|
+
alignItems: 'center',
|
|
76
|
+
marginTop: theme.spacing.unit
|
|
77
|
+
},
|
|
78
|
+
titleText: {
|
|
79
|
+
fontFamily: 'Cerebri Sans',
|
|
80
|
+
fontSize: theme.typography.fontSize + 2,
|
|
81
|
+
lineHeight: '19px',
|
|
82
|
+
color: '#495B8F',
|
|
83
|
+
marginRight: theme.spacing.unit
|
|
84
|
+
},
|
|
85
|
+
tooltip: {
|
|
86
|
+
fontSize: theme.typography.fontSize - 2,
|
|
87
|
+
whiteSpace: 'pre',
|
|
88
|
+
maxWidth: '500px'
|
|
57
89
|
}
|
|
58
90
|
};
|
|
59
91
|
};
|
|
@@ -73,34 +105,40 @@ var GeneralConfigBlock = /*#__PURE__*/function (_React$Component) {
|
|
|
73
105
|
}
|
|
74
106
|
|
|
75
107
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
76
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "
|
|
108
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeResponseType", function (name) {
|
|
77
109
|
return function (event) {
|
|
78
110
|
var _this$props = _this.props,
|
|
79
111
|
model = _this$props.model,
|
|
80
|
-
onLayoutChange = _this$props.onLayoutChange,
|
|
81
112
|
onResponseTypeChange = _this$props.onResponseTypeChange;
|
|
82
113
|
|
|
83
114
|
var newModel = _objectSpread({}, model);
|
|
84
115
|
|
|
85
116
|
newModel[name] = event.target.value;
|
|
86
|
-
|
|
87
|
-
if (name === 'layout') {
|
|
88
|
-
onLayoutChange(newModel[name]);
|
|
89
|
-
} else {
|
|
90
|
-
onResponseTypeChange(newModel[name]);
|
|
91
|
-
}
|
|
117
|
+
onResponseTypeChange(newModel[name]);
|
|
92
118
|
};
|
|
93
119
|
});
|
|
120
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeColumns", function (name, value) {
|
|
121
|
+
var _this$props2 = _this.props,
|
|
122
|
+
model = _this$props2.model,
|
|
123
|
+
onLayoutChange = _this$props2.onLayoutChange;
|
|
124
|
+
|
|
125
|
+
var newModel = _objectSpread({}, model);
|
|
126
|
+
|
|
127
|
+
newModel[name] = value;
|
|
128
|
+
onLayoutChange(newModel[name]);
|
|
129
|
+
});
|
|
94
130
|
return _this;
|
|
95
131
|
}
|
|
96
132
|
|
|
97
133
|
(0, _createClass2["default"])(GeneralConfigBlock, [{
|
|
98
134
|
key: "render",
|
|
99
135
|
value: function render() {
|
|
100
|
-
var
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
136
|
+
var _this2 = this;
|
|
137
|
+
|
|
138
|
+
var _this$props3 = this.props,
|
|
139
|
+
classes = _this$props3.classes,
|
|
140
|
+
model = _this$props3.model,
|
|
141
|
+
configuration = _this$props3.configuration;
|
|
104
142
|
|
|
105
143
|
var _ref = configuration || {},
|
|
106
144
|
_ref$layout = _ref.layout,
|
|
@@ -108,37 +146,52 @@ var GeneralConfigBlock = /*#__PURE__*/function (_React$Component) {
|
|
|
108
146
|
_ref$choiceMode = _ref.choiceMode,
|
|
109
147
|
choiceMode = _ref$choiceMode === void 0 ? {} : _ref$choiceMode;
|
|
110
148
|
|
|
111
|
-
|
|
149
|
+
var validationMessage = (0, _utils.generateValidationMessage)(model);
|
|
150
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
151
|
+
className: classes.flexContainer
|
|
152
|
+
}, /*#__PURE__*/React.createElement(_Typography["default"], {
|
|
153
|
+
className: classes.titleText
|
|
154
|
+
}, "Define questions"), /*#__PURE__*/React.createElement(_Tooltip["default"], {
|
|
155
|
+
classes: {
|
|
156
|
+
tooltip: classes.tooltip
|
|
157
|
+
},
|
|
158
|
+
disableFocusListener: true,
|
|
159
|
+
disableTouchListener: true,
|
|
160
|
+
placement: 'right',
|
|
161
|
+
title: validationMessage
|
|
162
|
+
}, /*#__PURE__*/React.createElement(_Info["default"], {
|
|
163
|
+
fontSize: 'small',
|
|
164
|
+
color: 'primary'
|
|
165
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
112
166
|
className: classes.container
|
|
113
167
|
}, /*#__PURE__*/React.createElement("div", {
|
|
114
168
|
className: classes.input
|
|
115
169
|
}, layout.settings && /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
116
170
|
label: layout.label,
|
|
117
171
|
className: classes.inputContainer
|
|
118
|
-
}, /*#__PURE__*/React.createElement(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
172
|
+
}, /*#__PURE__*/React.createElement(_configUi.NumberTextField, {
|
|
173
|
+
type: "number",
|
|
174
|
+
min: 3,
|
|
175
|
+
max: 10,
|
|
176
|
+
value: model.layout,
|
|
177
|
+
onChange: function onChange(e, v) {
|
|
178
|
+
return _this2.onChangeColumns('layout', v);
|
|
179
|
+
},
|
|
180
|
+
suffix: 'Columns',
|
|
181
|
+
className: classes.numberTextField
|
|
182
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
129
183
|
className: classes.input
|
|
130
184
|
}, choiceMode.settings && /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
131
185
|
label: choiceMode.label,
|
|
132
186
|
className: classes.inputContainer
|
|
133
187
|
}, /*#__PURE__*/React.createElement(_Select["default"], {
|
|
134
|
-
|
|
135
|
-
onChange: this.onChange('choiceMode'),
|
|
188
|
+
onChange: this.onChangeResponseType('choiceMode'),
|
|
136
189
|
value: model.choiceMode
|
|
137
190
|
}, /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
138
191
|
value: "radio"
|
|
139
192
|
}, "Radio - One Answer"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
140
193
|
value: "checkbox"
|
|
141
|
-
}, "Checkbox - Multiple Answers")))));
|
|
194
|
+
}, "Checkbox - Multiple Answers"))))));
|
|
142
195
|
}
|
|
143
196
|
}]);
|
|
144
197
|
return GeneralConfigBlock;
|