@pie-element/select-text 6.5.3-next.280 → 6.5.3-next.283

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/lib/main.js CHANGED
@@ -71,6 +71,15 @@ var Main = /*#__PURE__*/function (_React$Component) {
71
71
  return t.correct;
72
72
  });
73
73
  });
74
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateText", function () {
75
+ var model = _this.props.model;
76
+
77
+ var oldModel = _objectSpread({}, model);
78
+
79
+ var newText = (0, _textSelect.prepareText)(oldModel.text);
80
+ model.unpreparedText = oldModel.text;
81
+ model.text = newText;
82
+ });
74
83
  _this.state = {
75
84
  showCorrectAnswer: false
76
85
  };
@@ -83,15 +92,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
83
92
  this.setState({
84
93
  showCorrectAnswer: false
85
94
  });
86
- var model = this.props.model;
87
-
88
- if (!model.unpreparedText) {
89
- var oldModel = _objectSpread({}, model);
90
-
91
- var newText = (0, _textSelect.prepareText)(oldModel.text);
92
- model.unpreparedText = oldModel.text;
93
- model.text = newText;
94
- }
95
95
  }
96
96
  }, {
97
97
  key: "render",
@@ -102,6 +102,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
102
102
  onSelectionChange = _this$props.onSelectionChange,
103
103
  classes = _this$props.classes;
104
104
  var showCorrectAnswer = this.state.showCorrectAnswer;
105
+
106
+ if (!model.unpreparedText) {
107
+ this.updateText();
108
+ }
109
+
105
110
  var selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
106
111
  log('[render] selectedTokens:', selectedTokens);
107
112
  return /*#__PURE__*/_react["default"].createElement("div", {
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","unpreparedText","oldModel","newText","text","classes","selectedTokens","correctAnswer","mainContainer","teacherInstructions","hidden","visible","collapsible","__html","prompt","disabled","incorrect","toggleShowCorrect","textSelect","highlightChoices","maxSelections","rationale","correctness","feedback","React","Component","StyledMain","theme","paddingLeft","spacing","unit","paddingRight","paddingBottom","color","backgroundColor","background","marginBottom","marginTop","whiteSpace","verticalAlign","paddingTop","Stateful","nextProps","change"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, prepareText } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired\n};\n\nexport class Main extends React.Component {\n static propTypes = { ...Types, classes: PropTypes.object.isRequired };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: false\n };\n }\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({ showCorrectAnswer: false });\n\n const { model } = this.props;\n\n if(!model.unpreparedText) {\n const oldModel = {\n ...model\n };\n const newText = prepareText(oldModel.text);\n\n model.unpreparedText = oldModel.text;\n model.text = newText;\n }\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.props;\n return model.tokens.filter(t => t.correct);\n };\n\n render() {\n const { model, session, onSelectionChange, classes } = this.props;\n const { showCorrectAnswer } = this.state;\n\n const selectedTokens = showCorrectAnswer\n ? this.correctAnswer()\n : session.selectedTokens;\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <div className={classes.mainContainer}>\n {\n model.teacherInstructions && hasText(model.teacherInstructions) && (\n <React.Fragment>\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <div dangerouslySetInnerHTML={{ __html: model.teacherInstructions }}/>\n </Collapsible>\n <br />\n </React.Fragment>\n )\n }\n <div\n className={classes.prompt}\n dangerouslySetInnerHTML={{ __html: model.prompt }}\n />\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={onSelectionChange}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n />\n {\n model.rationale && hasText(model.rationale) && (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n >\n <div dangerouslySetInnerHTML={{ __html: model.rationale }}/>\n </Collapsible>\n )\n }\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </div>\n );\n }\n}\n\nconst StyledMain = withStyles(theme => ({\n mainContainer: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.background()\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit,\n whiteSpace: 'normal'\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit\n },\n collapsible: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 3\n }\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = selectedTokens => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return (\n <StyledMain\n model={model}\n session={session}\n onSelectionChange={this.change}\n />\n );\n }\n}\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","oldModel","newText","text","unpreparedText","classes","updateText","selectedTokens","correctAnswer","mainContainer","teacherInstructions","hidden","visible","collapsible","__html","prompt","disabled","incorrect","toggleShowCorrect","textSelect","highlightChoices","maxSelections","rationale","correctness","feedback","React","Component","StyledMain","theme","paddingLeft","spacing","unit","paddingRight","paddingBottom","color","backgroundColor","background","marginBottom","marginTop","whiteSpace","verticalAlign","paddingTop","Stateful","nextProps","change"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,qBAAN,CAAZ;AAEA,IAAMC,KAAK,GAAG;AACZC,EAAAA,KAAK,EAAEC,sBAAUC,MADL;AAEZC,EAAAA,OAAO,EAAEF,sBAAUC,MAFP;AAGZE,EAAAA,iBAAiB,EAAEH,sBAAUI,IAAV,CAAeC;AAHtB,CAAd;;IAMaC,I;;;;;AAKX,gBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,0GAYC,YAAM;AACxB,YAAKC,QAAL,CAAc;AAAEC,QAAAA,iBAAiB,EAAE,CAAC,MAAKC,KAAL,CAAWD;AAAjC,OAAd;AACD,KAdkB;AAAA,sGAgBH,YAAM;AACpB,UAAQV,KAAR,GAAkB,MAAKQ,KAAvB,CAAQR,KAAR;AACA,aAAOA,KAAK,CAACY,MAAN,CAAaC,MAAb,CAAoB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,OAAN;AAAA,OAArB,CAAP;AACD,KAnBkB;AAAA,mGAqBN,YAAM;AACjB,UAAQf,KAAR,GAAkB,MAAKQ,KAAvB,CAAQR,KAAR;;AAEA,UAAMgB,QAAQ,qBACThB,KADS,CAAd;;AAGA,UAAMiB,OAAO,GAAG,6BAAYD,QAAQ,CAACE,IAArB,CAAhB;AAEAlB,MAAAA,KAAK,CAACmB,cAAN,GAAuBH,QAAQ,CAACE,IAAhC;AACAlB,MAAAA,KAAK,CAACkB,IAAN,GAAaD,OAAb;AACD,KA/BkB;AAGjB,UAAKN,KAAL,GAAa;AACXD,MAAAA,iBAAiB,EAAE;AADR,KAAb;AAHiB;AAMlB;;;;WAED,4CAAmC;AACjC,WAAKD,QAAL,CAAc;AAAEC,QAAAA,iBAAiB,EAAE;AAArB,OAAd;AACD;;;WAuBD,kBAAS;AACP,wBAAuD,KAAKF,KAA5D;AAAA,UAAQR,KAAR,eAAQA,KAAR;AAAA,UAAeG,OAAf,eAAeA,OAAf;AAAA,UAAwBC,iBAAxB,eAAwBA,iBAAxB;AAAA,UAA2CgB,OAA3C,eAA2CA,OAA3C;AACA,UAAQV,iBAAR,GAA8B,KAAKC,KAAnC,CAAQD,iBAAR;;AAEA,UAAG,CAACV,KAAK,CAACmB,cAAV,EAA0B;AACxB,aAAKE,UAAL;AACD;;AAED,UAAMC,cAAc,GAAGZ,iBAAiB,GACpC,KAAKa,aAAL,EADoC,GAEpCpB,OAAO,CAACmB,cAFZ;AAIAxB,MAAAA,GAAG,CAAC,0BAAD,EAA6BwB,cAA7B,CAAH;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEF,OAAO,CAACI;AAAxB,SAEIxB,KAAK,CAACyB,mBAAN,IAA6B,uBAAQzB,KAAK,CAACyB,mBAAd,CAA7B,iBACE,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,qBAAD;AACE,QAAA,MAAM,EAAE;AAAEC,UAAAA,MAAM,EAAE,2BAAV;AAAuCC,UAAAA,OAAO,EAAE;AAAhD,SADV;AAEE,QAAA,SAAS,EAAEP,OAAO,CAACQ;AAFrB,sBAIE;AAAK,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAE7B,KAAK,CAACyB;AAAhB;AAA9B,QAJF,CADF,eAOE,2CAPF,CAHN,eAcE;AACE,QAAA,SAAS,EAAEL,OAAO,CAACU,MADrB;AAEE,QAAA,uBAAuB,EAAE;AAAED,UAAAA,MAAM,EAAE7B,KAAK,CAAC8B;AAAhB;AAF3B,QAdF,eAkBE,gCAAC,+BAAD;AACE,QAAA,IAAI,EAAE9B,KAAK,CAAC+B,QAAN,IAAkB/B,KAAK,CAACgC,SADhC;AAEE,QAAA,OAAO,EAAEtB,iBAFX;AAGE,QAAA,QAAQ,EAAE,KAAKuB;AAHjB,QAlBF,eAuBE,gCAAC,sBAAD;AACE,QAAA,SAAS,EAAEb,OAAO,CAACc,UADrB;AAEE,QAAA,QAAQ,EAAElC,KAAK,CAAC+B,QAFlB;AAGE,QAAA,IAAI,EAAE/B,KAAK,CAACkB,IAHd;AAIE,QAAA,MAAM,EAAElB,KAAK,CAACY,MAJhB;AAKE,QAAA,cAAc,EAAEU,cALlB;AAME,QAAA,QAAQ,EAAElB,iBANZ;AAOE,QAAA,gBAAgB,EAAEJ,KAAK,CAACmC,gBAP1B;AAQE,QAAA,iBAAiB,EAAEnC,KAAK,CAACoC;AAR3B,QAvBF,EAkCIpC,KAAK,CAACqC,SAAN,IAAmB,uBAAQrC,KAAK,CAACqC,SAAd,CAAnB,iBACE,gCAAC,qBAAD;AACE,QAAA,MAAM,EAAE;AAAEX,UAAAA,MAAM,EAAE,gBAAV;AAA4BC,UAAAA,OAAO,EAAE;AAArC,SADV;AAEE,QAAA,SAAS,EAAEP,OAAO,CAACQ;AAFrB,sBAIE;AAAK,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAE7B,KAAK,CAACqC;AAAhB;AAA9B,QAJF,CAnCN,EA2CGrC,KAAK,CAACsC,WAAN,IAAqBtC,KAAK,CAACuC,QAA3B,IAAuC,CAAC7B,iBAAxC,iBACC,gCAAC,kBAAD;AAAU,QAAA,WAAW,EAAEV,KAAK,CAACsC,WAA7B;AAA0C,QAAA,QAAQ,EAAEtC,KAAK,CAACuC;AAA1D,QA5CJ,CADF;AAiDD;;;EArGuBC,kBAAMC,S;;;iCAAnBlC,I,+CACaR,K;AAAOqB,EAAAA,OAAO,EAAEnB,sBAAUC,MAAV,CAAiBI;;iCAD9CC,I,kBAGW,E;AAqGxB,IAAMmC,UAAU,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACtCnB,IAAAA,aAAa,EAAE;AACboB,MAAAA,WAAW,EAAED,KAAK,CAACE,OAAN,CAAcC,IADd;AAEbC,MAAAA,YAAY,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAFf;AAGbE,MAAAA,aAAa,EAAEL,KAAK,CAACE,OAAN,CAAcC,IAHhB;AAIbG,MAAAA,KAAK,EAAEA,gBAAM/B,IAAN,EAJM;AAKbgC,MAAAA,eAAe,EAAED,gBAAME,UAAN;AALJ,KADuB;AAQtCjB,IAAAA,UAAU,EAAE;AACVkB,MAAAA,YAAY,EAAET,KAAK,CAACE,OAAN,CAAcC,IADlB;AAEVO,MAAAA,SAAS,EAAEV,KAAK,CAACE,OAAN,CAAcC,IAFf;AAGVQ,MAAAA,UAAU,EAAE;AAHF,KAR0B;AAatCxB,IAAAA,MAAM,EAAE;AACNyB,MAAAA,aAAa,EAAE,QADT;AAENH,MAAAA,YAAY,EAAET,KAAK,CAACE,OAAN,CAAcC;AAFtB,KAb8B;AAiBtClB,IAAAA,WAAW,EAAE;AACX4B,MAAAA,UAAU,EAAEb,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADtB;AAEXE,MAAAA,aAAa,EAAEL,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAFzB;AAjByB,GAAL;AAAA,CAAhB,EAqBfvC,IArBe,CAAnB;;IAuBqBkD,Q;;;;;AAGnB,oBAAYjD,KAAZ,EAAmB;AAAA;;AAAA;AACjB,gCAAMA,KAAN;AADiB,gGAYV,UAAAc,cAAc,EAAI;AACzB,UAAMnB,OAAO,mCAAQ,OAAKQ,KAAL,CAAWR,OAAnB;AAA4BmB,QAAAA,cAAc,EAAdA;AAA5B,QAAb;;AACA,aAAKb,QAAL,CAAc;AAAEN,QAAAA,OAAO,EAAPA;AAAF,OAAd,EAA2B,YAAM;AAC/B,eAAKK,KAAL,CAAWJ,iBAAX,CAA6B,OAAKO,KAAL,CAAWR,OAAX,CAAmBmB,cAAhD;AACD,OAFD;AAGD,KAjBkB;AAEjB,WAAKX,KAAL,GAAa;AACXX,MAAAA,KAAK,EAAEQ,KAAK,CAACR,KADF;AAEXG,MAAAA,OAAO,EAAEK,KAAK,CAACL;AAFJ,KAAb;AAFiB;AAMlB;;;;WAED,0CAAiCuD,SAAjC,EAA4C;AAC1C,WAAKjD,QAAL,CAAc;AAAET,QAAAA,KAAK,EAAE0D,SAAS,CAAC1D,KAAnB;AAA0BG,QAAAA,OAAO,EAAEuD,SAAS,CAACvD;AAA7C,OAAd;AACD;;;WASD,kBAAS;AACP,wBAA2B,KAAKQ,KAAhC;AAAA,UAAQX,KAAR,eAAQA,KAAR;AAAA,UAAeG,OAAf,eAAeA,OAAf;AACA,0BACE,gCAAC,UAAD;AACE,QAAA,KAAK,EAAEH,KADT;AAEE,QAAA,OAAO,EAAEG,OAFX;AAGE,QAAA,iBAAiB,EAAE,KAAKwD;AAH1B,QADF;AAOD;;;EA/BmCnB,kBAAMC,S;;;iCAAvBgB,Q,eACA1D,K","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, prepareText } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired\n};\n\nexport class Main extends React.Component {\n static propTypes = { ...Types, classes: PropTypes.object.isRequired };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: false\n };\n }\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({ showCorrectAnswer: false });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.props;\n return model.tokens.filter(t => t.correct);\n };\n\n updateText = () => {\n const { model } = this.props;\n\n const oldModel = {\n ...model\n };\n const newText = prepareText(oldModel.text);\n\n model.unpreparedText = oldModel.text;\n model.text = newText;\n };\n\n render() {\n const { model, session, onSelectionChange, classes } = this.props;\n const { showCorrectAnswer } = this.state;\n\n if(!model.unpreparedText) {\n this.updateText();\n }\n\n const selectedTokens = showCorrectAnswer\n ? this.correctAnswer()\n : session.selectedTokens;\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <div className={classes.mainContainer}>\n {\n model.teacherInstructions && hasText(model.teacherInstructions) && (\n <React.Fragment>\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <div dangerouslySetInnerHTML={{ __html: model.teacherInstructions }}/>\n </Collapsible>\n <br />\n </React.Fragment>\n )\n }\n <div\n className={classes.prompt}\n dangerouslySetInnerHTML={{ __html: model.prompt }}\n />\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={onSelectionChange}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n />\n {\n model.rationale && hasText(model.rationale) && (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n >\n <div dangerouslySetInnerHTML={{ __html: model.rationale }}/>\n </Collapsible>\n )\n }\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </div>\n );\n }\n}\n\nconst StyledMain = withStyles(theme => ({\n mainContainer: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.background()\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit,\n whiteSpace: 'normal'\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit\n },\n collapsible: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 3\n }\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = selectedTokens => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return (\n <StyledMain\n model={model}\n session={session}\n onSelectionChange={this.change}\n />\n );\n }\n}\n"],"file":"main.js"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "6.5.3-next.280+3456b0441",
7
+ "version": "6.5.3-next.283+8413804ad",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "author": "",
21
21
  "license": "ISC",
22
- "gitHead": "3456b04417d1d5c0db3eacb1dc6d14f440ea656b",
22
+ "gitHead": "8413804ad1506050d2b04e88b372c9a618506365",
23
23
  "scripts": {
24
24
  "postpublish": "../../scripts/postpublish"
25
25
  },