@pie-element/categorize 7.1.9 → 7.2.0

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,24 @@
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
+ # [7.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@7.1.9...@pie-element/categorize@7.2.0) (2022-10-17)
7
+
8
+
9
+ ### Features
10
+
11
+ * enable spanish and special characters in author PD-2120 ([85fd3dd](https://github.com/pie-framework/pie-elements/commit/85fd3dd0fc10da1a2dfd5a842809c625790f8ba9))
12
+ * set withRubric to false in item default configurations. Set rubricEnabled to true if it's enabled for drawing-response and extended-text-entry ([a209057](https://github.com/pie-framework/pie-elements/commit/a209057f5a3fa5438efc8595453c89c11959a8f5))
13
+ * update libs ([7e174fb](https://github.com/pie-framework/pie-elements/commit/7e174fba75e7ea668900ad5c103751cefe33e2af))
14
+ * **categorize:** add pie-api config PD-23 ([79a3424](https://github.com/pie-framework/pie-elements/commit/79a3424efbb4e32097028da0bada6c493ad4d0e5))
15
+ * **categorize:** add settings to enable rubric. Add withRubric prop to configuration and rubricEnabled prop to model PD-2019 ([fc719ea](https://github.com/pie-framework/pie-elements/commit/fc719ea36f0a3fd74829e4e550222d1d1a9b0df8))
16
+ * **categorize:** add uploadSoundSupport property PD-23-updated ([74eb10b](https://github.com/pie-framework/pie-elements/commit/74eb10b6187cdd5c068820e5079e88230246b0d4))
17
+ * **categorize:** fix tests with default val for `withRubric` PD-2093 ([0113d16](https://github.com/pie-framework/pie-elements/commit/0113d1676a65c8ace6ccb1fbfc1a8540e11e3da1))
18
+ * **docs:** update docs ([23cab69](https://github.com/pie-framework/pie-elements/commit/23cab69700cfee41395941f99599253cba8a28a3))
19
+
20
+
21
+
22
+
23
+
6
24
  ## [7.1.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@7.1.8...@pie-element/categorize@7.1.9) (2022-09-29)
7
25
 
8
26
  **Note:** Version bump only for package @pie-element/categorize
@@ -3,6 +3,23 @@
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
+ # [6.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@6.1.9...@pie-element/categorize-configure@6.2.0) (2022-10-17)
7
+
8
+
9
+ ### Features
10
+
11
+ * enable spanish and special characters in author PD-2120 ([85fd3dd](https://github.com/pie-framework/pie-elements/commit/85fd3dd0fc10da1a2dfd5a842809c625790f8ba9))
12
+ * set withRubric to false in item default configurations. Set rubricEnabled to true if it's enabled for drawing-response and extended-text-entry ([a209057](https://github.com/pie-framework/pie-elements/commit/a209057f5a3fa5438efc8595453c89c11959a8f5))
13
+ * update libs ([7e174fb](https://github.com/pie-framework/pie-elements/commit/7e174fba75e7ea668900ad5c103751cefe33e2af))
14
+ * **categorize:** add pie-api config PD-23 ([79a3424](https://github.com/pie-framework/pie-elements/commit/79a3424efbb4e32097028da0bada6c493ad4d0e5))
15
+ * **categorize:** add settings to enable rubric. Add withRubric prop to configuration and rubricEnabled prop to model PD-2019 ([fc719ea](https://github.com/pie-framework/pie-elements/commit/fc719ea36f0a3fd74829e4e550222d1d1a9b0df8))
16
+ * **categorize:** add uploadSoundSupport property PD-23-updated ([74eb10b](https://github.com/pie-framework/pie-elements/commit/74eb10b6187cdd5c068820e5079e88230246b0d4))
17
+ * **categorize:** fix tests with default val for `withRubric` PD-2093 ([0113d16](https://github.com/pie-framework/pie-elements/commit/0113d1676a65c8ace6ccb1fbfc1a8540e11e3da1))
18
+
19
+
20
+
21
+
22
+
6
23
  ## [6.1.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@6.1.8...@pie-element/categorize-configure@6.1.9) (2022-09-29)
7
24
 
8
25
  **Note:** Version bump only for package @pie-element/categorize-configure
@@ -82,6 +82,10 @@ var _default = {
82
82
  rowLabel: 100,
83
83
  categoryLabel: 100,
84
84
  choices: 150
85
+ },
86
+ withRubric: {
87
+ settings: false,
88
+ label: 'Add Rubric'
85
89
  }
86
90
  }
87
91
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","choices","choicesPosition","choicesLabel","lockChoiceOrder","removeTilesAfterPlacing","categoriesPerRow","categories","alternates","correctResponse","rowLabels","partialScoring","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","spellCheck","label","settings","enabled","feedback","prompt","rationale","scoringType","studentInstructions","teacherInstructions","maxImageWidth","rowLabel","categoryLabel","maxImageHeight"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,EADJ;AAELC,IAAAA,eAAe,EAAE,OAFZ;AAGLC,IAAAA,YAAY,EAAE,EAHT;AAILC,IAAAA,eAAe,EAAE,IAJZ;AAKLC,IAAAA,uBAAuB,EAAE,KALpB;AAMLC,IAAAA,gBAAgB,EAAE,CANb;AAOLC,IAAAA,UAAU,EAAE,EAPP;AAQLC,IAAAA,UAAU,EAAE,EARP;AASLC,IAAAA,eAAe,EAAE,EATZ;AAULC,IAAAA,SAAS,EAAE,CAAC,EAAD,CAVN;AAWLC,IAAAA,cAAc,EAAE,IAXX;AAYLC,IAAAA,eAAe,EAAE,IAZZ;AAaLC,IAAAA,gBAAgB,EAAE,IAbb;AAcLC,IAAAA,aAAa,EAAE,IAdV;AAeLC,IAAAA,0BAA0B,EAAE,IAfvB;AAgBLC,IAAAA,0BAA0B,EAAE,IAhBvB;AAiBLC,IAAAA,qBAAqB,EAAE;AAjBlB,GADM;AAoBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,YADG;AAEVC,MAAAA,QAAQ,EAAC,KAFC;AAGVC,MAAAA,OAAO,EAAC;AAHE,KADC;AAMbC,IAAAA,QAAQ,EAAE;AACRF,MAAAA,QAAQ,EAAE,IADF;AAERD,MAAAA,KAAK,EAAE,UAFC;AAGRE,MAAAA,OAAO,EAAE;AAHD,KANG;AAWblB,IAAAA,eAAe,EAAE;AACfiB,MAAAA,QAAQ,EAAE,KADK;AAEfD,MAAAA,KAAK,EAAE;AAFQ,KAXJ;AAebT,IAAAA,cAAc,EAAE;AACdU,MAAAA,QAAQ,EAAE,KADI;AAEdD,MAAAA,KAAK,EAAE;AAFO,KAfH;AAmBbI,IAAAA,MAAM,EAAE;AACNH,MAAAA,QAAQ,EAAE,IADJ;AAEND,MAAAA,KAAK,EAAE;AAFD,KAnBK;AAuBbK,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETD,MAAAA,KAAK,EAAE;AAFE,KAvBE;AA2BbM,IAAAA,WAAW,EAAE;AACXL,MAAAA,QAAQ,EAAE,KADC;AAEXD,MAAAA,KAAK,EAAE;AAFI,KA3BA;AA+BbO,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,KADS;AAEnBD,MAAAA,KAAK,EAAE;AAFY,KA/BR;AAmCbQ,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,IADS;AAEnBD,MAAAA,KAAK,EAAE;AAFY,KAnCR;AAuCbH,IAAAA,qBAAqB,EAAC;AACpBI,MAAAA,QAAQ,EAAE,KADU;AAEpBD,MAAAA,KAAK,EAAE;AAFa,KAvCT;AA2CbS,IAAAA,aAAa,EAAE;AACbD,MAAAA,mBAAmB,EAAE,GADR;AAEbJ,MAAAA,MAAM,EAAE,GAFK;AAGbC,MAAAA,SAAS,EAAE,GAHE;AAIbK,MAAAA,QAAQ,EAAE,GAJG;AAKbC,MAAAA,aAAa,EAAE,GALF;AAMb9B,MAAAA,OAAO,EAAE;AANI,KA3CF;AAmDb+B,IAAAA,cAAc,EAAE;AACdJ,MAAAA,mBAAmB,EAAE,GADP;AAEdJ,MAAAA,MAAM,EAAE,GAFM;AAGdC,MAAAA,SAAS,EAAE,GAHG;AAIdK,MAAAA,QAAQ,EAAE,GAJI;AAKdC,MAAAA,aAAa,EAAE,GALD;AAMd9B,MAAAA,OAAO,EAAE;AANK;AAnDH;AApBF,C","sourcesContent":["export default {\n model: {\n choices: [],\n choicesPosition: 'below',\n choicesLabel: '',\n lockChoiceOrder: true,\n removeTilesAfterPlacing: false,\n categoriesPerRow: 2,\n categories: [],\n alternates: [],\n correctResponse: [],\n rowLabels: [''],\n partialScoring: true,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true\n },\n lockChoiceOrder: {\n settings: false,\n label: 'Lock Choice Order'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n toolbarEditorPosition:{\n settings: false,\n label: 'Toolbar Editor Position'\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowLabel: 200,\n categoryLabel: 260,\n choices: 240\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowLabel: 100,\n categoryLabel: 100,\n choices: 150\n }\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","choices","choicesPosition","choicesLabel","lockChoiceOrder","removeTilesAfterPlacing","categoriesPerRow","categories","alternates","correctResponse","rowLabels","partialScoring","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","spellCheck","label","settings","enabled","feedback","prompt","rationale","scoringType","studentInstructions","teacherInstructions","maxImageWidth","rowLabel","categoryLabel","maxImageHeight","withRubric"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,EADJ;AAELC,IAAAA,eAAe,EAAE,OAFZ;AAGLC,IAAAA,YAAY,EAAE,EAHT;AAILC,IAAAA,eAAe,EAAE,IAJZ;AAKLC,IAAAA,uBAAuB,EAAE,KALpB;AAMLC,IAAAA,gBAAgB,EAAE,CANb;AAOLC,IAAAA,UAAU,EAAE,EAPP;AAQLC,IAAAA,UAAU,EAAE,EARP;AASLC,IAAAA,eAAe,EAAE,EATZ;AAULC,IAAAA,SAAS,EAAE,CAAC,EAAD,CAVN;AAWLC,IAAAA,cAAc,EAAE,IAXX;AAYLC,IAAAA,eAAe,EAAE,IAZZ;AAaLC,IAAAA,gBAAgB,EAAE,IAbb;AAcLC,IAAAA,aAAa,EAAE,IAdV;AAeLC,IAAAA,0BAA0B,EAAE,IAfvB;AAgBLC,IAAAA,0BAA0B,EAAE,IAhBvB;AAiBLC,IAAAA,qBAAqB,EAAE;AAjBlB,GADM;AAoBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,YADG;AAEVC,MAAAA,QAAQ,EAAC,KAFC;AAGVC,MAAAA,OAAO,EAAC;AAHE,KADC;AAMbC,IAAAA,QAAQ,EAAE;AACRF,MAAAA,QAAQ,EAAE,IADF;AAERD,MAAAA,KAAK,EAAE,UAFC;AAGRE,MAAAA,OAAO,EAAE;AAHD,KANG;AAWblB,IAAAA,eAAe,EAAE;AACfiB,MAAAA,QAAQ,EAAE,KADK;AAEfD,MAAAA,KAAK,EAAE;AAFQ,KAXJ;AAebT,IAAAA,cAAc,EAAE;AACdU,MAAAA,QAAQ,EAAE,KADI;AAEdD,MAAAA,KAAK,EAAE;AAFO,KAfH;AAmBbI,IAAAA,MAAM,EAAE;AACNH,MAAAA,QAAQ,EAAE,IADJ;AAEND,MAAAA,KAAK,EAAE;AAFD,KAnBK;AAuBbK,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETD,MAAAA,KAAK,EAAE;AAFE,KAvBE;AA2BbM,IAAAA,WAAW,EAAE;AACXL,MAAAA,QAAQ,EAAE,KADC;AAEXD,MAAAA,KAAK,EAAE;AAFI,KA3BA;AA+BbO,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,KADS;AAEnBD,MAAAA,KAAK,EAAE;AAFY,KA/BR;AAmCbQ,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,IADS;AAEnBD,MAAAA,KAAK,EAAE;AAFY,KAnCR;AAuCbH,IAAAA,qBAAqB,EAAC;AACpBI,MAAAA,QAAQ,EAAE,KADU;AAEpBD,MAAAA,KAAK,EAAE;AAFa,KAvCT;AA2CbS,IAAAA,aAAa,EAAE;AACbD,MAAAA,mBAAmB,EAAE,GADR;AAEbJ,MAAAA,MAAM,EAAE,GAFK;AAGbC,MAAAA,SAAS,EAAE,GAHE;AAIbK,MAAAA,QAAQ,EAAE,GAJG;AAKbC,MAAAA,aAAa,EAAE,GALF;AAMb9B,MAAAA,OAAO,EAAE;AANI,KA3CF;AAmDb+B,IAAAA,cAAc,EAAE;AACdJ,MAAAA,mBAAmB,EAAE,GADP;AAEdJ,MAAAA,MAAM,EAAE,GAFM;AAGdC,MAAAA,SAAS,EAAE,GAHG;AAIdK,MAAAA,QAAQ,EAAE,GAJI;AAKdC,MAAAA,aAAa,EAAE,GALD;AAMd9B,MAAAA,OAAO,EAAE;AANK,KAnDH;AA2DbgC,IAAAA,UAAU,EAAE;AACVZ,MAAAA,QAAQ,EAAE,KADA;AAEVD,MAAAA,KAAK,EAAE;AAFG;AA3DC;AApBF,C","sourcesContent":["export default {\n model: {\n choices: [],\n choicesPosition: 'below',\n choicesLabel: '',\n lockChoiceOrder: true,\n removeTilesAfterPlacing: false,\n categoriesPerRow: 2,\n categories: [],\n alternates: [],\n correctResponse: [],\n rowLabels: [''],\n partialScoring: true,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true\n },\n lockChoiceOrder: {\n settings: false,\n label: 'Lock Choice Order'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n toolbarEditorPosition:{\n settings: false,\n label: 'Toolbar Editor Position'\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowLabel: 200,\n categoryLabel: 260,\n choices: 240\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowLabel: 100,\n categoryLabel: 100,\n choices: 150\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric'\n }\n }\n};\n"],"file":"defaults.js"}
@@ -121,7 +121,12 @@ var RowLabel = (0, _styles.withStyles)(styles)(function (_ref) {
121
121
  spellCheck: spellCheck,
122
122
  maxImageWidth: maxImageWidth,
123
123
  maxImageHeight: maxImageHeight,
124
- uploadSoundSupport: uploadSoundSupport
124
+ uploadSoundSupport: uploadSoundSupport,
125
+ languageCharactersProps: [{
126
+ language: 'spanish'
127
+ }, {
128
+ language: 'special'
129
+ }]
125
130
  }));
126
131
  });
127
132
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/index.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","rowLabelHolder","tooltip","fontSize","whiteSpace","maxWidth","errorText","color","padding","RowLabel","categoriesPerRow","classes","markup","imageSupport","onChange","toolbarOpts","spellCheck","maxImageWidth","maxImageHeight","uploadSoundSupport","text","Categories","event","numberValue","parseInt","target","value","props","onModelChanged","model","id","utils","firstAvailableIndex","map","a","data","label","addRowLabel","length","rowLabels","push","concat","category","index","findIndex","splice","correctResponse","c","choice","categoryId","undefined","choiceIndex","val","newRowLabels","className","configuration","defaultImageMaxHeight","defaultImageMaxWidth","errors","associationError","categoriesError","maxCategories","holderStyle","validationMessage","add","marginLeft","min","max","changeCategoryColumns","hasRowLabel","rowIndex","changeRowLabel","change","addChoiceToCategory","deleteChoiceFromCategory","categoryLabel","React","Component","PropTypes","shape","func","isRequired","object","string","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport classNames from 'classnames';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { moveChoiceToCategory, removeCategory, removeChoiceFromCategory } from '@pie-lib/categorize';\n\nimport Category from './category';\nimport Header from '../header';\nimport { generateValidationMessage } from '../../utils';\n\nconst styles = theme => ({\n categories: {\n marginBottom: theme.spacing.unit\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n },\n rowLabel: {\n gridColumn: '1/3'\n },\n rowLabelHolder: {\n width: '100%'\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0'\n },\n});\n\nconst RowLabel = withStyles(styles)(({ categoriesPerRow, classes, markup, imageSupport, onChange, toolbarOpts, spellCheck, maxImageWidth, maxImageHeight, uploadSoundSupport}) => {\n return (\n <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%'\n }}\n >\n <Typography className={classes.text}>\n Row Label\n </Typography>\n <EditableHtml\n className={classes.rowLabelHolder}\n markup={markup}\n onChange={onChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </div>\n );\n});\n\nexport class Categories extends React.Component {\n static propTypes = {\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object\n };\n\n changeCategoryColumns = event => {\n const numberValue = parseInt(event.target.value, 10);\n\n if (numberValue && numberValue >= 1 && numberValue <= 4) {\n this.props.onModelChanged({ categoriesPerRow: numberValue });\n }\n };\n\n add = () => {\n const { model } = this.props;\n const { categoriesPerRow } = model;\n const id = utils.firstAvailableIndex(model.categories.map(a => a.id), 0);\n const data = { id, label: 'Category ' + id };\n const addRowLabel = (model.categories.length) % categoriesPerRow === 0;\n const rowLabels = [...model.rowLabels];\n\n if (addRowLabel) {\n rowLabels.push('');\n }\n\n this.props.onModelChanged({\n rowLabels,\n categories: model.categories.concat([data])\n });\n };\n\n delete = category => {\n const { model, onModelChanged } = this.props;\n const index = model.categories.findIndex(a => a.id === category.id);\n\n if (index !== -1) {\n model.categories.splice(index, 1);\n model.correctResponse = removeCategory(\n category.id,\n model.correctResponse\n );\n onModelChanged(model);\n }\n };\n\n change = c => {\n const { categories } = this.props;\n const index = categories.findIndex(a => a.id === c.id);\n\n if (index !== -1) {\n categories.splice(index, 1, c);\n this.props.onModelChanged({ categories });\n }\n };\n\n addChoiceToCategory = (choice, categoryId) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = moveChoiceToCategory(\n choice.id,\n undefined,\n categoryId,\n 0,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n deleteChoiceFromCategory = (category, choice, choiceIndex) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = removeChoiceFromCategory(\n choice.id,\n category.id,\n choiceIndex,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n changeRowLabel = (val, index) => {\n const { model } = this.props;\n const { rowLabels } = model;\n const newRowLabels = [...rowLabels];\n\n if (newRowLabels.length < index) {\n newRowLabels.push(val);\n } else {\n newRowLabels[index] = val;\n }\n\n this.props.onModelChanged({\n rowLabels: newRowLabels\n });\n };\n\n render() {\n const {\n model,\n classes,\n className,\n categories,\n imageSupport,\n uploadSoundSupport,\n toolbarOpts,\n spellCheck,\n configuration,\n defaultImageMaxHeight,\n defaultImageMaxWidth\n } = this.props;\n\n const { categoriesPerRow, rowLabels, errors } = model;\n const { associationError, categoriesError } = errors || {};\n const {\n maxCategories,\n maxImageWidth = {},\n maxImageHeight = {},\n } = configuration || {};\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`\n };\n\n const validationMessage = generateValidationMessage(configuration);\n\n return (\n <div className={classNames(classes.categories, className)}>\n <Header\n label=\"Categories\"\n buttonLabel=\"ADD A CATEGORY\"\n onAdd={this.add}\n info={<Tooltip\n classes={{tooltip: classes.tooltip}}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }}/>\n </Tooltip>}\n buttonDisabled={maxCategories && categories && maxCategories === categories.length}\n />\n {associationError && <div className={classes.errorText}>{associationError}</div>}\n {categoriesError && <div className={classes.errorText}>{categoriesError}</div>}\n <div className={classes.row}>\n <TextField\n label=\"Categories per row\"\n type=\"number\"\n inputProps={{\n min: 1,\n max: 4\n }}\n value={categoriesPerRow}\n onChange={this.changeCategoryColumns}\n />\n </div>\n <div className={classes.categoriesHolder} style={holderStyle}>\n {categories.map((category, index) => {\n const hasRowLabel = index % categoriesPerRow === 0;\n const rowIndex = index / categoriesPerRow;\n\n return (\n <React.Fragment\n key={index}\n >\n {hasRowLabel && (\n <RowLabel\n categoriesPerRow={categoriesPerRow}\n rowIndex={rowIndex}\n markup={rowLabels[rowIndex] || ''}\n onChange={(val) => this.changeRowLabel(val, rowIndex)}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth && maxImageWidth.rowLabel || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rowLabel || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n )}\n <Category\n imageSupport={imageSupport}\n category={category}\n onChange={this.change}\n onDelete={() => this.delete(category)}\n onAddChoice={this.addChoiceToCategory}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n onDeleteChoice={(choice, choiceIndex) =>\n this.deleteChoiceFromCategory(category, choice, choiceIndex)\n }\n maxImageWidth={maxImageWidth && maxImageWidth.categoryLabel || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.categoryLabel || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </React.Fragment>\n );\n })}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(Categories);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/design/categories/index.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","rowLabelHolder","tooltip","fontSize","whiteSpace","maxWidth","errorText","color","padding","RowLabel","categoriesPerRow","classes","markup","imageSupport","onChange","toolbarOpts","spellCheck","maxImageWidth","maxImageHeight","uploadSoundSupport","text","language","Categories","event","numberValue","parseInt","target","value","props","onModelChanged","model","id","utils","firstAvailableIndex","map","a","data","label","addRowLabel","length","rowLabels","push","concat","category","index","findIndex","splice","correctResponse","c","choice","categoryId","undefined","choiceIndex","val","newRowLabels","className","configuration","defaultImageMaxHeight","defaultImageMaxWidth","errors","associationError","categoriesError","maxCategories","holderStyle","validationMessage","add","marginLeft","min","max","changeCategoryColumns","hasRowLabel","rowIndex","changeRowLabel","change","addChoiceToCategory","deleteChoiceFromCategory","categoryLabel","React","Component","PropTypes","shape","func","isRequired","object","string","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport classNames from 'classnames';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { moveChoiceToCategory, removeCategory, removeChoiceFromCategory } from '@pie-lib/categorize';\n\nimport Category from './category';\nimport Header from '../header';\nimport { generateValidationMessage } from '../../utils';\n\nconst styles = theme => ({\n categories: {\n marginBottom: theme.spacing.unit\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n },\n rowLabel: {\n gridColumn: '1/3'\n },\n rowLabelHolder: {\n width: '100%'\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0'\n },\n});\n\nconst RowLabel = withStyles(styles)(({ categoriesPerRow, classes, markup, imageSupport, onChange, toolbarOpts, spellCheck, maxImageWidth, maxImageHeight, uploadSoundSupport}) => {\n return (\n <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%'\n }}\n >\n <Typography className={classes.text}>\n Row Label\n </Typography>\n <EditableHtml\n className={classes.rowLabelHolder}\n markup={markup}\n onChange={onChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n );\n});\n\nexport class Categories extends React.Component {\n static propTypes = {\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object\n };\n\n changeCategoryColumns = event => {\n const numberValue = parseInt(event.target.value, 10);\n\n if (numberValue && numberValue >= 1 && numberValue <= 4) {\n this.props.onModelChanged({ categoriesPerRow: numberValue });\n }\n };\n\n add = () => {\n const { model } = this.props;\n const { categoriesPerRow } = model;\n const id = utils.firstAvailableIndex(model.categories.map(a => a.id), 0);\n const data = { id, label: 'Category ' + id };\n const addRowLabel = (model.categories.length) % categoriesPerRow === 0;\n const rowLabels = [...model.rowLabels];\n\n if (addRowLabel) {\n rowLabels.push('');\n }\n\n this.props.onModelChanged({\n rowLabels,\n categories: model.categories.concat([data])\n });\n };\n\n delete = category => {\n const { model, onModelChanged } = this.props;\n const index = model.categories.findIndex(a => a.id === category.id);\n\n if (index !== -1) {\n model.categories.splice(index, 1);\n model.correctResponse = removeCategory(\n category.id,\n model.correctResponse\n );\n onModelChanged(model);\n }\n };\n\n change = c => {\n const { categories } = this.props;\n const index = categories.findIndex(a => a.id === c.id);\n\n if (index !== -1) {\n categories.splice(index, 1, c);\n this.props.onModelChanged({ categories });\n }\n };\n\n addChoiceToCategory = (choice, categoryId) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = moveChoiceToCategory(\n choice.id,\n undefined,\n categoryId,\n 0,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n deleteChoiceFromCategory = (category, choice, choiceIndex) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = removeChoiceFromCategory(\n choice.id,\n category.id,\n choiceIndex,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n changeRowLabel = (val, index) => {\n const { model } = this.props;\n const { rowLabels } = model;\n const newRowLabels = [...rowLabels];\n\n if (newRowLabels.length < index) {\n newRowLabels.push(val);\n } else {\n newRowLabels[index] = val;\n }\n\n this.props.onModelChanged({\n rowLabels: newRowLabels\n });\n };\n\n render() {\n const {\n model,\n classes,\n className,\n categories,\n imageSupport,\n uploadSoundSupport,\n toolbarOpts,\n spellCheck,\n configuration,\n defaultImageMaxHeight,\n defaultImageMaxWidth\n } = this.props;\n\n const { categoriesPerRow, rowLabels, errors } = model;\n const { associationError, categoriesError } = errors || {};\n const {\n maxCategories,\n maxImageWidth = {},\n maxImageHeight = {},\n } = configuration || {};\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`\n };\n\n const validationMessage = generateValidationMessage(configuration);\n\n return (\n <div className={classNames(classes.categories, className)}>\n <Header\n label=\"Categories\"\n buttonLabel=\"ADD A CATEGORY\"\n onAdd={this.add}\n info={<Tooltip\n classes={{tooltip: classes.tooltip}}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }}/>\n </Tooltip>}\n buttonDisabled={maxCategories && categories && maxCategories === categories.length}\n />\n {associationError && <div className={classes.errorText}>{associationError}</div>}\n {categoriesError && <div className={classes.errorText}>{categoriesError}</div>}\n <div className={classes.row}>\n <TextField\n label=\"Categories per row\"\n type=\"number\"\n inputProps={{\n min: 1,\n max: 4\n }}\n value={categoriesPerRow}\n onChange={this.changeCategoryColumns}\n />\n </div>\n <div className={classes.categoriesHolder} style={holderStyle}>\n {categories.map((category, index) => {\n const hasRowLabel = index % categoriesPerRow === 0;\n const rowIndex = index / categoriesPerRow;\n\n return (\n <React.Fragment\n key={index}\n >\n {hasRowLabel && (\n <RowLabel\n categoriesPerRow={categoriesPerRow}\n rowIndex={rowIndex}\n markup={rowLabels[rowIndex] || ''}\n onChange={(val) => this.changeRowLabel(val, rowIndex)}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth && maxImageWidth.rowLabel || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rowLabel || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n )}\n <Category\n imageSupport={imageSupport}\n category={category}\n onChange={this.change}\n onDelete={() => this.delete(category)}\n onAddChoice={this.addChoiceToCategory}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n onDeleteChoice={(choice, choiceIndex) =>\n this.deleteChoiceFromCategory(category, choice, choiceIndex)\n }\n maxImageWidth={maxImageWidth && maxImageWidth.categoryLabel || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.categoryLabel || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </React.Fragment>\n );\n })}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(Categories);\n"],"file":"index.js"}
@@ -194,7 +194,9 @@ var Design = /*#__PURE__*/function (_React$Component) {
194
194
  _ref$maxImageWidth = _ref.maxImageWidth,
195
195
  maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
196
196
  _ref$maxImageHeight = _ref.maxImageHeight,
197
- maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight;
197
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
198
+ _ref$withRubric = _ref.withRubric,
199
+ withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
198
200
 
199
201
  var _ref2 = model || {},
200
202
  teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
@@ -202,7 +204,8 @@ var Design = /*#__PURE__*/function (_React$Component) {
202
204
  rationaleEnabled = _ref2.rationaleEnabled,
203
205
  feedbackEnabled = _ref2.feedbackEnabled,
204
206
  spellCheckEnabled = _ref2.spellCheckEnabled,
205
- errors = _ref2.errors;
207
+ errors = _ref2.errors,
208
+ rubricEnabled = _ref2.rubricEnabled;
206
209
 
207
210
  var toolbarOpts = {};
208
211
 
@@ -249,7 +252,8 @@ var Design = /*#__PURE__*/function (_React$Component) {
249
252
  studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
250
253
  rationaleEnabled: rationale.settings && toggle(rationale.label),
251
254
  spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
252
- scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
255
+ scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),
256
+ rubricEnabled: withRubric.settings && toggle(withRubric.label)
253
257
  }
254
258
  }
255
259
  })
@@ -269,7 +273,12 @@ var Design = /*#__PURE__*/function (_React$Component) {
269
273
  spellCheck: spellCheckEnabled,
270
274
  maxImageWidth: maxImageWidth && maxImageWidth.prompt,
271
275
  maxImageHeight: maxImageHeight && maxImageHeight.prompt,
272
- uploadSoundSupport: uploadSoundSupport
276
+ uploadSoundSupport: uploadSoundSupport,
277
+ languageCharactersProps: [{
278
+ language: 'spanish'
279
+ }, {
280
+ language: 'special'
281
+ }]
273
282
  })), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
274
283
  label: teacherInstructions.label,
275
284
  className: classes.inputHolder
@@ -283,7 +292,12 @@ var Design = /*#__PURE__*/function (_React$Component) {
283
292
  spellCheck: spellCheckEnabled,
284
293
  maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
285
294
  maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
286
- uploadSoundSupport: uploadSoundSupport
295
+ uploadSoundSupport: uploadSoundSupport,
296
+ languageCharactersProps: [{
297
+ language: 'spanish'
298
+ }, {
299
+ language: 'special'
300
+ }]
287
301
  })), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
288
302
  label: rationale.label,
289
303
  className: classes.inputHolder
@@ -297,7 +311,12 @@ var Design = /*#__PURE__*/function (_React$Component) {
297
311
  spellCheck: spellCheckEnabled,
298
312
  maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
299
313
  maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
300
- uploadSoundSupport: uploadSoundSupport
314
+ uploadSoundSupport: uploadSoundSupport,
315
+ languageCharactersProps: [{
316
+ language: 'spanish'
317
+ }, {
318
+ language: 'special'
319
+ }]
301
320
  })), /*#__PURE__*/_react["default"].createElement(_categories["default"], {
302
321
  imageSupport: imageSupport,
303
322
  uploadSoundSupport: uploadSoundSupport,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/design/index.jsx"],"names":["Panel","settings","toggle","radio","IdProvider","uid","Provider","Design","props","model","onChange","updatedModel","correctResponse","choices","categories","map","c","id","label","h","content","categoryCount","rationale","teacherInstructions","feedback","updateModel","cr","alternateResponses","prompt","index","filter","alt","altIndex","choice","generateId","classes","className","imageSupport","uploadSoundSupport","configuration","onConfigurationChanged","partialScoring","lockChoiceOrder","studentInstructions","scoringType","spellCheck","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","feedbackEnabled","spellCheckEnabled","errors","toolbarOpts","toolbarEditorPosition","position","config","columns","correctResponseCount","countChoiceInCorrectResponse","defaultImageMaxWidth","defaultImageMaxHeight","Settings","Properties","studentInstructionsEnabled","design","promptHolder","onPromptChanged","inputHolder","input","changeTeacherInstructions","changeRationale","alternatesHeader","onAddAlternateResponse","categoriesList","onRemoveAlternateResponse","changeFeedback","React","Component","PropTypes","object","isRequired","string","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","text","width","marginBottom","maxWidth","title"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AAIA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAQA,KAAR,GAAiCC,kBAAjC,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAiCD,kBAAjC,CAAeC,MAAf;AAAA,IAAuBC,KAAvB,GAAiCF,kBAAjC,CAAuBE,KAAvB;AACA,IAAkBC,UAAlB,GAAiCC,SAAjC,CAAQC,QAAR;;IAEaC,M;;;;;AAmBX,kBAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN;AADiB,oGAKL,UAACA,KAAD,EAAW;AACvB,wBAA4B,MAAKA,KAAjC;AAAA,UAAQC,KAAR,eAAQA,KAAR;AAAA,UAAeC,QAAf,eAAeA,QAAf;;AAEA,UAAMC,YAAY,mCACbF,KADa,GAEbD,KAFa,CAAlB,CAHuB,CAQvB;;;AACAG,MAAAA,YAAY,CAACC,eAAb,GAA+B,8CAC7BD,YAAY,CAACC,eAAb,IAAgC,EADH,EAE7BD,YAAY,CAACE,OAFgB,CAA/B,CATuB,CAcvB;;AACAF,MAAAA,YAAY,CAACG,UAAb,GAA0BH,YAAY,CAACG,UAAb,CAAwBC,GAAxB,CAA4B,UAACC,CAAD;AAAA,eAAQ;AAC5DC,UAAAA,EAAE,EAAED,CAAC,CAACC,EADsD;AAE5DC,UAAAA,KAAK,EAAEF,CAAC,CAACE;AAFmD,SAAR;AAAA,OAA5B,CAA1B;AAKAP,MAAAA,YAAY,CAACE,OAAb,GAAuBF,YAAY,CAACE,OAAb,CAAqBE,GAArB,CAAyB,UAACI,CAAD;AAAA,eAAQ;AACtDF,UAAAA,EAAE,EAAEE,CAAC,CAACF,EADgD;AAEtDG,UAAAA,OAAO,EAAED,CAAC,CAACC,OAF2C;AAGtDC,UAAAA,aAAa,EAAEF,CAAC,CAACE;AAHqC,SAAR;AAAA,OAAzB,CAAvB;AAMAX,MAAAA,QAAQ,CAACC,YAAD,CAAR;AACD,KAhCkB;AAAA,wGAkCD,UAACW,SAAD,EAAe;AAC/B,yBAA4B,MAAKd,KAAjC;AAAA,UAAQC,KAAR,gBAAQA,KAAR;AAAA,UAAeC,QAAf,gBAAeA,QAAf;AAEAA,MAAAA,QAAQ,iCACHD,KADG;AAENa,QAAAA,SAAS,EAATA;AAFM,SAAR;AAID,KAzCkB;AAAA,kHA2CS,UAACC,mBAAD,EAAyB;AACnD,yBAA4B,MAAKf,KAAjC;AAAA,UAAQC,KAAR,gBAAQA,KAAR;AAAA,UAAeC,QAAf,gBAAeA,QAAf;AAEAA,MAAAA,QAAQ,iCACHD,KADG;AAENc,QAAAA,mBAAmB,EAAnBA;AAFM,SAAR;AAID,KAlDkB;AAAA,uGAoDF,UAACC,QAAD,EAAc;AAC7B,YAAKC,WAAL,CAAiB;AAAED,QAAAA,QAAQ,EAARA;AAAF,OAAjB;AACD,KAtDkB;AAAA,+GAwDM,YAAM;AAC7B,UACWZ,eADX,GAEI,MAAKJ,KAFT,CACEC,KADF,CACWG,eADX;;AAIA,YAAKa,WAAL,CAAiB;AACfb,QAAAA,eAAe,EAAE,CAACA,eAAe,IAAI,EAApB,EAAwBG,GAAxB,CAA4B,UAACW,EAAD;AAAA,iDACxCA,EADwC;AAE3CC,YAAAA,kBAAkB,gDAAOD,EAAE,CAACC,kBAAH,IAAyB,EAAhC,IAAqC,EAArC;AAFyB;AAAA,SAA5B;AADF,OAAjB;AAMD,KAnEkB;AAAA,wGAqED,UAACC,MAAD;AAAA,aAAY,MAAKH,WAAL,CAAiB;AAAEG,QAAAA,MAAM,EAANA;AAAF,OAAjB,CAAZ;AAAA,KArEC;AAAA,kHAuES,UAACC,KAAD,EAAW;AACrC,UACWjB,eADX,GAEI,MAAKJ,KAFT,CACEC,KADF,CACWG,eADX;;AAIA,YAAKa,WAAL,CAAiB;AACfb,QAAAA,eAAe,EAAE,CAACA,eAAe,IAAI,EAApB,EAAwBG,GAAxB,CAA4B,UAACW,EAAD;AAAA,iDACxCA,EADwC;AAE3CC,YAAAA,kBAAkB,EAAE,CAACD,EAAE,CAACC,kBAAH,IAAyB,EAA1B,EAA8BG,MAA9B,CAClB,UAACC,GAAD,EAAMC,QAAN;AAAA,qBAAmBA,QAAQ,KAAKH,KAAhC;AAAA,aADkB;AAFuB;AAAA,SAA5B;AADF,OAAjB;AAQD,KApFkB;AAAA,qHAsFY,UAACI,MAAD,EAAY;AACzC,UAAQxB,KAAR,GAAkB,MAAKD,KAAvB,CAAQC,KAAR;AAEA,aAAO,+BAAcwB,MAAM,CAAChB,EAArB,EAAyBR,KAAK,CAACG,eAA/B,CAAP;AACD,KA1FkB;AAEjB,UAAKP,GAAL,GAAWG,MAAK,CAACH,GAAN,IAAaA,UAAI6B,UAAJ,EAAxB;AAFiB;AAGlB;;;;WAyFD,kBAAS;AAAA;;AACP,yBASI,KAAK1B,KATT;AAAA,UACE2B,OADF,gBACEA,OADF;AAAA,UAEEC,SAFF,gBAEEA,SAFF;AAAA,UAGE3B,KAHF,gBAGEA,KAHF;AAAA,UAIE4B,YAJF,gBAIEA,YAJF;AAAA,UAKEC,kBALF,gBAKEA,kBALF;AAAA,UAMEC,aANF,gBAMEA,aANF;AAAA,UAOE7B,QAPF,gBAOEA,QAPF;AAAA,UAQE8B,sBARF,gBAQEA,sBARF;;AAUA,iBAYID,aAAa,IAAI,EAZrB;AAAA,qCACEE,cADF;AAAA,UACEA,cADF,oCACmB,EADnB;AAAA,sCAEEC,eAFF;AAAA,UAEEA,eAFF,qCAEoB,EAFpB;AAAA,uCAGEnB,mBAHF;AAAA,UAGEA,mBAHF,sCAGwB,EAHxB;AAAA,uCAIEoB,mBAJF;AAAA,UAIEA,mBAJF,sCAIwB,EAJxB;AAAA,gCAKErB,SALF;AAAA,UAKEA,SALF,+BAKc,EALd;AAAA,kCAMEsB,WANF;AAAA,UAMEA,WANF,iCAMgB,EANhB;AAAA,+BAOEpB,QAPF;AAAA,UAOEA,QAPF,8BAOa,EAPb;AAAA,6BAQEI,MARF;AAAA,UAQEA,MARF,4BAQW,EARX;AAAA,iCASEiB,UATF;AAAA,UASEA,UATF,gCASe,EATf;AAAA,oCAUEC,aAVF;AAAA,UAUEA,aAVF,mCAUkB,EAVlB;AAAA,qCAWEC,cAXF;AAAA,UAWEA,cAXF,oCAWmB,EAXnB;;AAaA,kBAOItC,KAAK,IAAI,EAPb;AAAA,UACEuC,0BADF,SACEA,0BADF;AAAA,UAEEC,aAFF,SAEEA,aAFF;AAAA,UAGEC,gBAHF,SAGEA,gBAHF;AAAA,UAIEC,eAJF,SAIEA,eAJF;AAAA,UAKEC,iBALF,SAKEA,iBALF;AAAA,UAMEC,MANF,SAMEA,MANF;;AASA,UAAMC,WAAW,GAAG,EAApB;;AAEA,cAAQ7C,KAAK,CAAC8C,qBAAd;AACE,aAAK,KAAL;AACED,UAAAA,WAAW,CAACE,QAAZ,GAAuB,KAAvB;AACA;;AACF;AACEF,UAAAA,WAAW,CAACE,QAAZ,GAAuB,QAAvB;AACA;AANJ;;AASA,UAAMC,MAAM,GAAGhD,KAAK,CAACgD,MAAN,IAAgB,EAA/B;AACAA,MAAAA,MAAM,CAAC5C,OAAP,GAAiB4C,MAAM,CAAC5C,OAAP,IAAkB;AAAEK,QAAAA,KAAK,EAAE,EAAT;AAAawC,QAAAA,OAAO,EAAE;AAAtB,OAAnC;AAEA,UAAM5C,UAAU,GAAG,8BACjBL,KAAK,CAACK,UAAN,IAAoB,EADH,EAEjBL,KAAK,CAACI,OAAN,IAAiB,EAFA,EAGjBJ,KAAK,CAACG,eAAN,IAAyB,EAHR,CAAnB;AAMA,UAAMe,kBAAkB,GAAG,sCACzBlB,KAAK,CAACK,UAAN,IAAoB,EADK,EAEzBL,KAAK,CAACI,OAAN,IAAiB,EAFQ,EAGzBJ,KAAK,CAACG,eAAN,IAAyB,EAHA,CAA3B;AAMA,UAAMC,OAAO,GAAGJ,KAAK,CAACI,OAAN,CAAcE,GAAd,CAAkB,UAACC,CAAD,EAAO;AACvCA,QAAAA,CAAC,CAAC2C,oBAAF,GAAyB,MAAI,CAACC,4BAAL,CAAkC5C,CAAlC,CAAzB;AACA,eAAOA,CAAP;AACD,OAHe,CAAhB;AAKA,UAAM6C,oBAAoB,GAAGf,aAAa,IAAIA,aAAa,CAAClB,MAA5D;AACA,UAAMkC,qBAAqB,GAAGf,cAAc,IAAIA,cAAc,CAACnB,MAA/D;AAEA,0BACE,gCAAC,UAAD;AAAY,QAAA,KAAK,EAAE,KAAKvB;AAAxB,sBACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEI,KADT;AAEE,UAAA,aAAa,EAAEC,QAFjB;AAGE,UAAA,aAAa,EAAE6B,aAHjB;AAIE,UAAA,qBAAqB,EAAEC,sBAJzB;AAKE,UAAA,MAAM,EAAE;AACNuB,YAAAA,QAAQ,EAAE;AACRtB,cAAAA,cAAc,EACZA,cAAc,CAACxC,QAAf,IAA2BC,MAAM,CAACuC,cAAc,CAACvB,KAAhB,CAF3B;AAGRwB,cAAAA,eAAe,EACbA,eAAe,CAACzC,QAAhB,IAA4BC,MAAM,CAACwC,eAAe,CAACxB,KAAjB,CAJ5B;AAKR+B,cAAAA,aAAa,EAAErB,MAAM,CAAC3B,QAAP,IAAmBC,MAAM,CAAC0B,MAAM,CAACV,KAAR,CALhC;AAMRiC,cAAAA,eAAe,EAAE3B,QAAQ,CAACvB,QAAT,IAAqBC,MAAM,CAACsB,QAAQ,CAACN,KAAV;AANpC,aADJ;AASN8C,YAAAA,UAAU,EAAE;AACVhB,cAAAA,0BAA0B,EACxBzB,mBAAmB,CAACtB,QAApB,IACAC,MAAM,CAACqB,mBAAmB,CAACL,KAArB,CAHE;AAIV+C,cAAAA,0BAA0B,EACxBtB,mBAAmB,CAAC1C,QAApB,IACAC,MAAM,CAACyC,mBAAmB,CAACzB,KAArB,CANE;AAOVgC,cAAAA,gBAAgB,EACd5B,SAAS,CAACrB,QAAV,IAAsBC,MAAM,CAACoB,SAAS,CAACJ,KAAX,CARpB;AASVkC,cAAAA,iBAAiB,EACfP,UAAU,CAAC5C,QAAX,IAAuBC,MAAM,CAAC2C,UAAU,CAAC3B,KAAZ,CAVrB;AAWV0B,cAAAA,WAAW,EACTA,WAAW,CAAC3C,QAAZ,IACAE,KAAK,CAACyC,WAAW,CAAC1B,KAAb,EAAoB,CAAC,MAAD,EAAS,QAAT,CAApB;AAbG;AATN;AALV;AAFJ,sBAmCE;AAAK,QAAA,SAAS,EAAE,4BAAWiB,OAAO,CAAC+B,MAAnB,EAA2B9B,SAA3B;AAAhB,SACGa,aAAa,iBACZ,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAErB,MAAM,CAACV,KADhB;AAEE,QAAA,SAAS,EAAEiB,OAAO,CAACgC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEhC,OAAO,CAACP,MADrB;AAEE,QAAA,MAAM,EAAEnB,KAAK,CAACmB,MAAN,IAAgB,EAF1B;AAGE,QAAA,QAAQ,EAAE,KAAKwC,eAHjB;AAIE,QAAA,YAAY,EAAE/B,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,gBAAgB,MANlB;AAOE,QAAA,WAAW,EAAEiB,WAPf;AAQE,QAAA,UAAU,EAAEF,iBARd;AASE,QAAA,aAAa,EAAEN,aAAa,IAAIA,aAAa,CAAClB,MAThD;AAUE,QAAA,cAAc,EAAEmB,cAAc,IAAIA,cAAc,CAACnB,MAVnD;AAWE,QAAA,kBAAkB,EAAEU;AAXtB,QAJF,CAFJ,EAsBGU,0BAA0B,iBACzB,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAEzB,mBAAmB,CAACL,KAD7B;AAEE,QAAA,SAAS,EAAEiB,OAAO,CAACkC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAElC,OAAO,CAACmC,KADrB;AAEE,QAAA,MAAM,EAAE7D,KAAK,CAACc,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAKgD,yBAHjB;AAIE,QAAA,YAAY,EAAElC,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,WAAW,EAAEiB,WANf;AAOE,QAAA,UAAU,EAAEF,iBAPd;AAQE,QAAA,aAAa,EAAEN,aAAa,IAAIA,aAAa,CAACvB,mBAA/B,IAAsDsC,oBARvE;AASE,QAAA,cAAc,EAAEd,cAAc,IAAIA,cAAc,CAACxB,mBAAjC,IAAwDuC,qBAT1E;AAUE,QAAA,kBAAkB,EAAExB;AAVtB,QAJF,CAvBJ,EA0CGY,gBAAgB,iBACf,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAE5B,SAAS,CAACJ,KADnB;AAEE,QAAA,SAAS,EAAEiB,OAAO,CAACkC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAElC,OAAO,CAACmC,KADrB;AAEE,QAAA,MAAM,EAAE7D,KAAK,CAACa,SAAN,IAAmB,EAF7B;AAGE,QAAA,QAAQ,EAAE,KAAKkD,eAHjB;AAIE,QAAA,YAAY,EAAEnC,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,WAAW,EAAEiB,WANf;AAOE,QAAA,UAAU,EAAEF,iBAPd;AAQE,QAAA,aAAa,EAAEN,aAAa,IAAIA,aAAa,CAACxB,SAA/B,IAA4CuC,oBAR7D;AASE,QAAA,cAAc,EAAEd,cAAc,IAAIA,cAAc,CAACzB,SAAjC,IAA8CwC,qBAThE;AAUE,QAAA,kBAAkB,EAAExB;AAVtB,QAJF,CA3CJ,eA8DE,gCAAC,sBAAD;AACE,QAAA,YAAY,EAAED,YADhB;AAEE,QAAA,kBAAkB,EAAEC,kBAFtB;AAGE,QAAA,KAAK,EAAE7B,KAHT;AAIE,QAAA,UAAU,EAAEK,UAAU,IAAI,EAJ5B;AAKE,QAAA,cAAc,EAAE,KAAKW,WALvB;AAME,QAAA,WAAW,EAAE6B,WANf;AAOE,QAAA,UAAU,EAAEF,iBAPd;AAQE,QAAA,aAAa,EAAEb,aARjB;AASE,QAAA,oBAAoB,EAAEsB,oBATxB;AAUE,QAAA,qBAAqB,EAAEC;AAVzB,QA9DF,eA2EE,gCAAC,kBAAD;AACE,QAAA,SAAS,EAAE3B,OAAO,CAACsC,gBADrB;AAEE,QAAA,KAAK,EAAC,qBAFR;AAGE,QAAA,WAAW,EAAC,2BAHd;AAIE,QAAA,KAAK,EAAE,KAAKC;AAJd,QA3EF,EAkFG/C,kBAAkB,CAACZ,GAAnB,CAAuB,UAAC4D,cAAD,EAAiB9C,KAAjB,EAA2B;AACjD,4BACE,gCAAC,iBAAD,CAAO,QAAP;AAAgB,UAAA,GAAG,EAAEA;AAArB,wBACE,gCAAC,kBAAD;AACE,UAAA,SAAS,EAAEM,OAAO,CAACsC,gBADrB;AAEE,UAAA,KAAK,EAAC,oBAFR;AAGE,UAAA,WAAW,EAAC,2BAHd;AAIE,UAAA,KAAK,EAAE;AAAA,mBAAM,MAAI,CAACG,yBAAL,CAA+B/C,KAA/B,CAAN;AAAA;AAJT,UADF,eAQE,gCAAC,8BAAD;AACE,UAAA,QAAQ,EAAEA,KADZ;AAEE,UAAA,YAAY,EAAEQ,YAFhB;AAGE,UAAA,KAAK,EAAE5B,KAHT;AAIE,UAAA,UAAU,EAAEkE,cAJd;AAKE,UAAA,cAAc,EAAE,MAAI,CAAClD,WALvB;AAME,UAAA,kBAAkB,EAAEa;AANtB,UARF,CADF;AAmBD,OApBA,CAlFH,eAwGE,gCAAC,gBAAD,OAxGF,eAyGE,gCAAC,mBAAD;AACE,QAAA,YAAY,EAAED,YADhB;AAEE,QAAA,kBAAkB,EAAEC,kBAFtB;AAGE,QAAA,OAAO,EAAEzB,OAHX;AAIE,QAAA,KAAK,EAAEJ,KAJT;AAKE,QAAA,cAAc,EAAE,KAAKgB,WALvB;AAME,QAAA,WAAW,EAAE6B,WANf;AAOE,QAAA,UAAU,EAAEF,iBAPd;AAQE,QAAA,aAAa,EAAEb,aARjB;AASE,QAAA,oBAAoB,EAAEsB,oBATxB;AAUE,QAAA,qBAAqB,EAAEC;AAVzB,QAzGF,EAsHGX,eAAe,iBACd,gCAAC,wBAAD;AACE,QAAA,QAAQ,EAAE1C,KAAK,CAACe,QADlB;AAEE,QAAA,QAAQ,EAAE,KAAKqD,cAFjB;AAGE,QAAA,WAAW,EAAEvB;AAHf,QAvHJ,CAnCF,CADF,CADF;AAsKD;;;EAxVyBwB,kBAAMC,S;;;iCAArBxE,M,eACQ;AACjB4B,EAAAA,OAAO,EAAE6C,sBAAUC,MAAV,CAAiBC,UADT;AAEjB3C,EAAAA,aAAa,EAAEyC,sBAAUC,MAFR;AAGjB7C,EAAAA,SAAS,EAAE4C,sBAAUG,MAHJ;AAIjB3C,EAAAA,sBAAsB,EAAEwC,sBAAUI,IAJjB;AAKjB3E,EAAAA,KAAK,EAAEuE,sBAAUC,MAAV,CAAiBC,UALP;AAMjBxE,EAAAA,QAAQ,EAAEsE,sBAAUI,IAAV,CAAeF,UANR;AAOjB7E,EAAAA,GAAG,EAAE2E,sBAAUG,MAPE;AAQjB9C,EAAAA,YAAY,EAAE2C,sBAAUK,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEN,sBAAUI,IAAV,CAAeF,UADQ;AAE5B,cAAQF,sBAAUI,IAAV,CAAeF;AAFK,GAAhB,CARG;AAYjB5C,EAAAA,kBAAkB,EAAE0C,sBAAUK,KAAV,CAAgB;AAClCC,IAAAA,GAAG,EAAEN,sBAAUI,IAAV,CAAeF,UADc;AAElC,cAAQF,sBAAUI,IAAV,CAAeF;AAFW,GAAhB;AAZH,C;;AA0VrB,IAAMK,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBf,IAAAA,gBAAgB,EAAE;AAChBgB,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADjB;AAEhBC,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAFpB,KADO;AAKzBE,IAAAA,IAAI,EAAE;AACJJ,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAD7B;AAEJC,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAFhC,KALmB;AASzBzB,IAAAA,MAAM,EAAE;AACNuB,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IADpB;AAENC,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC;AAFvB,KATiB;AAazBtB,IAAAA,WAAW,EAAE;AACXyB,MAAAA,KAAK,EAAE,MADI;AAEXF,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFzB;AAGXI,MAAAA,YAAY,EAAEP,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAHxB,KAbY;AAkBzBrB,IAAAA,KAAK,EAAE;AACLmB,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAD5B;AAELG,MAAAA,KAAK,EAAE,MAFF;AAGLE,MAAAA,QAAQ,EAAE;AAHL,KAlBkB;AAuBzBpE,IAAAA,MAAM,EAAE;AACN6D,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAD3B;AAENG,MAAAA,KAAK,EAAE;AAFD,KAvBiB;AA2BzB3B,IAAAA,YAAY,EAAE;AACZ2B,MAAAA,KAAK,EAAE,MADK;AAEZF,MAAAA,aAAa,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFxB;AAGZI,MAAAA,YAAY,EAAEP,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KA3BW;AAgCzBM,IAAAA,KAAK,EAAE;AACLF,MAAAA,YAAY,EAAE;AADT;AAhCkB,GAAZ;AAAA,CAAf;;eAqCe,2BAAgB,wBAAWR,MAAX,EAAmBhF,MAAnB,CAAhB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport {\n FeedbackConfig,\n InputContainer,\n layout,\n settings,\n} from '@pie-lib/config-ui';\nimport {\n countInAnswer,\n ensureNoExtraChoicesInAnswer,\n} from '@pie-lib/categorize';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { uid, withDragContext } from '@pie-lib/drag';\n\nimport Categories from './categories';\nimport AlternateResponses from './categories/alternateResponses';\nimport Choices from './choices';\nimport { Divider } from './buttons';\nimport { buildAlternateResponses, buildCategories } from './builder';\nimport Header from './header';\n\nconst { Panel, toggle, radio } = settings;\nconst { Provider: IdProvider } = uid;\n\nexport class Design extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uid: PropTypes.string,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || uid.generateId();\n }\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n const updatedModel = {\n ...model,\n ...props,\n };\n\n //Ensure that there are no extra choices in correctResponse, if the user has decided that only one choice may be used.\n updatedModel.correctResponse = ensureNoExtraChoicesInAnswer(\n updatedModel.correctResponse || [],\n updatedModel.choices\n );\n\n //clean categories\n updatedModel.categories = updatedModel.categories.map((c) => ({\n id: c.id,\n label: c.label,\n }));\n\n updatedModel.choices = updatedModel.choices.map((h) => ({\n id: h.id,\n content: h.content,\n categoryCount: h.categoryCount,\n }));\n\n onChange(updatedModel);\n };\n\n changeRationale = (rationale) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n rationale,\n });\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n teacherInstructions,\n });\n };\n\n changeFeedback = (feedback) => {\n this.updateModel({ feedback });\n };\n\n onAddAlternateResponse = () => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: [...(cr.alternateResponses || []), []],\n })),\n });\n };\n\n onPromptChanged = (prompt) => this.updateModel({ prompt });\n\n onRemoveAlternateResponse = (index) => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: (cr.alternateResponses || []).filter(\n (alt, altIndex) => altIndex !== index\n ),\n })),\n });\n };\n\n countChoiceInCorrectResponse = (choice) => {\n const { model } = this.props;\n\n return countInAnswer(choice.id, model.correctResponse);\n };\n\n render() {\n const {\n classes,\n className,\n model,\n imageSupport,\n uploadSoundSupport,\n configuration,\n onChange,\n onConfigurationChanged,\n } = this.props;\n const {\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n feedback = {},\n prompt = {},\n spellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n rationaleEnabled,\n feedbackEnabled,\n spellCheckEnabled,\n errors\n } = model || {};\n\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n const config = model.config || {};\n config.choices = config.choices || { label: '', columns: 2 };\n\n const categories = buildCategories(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const alternateResponses = buildAlternateResponses(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const choices = model.choices.map((c) => {\n c.correctResponseCount = this.countChoiceInCorrectResponse(c);\n return c;\n });\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n return (\n <IdProvider value={this.uid}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChange}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric']),\n },\n }}\n />\n }\n >\n <div className={classNames(classes.design, className)}>\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.rationale || ''}\n onChange={this.changeRationale}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n <Categories\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n categories={categories || []}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Responses\"\n buttonLabel=\"ADD AN ALTERNATE RESPONSE\"\n onAdd={this.onAddAlternateResponse}\n />\n\n {alternateResponses.map((categoriesList, index) => {\n return (\n <React.Fragment key={index}>\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Response\"\n buttonLabel=\"REMOVE ALTERNATE RESPONSE\"\n onAdd={() => this.onRemoveAlternateResponse(index)}\n />\n\n <AlternateResponses\n altIndex={index}\n imageSupport={imageSupport}\n model={model}\n categories={categoriesList}\n onModelChanged={this.updateModel}\n uploadSoundSupport={uploadSoundSupport}\n />\n </React.Fragment>\n );\n })}\n\n <Divider />\n <Choices\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n choices={choices}\n model={model}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n </layout.ConfigLayout>\n </IdProvider>\n );\n }\n}\n\nconst styles = (theme) => ({\n alternatesHeader: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n text: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n design: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n inputHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n input: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n maxWidth: '600px',\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n title: {\n marginBottom: '30px',\n },\n});\n\nexport default withDragContext(withStyles(styles)(Design));\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/design/index.jsx"],"names":["Panel","settings","toggle","radio","IdProvider","uid","Provider","Design","props","model","onChange","updatedModel","correctResponse","choices","categories","map","c","id","label","h","content","categoryCount","rationale","teacherInstructions","feedback","updateModel","cr","alternateResponses","prompt","index","filter","alt","altIndex","choice","generateId","classes","className","imageSupport","uploadSoundSupport","configuration","onConfigurationChanged","partialScoring","lockChoiceOrder","studentInstructions","scoringType","spellCheck","maxImageWidth","maxImageHeight","withRubric","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","feedbackEnabled","spellCheckEnabled","errors","rubricEnabled","toolbarOpts","toolbarEditorPosition","position","config","columns","correctResponseCount","countChoiceInCorrectResponse","defaultImageMaxWidth","defaultImageMaxHeight","Settings","Properties","studentInstructionsEnabled","design","promptHolder","onPromptChanged","language","inputHolder","input","changeTeacherInstructions","changeRationale","alternatesHeader","onAddAlternateResponse","categoriesList","onRemoveAlternateResponse","changeFeedback","React","Component","PropTypes","object","isRequired","string","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","text","width","marginBottom","maxWidth","title"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport {\n FeedbackConfig,\n InputContainer,\n layout,\n settings,\n} from '@pie-lib/config-ui';\nimport {\n countInAnswer,\n ensureNoExtraChoicesInAnswer,\n} from '@pie-lib/categorize';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { uid, withDragContext } from '@pie-lib/drag';\n\nimport Categories from './categories';\nimport AlternateResponses from './categories/alternateResponses';\nimport Choices from './choices';\nimport { Divider } from './buttons';\nimport { buildAlternateResponses, buildCategories } from './builder';\nimport Header from './header';\n\nconst { Panel, toggle, radio } = settings;\nconst { Provider: IdProvider } = uid;\n\nexport class Design extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uid: PropTypes.string,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || uid.generateId();\n }\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n const updatedModel = {\n ...model,\n ...props,\n };\n\n //Ensure that there are no extra choices in correctResponse, if the user has decided that only one choice may be used.\n updatedModel.correctResponse = ensureNoExtraChoicesInAnswer(\n updatedModel.correctResponse || [],\n updatedModel.choices\n );\n\n //clean categories\n updatedModel.categories = updatedModel.categories.map((c) => ({\n id: c.id,\n label: c.label,\n }));\n\n updatedModel.choices = updatedModel.choices.map((h) => ({\n id: h.id,\n content: h.content,\n categoryCount: h.categoryCount,\n }));\n\n onChange(updatedModel);\n };\n\n changeRationale = (rationale) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n rationale,\n });\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n teacherInstructions,\n });\n };\n\n changeFeedback = (feedback) => {\n this.updateModel({ feedback });\n };\n\n onAddAlternateResponse = () => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: [...(cr.alternateResponses || []), []],\n })),\n });\n };\n\n onPromptChanged = (prompt) => this.updateModel({ prompt });\n\n onRemoveAlternateResponse = (index) => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: (cr.alternateResponses || []).filter(\n (alt, altIndex) => altIndex !== index\n ),\n })),\n });\n };\n\n countChoiceInCorrectResponse = (choice) => {\n const { model } = this.props;\n\n return countInAnswer(choice.id, model.correctResponse);\n };\n\n render() {\n const {\n classes,\n className,\n model,\n imageSupport,\n uploadSoundSupport,\n configuration,\n onChange,\n onConfigurationChanged,\n } = this.props;\n const {\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n feedback = {},\n prompt = {},\n spellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n rationaleEnabled,\n feedbackEnabled,\n spellCheckEnabled,\n errors,\n rubricEnabled\n } = model || {};\n\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n const config = model.config || {};\n config.choices = config.choices || { label: '', columns: 2 };\n\n const categories = buildCategories(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const alternateResponses = buildAlternateResponses(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const choices = model.choices.map((c) => {\n c.correctResponseCount = this.countChoiceInCorrectResponse(c);\n return c;\n });\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n return (\n <IdProvider value={this.uid}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChange}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric.settings && toggle(withRubric.label)\n },\n }}\n />\n }\n >\n <div className={classNames(classes.design, className)}>\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.rationale || ''}\n onChange={this.changeRationale}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <Categories\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n categories={categories || []}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Responses\"\n buttonLabel=\"ADD AN ALTERNATE RESPONSE\"\n onAdd={this.onAddAlternateResponse}\n />\n\n {alternateResponses.map((categoriesList, index) => {\n return (\n <React.Fragment key={index}>\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Response\"\n buttonLabel=\"REMOVE ALTERNATE RESPONSE\"\n onAdd={() => this.onRemoveAlternateResponse(index)}\n />\n\n <AlternateResponses\n altIndex={index}\n imageSupport={imageSupport}\n model={model}\n categories={categoriesList}\n onModelChanged={this.updateModel}\n uploadSoundSupport={uploadSoundSupport}\n />\n </React.Fragment>\n );\n })}\n\n <Divider />\n <Choices\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n choices={choices}\n model={model}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n </layout.ConfigLayout>\n </IdProvider>\n );\n }\n}\n\nconst styles = (theme) => ({\n alternatesHeader: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n text: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n design: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n inputHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n input: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n maxWidth: '600px',\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n title: {\n marginBottom: '30px',\n },\n});\n\nexport default withDragContext(withStyles(styles)(Design));\n"],"file":"index.js"}
@@ -81,7 +81,12 @@ var InputHeader = /*#__PURE__*/function (_React$Component) {
81
81
  error: error,
82
82
  maxImageWidth: maxImageWidth,
83
83
  maxImageHeight: maxImageHeight,
84
- uploadSoundSupport: uploadSoundSupport
84
+ uploadSoundSupport: uploadSoundSupport,
85
+ languageCharactersProps: [{
86
+ language: 'spanish'
87
+ }, {
88
+ language: 'special'
89
+ }]
85
90
  }));
86
91
  }
87
92
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/design/input-header.jsx"],"names":["InputHeader","props","onChange","label","classes","className","imageSupport","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","choicePlugins","audio","disabled","video","inputHeader","editor","React","Component","PropTypes","object","isRequired","string","func","onDelete","shape","add","styles","theme","flex","paddingBottom","spacing","unit","iconButtonRoot","width","height","display","justifyContent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\n\nexport class InputHeader extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n };\n\n static defaultProps = {};\n render() {\n const { onChange, label, classes, className, imageSupport, toolbarOpts, spellCheck, error, maxImageWidth, maxImageHeight, uploadSoundSupport } = this.props;\n const choicePlugins = {\n audio: { disabled: true },\n video: { disabled: true }\n };\n\n return (\n <div className={classNames(classes.inputHeader, className)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n label={'label'}\n markup={label}\n onChange={onChange}\n className={classes.editor}\n pluginProps={choicePlugins}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </div>\n );\n }\n}\nconst styles = theme => ({\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto'\n },\n inputHeader: {\n display: 'flex',\n justifyContent: 'space-between'\n }\n});\nexport default withStyles(styles)(InputHeader);\n"],"file":"input-header.js"}
1
+ {"version":3,"sources":["../../src/design/input-header.jsx"],"names":["InputHeader","props","onChange","label","classes","className","imageSupport","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","choicePlugins","audio","disabled","video","inputHeader","editor","language","React","Component","PropTypes","object","isRequired","string","func","onDelete","shape","add","styles","theme","flex","paddingBottom","spacing","unit","iconButtonRoot","width","height","display","justifyContent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\n\nexport class InputHeader extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n };\n\n static defaultProps = {};\n render() {\n const { onChange, label, classes, className, imageSupport, toolbarOpts, spellCheck, error, maxImageWidth, maxImageHeight, uploadSoundSupport } = this.props;\n const choicePlugins = {\n audio: { disabled: true },\n video: { disabled: true }\n };\n\n return (\n <div className={classNames(classes.inputHeader, className)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n label={'label'}\n markup={label}\n onChange={onChange}\n className={classes.editor}\n pluginProps={choicePlugins}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n );\n }\n}\nconst styles = theme => ({\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto'\n },\n inputHeader: {\n display: 'flex',\n justifyContent: 'space-between'\n }\n});\nexport default withStyles(styles)(InputHeader);\n"],"file":"input-header.js"}
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "main": "lib/index.js",
5
5
  "module": "src/index.js",
6
- "version": "6.1.9",
6
+ "version": "6.2.0",
7
7
  "description": "",
8
8
  "scripts": {},
9
9
  "author": "pie framework developers",
@@ -13,7 +13,7 @@
13
13
  "@material-ui/icons": "^3.0.1",
14
14
  "@pie-framework/pie-configure-events": "^1.3.0",
15
15
  "@pie-lib/categorize": "^0.6.24",
16
- "@pie-lib/config-ui": "^11.0.19",
16
+ "@pie-lib/config-ui": "^11.0.20",
17
17
  "@pie-lib/drag": "^1.1.52",
18
18
  "@pie-lib/editable-html": "^9.2.2",
19
19
  "@pie-lib/render-ui": "^4.13.6",
@@ -185,9 +185,24 @@
185
185
  "title": "categoryLabel"
186
186
  }
187
187
  }
188
- }
189
- },
190
- "showPrompt": {
188
+ },
189
+ "withRubric": {
190
+ "title": "ConfigureProp",
191
+ "type": "object",
192
+ "properties": {
193
+ "settings": {
194
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
195
+ "type": "boolean",
196
+ "title": "settings"
197
+ },
198
+ "label": {
199
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
200
+ "type": "string",
201
+ "title": "label"
202
+ }
203
+ }
204
+ },
205
+ "showPrompt": {
191
206
  "description": "Determines whether prompt field will be displayed or not",
192
207
  "default": true,
193
208
  "type": "boolean",
@@ -261,4 +276,4 @@
261
276
  }
262
277
  },
263
278
  "$schema": "http://json-schema.org/draft-07/schema#"
264
- }
279
+ }
@@ -142,6 +142,18 @@ Indicates the max dimension for images in row labels
142
142
 
143
143
  Indicates the max dimension for images in category labels
144
144
 
145
+ # `withRubric` (object)
146
+
147
+ Properties of the `withRubric` object:
148
+
149
+ ## `settings` (boolean)
150
+
151
+ Indicates if the item has to be displayed in the Settings Panel
152
+
153
+ ## `label` (string)
154
+
155
+ Indicates the label for the item that has to be displayed in the Settings Panel
156
+
145
157
  # `showPrompt` (boolean)
146
158
 
147
159
  Determines whether prompt field will be displayed or not
@@ -339,4 +339,5 @@ exports.model = (id, element) => ({
339
339
  teacherInstructionsEnabled: true,
340
340
  studentInstructionsEnabled: true,
341
341
  toolbarEditorPosition: 'bottom',
342
+ rubricEnabled: false
342
343
  });
@@ -403,6 +403,11 @@
403
403
  "type": "string",
404
404
  "title": "toolbarEditorPosition"
405
405
  },
406
+ "rubricEnabled": {
407
+ "description": "Indicates if Rubric is enabled",
408
+ "type": "boolean",
409
+ "title": "rubricEnabled"
410
+ },
406
411
  "id": {
407
412
  "description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
408
413
  "type": "string",
@@ -422,6 +427,7 @@
422
427
  "id",
423
428
  "prompt",
424
429
  "rationaleEnabled",
430
+ "rubricEnabled",
425
431
  "spellCheckEnabled",
426
432
  "studentInstructionsEnabled",
427
433
  "teacherInstructionsEnabled"
@@ -177,6 +177,10 @@ This element must be one of the following enum values:
177
177
 
178
178
  Default: `": 'bottom'"`
179
179
 
180
+ # `rubricEnabled` (boolean, required)
181
+
182
+ Indicates if Rubric is enabled
183
+
180
184
  # `id` (string, required)
181
185
 
182
186
  Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "7.1.9",
7
+ "version": "7.2.0",
8
8
  "description": "",
9
9
  "author": "pie framework developers",
10
10
  "license": "ISC",
@@ -24,7 +24,7 @@
24
24
  "react-dnd": "^9.3.2",
25
25
  "react-dom": "^16.8.1"
26
26
  },
27
- "gitHead": "f60d1edac928da4682a9789000e3c8cf464348c0",
27
+ "gitHead": "2d74cf6e1f9ad7921efc46779c0e5028d787b9d3",
28
28
  "scripts": {
29
29
  "postpublish": "../../scripts/postpublish"
30
30
  },