@pie-element/matrix 0.1.21 → 0.1.24

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 CHANGED
@@ -3,6 +3,30 @@
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.1.24](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix@0.1.23...@pie-element/matrix@0.1.24) (2022-03-22)
7
+
8
+ **Note:** Version bump only for package @pie-element/matrix
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.1.23](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix@0.1.22...@pie-element/matrix@0.1.23) (2022-03-08)
15
+
16
+ **Note:** Version bump only for package @pie-element/matrix
17
+
18
+
19
+
20
+
21
+
22
+ ## [0.1.22](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix@0.1.21...@pie-element/matrix@0.1.22) (2022-03-08)
23
+
24
+ **Note:** Version bump only for package @pie-element/matrix
25
+
26
+
27
+
28
+
29
+
6
30
  ## [0.1.21](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix@0.1.20...@pie-element/matrix@0.1.21) (2022-02-21)
7
31
 
8
32
  **Note:** Version bump only for package @pie-element/matrix
@@ -3,6 +3,30 @@
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.1.19](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix-configure@0.1.18...@pie-element/matrix-configure@0.1.19) (2022-03-22)
7
+
8
+ **Note:** Version bump only for package @pie-element/matrix-configure
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.1.18](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix-configure@0.1.17...@pie-element/matrix-configure@0.1.18) (2022-03-08)
15
+
16
+ **Note:** Version bump only for package @pie-element/matrix-configure
17
+
18
+
19
+
20
+
21
+
22
+ ## [0.1.17](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix-configure@0.1.16...@pie-element/matrix-configure@0.1.17) (2022-03-08)
23
+
24
+ **Note:** Version bump only for package @pie-element/matrix-configure
25
+
26
+
27
+
28
+
29
+
6
30
  ## [0.1.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/matrix-configure@0.1.15...@pie-element/matrix-configure@0.1.16) (2022-02-21)
7
31
 
8
32
  **Note:** Version bump only for package @pie-element/matrix-configure
@@ -92,10 +92,13 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
92
92
  _ref$teacherInstructi = _ref.teacherInstructions,
93
93
  teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
94
94
  _ref$scoringType = _ref.scoringType,
95
- scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType;
95
+ scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
96
+ _ref$spellCheck = _ref.spellCheck,
97
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck;
96
98
 
97
99
  var _ref2 = model || {},
98
- teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled;
100
+ teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
101
+ spellCheckEnabled = _ref2.spellCheckEnabled;
99
102
 
100
103
  return /*#__PURE__*/_react["default"].createElement("div", {
101
104
  className: classes.design
@@ -108,6 +111,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
108
111
  groups: {
109
112
  Properties: {
110
113
  teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
114
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
111
115
  scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
112
116
  }
113
117
  }
@@ -131,7 +135,8 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
131
135
  markup: model.teacherInstructions || '',
132
136
  onChange: onTeacherInstructionsChanged,
133
137
  imageSupport: imageSupport,
134
- nonEmpty: false
138
+ nonEmpty: false,
139
+ spellCheck: spellCheckEnabled
135
140
  })), /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
136
141
  label: prompt.label,
137
142
  className: classes.promptHolder
@@ -141,6 +146,7 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
141
146
  onChange: onPromptChanged,
142
147
  imageSupport: imageSupport,
143
148
  nonEmpty: !prompt.settings,
149
+ spellCheck: spellCheckEnabled,
144
150
  disableUnderline: true
145
151
  })), /*#__PURE__*/_react["default"].createElement(_MatrixValues["default"], {
146
152
  model: 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","matrixHeaderOptionsHolder","display","padding","justifyContent","design","Design","props","classes","model","configuration","onPromptChanged","imageSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","teacherInstructions","scoringType","teacherInstructionsEnabled","Properties","label","Main","onModelChanged","data","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 {\n InputContainer,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport {withStyles} from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\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 matrixHeaderOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: '20px 0',\n justifyContent: 'space-around'\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n }\n});\n\n\nconst Design = withStyles(styles)(props => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\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 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.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel}/>\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel}/>\n <MatrixLabelTypeHeaderInput 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={!prompt.settings}\n disableUnderline\n />\n </InputContainer>\n\n <MatrixValues model={model} onChangeModel={onChangeModel}/>\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 onPromptChanged = prompt => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt\n });\n };\n\n onChangeModel = data => {\n this.props.onModelChanged({\n ...this.props.model,\n ...data\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 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","matrixHeaderOptionsHolder","display","padding","justifyContent","design","Design","props","classes","model","configuration","onPromptChanged","imageSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","teacherInstructions","scoringType","spellCheck","teacherInstructionsEnabled","spellCheckEnabled","Properties","label","Main","onModelChanged","data","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 {\n InputContainer,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport {withStyles} from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\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 matrixHeaderOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: '20px 0',\n justifyContent: 'space-around'\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n }\n});\n\n\nconst Design = withStyles(styles)(props => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged\n } = props;\n const {\n prompt = {},\n teacherInstructions = {},\n scoringType = {},\n spellCheck = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled, spellCheckEnabled\n } = 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 spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div>\n <div className={classes.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel}/>\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel}/>\n <MatrixLabelTypeHeaderInput 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 spellCheck={spellCheckEnabled}\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={!prompt.settings}\n spellCheck={spellCheckEnabled}\n disableUnderline\n />\n </InputContainer>\n\n <MatrixValues model={model} onChangeModel={onChangeModel}/>\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 onPromptChanged = prompt => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt\n });\n };\n\n onChangeModel = data => {\n this.props.onModelChanged({\n ...this.props.model,\n ...data\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 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"}
@@ -63,7 +63,8 @@ var MatrixLabelEditableButton = function MatrixLabelEditableButton(props) {
63
63
  var onLabelUpdate = props.onLabelUpdate,
64
64
  value = props.value,
65
65
  resourceIndex = props.resourceIndex,
66
- onAction = props.onAction;
66
+ onAction = props.onAction,
67
+ spellCheck = props.spellCheck;
67
68
 
68
69
  var _useState = (0, _react.useState)(null),
69
70
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -166,7 +167,8 @@ var MatrixLabelEditableButton = function MatrixLabelEditableButton(props) {
166
167
  onChange: function onChange(e) {
167
168
  return setLabelValue(e.target.value);
168
169
  },
169
- onBlur: onBlur
170
+ onBlur: onBlur,
171
+ spellCheck: spellCheck
170
172
  }) : /*#__PURE__*/_react["default"].createElement(MatrixEditableButtonText, {
171
173
  onClick: onShowInput
172
174
  }, value)), /*#__PURE__*/_react["default"].createElement(MatrixEditableButtonActions, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MatrixLabelEditableButton.js"],"names":["MatrixEditableButtonWrapper","styled","div","MatrixEditableButtonContent","MatrixEditableButtonText","p","MatrixEditableButtonActions","IconWrapper","InputWrapper","input","SetScoresToWrapper","SetScoresToInputWrapper","ACTION_TYPE","clear","sortAscending","sortDescending","set","MatrixLabelEditableButton","props","onLabelUpdate","value","resourceIndex","onAction","labelValue","setLabelValue","scoreValue","setScoreValue","showInput","setShowInput","React","useState","anchorEl","setAnchorEl","createRef","scoresToRef","open","Boolean","onActionClick","event","currentTarget","handleClose","e","stopPropagation","onClearScores","actionType","onSetScoresAscending","onSetScoresDescending","onSetScores","scoreValueNew","parseInt","setValue","onBlur","labeValueTrimmed","trim","onShowInput","onSetScoreToFocus","current","focus","target","ref","propTypes","PropTypes","string","isRequired","number","func"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,IAAMA,2BAA2B,GAAGC,6BAAOC,GAAV,kUAAjC;;AAcA,IAAMC,2BAA2B,GAAGF,6BAAOC,GAAV,mMAAjC;;AAQA,IAAME,wBAAwB,GAAGH,6BAAOI,CAAV,0UAA9B;;AAiBA,IAAMC,2BAA2B,GAAGL,6BAAOC,GAAV,wXAAjC;;AAeA,IAAMK,WAAW,GAAGN,6BAAOC,GAAV,8GAAjB;;AAIA,IAAMM,YAAY,GAAGP,6BAAOQ,KAAV,0TAAlB;;AAeA,IAAMC,kBAAkB,GAAGT,6BAAOC,GAAV,oIAAxB;;AAKA,IAAMS,uBAAuB,GAAGV,6BAAOC,GAAV,gIAA7B;;AAKO,IAAMU,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,aAAa,EAAE,eAFU;AAGzBC,EAAAA,cAAc,EAAE,gBAHS;AAIzBC,EAAAA,GAAG,EAAE;AAJoB,CAApB;;;AAOP,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,KAAD,EAAW;AAC3C,MAAQC,aAAR,GAA0DD,KAA1D,CAAQC,aAAR;AAAA,MAAuBC,KAAvB,GAA0DF,KAA1D,CAAuBE,KAAvB;AAAA,MAA8BC,aAA9B,GAA0DH,KAA1D,CAA8BG,aAA9B;AAAA,MAA6CC,QAA7C,GAA0DJ,KAA1D,CAA6CI,QAA7C;;AACA,kBAAoC,qBAAS,IAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAAoC,qBAAS,EAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAAkC,qBAAS,KAAT,CAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,wBAAgCC,kBAAMC,QAAN,CAAe,IAAf,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAuBH,kBAAMC,QAAN,eAAeD,kBAAMI,SAAN,EAAf,CAAvB;AAAA;AAAA,MAAOC,WAAP;;AAEA,MAAMC,IAAI,GAAGC,OAAO,CAACL,QAAD,CAApB;;AAEA,MAAMM,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAW;AAC/BN,IAAAA,WAAW,CAACM,KAAK,CAACC,aAAP,CAAX;AACD,GAFD;;AAIA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAO;AACzBA,IAAAA,CAAC,CAACC,eAAF;AACAV,IAAAA,WAAW,CAAC,IAAD,CAAX;AACAN,IAAAA,aAAa,CAAC,EAAD,CAAb;AACD,GAJD;;AAMA,MAAMiB,aAAa,GAAG,SAAhBA,aAAgB,CAACF,CAAD,EAAO;AAC3BD,IAAAA,WAAW,CAACC,CAAD,CAAX;AACAnB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBuB,MAAAA,UAAU,EAAEhC,WAAW,CAACC;AAAzC,KAAD,CAAR;AACD,GAHD;;AAKA,MAAMgC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACJ,CAAD,EAAO;AAClCD,IAAAA,WAAW,CAACC,CAAD,CAAX;AACAnB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBuB,MAAAA,UAAU,EAAEhC,WAAW,CAACE;AAAzC,KAAD,CAAR;AACD,GAHD;;AAKA,MAAMgC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACL,CAAD,EAAO;AACnCD,IAAAA,WAAW,CAACC,CAAD,CAAX;AACAnB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBuB,MAAAA,UAAU,EAAEhC,WAAW,CAACG;AAAzC,KAAD,CAAR;AACD,GAHD;;AAKA,MAAMgC,WAAW,GAAG,SAAdA,WAAc,CAAC3B,KAAD,EAAW;AAC7B,QAAI,CAAC,2BAAUA,KAAV,CAAL,EAAuB;AACrBM,MAAAA,aAAa,CAAC,EAAD,CAAb;AACA;AACD;;AACD,QAAMsB,aAAa,GAAGC,QAAQ,CAAC7B,KAAD,EAAQ,EAAR,CAA9B;AACAM,IAAAA,aAAa,CAACsB,aAAD,CAAb;AACA1B,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBuB,MAAAA,UAAU,EAAEhC,WAAW,CAACI,GAAzC;AAA8CkC,MAAAA,QAAQ,EAAEF;AAAxD,KAAD,CAAR;AACD,GARD;;AAUA,MAAMG,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,QAAMC,gBAAgB,GAAG7B,UAAU,CAAC8B,IAAX,EAAzB;;AACA,QAAID,gBAAJ,EAAsB;AACpBjC,MAAAA,aAAa,CAACiC,gBAAD,CAAb;AACD;;AACD5B,IAAAA,aAAa,CAAC,IAAD,CAAb;AACAI,IAAAA,YAAY,CAAC,KAAD,CAAZ;AACD,GAPD;;AASA,MAAM0B,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB1B,IAAAA,YAAY,CAAC,IAAD,CAAZ;AACAJ,IAAAA,aAAa,CAACJ,KAAD,CAAb;AACD,GAHD;;AAKA,MAAMmC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC9BrB,IAAAA,WAAW,CAACsB,OAAZ,CAAoBC,KAApB;AACD,GAFD;;AAIA,sBACE,gCAAC,2BAAD,qBACE,gCAAC,2BAAD,QACG9B,SAAS,gBAEN,gCAAC,YAAD;AACE,IAAA,SAAS,MADX;AAEE,IAAA,KAAK,EAAEJ,UAFT;AAGE,IAAA,QAAQ,EAAE,kBAAAkB,CAAC;AAAA,aAAIjB,aAAa,CAACiB,CAAC,CAACiB,MAAF,CAAStC,KAAV,CAAjB;AAAA,KAHb;AAIE,IAAA,MAAM,EAAE+B;AAJV,IAFM,gBAUN,gCAAC,wBAAD;AAA0B,IAAA,OAAO,EAAEG;AAAnC,KACGlC,KADH,CAXN,CADF,eAmBE,gCAAC,2BAAD;AAA6B,IAAA,OAAO,EAAEiB;AAAtC,kBACE,gCAAC,WAAD,qBACE,gCAAC,6BAAD;AAAuB,IAAA,QAAQ,EAAC;AAAhC,IADF,CADF,eAIE,gCAAC,gBAAD;AACE,IAAA,QAAQ,EAAEN,QADZ;AAEE,IAAA,IAAI,EAAEI,IAFR;AAGE,IAAA,OAAO,EAAEK;AAHX,kBAKE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE,KAAhC;AAAuC,IAAA,OAAO,EAAEG;AAAhD,oBALF,eAQE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE,KAAhC;AAAuC,IAAA,OAAO,EAAEE;AAAhD,4BARF,eAWE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE,KAAhC;AAAuC,IAAA,OAAO,EAAEC;AAAhD,6BAXF,eAcE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE;AAAhC,kBACE,gCAAC,kBAAD,qBACE;AAAG,IAAA,OAAO,EAAES;AAAZ,qBADF,eAIE,gCAAC,uBAAD,qBACE,gCAAC,uBAAD;AACE,IAAA,aAAa,EAAER,WADjB;AAEE,IAAA,IAAI,EAAE,YAFR;AAGE,IAAA,WAAW,EAAC,GAHd;AAIE,IAAA,UAAU,EAAE;AACV3B,MAAAA,KAAK,EAAEK,UADG;AAEVkC,MAAAA,GAAG,EAAEzB;AAFK;AAJd,IADF,CAJF,CADF,CAdF,CAJF,CAnBF,CADF;AA4DD,CA3HD;;AA6HAjB,yBAAyB,CAAC2C,SAA1B,GAAsC;AACpCxC,EAAAA,KAAK,EAAEyC,sBAAUC,MAAV,CAAiBC,UADY;AAEpC1C,EAAAA,aAAa,EAAEwC,sBAAUG,MAAV,CAAiBD,UAFI;AAGpC5C,EAAAA,aAAa,EAAE0C,sBAAUI,IAAV,CAAeF,UAHM;AAIpCzC,EAAAA,QAAQ,EAAEuC,sBAAUI,IAAV,CAAeF;AAJW,CAAtC;eAQe9C,yB","sourcesContent":["import React, {useState} from 'react';\nimport styled from 'styled-components';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport PropTypes from 'prop-types';\n\nimport NumberInput from './NumberInput';\nimport isNumeric from './isNumeric';\n\nconst MatrixEditableButtonWrapper = styled.div`\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst MatrixEditableButtonContent = styled.div`\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n`;\n\nconst MatrixEditableButtonText = styled.p`\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n \n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n \n transition: all 0.1s ease-in-out;\n`;\n\nconst MatrixEditableButtonActions = styled.div`\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 18px;\n`;\n\nconst InputWrapper = styled.input`\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToInputWrapper = styled.div`\n width: 50px;\n margin-left: 10px;\n`;\n\nexport const ACTION_TYPE = {\n clear: 'clear',\n sortAscending: 'sortAscending',\n sortDescending: 'sortDescending',\n set: 'set',\n};\n\nconst MatrixLabelEditableButton = (props) => {\n const { onLabelUpdate, value, resourceIndex, onAction } = props;\n const [labelValue, setLabelValue] = useState(null);\n const [scoreValue, setScoreValue] = useState('');\n const [showInput, setShowInput] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [scoresToRef,] = React.useState(React.createRef());\n\n const open = Boolean(anchorEl);\n\n const onActionClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (e) => {\n e.stopPropagation();\n setAnchorEl(null);\n setScoreValue('');\n };\n\n const onClearScores = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.clear });\n };\n\n const onSetScoresAscending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortAscending });\n };\n\n const onSetScoresDescending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortDescending });\n };\n\n const onSetScores = (value) => {\n if (!isNumeric(value)) {\n setScoreValue('');\n return;\n }\n const scoreValueNew = parseInt(value, 10);\n setScoreValue(scoreValueNew);\n onAction({ resourceIndex, actionType: ACTION_TYPE.set, setValue: scoreValueNew });\n };\n\n const onBlur = () => {\n const labeValueTrimmed = labelValue.trim();\n if (labeValueTrimmed) {\n onLabelUpdate(labeValueTrimmed);\n }\n setLabelValue(null);\n setShowInput(false);\n };\n\n const onShowInput = () => {\n setShowInput(true);\n setLabelValue(value);\n };\n\n const onSetScoreToFocus = () => {\n scoresToRef.current.focus();\n };\n\n return (\n <MatrixEditableButtonWrapper>\n <MatrixEditableButtonContent>\n {showInput\n ? (\n <InputWrapper\n autoFocus\n value={labelValue}\n onChange={e => setLabelValue(e.target.value)}\n onBlur={onBlur}\n />\n )\n : (\n <MatrixEditableButtonText onClick={onShowInput}>\n {value}\n </MatrixEditableButtonText>\n )\n }\n\n </MatrixEditableButtonContent>\n <MatrixEditableButtonActions onClick={onActionClick}>\n <IconWrapper>\n <KeyboardArrowDownIcon fontSize='inherit'/>\n </IconWrapper>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n <MenuItem key='item1' selected={false} onClick={onClearScores}>\n Clear Scores\n </MenuItem>\n <MenuItem key='item2' selected={false} onClick={onSetScoresAscending}>\n Set Scores Ascending\n </MenuItem>\n <MenuItem key='item3' selected={false} onClick={onSetScoresDescending}>\n Set Scores Descending\n </MenuItem>\n <MenuItem key='item4' selected={false}>\n <SetScoresToWrapper>\n <p onClick={onSetScoreToFocus}>\n Set Scores To\n </p>\n <SetScoresToInputWrapper>\n <NumberInput\n onFieldUpdate={onSetScores}\n name={'setScoreTo'}\n placeholder='#'\n fieldValue={{\n value: scoreValue,\n ref: scoresToRef\n }}\n />\n </SetScoresToInputWrapper>\n </SetScoresToWrapper>\n </MenuItem>\n </Menu>\n </MatrixEditableButtonActions>\n </MatrixEditableButtonWrapper>\n )\n};\n\nMatrixLabelEditableButton.propTypes = {\n value: PropTypes.string.isRequired,\n resourceIndex: PropTypes.number.isRequired,\n onLabelUpdate: PropTypes.func.isRequired,\n onAction: PropTypes.func.isRequired,\n};\n\n\nexport default MatrixLabelEditableButton;\n"],"file":"MatrixLabelEditableButton.js"}
1
+ {"version":3,"sources":["../src/MatrixLabelEditableButton.js"],"names":["MatrixEditableButtonWrapper","styled","div","MatrixEditableButtonContent","MatrixEditableButtonText","p","MatrixEditableButtonActions","IconWrapper","InputWrapper","input","SetScoresToWrapper","SetScoresToInputWrapper","ACTION_TYPE","clear","sortAscending","sortDescending","set","MatrixLabelEditableButton","props","onLabelUpdate","value","resourceIndex","onAction","spellCheck","labelValue","setLabelValue","scoreValue","setScoreValue","showInput","setShowInput","React","useState","anchorEl","setAnchorEl","createRef","scoresToRef","open","Boolean","onActionClick","event","currentTarget","handleClose","e","stopPropagation","onClearScores","actionType","onSetScoresAscending","onSetScoresDescending","onSetScores","scoreValueNew","parseInt","setValue","onBlur","labeValueTrimmed","trim","onShowInput","onSetScoreToFocus","current","focus","target","ref","propTypes","PropTypes","string","isRequired","number","func"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,IAAMA,2BAA2B,GAAGC,6BAAOC,GAAV,kUAAjC;;AAcA,IAAMC,2BAA2B,GAAGF,6BAAOC,GAAV,mMAAjC;;AAQA,IAAME,wBAAwB,GAAGH,6BAAOI,CAAV,0UAA9B;;AAiBA,IAAMC,2BAA2B,GAAGL,6BAAOC,GAAV,wXAAjC;;AAeA,IAAMK,WAAW,GAAGN,6BAAOC,GAAV,8GAAjB;;AAIA,IAAMM,YAAY,GAAGP,6BAAOQ,KAAV,0TAAlB;;AAeA,IAAMC,kBAAkB,GAAGT,6BAAOC,GAAV,oIAAxB;;AAKA,IAAMS,uBAAuB,GAAGV,6BAAOC,GAAV,gIAA7B;;AAKO,IAAMU,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,aAAa,EAAE,eAFU;AAGzBC,EAAAA,cAAc,EAAE,gBAHS;AAIzBC,EAAAA,GAAG,EAAE;AAJoB,CAApB;;;AAOP,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,KAAD,EAAW;AAC3C,MAAQC,aAAR,GAAsED,KAAtE,CAAQC,aAAR;AAAA,MAAuBC,KAAvB,GAAsEF,KAAtE,CAAuBE,KAAvB;AAAA,MAA8BC,aAA9B,GAAsEH,KAAtE,CAA8BG,aAA9B;AAAA,MAA6CC,QAA7C,GAAsEJ,KAAtE,CAA6CI,QAA7C;AAAA,MAAuDC,UAAvD,GAAsEL,KAAtE,CAAuDK,UAAvD;;AACA,kBAAoC,qBAAS,IAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAAoC,qBAAS,EAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAAkC,qBAAS,KAAT,CAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,wBAAgCC,kBAAMC,QAAN,CAAe,IAAf,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAuBH,kBAAMC,QAAN,eAAeD,kBAAMI,SAAN,EAAf,CAAvB;AAAA;AAAA,MAAOC,WAAP;;AAEA,MAAMC,IAAI,GAAGC,OAAO,CAACL,QAAD,CAApB;;AAEA,MAAMM,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAW;AAC/BN,IAAAA,WAAW,CAACM,KAAK,CAACC,aAAP,CAAX;AACD,GAFD;;AAIA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAO;AACzBA,IAAAA,CAAC,CAACC,eAAF;AACAV,IAAAA,WAAW,CAAC,IAAD,CAAX;AACAN,IAAAA,aAAa,CAAC,EAAD,CAAb;AACD,GAJD;;AAMA,MAAMiB,aAAa,GAAG,SAAhBA,aAAgB,CAACF,CAAD,EAAO;AAC3BD,IAAAA,WAAW,CAACC,CAAD,CAAX;AACApB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBwB,MAAAA,UAAU,EAAEjC,WAAW,CAACC;AAAzC,KAAD,CAAR;AACD,GAHD;;AAKA,MAAMiC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACJ,CAAD,EAAO;AAClCD,IAAAA,WAAW,CAACC,CAAD,CAAX;AACApB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBwB,MAAAA,UAAU,EAAEjC,WAAW,CAACE;AAAzC,KAAD,CAAR;AACD,GAHD;;AAKA,MAAMiC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACL,CAAD,EAAO;AACnCD,IAAAA,WAAW,CAACC,CAAD,CAAX;AACApB,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBwB,MAAAA,UAAU,EAAEjC,WAAW,CAACG;AAAzC,KAAD,CAAR;AACD,GAHD;;AAKA,MAAMiC,WAAW,GAAG,SAAdA,WAAc,CAAC5B,KAAD,EAAW;AAC7B,QAAI,CAAC,2BAAUA,KAAV,CAAL,EAAuB;AACrBO,MAAAA,aAAa,CAAC,EAAD,CAAb;AACA;AACD;;AACD,QAAMsB,aAAa,GAAGC,QAAQ,CAAC9B,KAAD,EAAQ,EAAR,CAA9B;AACAO,IAAAA,aAAa,CAACsB,aAAD,CAAb;AACA3B,IAAAA,QAAQ,CAAC;AAAED,MAAAA,aAAa,EAAbA,aAAF;AAAiBwB,MAAAA,UAAU,EAAEjC,WAAW,CAACI,GAAzC;AAA8CmC,MAAAA,QAAQ,EAAEF;AAAxD,KAAD,CAAR;AACD,GARD;;AAUA,MAAMG,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,QAAMC,gBAAgB,GAAG7B,UAAU,CAAC8B,IAAX,EAAzB;;AACA,QAAID,gBAAJ,EAAsB;AACpBlC,MAAAA,aAAa,CAACkC,gBAAD,CAAb;AACD;;AACD5B,IAAAA,aAAa,CAAC,IAAD,CAAb;AACAI,IAAAA,YAAY,CAAC,KAAD,CAAZ;AACD,GAPD;;AASA,MAAM0B,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB1B,IAAAA,YAAY,CAAC,IAAD,CAAZ;AACAJ,IAAAA,aAAa,CAACL,KAAD,CAAb;AACD,GAHD;;AAKA,MAAMoC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC9BrB,IAAAA,WAAW,CAACsB,OAAZ,CAAoBC,KAApB;AACD,GAFD;;AAIA,sBACE,gCAAC,2BAAD,qBACE,gCAAC,2BAAD,QACG9B,SAAS,gBAEN,gCAAC,YAAD;AACE,IAAA,SAAS,MADX;AAEE,IAAA,KAAK,EAAEJ,UAFT;AAGE,IAAA,QAAQ,EAAE,kBAAAkB,CAAC;AAAA,aAAIjB,aAAa,CAACiB,CAAC,CAACiB,MAAF,CAASvC,KAAV,CAAjB;AAAA,KAHb;AAIE,IAAA,MAAM,EAAEgC,MAJV;AAKE,IAAA,UAAU,EAAI7B;AALhB,IAFM,gBAWN,gCAAC,wBAAD;AAA0B,IAAA,OAAO,EAAEgC;AAAnC,KACGnC,KADH,CAZN,CADF,eAoBE,gCAAC,2BAAD;AAA6B,IAAA,OAAO,EAAEkB;AAAtC,kBACE,gCAAC,WAAD,qBACE,gCAAC,6BAAD;AAAuB,IAAA,QAAQ,EAAC;AAAhC,IADF,CADF,eAIE,gCAAC,gBAAD;AACE,IAAA,QAAQ,EAAEN,QADZ;AAEE,IAAA,IAAI,EAAEI,IAFR;AAGE,IAAA,OAAO,EAAEK;AAHX,kBAKE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE,KAAhC;AAAuC,IAAA,OAAO,EAAEG;AAAhD,oBALF,eAQE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE,KAAhC;AAAuC,IAAA,OAAO,EAAEE;AAAhD,4BARF,eAWE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE,KAAhC;AAAuC,IAAA,OAAO,EAAEC;AAAhD,6BAXF,eAcE,gCAAC,oBAAD;AAAU,IAAA,GAAG,EAAC,OAAd;AAAsB,IAAA,QAAQ,EAAE;AAAhC,kBACE,gCAAC,kBAAD,qBACE;AAAG,IAAA,OAAO,EAAES;AAAZ,qBADF,eAIE,gCAAC,uBAAD,qBACE,gCAAC,uBAAD;AACE,IAAA,aAAa,EAAER,WADjB;AAEE,IAAA,IAAI,EAAE,YAFR;AAGE,IAAA,WAAW,EAAC,GAHd;AAIE,IAAA,UAAU,EAAE;AACV5B,MAAAA,KAAK,EAAEM,UADG;AAEVkC,MAAAA,GAAG,EAAEzB;AAFK;AAJd,IADF,CAJF,CADF,CAdF,CAJF,CApBF,CADF;AA6DD,CA5HD;;AA8HAlB,yBAAyB,CAAC4C,SAA1B,GAAsC;AACpCzC,EAAAA,KAAK,EAAE0C,sBAAUC,MAAV,CAAiBC,UADY;AAEpC3C,EAAAA,aAAa,EAAEyC,sBAAUG,MAAV,CAAiBD,UAFI;AAGpC7C,EAAAA,aAAa,EAAE2C,sBAAUI,IAAV,CAAeF,UAHM;AAIpC1C,EAAAA,QAAQ,EAAEwC,sBAAUI,IAAV,CAAeF;AAJW,CAAtC;eAQe/C,yB","sourcesContent":["import React, {useState} from 'react';\nimport styled from 'styled-components';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport PropTypes from 'prop-types';\n\nimport NumberInput from './NumberInput';\nimport isNumeric from './isNumeric';\n\nconst MatrixEditableButtonWrapper = styled.div`\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst MatrixEditableButtonContent = styled.div`\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n`;\n\nconst MatrixEditableButtonText = styled.p`\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n \n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n \n transition: all 0.1s ease-in-out;\n`;\n\nconst MatrixEditableButtonActions = styled.div`\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 18px;\n`;\n\nconst InputWrapper = styled.input`\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToInputWrapper = styled.div`\n width: 50px;\n margin-left: 10px;\n`;\n\nexport const ACTION_TYPE = {\n clear: 'clear',\n sortAscending: 'sortAscending',\n sortDescending: 'sortDescending',\n set: 'set',\n};\n\nconst MatrixLabelEditableButton = (props) => {\n const { onLabelUpdate, value, resourceIndex, onAction, spellCheck } = props;\n const [labelValue, setLabelValue] = useState(null);\n const [scoreValue, setScoreValue] = useState('');\n const [showInput, setShowInput] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [scoresToRef,] = React.useState(React.createRef());\n\n const open = Boolean(anchorEl);\n\n const onActionClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (e) => {\n e.stopPropagation();\n setAnchorEl(null);\n setScoreValue('');\n };\n\n const onClearScores = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.clear });\n };\n\n const onSetScoresAscending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortAscending });\n };\n\n const onSetScoresDescending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortDescending });\n };\n\n const onSetScores = (value) => {\n if (!isNumeric(value)) {\n setScoreValue('');\n return;\n }\n const scoreValueNew = parseInt(value, 10);\n setScoreValue(scoreValueNew);\n onAction({ resourceIndex, actionType: ACTION_TYPE.set, setValue: scoreValueNew });\n };\n\n const onBlur = () => {\n const labeValueTrimmed = labelValue.trim();\n if (labeValueTrimmed) {\n onLabelUpdate(labeValueTrimmed);\n }\n setLabelValue(null);\n setShowInput(false);\n };\n\n const onShowInput = () => {\n setShowInput(true);\n setLabelValue(value);\n };\n\n const onSetScoreToFocus = () => {\n scoresToRef.current.focus();\n };\n\n return (\n <MatrixEditableButtonWrapper>\n <MatrixEditableButtonContent>\n {showInput\n ? (\n <InputWrapper\n autoFocus\n value={labelValue}\n onChange={e => setLabelValue(e.target.value)}\n onBlur={onBlur}\n spellCheck = {spellCheck}\n />\n )\n : (\n <MatrixEditableButtonText onClick={onShowInput}>\n {value}\n </MatrixEditableButtonText>\n )\n }\n\n </MatrixEditableButtonContent>\n <MatrixEditableButtonActions onClick={onActionClick}>\n <IconWrapper>\n <KeyboardArrowDownIcon fontSize='inherit'/>\n </IconWrapper>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n <MenuItem key='item1' selected={false} onClick={onClearScores}>\n Clear Scores\n </MenuItem>\n <MenuItem key='item2' selected={false} onClick={onSetScoresAscending}>\n Set Scores Ascending\n </MenuItem>\n <MenuItem key='item3' selected={false} onClick={onSetScoresDescending}>\n Set Scores Descending\n </MenuItem>\n <MenuItem key='item4' selected={false}>\n <SetScoresToWrapper>\n <p onClick={onSetScoreToFocus}>\n Set Scores To\n </p>\n <SetScoresToInputWrapper>\n <NumberInput\n onFieldUpdate={onSetScores}\n name={'setScoreTo'}\n placeholder='#'\n fieldValue={{\n value: scoreValue,\n ref: scoresToRef\n }}\n />\n </SetScoresToInputWrapper>\n </SetScoresToWrapper>\n </MenuItem>\n </Menu>\n </MatrixEditableButtonActions>\n </MatrixEditableButtonWrapper>\n )\n};\n\nMatrixLabelEditableButton.propTypes = {\n value: PropTypes.string.isRequired,\n resourceIndex: PropTypes.number.isRequired,\n onLabelUpdate: PropTypes.func.isRequired,\n onAction: PropTypes.func.isRequired,\n};\n\n\nexport default MatrixLabelEditableButton;\n"],"file":"MatrixLabelEditableButton.js"}
@@ -88,7 +88,8 @@ var MatrixValues = function MatrixValues(props) {
88
88
  onChangeModel = props.onChangeModel;
89
89
  var rowLabels = model.rowLabels,
90
90
  columnLabels = model.columnLabels,
91
- matrixValues = model.matrixValues;
91
+ matrixValues = model.matrixValues,
92
+ spellCheckEnabled = model.spellCheckEnabled;
92
93
 
93
94
  var onSetMatrixValue = function onSetMatrixValue(matrixValueIndex, value) {
94
95
  var matrixValuesClone = _objectSpread({}, matrixValues);
@@ -199,7 +200,8 @@ var MatrixValues = function MatrixValues(props) {
199
200
  value: value,
200
201
  onLabelUpdate: function onLabelUpdate(labelValue) {
201
202
  return onSetColumnLabel(columnLabelIndex, labelValue);
202
- }
203
+ },
204
+ spellCheck: spellCheckEnabled
203
205
  }));
204
206
  })), /*#__PURE__*/_react["default"].createElement(GridSeparatorHorizontal, null), /*#__PURE__*/_react["default"].createElement(GridSeparatorVertical, null), /*#__PURE__*/_react["default"].createElement(GridSeparatorHorizontal, null), /*#__PURE__*/_react["default"].createElement(ScoringRows, null, rowLabels.map(function (value, rowLabelIndex) {
205
207
  return /*#__PURE__*/_react["default"].createElement(RowLabelWrapper, {
@@ -210,7 +212,8 @@ var MatrixValues = function MatrixValues(props) {
210
212
  value: value,
211
213
  onLabelUpdate: function onLabelUpdate(labelValue) {
212
214
  return onSetRowLabel(rowLabelIndex, labelValue);
213
- }
215
+ },
216
+ spellCheck: spellCheckEnabled
214
217
  }));
215
218
  })), /*#__PURE__*/_react["default"].createElement(GridSeparatorVertical, null), /*#__PURE__*/_react["default"].createElement(Content, null, rowLabels.map(function (row, rowIndex) {
216
219
  return /*#__PURE__*/_react["default"].createElement(ValueRowWrapper, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MatrixValues.js"],"names":["columnWidth","ScoringContainer","styled","div","MatrixColumns","ColumnLabelWrapper","RowLabelWrapper","ValueRowWrapper","ValueItemWrapper","ScoringRows","ScoringNumberInputWrapper","GridSeparatorHorizontal","GridSeparatorVertical","Content","MatrixValues","props","model","onChangeModel","rowLabels","columnLabels","matrixValues","onSetMatrixValue","matrixValueIndex","value","matrixValuesClone","parseInt","onSetColumnLabel","index","labelValue","columnLabelsClone","onSetRowLabel","rowLabelsClone","onActionByColumn","resourceIndex","actionType","setValue","columnLabelIndex","forEach","rowLabel","rowLabelIndex","ACTION_TYPE","clear","sortAscending","sortDescending","length","set","onActionByRow","columnLabel","map","row","rowIndex","column","entryIndex","e","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport MatrixLabelEditableButton, {ACTION_TYPE} from './MatrixLabelEditableButton';\nimport isNumeric from './isNumeric';\nimport NumberInput from './NumberInput';\nimport PropTypes from 'prop-types';\n\nconst columnWidth = '120px';\n\nexport const ScoringContainer = styled.div`\n display: grid;\n grid-template-columns: min-content min-content auto;\n`;\n\nexport const MatrixColumns = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ColumnLabelWrapper = styled.div`\n width: ${columnWidth};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const RowLabelWrapper = styled.div`\n width: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ValueRowWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const ValueItemWrapper = styled.div`\n width: ${columnWidth};\n height: 50px;\n margin: 1px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ScoringRows = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ScoringNumberInputWrapper = styled.div`\n width: 60px;\n justify-self: center;\n align-self: center;\n`;\n\nexport const GridSeparatorHorizontal = styled.div`\n background: gray;\n width: 100%;\n height: 1px;\n`;\n\nexport const GridSeparatorVertical = styled.div`\n background: gray;\n width: 1px;\n height: 100%;\n`;\n\nexport const Content = styled.div`\n padding: 5px;\n`;\n\nconst MatrixValues = (props) => {\n const { model, onChangeModel } = props;\n const { rowLabels, columnLabels, matrixValues } = model;\n\n const onSetMatrixValue = (matrixValueIndex, value) => {\n const matrixValuesClone = {\n ...matrixValues,\n };\n if (isNumeric(value)) {\n matrixValuesClone[matrixValueIndex] = parseInt(value, 10);\n } else {\n delete matrixValuesClone[matrixValueIndex];\n }\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n const onSetColumnLabel = (index, labelValue) => {\n const columnLabelsClone = [...columnLabels];\n columnLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n columnLabels: columnLabelsClone\n })\n };\n\n\n const onSetRowLabel = (index, labelValue) => {\n const rowLabelsClone = [...rowLabels];\n rowLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n rowLabels: rowLabelsClone\n })\n };\n\n const onActionByColumn = ({ resourceIndex, actionType, setValue }) => {\n const columnLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n rowLabels.forEach((rowLabel, rowLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n const onActionByRow = ({ resourceIndex, actionType, setValue }) => {\n const rowLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n columnLabels.forEach((columnLabel, columnLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n return (\n <ScoringContainer>\n <div/>\n <GridSeparatorVertical/>\n <MatrixColumns>\n {\n columnLabels.map((value, columnLabelIndex) => (\n <ColumnLabelWrapper key={columnLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={columnLabelIndex}\n onAction={onActionByColumn}\n value={value}\n onLabelUpdate={(labelValue) => onSetColumnLabel(columnLabelIndex, labelValue)}\n />\n </ColumnLabelWrapper>\n ))\n }\n </MatrixColumns>\n <GridSeparatorHorizontal/>\n <GridSeparatorVertical/>\n <GridSeparatorHorizontal/>\n <ScoringRows>\n {\n rowLabels.map((value, rowLabelIndex) => (\n <RowLabelWrapper key={rowLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={rowLabelIndex}\n onAction={onActionByRow}\n value={value}\n onLabelUpdate={(labelValue) => onSetRowLabel(rowLabelIndex, labelValue)}\n />\n </RowLabelWrapper>\n ))\n }\n </ScoringRows>\n <GridSeparatorVertical/>\n <Content>\n {rowLabels.map((row, rowIndex) => {\n return (\n <ValueRowWrapper key={rowIndex}>\n {columnLabels.map((column, entryIndex) => {\n const matrixValueIndex = `${rowIndex}-${entryIndex}`;\n return (\n <ValueItemWrapper key={entryIndex}>\n <ScoringNumberInputWrapper>\n <NumberInput\n onFieldUpdate={(e) => onSetMatrixValue(matrixValueIndex, e)}\n name={matrixValueIndex}\n placeholder='#'\n fieldValue={{\n value: isNumeric(matrixValues[matrixValueIndex]) ? matrixValues[matrixValueIndex] : ''\n }}\n />\n </ScoringNumberInputWrapper>\n </ValueItemWrapper>\n )\n })}\n </ValueRowWrapper>\n );\n })}\n </Content>\n </ScoringContainer>\n );\n};\n\nMatrixValues.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired\n};\n\nexport default MatrixValues;\n"],"file":"MatrixValues.js"}
1
+ {"version":3,"sources":["../src/MatrixValues.js"],"names":["columnWidth","ScoringContainer","styled","div","MatrixColumns","ColumnLabelWrapper","RowLabelWrapper","ValueRowWrapper","ValueItemWrapper","ScoringRows","ScoringNumberInputWrapper","GridSeparatorHorizontal","GridSeparatorVertical","Content","MatrixValues","props","model","onChangeModel","rowLabels","columnLabels","matrixValues","spellCheckEnabled","onSetMatrixValue","matrixValueIndex","value","matrixValuesClone","parseInt","onSetColumnLabel","index","labelValue","columnLabelsClone","onSetRowLabel","rowLabelsClone","onActionByColumn","resourceIndex","actionType","setValue","columnLabelIndex","forEach","rowLabel","rowLabelIndex","ACTION_TYPE","clear","sortAscending","sortDescending","length","set","onActionByRow","columnLabel","map","row","rowIndex","column","entryIndex","e","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport MatrixLabelEditableButton, {ACTION_TYPE} from './MatrixLabelEditableButton';\nimport isNumeric from './isNumeric';\nimport NumberInput from './NumberInput';\nimport PropTypes from 'prop-types';\n\nconst columnWidth = '120px';\n\nexport const ScoringContainer = styled.div`\n display: grid;\n grid-template-columns: min-content min-content auto;\n`;\n\nexport const MatrixColumns = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ColumnLabelWrapper = styled.div`\n width: ${columnWidth};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const RowLabelWrapper = styled.div`\n width: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ValueRowWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const ValueItemWrapper = styled.div`\n width: ${columnWidth};\n height: 50px;\n margin: 1px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ScoringRows = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ScoringNumberInputWrapper = styled.div`\n width: 60px;\n justify-self: center;\n align-self: center;\n`;\n\nexport const GridSeparatorHorizontal = styled.div`\n background: gray;\n width: 100%;\n height: 1px;\n`;\n\nexport const GridSeparatorVertical = styled.div`\n background: gray;\n width: 1px;\n height: 100%;\n`;\n\nexport const Content = styled.div`\n padding: 5px;\n`;\n\nconst MatrixValues = (props) => {\n const { model, onChangeModel } = props;\n const { rowLabels, columnLabels, matrixValues, spellCheckEnabled} = model;\n\n const onSetMatrixValue = (matrixValueIndex, value) => {\n const matrixValuesClone = {\n ...matrixValues,\n };\n if (isNumeric(value)) {\n matrixValuesClone[matrixValueIndex] = parseInt(value, 10);\n } else {\n delete matrixValuesClone[matrixValueIndex];\n }\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n const onSetColumnLabel = (index, labelValue) => {\n const columnLabelsClone = [...columnLabels];\n columnLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n columnLabels: columnLabelsClone\n })\n };\n\n\n const onSetRowLabel = (index, labelValue) => {\n const rowLabelsClone = [...rowLabels];\n rowLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n rowLabels: rowLabelsClone\n })\n };\n\n const onActionByColumn = ({ resourceIndex, actionType, setValue }) => {\n const columnLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n rowLabels.forEach((rowLabel, rowLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n const onActionByRow = ({ resourceIndex, actionType, setValue }) => {\n const rowLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n columnLabels.forEach((columnLabel, columnLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n return (\n <ScoringContainer>\n <div/>\n <GridSeparatorVertical/>\n <MatrixColumns>\n {\n columnLabels.map((value, columnLabelIndex) => (\n <ColumnLabelWrapper key={columnLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={columnLabelIndex}\n onAction={onActionByColumn}\n value={value}\n onLabelUpdate={(labelValue) => onSetColumnLabel(columnLabelIndex, labelValue)}\n spellCheck = {spellCheckEnabled}\n />\n </ColumnLabelWrapper>\n ))\n }\n </MatrixColumns>\n <GridSeparatorHorizontal/>\n <GridSeparatorVertical/>\n <GridSeparatorHorizontal/>\n <ScoringRows>\n {\n rowLabels.map((value, rowLabelIndex) => (\n <RowLabelWrapper key={rowLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={rowLabelIndex}\n onAction={onActionByRow}\n value={value}\n onLabelUpdate={(labelValue) => onSetRowLabel(rowLabelIndex, labelValue)}\n spellCheck = {spellCheckEnabled}\n />\n </RowLabelWrapper>\n ))\n }\n </ScoringRows>\n <GridSeparatorVertical/>\n <Content>\n {rowLabels.map((row, rowIndex) => {\n return (\n <ValueRowWrapper key={rowIndex}>\n {columnLabels.map((column, entryIndex) => {\n const matrixValueIndex = `${rowIndex}-${entryIndex}`;\n return (\n <ValueItemWrapper key={entryIndex}>\n <ScoringNumberInputWrapper>\n <NumberInput\n onFieldUpdate={(e) => onSetMatrixValue(matrixValueIndex, e)}\n name={matrixValueIndex}\n placeholder='#'\n fieldValue={{\n value: isNumeric(matrixValues[matrixValueIndex]) ? matrixValues[matrixValueIndex] : ''\n }}\n />\n </ScoringNumberInputWrapper>\n </ValueItemWrapper>\n )\n })}\n </ValueRowWrapper>\n );\n })}\n </Content>\n </ScoringContainer>\n );\n};\n\nMatrixValues.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired\n};\n\nexport default MatrixValues;\n"],"file":"MatrixValues.js"}
@@ -23,6 +23,11 @@ var _default = {
23
23
  settings: true,
24
24
  label: 'Teacher Instructions'
25
25
  },
26
+ spellCheck: {
27
+ label: "Spellcheck",
28
+ settings: true,
29
+ enabled: true
30
+ },
26
31
  prompt: {
27
32
  settings: true,
28
33
  label: 'Prompt'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","labelType","rowLabels","columnLabels","matrixValues","prompt","configuration","teacherInstructions","settings","label"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,0BAA0B,EAAE,IADvB;AAELC,IAAAA,SAAS,EAAE,WAFN;AAGLC,IAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,+BAAjC,CAHN;AAILC,IAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAJT;AAKLC,IAAAA,YAAY,EAAE,EALT;AAMLC,IAAAA,MAAM,EAAE;AANH,GADM;AASbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,mBAAmB,EAAE;AACnBC,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KADR;AAKbJ,IAAAA,MAAM,EAAE;AACNG,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD;AALK;AATF,C","sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n teacherInstructionsEnabled: true,\n labelType: 'agreement',\n rowLabels: ['I\\'m interested in politics.', 'I\\'m interested in economics.'],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?'\n },\n configuration: {\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n prompt: {\n settings: true,\n label: 'Prompt'\n }\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","labelType","rowLabels","columnLabels","matrixValues","prompt","configuration","teacherInstructions","settings","label","spellCheck","enabled"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,0BAA0B,EAAE,IADvB;AAELC,IAAAA,SAAS,EAAE,WAFN;AAGLC,IAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,+BAAjC,CAHN;AAILC,IAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAJT;AAKLC,IAAAA,YAAY,EAAE,EALT;AAMLC,IAAAA,MAAM,EAAE;AANH,GADM;AASbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,mBAAmB,EAAE;AACnBC,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KADR;AAKbC,IAAAA,UAAU,EAAE;AACVD,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,IAFC;AAGVG,MAAAA,OAAO,EAAC;AAHE,KALC;AAUbN,IAAAA,MAAM,EAAE;AACNG,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD;AAVK;AATF,C","sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n teacherInstructionsEnabled: true,\n labelType: 'agreement',\n rowLabels: ['I\\'m interested in politics.', 'I\\'m interested in economics.'],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?'\n },\n configuration: {\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n spellCheck: {\n label: \"Spellcheck\",\n settings:true,\n enabled:true\n },\n prompt: {\n settings: true,\n label: 'Prompt'\n }\n }\n};\n"],"file":"defaults.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/matrix-configure",
3
3
  "private": true,
4
- "version": "0.1.16",
4
+ "version": "0.1.19",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,8 +9,8 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.2.0",
12
- "@pie-lib/config-ui": "^10.10.20",
13
- "@pie-lib/editable-html": "^7.18.0",
12
+ "@pie-lib/config-ui": "^10.10.24",
13
+ "@pie-lib/editable-html": "^7.19.3",
14
14
  "debug": "^4.1.1",
15
15
  "prop-types": "^15.6.2",
16
16
  "react": "^16.8.1",
@@ -19,6 +19,22 @@
19
19
  }
20
20
  }
21
21
  },
22
+ "spellCheck": {
23
+ "title": "ConfigureProp",
24
+ "type": "object",
25
+ "properties": {
26
+ "settings": {
27
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
28
+ "type": "boolean",
29
+ "title": "settings"
30
+ },
31
+ "label": {
32
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
33
+ "type": "string",
34
+ "title": "label"
35
+ }
36
+ }
37
+ },
22
38
  "showPrompt": {
23
39
  "description": "Determines whether prompt field will be displayed or not",
24
40
  "default": true,
@@ -14,6 +14,18 @@ Indicates if the item has to be displayed in the Settings Panel
14
14
 
15
15
  Indicates the label for the item that has to be displayed in the Settings Panel
16
16
 
17
+ # `spellCheck` (object)
18
+
19
+ Properties of the `spellCheck` object:
20
+
21
+ ## `settings` (boolean)
22
+
23
+ Indicates if the item has to be displayed in the Settings Panel
24
+
25
+ ## `label` (string)
26
+
27
+ Indicates the label for the item that has to be displayed in the Settings Panel
28
+
17
29
  # `showPrompt` (boolean)
18
30
 
19
31
  Determines whether prompt field will be displayed or not
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "0.1.21",
7
+ "version": "0.1.24",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -12,8 +12,8 @@
12
12
  "dependencies": {
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/math-rendering": "^2.3.12",
16
- "@pie-lib/render-ui": "^4.12.4",
15
+ "@pie-lib/math-rendering": "^2.3.13",
16
+ "@pie-lib/render-ui": "^4.12.5",
17
17
  "debug": "^4.1.1",
18
18
  "prop-types": "^15.6.1",
19
19
  "react": "^16.8.1",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "author": "",
24
24
  "license": "ISC",
25
- "gitHead": "cd1a2efd59f915b882937dea95c2675b2d2a3a50",
25
+ "gitHead": "b32a90d35916de8f2b77d7b3428b02efbd145313",
26
26
  "main": "lib/index.js",
27
27
  "module": "src/index.js"
28
28
  }