@pie-element/likert 0.1.0 → 0.1.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.
@@ -47,11 +47,11 @@ var _choiceGenerator = _interopRequireDefault(require("./choiceGenerator"));
47
47
 
48
48
  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); }; }
49
49
 
50
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
50
+ 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; } }
51
51
 
52
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
52
+ 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; }
53
53
 
54
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
54
+ 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; }
55
55
 
56
56
  var Panel = _configUi.settings.Panel,
57
57
  toggle = _configUi.settings.toggle,
@@ -74,7 +74,7 @@ var styles = function styles(theme) {
74
74
  },
75
75
  radioButtonsColumnHeader: {
76
76
  color: '#c3c3c3',
77
- fontSize: '12px'
77
+ fontSize: theme.typography.fontSize - 2
78
78
  },
79
79
  likertLabelHolder: {
80
80
  display: 'flex',
@@ -84,7 +84,7 @@ var styles = function styles(theme) {
84
84
  likertOptionsHolder: {
85
85
  display: 'flex',
86
86
  width: '100%',
87
- padding: '20px 0',
87
+ padding: "".concat(theme.spacing.unit * 2.5, "px 0"),
88
88
  justifyContent: 'space-around'
89
89
  },
90
90
  likertLabelInput: {
@@ -93,7 +93,7 @@ var styles = function styles(theme) {
93
93
  },
94
94
  errorMessage: {
95
95
  color: '#b5000e',
96
- fontSize: '10px'
96
+ fontSize: theme.typography.fontSize - 2
97
97
  },
98
98
  width100: {
99
99
  width: '100%'
@@ -103,7 +103,7 @@ var styles = function styles(theme) {
103
103
  flexDirection: 'row'
104
104
  },
105
105
  likertValueHolder: {
106
- paddingLeft: '20px',
106
+ paddingLeft: theme.spacing.unit * 2.5,
107
107
  width: '150px'
108
108
  },
109
109
  likertLabelEditableHtml: {
@@ -120,7 +120,7 @@ var styles = function styles(theme) {
120
120
  },
121
121
  inputFormGroupIndex: {
122
122
  width: '30px',
123
- paddingTop: '30px'
123
+ paddingTop: theme.spacing.unit * 4
124
124
  }
125
125
  };
126
126
  };
@@ -264,40 +264,48 @@ var buildValuesMap = function buildValuesMap(model) {
264
264
 
265
265
  var Design = (0, _styles.withStyles)(styles)(function (props) {
266
266
  var classes = props.classes,
267
- model = props.model,
268
267
  configuration = props.configuration,
269
- onPromptChanged = props.onPromptChanged,
270
- onChoiceChanged = props.onChoiceChanged,
271
268
  imageSupport = props.imageSupport,
269
+ model = props.model,
272
270
  onChangeModel = props.onChangeModel,
271
+ onChoiceChanged = props.onChoiceChanged,
273
272
  onConfigurationChanged = props.onConfigurationChanged,
274
- onTeacherInstructionsChanged = props.onTeacherInstructionsChanged;
273
+ onPromptChanged = props.onPromptChanged,
274
+ onTeacherInstructionsChanged = props.onTeacherInstructionsChanged,
275
+ uploadSoundSupport = props.uploadSoundSupport;
275
276
 
276
277
  var _ref = configuration || {},
277
278
  _ref$prompt = _ref.prompt,
278
279
  prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
279
- _ref$teacherInstructi = _ref.teacherInstructions,
280
- teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
281
280
  _ref$scoringType = _ref.scoringType,
282
- scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType;
281
+ scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
282
+ settingsPanelDisabled = _ref.settingsPanelDisabled,
283
+ _ref$spellCheck = _ref.spellCheck,
284
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
285
+ _ref$teacherInstructi = _ref.teacherInstructions,
286
+ teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi;
283
287
 
284
288
  var _ref2 = model || {},
289
+ spellCheckEnabled = _ref2.spellCheckEnabled,
285
290
  teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled;
286
291
 
287
292
  var valuesMap = buildValuesMap(model);
293
+ var panelProperties = {
294
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
295
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
296
+ scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
297
+ };
288
298
  return /*#__PURE__*/_react["default"].createElement("div", {
289
299
  className: classes.design
290
300
  }, /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
301
+ hideSettings: settingsPanelDisabled,
291
302
  settings: /*#__PURE__*/_react["default"].createElement(Panel, {
292
303
  model: model,
293
304
  onChangeModel: onChangeModel,
294
305
  configuration: configuration,
295
306
  onChangeConfiguration: onConfigurationChanged,
296
307
  groups: {
297
- Properties: {
298
- teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
299
- scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
300
- }
308
+ Properties: panelProperties
301
309
  }
302
310
  })
303
311
  }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
@@ -319,7 +327,9 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
319
327
  markup: model.teacherInstructions || '',
320
328
  onChange: onTeacherInstructionsChanged,
321
329
  imageSupport: imageSupport,
322
- nonEmpty: false
330
+ nonEmpty: false,
331
+ spellCheck: spellCheckEnabled,
332
+ uploadSoundSupport: uploadSoundSupport
323
333
  })), /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
324
334
  label: prompt.label,
325
335
  className: classes.promptHolder
@@ -329,7 +339,9 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
329
339
  onChange: onPromptChanged,
330
340
  imageSupport: imageSupport,
331
341
  nonEmpty: false,
332
- disableUnderline: true
342
+ spellCheck: spellCheckEnabled,
343
+ disableUnderline: true,
344
+ uploadSoundSupport: uploadSoundSupport
333
345
  })), model.choices.map(function (choice, index) {
334
346
  return /*#__PURE__*/_react["default"].createElement("div", {
335
347
  key: "choice-".concat(index),
@@ -350,7 +362,9 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
350
362
  label: c
351
363
  }));
352
364
  },
353
- imageSupport: imageSupport
365
+ imageSupport: imageSupport,
366
+ spellCheck: spellCheckEnabled,
367
+ uploadSoundSupport: uploadSoundSupport
354
368
  })), /*#__PURE__*/_react["default"].createElement("div", {
355
369
  className: classes.likertValueHolder
356
370
  }, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextField, {
@@ -368,7 +382,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
368
382
  }), valuesMap[choice.value] && valuesMap[choice.value] > 1 && /*#__PURE__*/_react["default"].createElement("p", {
369
383
  className: classes.errorMessage
370
384
  }, "Value should be unique"))));
371
- }), /*#__PURE__*/_react["default"].createElement("br", null))));
385
+ }))));
372
386
  });
373
387
 
374
388
  var Main = /*#__PURE__*/function (_React$Component) {
@@ -387,13 +401,14 @@ var Main = /*#__PURE__*/function (_React$Component) {
387
401
 
388
402
  _this = _super.call.apply(_super, [this].concat(args));
389
403
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChoiceChanged", function (index, choice) {
390
- var model = _this.props.model;
404
+ var _this$props = _this.props,
405
+ model = _this$props.model,
406
+ onModelChanged = _this$props.onModelChanged;
391
407
  model.choices = model.choices.map(function (choice) {
392
408
  return (0, _merge["default"])({}, choice);
393
409
  });
394
410
  model.choices.splice(index, 1, choice);
395
-
396
- _this.props.onModelChanged(model);
411
+ onModelChanged(model);
397
412
  });
398
413
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
399
414
  _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","radioButtonsWrapper","display","flexDirection","radioButtonsColumnHeader","color","fontSize","likertLabelHolder","alignItems","likertOptionsHolder","padding","justifyContent","likertLabelInput","marginRight","errorMessage","width100","flexRow","likertValueHolder","paddingLeft","likertLabelEditableHtml","design","choiceConfigurationHolder","marginTop","inputFormGroupIndex","LikertOrientation","props","classes","model","onChangeModel","onChangeLikertOrientation","e","likertOrientation","target","value","LIKERT_ORIENTATION","horizontal","vertical","LikertScale","onChangeLikertScale","likertScale","choices","likertType","LIKERT_SCALE","likert3","likert5","likert7","LikertType","onChangeLikertType","LIKERT_TYPE","agreement","frequency","yesNo","importance","likelihood","like","buildValuesMap","reduce","acc","choice","accClone","choiceValue","parseInt","Design","configuration","onPromptChanged","onChoiceChanged","imageSupport","onConfigurationChanged","onTeacherInstructionsChanged","teacherInstructions","scoringType","teacherInstructionsEnabled","valuesMap","Properties","label","map","index","c","t","Main","splice","onModelChanged","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport {\n InputContainer,\n settings,\n layout,\n NumberTextField,\n} from '@pie-lib/config-ui';\nimport {withStyles} from '@material-ui/core/styles';\nimport merge from 'lodash/merge';\nimport {LIKERT_TYPE, LIKERT_SCALE, LIKERT_ORIENTATION} from './likertEntities'\nimport generateChoices from './choiceGenerator';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = theme => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n radioButtonsWrapper: {\n display: 'flex',\n flexDirection: 'column',\n },\n radioButtonsColumnHeader: {\n color: '#c3c3c3',\n fontSize: '12px'\n },\n likertLabelHolder: {\n display: 'flex',\n width: '100%',\n alignItems: 'flex-start'\n },\n likertOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: '20px 0',\n justifyContent: 'space-around'\n },\n likertLabelInput: {\n width: 'calc(100% - 200px)',\n marginRight: 0\n },\n errorMessage: {\n color: '#b5000e',\n fontSize: '10px'\n },\n width100: {\n width: '100%'\n },\n flexRow: {\n display: 'flex',\n flexDirection: 'row'\n },\n likertValueHolder: {\n paddingLeft: '20px',\n width: '150px'\n },\n likertLabelEditableHtml: {\n paddingTop: theme.spacing.unit * 2\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n },\n choiceConfigurationHolder: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'start'\n },\n inputFormGroupIndex: {\n width: '30px',\n paddingTop: '30px'\n }\n});\n\n\nconst LikertOrientation = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertOrientation = (e) => {\n const likertOrientation = e.target.value;\n onChangeModel({\n ...model,\n likertOrientation,\n });\n };\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>\n Likert Orientation\n </p>\n <RadioGroup\n aria-label='likertOrientation'\n name='likertOrientation'\n value={model.likertOrientation}\n onChange={onChangeLikertOrientation}\n >\n <FormControlLabel value={LIKERT_ORIENTATION.horizontal} control={<Radio/>} label='Horizontal'/>\n <FormControlLabel value={LIKERT_ORIENTATION.vertical} control={<Radio/>} label='Vertical'/>\n </RadioGroup>\n </div>\n )\n});\n\nconst LikertScale = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertScale = (e) => {\n const likertScale = e.target.value;\n onChangeModel({\n ...model,\n likertScale,\n choices: generateChoices(likertScale, model.likertType)\n });\n };\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>\n Likert Scale\n </p>\n <RadioGroup\n aria-label='likertScale'\n name='likertScale'\n value={model.likertScale}\n onChange={onChangeLikertScale}\n >\n <FormControlLabel value={LIKERT_SCALE.likert3} control={<Radio/>} label='Likert 3'/>\n <FormControlLabel value={LIKERT_SCALE.likert5} control={<Radio/>} label='Likert 5'/>\n <FormControlLabel value={LIKERT_SCALE.likert7} control={<Radio/>} label='Likert 7'/>\n </RadioGroup>\n </div>\n )\n});\n\nconst LikertType = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertType = (e) => {\n const likertType = e.target.value;\n onChangeModel({\n ...model,\n likertType,\n choices: generateChoices(model.likertScale, likertType)\n });\n };\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>\n Label Type\n </p>\n\n <div className={classes.flexRow}>\n <RadioGroup\n aria-label='likertLabelType'\n name='likertLabelType'\n value={model.likertType}\n onChange={onChangeLikertType}>\n <FormControlLabel value={LIKERT_TYPE.agreement} control={<Radio/>} label='Agreement'/>\n <FormControlLabel value={LIKERT_TYPE.frequency} control={<Radio/>} label='Frequency'/>\n <FormControlLabel value={LIKERT_TYPE.yesNo} control={<Radio/>} label='Yes/No'/>\n </RadioGroup>\n\n <RadioGroup\n aria-label='likertLabelType'\n name='likertLabelType'\n value={model.likertType}\n onChange={onChangeLikertType}>\n <FormControlLabel value={LIKERT_TYPE.importance} control={<Radio/>} label='Importance'/>\n <FormControlLabel value={LIKERT_TYPE.likelihood} control={<Radio/>} label='Likelihood'/>\n <FormControlLabel value={LIKERT_TYPE.like} control={<Radio/>} label='Like'/>\n </RadioGroup>\n </div>\n </div>\n )\n});\n\nconst buildValuesMap = model => model.choices.reduce((acc, choice) => {\n const accClone = { ...acc };\n const choiceValue = parseInt(choice.value);\n if (!accClone[choiceValue]) {\n accClone[choiceValue] = 0;\n }\n return {\n ...accClone,\n [choiceValue]: accClone[choiceValue] + 1\n }\n}, {});\n\nconst Design = withStyles(styles)(props => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n onChoiceChanged,\n imageSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged\n } = props;\n const {\n prompt = {},\n teacherInstructions = {},\n scoringType = {},\n } = configuration || {};\n const {\n teacherInstructionsEnabled\n } = model || {};\n\n const valuesMap = buildValuesMap(model);\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div>\n <div className={classes.likertOptionsHolder}>\n <LikertScale model={model} onChangeModel={onChangeModel}/>\n <LikertType model={model} onChangeModel={onChangeModel}/>\n <LikertOrientation model={model} onChangeModel={onChangeModel}/>\n </div>\n\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={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n />\n </InputContainer>\n\n\n {model.choices.map((choice, index) => (\n <div\n key={`choice-${index}`}\n className={classes.choiceConfigurationHolder}\n >\n <div className={classes.likertLabelHolder}>\n <span className={classes.inputFormGroupIndex}>{index + 1}.</span>\n <InputContainer\n key={`likert-label-${index}`}\n label={'Likert Label'}\n className={classes.likertLabelInput}\n >\n <EditableHtml\n className={classes.likertLabelEditableHtml}\n markup={choice.label || ''}\n onChange={c =>\n onChoiceChanged(index, {\n ...choice,\n label: c\n })\n }\n imageSupport={imageSupport}\n />\n </InputContainer>\n\n <div className={classes.likertValueHolder}>\n <NumberTextField\n label={'Likert Value'}\n value={choice.value}\n className={classes.width100}\n max={100}\n min={-100}\n onChange={(e, t) => {\n onChoiceChanged(index, {\n ...choice,\n value: t,\n })\n }}\n imageSupport={imageSupport}\n />\n {valuesMap[choice.value] && valuesMap[choice.value] > 1 && (\n <p className={classes.errorMessage}>Value should be unique</p>\n )}\n </div>\n </div>\n </div>\n ))}\n <br/>\n </div>\n </layout.ConfigLayout>\n </div>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n onChoiceChanged = (index, choice) => {\n const { model } = this.props;\n\n model.choices = model.choices.map(choice => {\n return merge({}, choice);\n });\n\n model.choices.splice(index, 1, choice);\n this.props.onModelChanged(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 render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onChoiceChanged={this.onChoiceChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","radioButtonsWrapper","display","flexDirection","radioButtonsColumnHeader","color","fontSize","typography","likertLabelHolder","alignItems","likertOptionsHolder","padding","justifyContent","likertLabelInput","marginRight","errorMessage","width100","flexRow","likertValueHolder","paddingLeft","likertLabelEditableHtml","design","choiceConfigurationHolder","marginTop","inputFormGroupIndex","LikertOrientation","props","classes","model","onChangeModel","onChangeLikertOrientation","e","likertOrientation","target","value","LIKERT_ORIENTATION","horizontal","vertical","LikertScale","onChangeLikertScale","likertScale","choices","likertType","LIKERT_SCALE","likert3","likert5","likert7","LikertType","onChangeLikertType","LIKERT_TYPE","agreement","frequency","yesNo","importance","likelihood","like","buildValuesMap","reduce","acc","choice","accClone","choiceValue","parseInt","Design","configuration","imageSupport","onChoiceChanged","onConfigurationChanged","onPromptChanged","onTeacherInstructionsChanged","uploadSoundSupport","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","spellCheckEnabled","teacherInstructionsEnabled","valuesMap","panelProperties","label","Properties","map","index","c","t","Main","onModelChanged","splice","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport { InputContainer, settings, layout, NumberTextField } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport merge from 'lodash/merge';\nimport { LIKERT_TYPE, LIKERT_SCALE, LIKERT_ORIENTATION } from './likertEntities';\nimport generateChoices from './choiceGenerator';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n radioButtonsWrapper: {\n display: 'flex',\n flexDirection: 'column',\n },\n radioButtonsColumnHeader: {\n color: '#c3c3c3',\n fontSize: theme.typography.fontSize - 2,\n },\n likertLabelHolder: {\n display: 'flex',\n width: '100%',\n alignItems: 'flex-start',\n },\n likertOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: `${theme.spacing.unit * 2.5}px 0`,\n justifyContent: 'space-around',\n },\n likertLabelInput: {\n width: 'calc(100% - 200px)',\n marginRight: 0,\n },\n errorMessage: {\n color: '#b5000e',\n fontSize: theme.typography.fontSize - 2,\n },\n width100: {\n width: '100%',\n },\n flexRow: {\n display: 'flex',\n flexDirection: 'row',\n },\n likertValueHolder: {\n paddingLeft: theme.spacing.unit * 2.5,\n width: '150px',\n },\n likertLabelEditableHtml: {\n paddingTop: theme.spacing.unit * 2,\n },\n design: {\n paddingTop: theme.spacing.unit * 3,\n },\n choiceConfigurationHolder: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'start',\n },\n inputFormGroupIndex: {\n width: '30px',\n paddingTop: theme.spacing.unit * 4,\n },\n});\n\nconst LikertOrientation = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n\n const onChangeLikertOrientation = (e) => {\n const likertOrientation = e.target.value;\n\n onChangeModel({ ...model, likertOrientation });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Likert Orientation</p>\n <RadioGroup\n aria-label=\"likertOrientation\"\n name=\"likertOrientation\"\n value={model.likertOrientation}\n onChange={onChangeLikertOrientation}\n >\n <FormControlLabel value={LIKERT_ORIENTATION.horizontal} control={<Radio />} label=\"Horizontal\" />\n <FormControlLabel value={LIKERT_ORIENTATION.vertical} control={<Radio />} label=\"Vertical\" />\n </RadioGroup>\n </div>\n );\n});\n\nconst LikertScale = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertScale = (e) => {\n const likertScale = e.target.value;\n\n onChangeModel({\n ...model,\n likertScale,\n choices: generateChoices(likertScale, model.likertType),\n });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Likert Scale</p>\n <RadioGroup aria-label=\"likertScale\" name=\"likertScale\" value={model.likertScale} onChange={onChangeLikertScale}>\n <FormControlLabel value={LIKERT_SCALE.likert3} control={<Radio />} label=\"Likert 3\" />\n <FormControlLabel value={LIKERT_SCALE.likert5} control={<Radio />} label=\"Likert 5\" />\n <FormControlLabel value={LIKERT_SCALE.likert7} control={<Radio />} label=\"Likert 7\" />\n </RadioGroup>\n </div>\n );\n});\n\nconst LikertType = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertType = (e) => {\n const likertType = e.target.value;\n\n onChangeModel({\n ...model,\n likertType,\n choices: generateChoices(model.likertScale, likertType),\n });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Label Type</p>\n\n <div className={classes.flexRow}>\n <RadioGroup\n aria-label=\"likertLabelType\"\n name=\"likertLabelType\"\n value={model.likertType}\n onChange={onChangeLikertType}\n >\n <FormControlLabel value={LIKERT_TYPE.agreement} control={<Radio />} label=\"Agreement\" />\n <FormControlLabel value={LIKERT_TYPE.frequency} control={<Radio />} label=\"Frequency\" />\n <FormControlLabel value={LIKERT_TYPE.yesNo} control={<Radio />} label=\"Yes/No\" />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"likertLabelType\"\n name=\"likertLabelType\"\n value={model.likertType}\n onChange={onChangeLikertType}\n >\n <FormControlLabel value={LIKERT_TYPE.importance} control={<Radio />} label=\"Importance\" />\n <FormControlLabel value={LIKERT_TYPE.likelihood} control={<Radio />} label=\"Likelihood\" />\n <FormControlLabel value={LIKERT_TYPE.like} control={<Radio />} label=\"Like\" />\n </RadioGroup>\n </div>\n </div>\n );\n});\n\nconst buildValuesMap = (model) =>\n model.choices.reduce((acc, choice) => {\n const accClone = { ...acc };\n const choiceValue = parseInt(choice.value);\n\n if (!accClone[choiceValue]) {\n accClone[choiceValue] = 0;\n }\n\n return { ...accClone, [choiceValue]: accClone[choiceValue] + 1 };\n }, {});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n configuration,\n imageSupport,\n model,\n onChangeModel,\n onChoiceChanged,\n onConfigurationChanged,\n onPromptChanged,\n onTeacherInstructionsChanged,\n uploadSoundSupport,\n } = props;\n const {\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n } = configuration || {};\n const { spellCheckEnabled, teacherInstructionsEnabled } = model || {};\n\n const valuesMap = buildValuesMap(model);\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <div>\n <div className={classes.likertOptionsHolder}>\n <LikertScale model={model} onChangeModel={onChangeModel} />\n <LikertType model={model} onChangeModel={onChangeModel} />\n <LikertOrientation model={model} onChangeModel={onChangeModel} />\n </div>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n disableUnderline\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n\n {model.choices.map((choice, index) => (\n <div key={`choice-${index}`} className={classes.choiceConfigurationHolder}>\n <div className={classes.likertLabelHolder}>\n <span className={classes.inputFormGroupIndex}>{index + 1}.</span>\n <InputContainer\n key={`likert-label-${index}`}\n label={'Likert Label'}\n className={classes.likertLabelInput}\n >\n <EditableHtml\n className={classes.likertLabelEditableHtml}\n markup={choice.label || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, label: c })}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n\n <div className={classes.likertValueHolder}>\n <NumberTextField\n label={'Likert Value'}\n value={choice.value}\n className={classes.width100}\n max={100}\n min={-100}\n onChange={(e, t) => {\n onChoiceChanged(index, { ...choice, value: t });\n }}\n imageSupport={imageSupport}\n />\n {valuesMap[choice.value] && valuesMap[choice.value] > 1 && (\n <p className={classes.errorMessage}>Value should be unique</p>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onChoiceChanged = (index, choice) => {\n const { model, onModelChanged } = this.props;\n\n model.choices = model.choices.map((choice) => merge({}, choice));\n model.choices.splice(index, 1, choice);\n\n onModelChanged(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 render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onChoiceChanged={this.onChoiceChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@pie-element/likert-configure",
3
3
  "private": true,
4
- "version": "0.0.19",
4
+ "version": "0.4.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
- "@pie-framework/pie-configure-events": "^1.2.0",
12
- "@pie-lib/config-ui": "^10.8.57",
13
- "@pie-lib/editable-html": "^7.16.16",
11
+ "@pie-framework/pie-configure-events": "^1.3.0",
12
+ "@pie-lib/config-ui": "12.0.0-beta.3",
13
+ "@pie-lib/editable-html": "10.0.0-beta.4",
14
14
  "debug": "^4.1.1",
15
15
  "prop-types": "^15.6.2",
16
16
  "react": "^16.8.1",
@@ -3,6 +3,41 @@
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
+ ## [0.0.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/likert-controller@0.0.14...@pie-element/likert-controller@0.0.15) (2022-12-07)
7
+
8
+ **Note:** Version bump only for package @pie-element/likert-controller
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.0.11](https://github.com/pie-framework/pie-elements/compare/@pie-element/likert-controller@0.0.9...@pie-element/likert-controller@0.0.11) (2021-11-11)
15
+
16
+ **Note:** Version bump only for package @pie-element/likert-controller
17
+
18
+
19
+
20
+
21
+
22
+ ## [0.0.10](https://github.com/pie-framework/pie-elements/compare/@pie-element/likert-controller@0.0.9...@pie-element/likert-controller@0.0.10) (2021-11-11)
23
+
24
+ **Note:** Version bump only for package @pie-element/likert-controller
25
+
26
+
27
+
28
+
29
+
30
+ ## [0.0.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/likert-controller@0.0.7...@pie-element/likert-controller@0.0.9) (2021-08-05)
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * force bump ([5ea7295](https://github.com/pie-framework/pie-elements/commit/5ea7295e4755fbc492a76e7ec69e5fc35b196919))
36
+
37
+
38
+
39
+
40
+
6
41
  ## [0.0.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/likert-controller@0.0.5...@pie-element/likert-controller@0.0.7) (2021-03-03)
7
42
 
8
43
  **Note:** Version bump only for package @pie-element/likert-controller
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["choices"],"mappings":";;;;;;eAAe;AACbA,EAAAA,OAAO,EAAE;AADI,C","sourcesContent":["export default {\n choices: []\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["choices"],"mappings":";;;;;;eAAe;AACbA,EAAAA,OAAO,EAAE;AADI,C","sourcesContent":["export default {\n choices: [],\n};\n"],"file":"defaults.js"}
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.createDefaultModel = createDefaultModel;
9
9
  exports.model = model;
10
- exports.outcome = outcome;
11
10
  exports.normalize = void 0;
11
+ exports.outcome = outcome;
12
12
 
13
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
14
 
@@ -18,9 +18,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
18
18
 
19
19
  var _defaults = _interopRequireDefault(require("./defaults"));
20
20
 
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
21
+ 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; }
22
22
 
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+ 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; }
24
24
 
25
25
  var prepareChoice = function prepareChoice(choice) {
26
26
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["prepareChoice","choice","label","value","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","choices","map","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,MAAM,EAAI;AAC9B,SAAO;AACLC,IAAAA,KAAK,EAAED,MAAM,CAACC,KADT;AAELC,IAAAA,KAAK,EAAEF,MAAM,CAACE;AAFT,GAAP;AAID,CALD;;AAOO,SAASC,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAAAC,OAAO;AAAA,WAAIA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAAX;AAAA,GAAnB,CAAP;AACD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AAAA,yCAAUF,oBAAV,GAAuBE,QAAvB;AAAA,CAA1B;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,GACsBJ,SAAS,CAACC,QAAD,CAD/B;AAGDI,YAAAA,OAHC,GAGSD,kBAAkB,CAACC,OAAnB,CAA2BC,GAA3B,CAA+Bf,aAA/B,CAHT;AAKCgB,YAAAA,GALD,mCAMAH,kBANA;AAOHC,cAAAA,OAAO,EAAPA,OAPG;AAQHG,cAAAA,QAAQ,EAAEL,GAAG,CAACM,IAAJ,KAAa,QARpB;AASHA,cAAAA,IAAI,EAAEN,GAAG,CAACM;AATP;AAAA,mBAYkBN,GAAG,IAAI,EAZzB,EAYGO,IAZH,QAYGA,IAZH,EAYSD,IAZT,QAYSA,IAZT;;AAcL,gBAAIC,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrEF,cAAAA,GAAG,CAACI,mBAAJ,GAA0BP,kBAAkB,CAACQ,0BAAnB,GACtBR,kBAAkB,CAACO,mBADG,GAEtB,IAFJ;AAGD,aAJD,MAIO;AACLJ,cAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AApBI,6CAsBEJ,GAtBF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAyBA,SAASM,OAAT,GAAmB;AACxB,SAAO,IAAIhB,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5BA,IAAAA,OAAO,CAAC;AAAEgB,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAD,CAAP;AACD,GAFM,CAAP;AAGD","sourcesContent":["import defaults from './defaults';\n\nconst prepareChoice = choice => {\n return {\n label: choice.label,\n value: choice.value\n };\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise(resolve => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = question => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n let choices = normalizedQuestion.choices.map(prepareChoice);\n\n const out = {\n ...normalizedQuestion,\n choices,\n disabled: env.mode !== 'gather',\n mode: env.mode\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome() {\n return new Promise(resolve => {\n resolve({ score: 0, empty: false });\n });\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["prepareChoice","choice","label","value","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","choices","map","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,MAAD,EAAY;AAChC,SAAO;AACLC,IAAAA,KAAK,EAAED,MAAM,CAACC,KADT;AAELC,IAAAA,KAAK,EAAEF,MAAM,CAACE;AAFT,GAAP;AAID,CALD;;AAOO,SAASC,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAApB;AAAA,GAAZ,CAAP;AACD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAACC,QAAD;AAAA,yCAAoBF,oBAApB,GAAiCE,QAAjC;AAAA,CAAlB;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,GACsBJ,SAAS,CAACC,QAAD,CAD/B;AAGDI,YAAAA,OAHC,GAGSD,kBAAkB,CAACC,OAAnB,CAA2BC,GAA3B,CAA+Bf,aAA/B,CAHT;AAKCgB,YAAAA,GALD,mCAMAH,kBANA;AAOHC,cAAAA,OAAO,EAAPA,OAPG;AAQHG,cAAAA,QAAQ,EAAEL,GAAG,CAACM,IAAJ,KAAa,QARpB;AASHA,cAAAA,IAAI,EAAEN,GAAG,CAACM;AATP;AAAA,mBAYkBN,GAAG,IAAI,EAZzB,EAYGO,IAZH,QAYGA,IAZH,EAYSD,IAZT,QAYSA,IAZT;;AAcL,gBAAIC,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrEF,cAAAA,GAAG,CAACI,mBAAJ,GAA0BP,kBAAkB,CAACQ,0BAAnB,GACtBR,kBAAkB,CAACO,mBADG,GAEtB,IAFJ;AAGD,aAJD,MAIO;AACLJ,cAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AApBI,6CAsBEJ,GAtBF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAyBA,SAASM,OAAT,GAAmB;AACxB,SAAO,IAAIhB,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9BA,IAAAA,OAAO,CAAC;AAAEgB,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAD,CAAP;AACD,GAFM,CAAP;AAGD","sourcesContent":["import defaults from './defaults';\n\nconst prepareChoice = (choice) => {\n return {\n label: choice.label,\n value: choice.value,\n };\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n let choices = normalizedQuestion.choices.map(prepareChoice);\n\n const out = {\n ...normalizedQuestion,\n choices,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome() {\n return new Promise((resolve) => {\n resolve({ score: 0, empty: false });\n });\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/likert-controller",
3
3
  "private": true,
4
- "version": "0.0.7",
4
+ "version": "0.0.15",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -3,6 +3,27 @@
3
3
  "additionalProperties": false,
4
4
  "type": "object",
5
5
  "properties": {
6
+ "settingsPanelDisabled": {
7
+ "description": "Indicates if the settings panel is not available",
8
+ "type": "boolean",
9
+ "title": "settingsPanelDisabled"
10
+ },
11
+ "spellCheck": {
12
+ "title": "ConfigureProp",
13
+ "type": "object",
14
+ "properties": {
15
+ "settings": {
16
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
17
+ "type": "boolean",
18
+ "title": "settings"
19
+ },
20
+ "label": {
21
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
22
+ "type": "string",
23
+ "title": "label"
24
+ }
25
+ }
26
+ },
6
27
  "teacherInstructions": {
7
28
  "title": "ConfigureProp",
8
29
  "type": "object",
@@ -2,6 +2,22 @@ Config Object for @pie-elements/likert
2
2
 
3
3
  The schema defines the following properties:
4
4
 
5
+ # `settingsPanelDisabled` (boolean)
6
+
7
+ Indicates if the settings panel is not available
8
+
9
+ # `spellCheck` (object)
10
+
11
+ Properties of the `spellCheck` object:
12
+
13
+ ## `settings` (boolean)
14
+
15
+ Indicates if the item has to be displayed in the Settings Panel
16
+
17
+ ## `label` (string)
18
+
19
+ Indicates the label for the item that has to be displayed in the Settings Panel
20
+
5
21
  # `teacherInstructions` (object)
6
22
 
7
23
  Properties of the `teacherInstructions` object:
@@ -2,7 +2,7 @@ const { model } = require('./generate');
2
2
 
3
3
  module.exports = {
4
4
  elements: {
5
- 'likert-element': '../..'
5
+ 'likert-element': '../..',
6
6
  },
7
- models: [model('1', 'likert-element')]
7
+ models: [model('1', 'likert-element')],
8
8
  };
@@ -7,16 +7,16 @@ exports.model = (id, element) => ({
7
7
  choices: [
8
8
  {
9
9
  label: 'Disagree',
10
- value: -1
10
+ value: -1,
11
11
  },
12
12
  {
13
13
  label: 'Unsure',
14
- value: 0
14
+ value: 0,
15
15
  },
16
16
  {
17
17
  label: 'Agree',
18
- value: 1
19
- }
18
+ value: 1,
19
+ },
20
20
  ],
21
- prompt: 'How likely are you to report a problem?'
21
+ prompt: 'How likely are you to report a problem?',
22
22
  });
@@ -1,6 +1,6 @@
1
1
  module.exports = [
2
2
  {
3
3
  id: '1',
4
- element: 'likert-element'
5
- }
4
+ element: 'likert-element',
5
+ },
6
6
  ];
@@ -65,6 +65,11 @@
65
65
  "type": "boolean",
66
66
  "title": "teacherInstructionsEnabled"
67
67
  },
68
+ "spellCheckEnabled": {
69
+ "description": "Indicates if spellcheck is enabled for the author. Default value is true",
70
+ "type": "boolean",
71
+ "title": "spellCheckEnabled"
72
+ },
68
73
  "id": {
69
74
  "description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
70
75
  "type": "string",
@@ -80,6 +85,7 @@
80
85
  "choices",
81
86
  "element",
82
87
  "id",
88
+ "spellCheckEnabled",
83
89
  "teacherInstructionsEnabled"
84
90
  ],
85
91
  "definitions": {
@@ -54,6 +54,10 @@ the text label that will be presented to the user for this likert choice
54
54
 
55
55
  Indicates if Teacher Instructions are enabled
56
56
 
57
+ # `spellCheckEnabled` (boolean, required)
58
+
59
+ Indicates if spellcheck is enabled for the author. Default value is true
60
+
57
61
  # `id` (string, required)
58
62
 
59
63
  Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = exports.ChoiceInput = exports.RadioStyled = void 0;
8
+ exports["default"] = exports.RadioStyled = exports.ChoiceInput = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -37,7 +37,7 @@ var _likertEntities = require("./likertEntities");
37
37
 
38
38
  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); }; }
39
39
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ 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; } }
41
41
 
42
42
  var radioStyles = {
43
43
  root: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/choice-input.jsx"],"names":["radioStyles","root","color","text","checked","RadioStyled","props","classes","onChange","disabled","choiceInputStyles","labelRoot","textAlign","cursor","checkboxHolderRoot","display","alignItems","flex","padding","formControlLabelRoot","margin","ChoiceInput","value","selected","label","likertOrientation","flexDirection","LIKERT_ORIENTATION","vertical","onToggleChoice","__html","React","Component","PropTypes","bool","isRequired","string","func","number","object"],"mappings":"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","sourcesContent":["import React from 'react';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport PropTypes from 'prop-types';\nimport {withStyles} from '@material-ui/core/styles';\n\nimport {color} from '@pie-lib/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport {LIKERT_ORIENTATION} from './likertEntities';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`\n },\n};\n\nexport const RadioStyled = withStyles(radioStyles)((props) => {\n const {classes, checked, onChange, disabled} = props;\n\n return (\n <Radio\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\n\nconst choiceInputStyles = () => ({\n labelRoot: {\n color: color.text(),\n textAlign: 'center',\n cursor: 'pointer'\n },\n checkboxHolderRoot: {\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n padding: '0 5px',\n '& label': {}\n },\n formControlLabelRoot: {\n margin: 0\n }\n});\n\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number.isRequired,\n classes: PropTypes.object,\n };\n\n static defaultProps = {\n checked: false,\n };\n\n onToggleChoice = () => {\n this.props.onChange({\n value: this.props.value,\n selected: !this.props.checked,\n });\n };\n\n render() {\n const {\n disabled,\n label,\n checked,\n likertOrientation,\n classes\n } = this.props;\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row': 'column' ;\n\n return (\n <div className={classes.checkboxHolderRoot} style={{flexDirection}}>\n <FormControlLabel\n disabled={disabled}\n className={classes.formControlLabelRoot}\n control={\n <RadioStyled\n checked={checked}\n onChange={this.onToggleChoice}\n />\n }\n />\n <p\n className={classes.labelRoot}\n onClick={this.onToggleChoice}\n dangerouslySetInnerHTML={{__html: label}}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(choiceInputStyles)(ChoiceInput);\n"],"file":"choice-input.js"}
1
+ {"version":3,"sources":["../src/choice-input.jsx"],"names":["radioStyles","root","color","text","checked","RadioStyled","props","classes","onChange","disabled","choiceInputStyles","labelRoot","textAlign","cursor","checkboxHolderRoot","display","alignItems","flex","padding","formControlLabelRoot","margin","ChoiceInput","value","selected","label","likertOrientation","flexDirection","LIKERT_ORIENTATION","vertical","onToggleChoice","__html","React","Component","PropTypes","bool","isRequired","string","func","number","object"],"mappings":"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","sourcesContent":["import React from 'react';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport { LIKERT_ORIENTATION } from './likertEntities';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`,\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`,\n },\n};\n\nexport const RadioStyled = withStyles(radioStyles)((props) => {\n const { classes, checked, onChange, disabled } = props;\n\n return (\n <Radio\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nconst choiceInputStyles = () => ({\n labelRoot: {\n color: color.text(),\n textAlign: 'center',\n cursor: 'pointer',\n },\n checkboxHolderRoot: {\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n padding: '0 5px',\n '& label': {},\n },\n formControlLabelRoot: {\n margin: 0,\n },\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number.isRequired,\n classes: PropTypes.object,\n };\n\n static defaultProps = {\n checked: false,\n };\n\n onToggleChoice = () => {\n this.props.onChange({\n value: this.props.value,\n selected: !this.props.checked,\n });\n };\n\n render() {\n const { disabled, label, checked, likertOrientation, classes } = this.props;\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row' : 'column';\n\n return (\n <div className={classes.checkboxHolderRoot} style={{ flexDirection }}>\n <FormControlLabel\n disabled={disabled}\n className={classes.formControlLabelRoot}\n control={<RadioStyled checked={checked} onChange={this.onToggleChoice} />}\n />\n <p className={classes.labelRoot} onClick={this.onToggleChoice} dangerouslySetInnerHTML={{ __html: label }} />\n </div>\n );\n }\n}\n\nexport default withStyles(choiceInputStyles)(ChoiceInput);\n"],"file":"choice-input.js"}