@pie-element/select-text 6.5.26-next.2 → 6.6.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,40 @@
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.6.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text@6.5.27...@pie-element/select-text@6.6.0) (2022-05-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * added getters for the session PD-1668 ([de8a754](https://github.com/pie-framework/pie-elements/commit/de8a754f4580370b127257c435e43db405b4bdc4))
12
+ * **select-text:** print - fix console warning PD-1657 ([1ebd5a4](https://github.com/pie-framework/pie-elements/commit/1ebd5a43612277e5d5273f598f3599de95b718f3))
13
+ * **select-text:** rationale should not be displayed in student mode DNA-13619 ([0633a11](https://github.com/pie-framework/pie-elements/commit/0633a1169fbfc97035a54851273f05dfdd29e68d))
14
+ * Fix select-text tokens. ([9da07f5](https://github.com/pie-framework/pie-elements/commit/9da07f51821dfcfe3a029de3cf018bcd5d4ebfd2))
15
+ * in controller we don't have access to the model (text & tokens) parser functions, so I have added 2 props (oldStart and oldEnd) to compare the start & and of the selected tokens (which are parsed) with the correct tokens (which are not parsed). Also, for the createCorrectSession to work, we need to make sure that when session is set, we have the correct start & end for the tokens (that come unparsed from controller). ([d6670b5](https://github.com/pie-framework/pie-elements/commit/d6670b53185acedd3be2dfc37b8f3616c9ce27f3))
16
+ * multiple tokens containing the same text (wrong token index) ([ac9d3a7](https://github.com/pie-framework/pie-elements/commit/ac9d3a71d35074d74ad7f2ec8c433555f8e8c186))
17
+ * multiple tokens containing the same text + html ascii codes ([bb73710](https://github.com/pie-framework/pie-elements/commit/bb73710d68394a33447191e5d56dc1b7797bb0ed))
18
+ * remove br parser and allowed div elements inside text ([2dfca2f](https://github.com/pie-framework/pie-elements/commit/2dfca2fb17841e8f25e0f0cb1c02a8d9fa4a9bb8))
19
+
20
+
21
+ ### Features
22
+
23
+ * **select-text:** added configurable validation ([fcea834](https://github.com/pie-framework/pie-elements/commit/fcea834fc7d9d19dbd3bc65d10ef3ecbf2618097))
24
+ * **select-text:** added configurable validation PD-1700 ([467f4a6](https://github.com/pie-framework/pie-elements/commit/467f4a640e560e26c932ce067b1b09ffe444b290))
25
+ * **select-text:** implement print PD-1526 ([73348aa](https://github.com/pie-framework/pie-elements/commit/73348aa3b4b021e7d23a8a79e36c00bafb27dfb4))
26
+ * **select-text:** ui/ux validation PD-1701 ([3ae2723](https://github.com/pie-framework/pie-elements/commit/3ae27238a70124dcf2b544f0f1c8ae93ddeb0f6e))
27
+
28
+
29
+
30
+
31
+
32
+ ## [6.5.27](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text@6.5.26...@pie-element/select-text@6.5.27) (2022-04-12)
33
+
34
+ **Note:** Version bump only for package @pie-element/select-text
35
+
36
+
37
+
38
+
39
+
6
40
  ## [6.5.26](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text@6.5.25...@pie-element/select-text@6.5.26) (2022-03-28)
7
41
 
8
42
  **Note:** Version bump only for package @pie-element/select-text
package/LICENSE.md ADDED
@@ -0,0 +1,5 @@
1
+ Copyright 2019 CoreSpring Inc
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
+
5
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -3,6 +3,34 @@
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
+ # [5.3.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-configure@5.2.23...@pie-element/select-text-configure@5.3.0) (2022-05-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Fix select-text tokens. ([9da07f5](https://github.com/pie-framework/pie-elements/commit/9da07f51821dfcfe3a029de3cf018bcd5d4ebfd2))
12
+ * in controller we don't have access to the model (text & tokens) parser functions, so I have added 2 props (oldStart and oldEnd) to compare the start & and of the selected tokens (which are parsed) with the correct tokens (which are not parsed). Also, for the createCorrectSession to work, we need to make sure that when session is set, we have the correct start & end for the tokens (that come unparsed from controller). ([d6670b5](https://github.com/pie-framework/pie-elements/commit/d6670b53185acedd3be2dfc37b8f3616c9ce27f3))
13
+ * multiple tokens containing the same text (wrong token index) ([ac9d3a7](https://github.com/pie-framework/pie-elements/commit/ac9d3a71d35074d74ad7f2ec8c433555f8e8c186))
14
+ * multiple tokens containing the same text + html ascii codes ([bb73710](https://github.com/pie-framework/pie-elements/commit/bb73710d68394a33447191e5d56dc1b7797bb0ed))
15
+ * remove br parser and allowed div elements inside text ([2dfca2f](https://github.com/pie-framework/pie-elements/commit/2dfca2fb17841e8f25e0f0cb1c02a8d9fa4a9bb8))
16
+
17
+
18
+ ### Features
19
+
20
+ * **select-text:** ui/ux validation PD-1701 ([3ae2723](https://github.com/pie-framework/pie-elements/commit/3ae27238a70124dcf2b544f0f1c8ae93ddeb0f6e))
21
+
22
+
23
+
24
+
25
+
26
+ ## [5.2.23](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-configure@5.2.22...@pie-element/select-text-configure@5.2.23) (2022-04-12)
27
+
28
+ **Note:** Version bump only for package @pie-element/select-text-configure
29
+
30
+
31
+
32
+
33
+
6
34
  ## [5.2.22](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-configure@5.2.21...@pie-element/select-text-configure@5.2.22) (2022-03-28)
7
35
 
8
36
  **Note:** Version bump only for package @pie-element/select-text-configure
@@ -91,8 +91,9 @@ var _default = {
91
91
  mode: {
92
92
  settings: true,
93
93
  label: 'Mode'
94
- }
94
+ },
95
+ minTokens: 2
95
96
  }
96
97
  };
97
98
  exports["default"] = _default;
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0Q29uZmlndXJhdGlvbi5qcyJdLCJuYW1lcyI6WyJ0b2tlbnMiLCJ0ZXh0Iiwic3RhcnQiLCJlbmQiLCJtb2RlbCIsImhpZ2hsaWdodENob2ljZXMiLCJwYXJ0aWFsU2NvcmluZyIsIm1heFNlbGVjdGlvbnMiLCJtb2RlIiwicHJvbXB0Iiwic2NvcmluZ1R5cGUiLCJmZWVkYmFja0VuYWJsZWQiLCJyYXRpb25hbGVFbmFibGVkIiwicHJvbXB0RW5hYmxlZCIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwic3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQiLCJ0b29sYmFyRWRpdG9yUG9zaXRpb24iLCJjb25maWd1cmF0aW9uIiwic2VsZWN0aW9uQ291bnQiLCJzZXR0aW5ncyIsImxhYmVsIiwiY29ycmVjdEFuc3dlciIsInNlbGVjdGlvbnMiLCJyYXRpb25hbGUiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9ucyIsImZlZWRiYWNrIiwic3BlbGxDaGVjayIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLFNBQU0sQ0FDbkI7QUFDRUMsSUFBQUEsSUFBSSxFQUFFLEVBRFI7QUFFRUMsSUFBQUEsS0FBSyxFQUFFLENBRlQ7QUFHRUMsSUFBQUEsR0FBRyxFQUFFO0FBSFAsR0FEbUIsQ0FBTjtBQUFBLENBQWY7O2VBUWU7QUFDYkMsRUFBQUEsS0FBSyxFQUFFO0FBQ0xDLElBQUFBLGdCQUFnQixFQUFFLEtBRGI7QUFFTEMsSUFBQUEsY0FBYyxFQUFFLEtBRlg7QUFHTEMsSUFBQUEsYUFBYSxFQUFFLENBSFY7QUFJTEMsSUFBQUEsSUFBSSxFQUFFLFVBSkQ7QUFLTEMsSUFBQUEsTUFBTSxFQUFFLDJCQUxIO0FBTUxSLElBQUFBLElBQUksRUFBRSxFQU5EO0FBT0xELElBQUFBLE1BQU0sRUFBRUEsTUFBTSxFQVBUO0FBUUxVLElBQUFBLFdBQVcsRUFBRSxNQVJSO0FBU0xDLElBQUFBLGVBQWUsRUFBRSxJQVRaO0FBVUxDLElBQUFBLGdCQUFnQixFQUFFLElBVmI7QUFXTEMsSUFBQUEsYUFBYSxFQUFFLElBWFY7QUFZTEMsSUFBQUEsMEJBQTBCLEVBQUUsSUFadkI7QUFhTEMsSUFBQUEsMEJBQTBCLEVBQUUsSUFidkI7QUFjTEMsSUFBQUEscUJBQXFCLEVBQUU7QUFkbEIsR0FETTtBQWlCYkMsRUFBQUEsYUFBYSxFQUFFO0FBQ2JDLElBQUFBLGNBQWMsRUFBRTtBQUNkQyxNQUFBQSxRQUFRLEVBQUUsSUFESTtBQUVkQyxNQUFBQSxLQUFLLEVBQUU7QUFGTyxLQURIO0FBS2JDLElBQUFBLGFBQWEsRUFBRTtBQUNiRixNQUFBQSxRQUFRLEVBQUUsSUFERztBQUViQyxNQUFBQSxLQUFLLEVBQUU7QUFGTSxLQUxGO0FBU2JFLElBQUFBLFVBQVUsRUFBRTtBQUNWSCxNQUFBQSxRQUFRLEVBQUUsSUFEQTtBQUVWQyxNQUFBQSxLQUFLLEVBQUU7QUFGRyxLQVRDO0FBYWJmLElBQUFBLGdCQUFnQixFQUFFO0FBQ2hCYyxNQUFBQSxRQUFRLEVBQUUsSUFETTtBQUVoQkMsTUFBQUEsS0FBSyxFQUFFO0FBRlMsS0FiTDtBQWlCYkcsSUFBQUEsU0FBUyxFQUFFO0FBQ1RKLE1BQUFBLFFBQVEsRUFBRSxJQUREO0FBRVRDLE1BQUFBLEtBQUssRUFBRTtBQUZFLEtBakJFO0FBcUJiVixJQUFBQSxXQUFXLEVBQUU7QUFDWFMsTUFBQUEsUUFBUSxFQUFFLEtBREM7QUFFWEMsTUFBQUEsS0FBSyxFQUFFO0FBRkksS0FyQkE7QUF5QmJJLElBQUFBLG1CQUFtQixFQUFFO0FBQ25CTCxNQUFBQSxRQUFRLEVBQUUsS0FEUztBQUVuQkMsTUFBQUEsS0FBSyxFQUFFO0FBRlksS0F6QlI7QUE2QmJLLElBQUFBLG1CQUFtQixFQUFFO0FBQ25CTixNQUFBQSxRQUFRLEVBQUUsSUFEUztBQUVuQkMsTUFBQUEsS0FBSyxFQUFFO0FBRlksS0E3QlI7QUFpQ2JYLElBQUFBLE1BQU0sRUFBRTtBQUNOVyxNQUFBQSxLQUFLLEVBQUUsUUFERDtBQUVORCxNQUFBQSxRQUFRLEVBQUU7QUFGSixLQWpDSztBQXFDYmxCLElBQUFBLElBQUksRUFBRTtBQUNKa0IsTUFBQUEsUUFBUSxFQUFFLElBRE47QUFFSkMsTUFBQUEsS0FBSyxFQUFFO0FBRkgsS0FyQ087QUF5Q2JwQixJQUFBQSxNQUFNLEVBQUU7QUFDTm1CLE1BQUFBLFFBQVEsRUFBRSxJQURKO0FBRU5DLE1BQUFBLEtBQUssRUFBRTtBQUZELEtBekNLO0FBNkNiTSxJQUFBQSxRQUFRLEVBQUU7QUFDUlAsTUFBQUEsUUFBUSxFQUFFLElBREY7QUFFUkMsTUFBQUEsS0FBSyxFQUFFO0FBRkMsS0E3Q0c7QUFpRGJPLElBQUFBLFVBQVUsRUFBRTtBQUNWUCxNQUFBQSxLQUFLLEVBQUUsWUFERztBQUVWRCxNQUFBQSxRQUFRLEVBQUMsS0FGQztBQUdWUyxNQUFBQSxPQUFPLEVBQUM7QUFIRSxLQWpEQztBQXNEYnRCLElBQUFBLGNBQWMsRUFBRTtBQUNkYSxNQUFBQSxRQUFRLEVBQUUsS0FESTtBQUVkQyxNQUFBQSxLQUFLLEVBQUU7QUFGTyxLQXRESDtBQTBEYlosSUFBQUEsSUFBSSxFQUFFO0FBQ0pXLE1BQUFBLFFBQVEsRUFBRSxJQUROO0FBRUpDLE1BQUFBLEtBQUssRUFBRTtBQUZIO0FBMURPO0FBakJGLEMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0b2tlbnMgPSAoKSA9PiBbXG4gIHtcbiAgICB0ZXh0OiAnJyxcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDBcbiAgfVxuXTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtb2RlbDoge1xuICAgIGhpZ2hsaWdodENob2ljZXM6IGZhbHNlLFxuICAgIHBhcnRpYWxTY29yaW5nOiBmYWxzZSxcbiAgICBtYXhTZWxlY3Rpb25zOiAyLFxuICAgIG1vZGU6ICdzZW50ZW5jZScsXG4gICAgcHJvbXB0OiAnUXVlc3Rpb24gUHJvbXB0IGdvZXMgaGVyZScsXG4gICAgdGV4dDogJycsXG4gICAgdG9rZW5zOiB0b2tlbnMoKSxcbiAgICBzY29yaW5nVHlwZTogJ2F1dG8nLFxuICAgIGZlZWRiYWNrRW5hYmxlZDogdHJ1ZSxcbiAgICByYXRpb25hbGVFbmFibGVkOiB0cnVlLFxuICAgIHByb21wdEVuYWJsZWQ6IHRydWUsXG4gICAgdGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gICAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gICAgdG9vbGJhckVkaXRvclBvc2l0aW9uOiAnYm90dG9tJ1xuICB9LFxuICBjb25maWd1cmF0aW9uOiB7XG4gICAgc2VsZWN0aW9uQ291bnQ6IHtcbiAgICAgIHNldHRpbmdzOiB0cnVlLFxuICAgICAgbGFiZWw6ICdTZWxlY3Rpb24gY291bnQnXG4gICAgfSxcbiAgICBjb3JyZWN0QW5zd2VyOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnQ29ycmVjdCBBbnN3ZXJzJ1xuICAgIH0sXG4gICAgc2VsZWN0aW9uczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1NlbGVjdGlvbnMgQXZhaWxhYmxlJ1xuICAgIH0sXG4gICAgaGlnaGxpZ2h0Q2hvaWNlczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ0hpZ2hsaWdodCBjaG9pY2VzJ1xuICAgIH0sXG4gICAgcmF0aW9uYWxlOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnUmF0aW9uYWxlJ1xuICAgIH0sXG4gICAgc2NvcmluZ1R5cGU6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnU2NvcmluZyBUeXBlJ1xuICAgIH0sXG4gICAgc3R1ZGVudEluc3RydWN0aW9uczoge1xuICAgICAgc2V0dGluZ3M6IGZhbHNlLFxuICAgICAgbGFiZWw6ICdTdHVkZW50IEluc3RydWN0aW9ucydcbiAgICB9LFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IHtcbiAgICAgIHNldHRpbmdzOiB0cnVlLFxuICAgICAgbGFiZWw6ICdUZWFjaGVyIEluc3RydWN0aW9ucydcbiAgICB9LFxuICAgIHByb21wdDoge1xuICAgICAgbGFiZWw6ICdQcm9tcHQnLFxuICAgICAgc2V0dGluZ3M6IHRydWVcbiAgICB9LFxuICAgIHRleHQ6IHtcbiAgICAgIHNldHRpbmdzOiB0cnVlLFxuICAgICAgbGFiZWw6ICdDb250ZW50J1xuICAgIH0sXG4gICAgdG9rZW5zOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnVG9rZW5zJ1xuICAgIH0sXG4gICAgZmVlZGJhY2s6IHtcbiAgICAgIHNldHRpbmdzOiB0cnVlLFxuICAgICAgbGFiZWw6ICdGZWVkYmFjaydcbiAgICB9LFxuICAgIHNwZWxsQ2hlY2s6IHtcbiAgICAgIGxhYmVsOiAnU3BlbGxjaGVjaycsXG4gICAgICBzZXR0aW5nczpmYWxzZSxcbiAgICAgIGVuYWJsZWQ6dHJ1ZVxuICAgIH0sXG4gICAgcGFydGlhbFNjb3Jpbmc6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnQWxsb3cgUGFydGlhbCBTY29yaW5nJ1xuICAgIH0sXG4gICAgbW9kZToge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ01vZGUnXG4gICAgfVxuICB9XG59O1xuIl19
99
+ //# sourceMappingURL=defaultConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaultConfiguration.js"],"names":["tokens","text","start","end","model","highlightChoices","partialScoring","maxSelections","mode","prompt","scoringType","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","selectionCount","settings","label","correctAnswer","selections","rationale","studentInstructions","teacherInstructions","feedback","spellCheck","enabled"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,SAAM,CACnB;AACEC,IAAAA,IAAI,EAAE,EADR;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEC,IAAAA,GAAG,EAAE;AAHP,GADmB,CAAN;AAAA,CAAf;;eAQe;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,gBAAgB,EAAE,KADb;AAELC,IAAAA,cAAc,EAAE,KAFX;AAGLC,IAAAA,aAAa,EAAE,CAHV;AAILC,IAAAA,IAAI,EAAE,UAJD;AAKLC,IAAAA,MAAM,EAAE,2BALH;AAMLR,IAAAA,IAAI,EAAE,EAND;AAOLD,IAAAA,MAAM,EAAEA,MAAM,EAPT;AAQLU,IAAAA,WAAW,EAAE,MARR;AASLC,IAAAA,eAAe,EAAE,IATZ;AAULC,IAAAA,gBAAgB,EAAE,IAVb;AAWLC,IAAAA,aAAa,EAAE,IAXV;AAYLC,IAAAA,0BAA0B,EAAE,IAZvB;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,qBAAqB,EAAE;AAdlB,GADM;AAiBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,cAAc,EAAE;AACdC,MAAAA,QAAQ,EAAE,IADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KADH;AAKbC,IAAAA,aAAa,EAAE;AACbF,MAAAA,QAAQ,EAAE,IADG;AAEbC,MAAAA,KAAK,EAAE;AAFM,KALF;AASbE,IAAAA,UAAU,EAAE;AACVH,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KATC;AAabf,IAAAA,gBAAgB,EAAE;AAChBc,MAAAA,QAAQ,EAAE,IADM;AAEhBC,MAAAA,KAAK,EAAE;AAFS,KAbL;AAiBbG,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAjBE;AAqBbV,IAAAA,WAAW,EAAE;AACXS,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KArBA;AAyBbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAzBR;AA6BbK,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA7BR;AAiCbX,IAAAA,MAAM,EAAE;AACNW,MAAAA,KAAK,EAAE,QADD;AAEND,MAAAA,QAAQ,EAAE;AAFJ,KAjCK;AAqCblB,IAAAA,IAAI,EAAE;AACJkB,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH,KArCO;AAyCbpB,IAAAA,MAAM,EAAE;AACNmB,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAzCK;AA6CbM,IAAAA,QAAQ,EAAE;AACRP,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KA7CG;AAiDbO,IAAAA,UAAU,EAAE;AACVP,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,KAFC;AAGVS,MAAAA,OAAO,EAAC;AAHE,KAjDC;AAsDbtB,IAAAA,cAAc,EAAE;AACda,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAtDH;AA0DbZ,IAAAA,IAAI,EAAE;AACJW,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH;AA1DO;AAjBF,C","sourcesContent":["const tokens = () => [\n {\n text: '',\n start: 0,\n end: 0\n }\n];\n\nexport default {\n model: {\n highlightChoices: false,\n partialScoring: false,\n maxSelections: 2,\n mode: 'sentence',\n prompt: 'Question Prompt goes here',\n text: '',\n tokens: tokens(),\n scoringType: 'auto',\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom'\n },\n configuration: {\n selectionCount: {\n settings: true,\n label: 'Selection count'\n },\n correctAnswer: {\n settings: true,\n label: 'Correct Answers'\n },\n selections: {\n settings: true,\n label: 'Selections Available'\n },\n highlightChoices: {\n settings: true,\n label: 'Highlight choices'\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 prompt: {\n label: 'Prompt',\n settings: true\n },\n text: {\n settings: true,\n label: 'Content'\n },\n tokens: {\n settings: true,\n label: 'Tokens'\n },\n feedback: {\n settings: true,\n label: 'Feedback'\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n mode: {\n settings: true,\n label: 'Mode'\n }\n }\n};\n"],"file":"defaultConfiguration.js"}
1
+ {"version":3,"sources":["../src/defaultConfiguration.js"],"names":["tokens","text","start","end","model","highlightChoices","partialScoring","maxSelections","mode","prompt","scoringType","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","selectionCount","settings","label","correctAnswer","selections","rationale","studentInstructions","teacherInstructions","feedback","spellCheck","enabled","minTokens"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,SAAM,CACnB;AACEC,IAAAA,IAAI,EAAE,EADR;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEC,IAAAA,GAAG,EAAE;AAHP,GADmB,CAAN;AAAA,CAAf;;eAQe;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,gBAAgB,EAAE,KADb;AAELC,IAAAA,cAAc,EAAE,KAFX;AAGLC,IAAAA,aAAa,EAAE,CAHV;AAILC,IAAAA,IAAI,EAAE,UAJD;AAKLC,IAAAA,MAAM,EAAE,2BALH;AAMLR,IAAAA,IAAI,EAAE,EAND;AAOLD,IAAAA,MAAM,EAAEA,MAAM,EAPT;AAQLU,IAAAA,WAAW,EAAE,MARR;AASLC,IAAAA,eAAe,EAAE,IATZ;AAULC,IAAAA,gBAAgB,EAAE,IAVb;AAWLC,IAAAA,aAAa,EAAE,IAXV;AAYLC,IAAAA,0BAA0B,EAAE,IAZvB;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,qBAAqB,EAAE;AAdlB,GADM;AAiBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,cAAc,EAAE;AACdC,MAAAA,QAAQ,EAAE,IADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KADH;AAKbC,IAAAA,aAAa,EAAE;AACbF,MAAAA,QAAQ,EAAE,IADG;AAEbC,MAAAA,KAAK,EAAE;AAFM,KALF;AASbE,IAAAA,UAAU,EAAE;AACVH,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KATC;AAabf,IAAAA,gBAAgB,EAAE;AAChBc,MAAAA,QAAQ,EAAE,IADM;AAEhBC,MAAAA,KAAK,EAAE;AAFS,KAbL;AAiBbG,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAjBE;AAqBbV,IAAAA,WAAW,EAAE;AACXS,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KArBA;AAyBbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAzBR;AA6BbK,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA7BR;AAiCbX,IAAAA,MAAM,EAAE;AACNW,MAAAA,KAAK,EAAE,QADD;AAEND,MAAAA,QAAQ,EAAE;AAFJ,KAjCK;AAqCblB,IAAAA,IAAI,EAAE;AACJkB,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH,KArCO;AAyCbpB,IAAAA,MAAM,EAAE;AACNmB,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAzCK;AA6CbM,IAAAA,QAAQ,EAAE;AACRP,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KA7CG;AAiDbO,IAAAA,UAAU,EAAE;AACVP,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,KAFC;AAGVS,MAAAA,OAAO,EAAC;AAHE,KAjDC;AAsDbtB,IAAAA,cAAc,EAAE;AACda,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAtDH;AA0DbZ,IAAAA,IAAI,EAAE;AACJW,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH,KA1DO;AA8DbS,IAAAA,SAAS,EAAE;AA9DE;AAjBF,C","sourcesContent":["const tokens = () => [\n {\n text: '',\n start: 0,\n end: 0\n }\n];\n\nexport default {\n model: {\n highlightChoices: false,\n partialScoring: false,\n maxSelections: 2,\n mode: 'sentence',\n prompt: 'Question Prompt goes here',\n text: '',\n tokens: tokens(),\n scoringType: 'auto',\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom'\n },\n configuration: {\n selectionCount: {\n settings: true,\n label: 'Selection count'\n },\n correctAnswer: {\n settings: true,\n label: 'Correct Answers'\n },\n selections: {\n settings: true,\n label: 'Selections Available'\n },\n highlightChoices: {\n settings: true,\n label: 'Highlight choices'\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 prompt: {\n label: 'Prompt',\n settings: true\n },\n text: {\n settings: true,\n label: 'Content'\n },\n tokens: {\n settings: true,\n label: 'Tokens'\n },\n feedback: {\n settings: true,\n label: 'Feedback'\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n mode: {\n settings: true,\n label: 'Mode'\n },\n minTokens: 2\n }\n};\n"],"file":"defaultConfiguration.js"}
@@ -39,10 +39,16 @@ var _configUi = require("@pie-lib/config-ui");
39
39
 
40
40
  var _Chip = _interopRequireDefault(require("@material-ui/core/Chip"));
41
41
 
42
+ var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
43
+
42
44
  var _debug = _interopRequireDefault(require("debug"));
43
45
 
44
46
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
45
47
 
48
+ var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
49
+
50
+ var _utils = require("./utils");
51
+
46
52
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
53
 
48
54
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -210,10 +216,17 @@ var Design = /*#__PURE__*/function (_React$Component) {
210
216
  promptEnabled = _ref2.promptEnabled,
211
217
  rationaleEnabled = _ref2.rationaleEnabled,
212
218
  spellCheckEnabled = _ref2.spellCheckEnabled,
213
- feedbackEnabled = _ref2.feedbackEnabled;
219
+ feedbackEnabled = _ref2.feedbackEnabled,
220
+ errors = _ref2.errors;
214
221
 
215
222
  var toolbarOpts = {};
216
223
 
224
+ var _ref3 = errors || {},
225
+ tokensError = _ref3.tokensError,
226
+ selectionsError = _ref3.selectionsError;
227
+
228
+ var validationMessage = (0, _utils.generateValidationMessage)(configuration);
229
+
217
230
  switch (model.toolbarEditorPosition) {
218
231
  case 'top':
219
232
  toolbarOpts.position = 'top';
@@ -291,7 +304,25 @@ var Design = /*#__PURE__*/function (_React$Component) {
291
304
  value: textValue,
292
305
  onChange: this.changeText,
293
306
  spellCheck: spellCheckEnabled
294
- }), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
307
+ }), /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
308
+ classes: {
309
+ tooltip: classes.tooltip
310
+ },
311
+ disableFocusListener: true,
312
+ disableTouchListener: true,
313
+ placement: 'left',
314
+ title: validationMessage
315
+ }, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
316
+ fontSize: 'small',
317
+ color: 'primary',
318
+ style: {
319
+ "float": 'right'
320
+ }
321
+ })), tokensError && /*#__PURE__*/_react["default"].createElement("div", {
322
+ className: classes.errorText
323
+ }, tokensError), selectionsError && /*#__PURE__*/_react["default"].createElement("div", {
324
+ className: classes.errorText
325
+ }, selectionsError), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
295
326
  label: tokens.label || '',
296
327
  className: classes.tokenizerContainer
297
328
  }, /*#__PURE__*/_react["default"].createElement(_textSelect.Tokenizer, {
@@ -342,6 +373,7 @@ exports.Design = Design;
342
373
  })
343
374
  });
344
375
  (0, _defineProperty2["default"])(Design, "defaultProps", {});
376
+ ;
345
377
 
346
378
  var _default = (0, _styles.withStyles)(function (theme) {
347
379
  return {
@@ -389,9 +421,19 @@ var _default = (0, _styles.withStyles)(function (theme) {
389
421
  },
390
422
  numberField: {
391
423
  width: '180px'
424
+ },
425
+ tooltip: {
426
+ fontSize: '12px',
427
+ whiteSpace: 'pre',
428
+ maxWidth: '500px'
429
+ },
430
+ errorText: {
431
+ fontSize: '12px',
432
+ color: 'red',
433
+ padding: '5px 0'
392
434
  }
393
435
  };
394
436
  })(Design);
395
437
 
396
438
  exports["default"] = _default;
397
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXNpZ24uanN4Il0sIm5hbWVzIjpbIlBhbmVsIiwic2V0dGluZ3MiLCJ0b2dnbGUiLCJyYWRpbyIsImxvZyIsIkRlc2lnbiIsInByb3BzIiwidmFsIiwiYXBwbHkiLCJ1IiwidGV4dCIsInRva2VucyIsImV2ZW50IiwidmFsdWUiLCJ0YXJnZXQiLCJwcmVwYXJlZFRleHQiLCJzZXRTdGF0ZSIsInVwZGF0ZVRleHQiLCJtb2RlIiwiY29ycmVjdFRva2VuQ291bnQiLCJmaWx0ZXIiLCJ0IiwiY29ycmVjdCIsImxlbmd0aCIsIm1heCIsImlzRmluaXRlIiwibWF4U2VsZWN0aW9ucyIsIk1hdGgiLCJmbiIsIm9uTW9kZWxDaGFuZ2VkIiwibW9kZWwiLCJ1cGRhdGUiLCJmZWVkYmFjayIsInBhcnRpYWxTY29yaW5nIiwicHJvbXB0IiwidGVhY2hlckluc3RydWN0aW9ucyIsInJhdGlvbmFsZSIsInN0YXRlIiwiblByb3BzIiwidGV4dFZhbHVlIiwiY2xhc3NlcyIsImltYWdlU3VwcG9ydCIsImNvbmZpZ3VyYXRpb24iLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwic2VsZWN0aW9ucyIsInNlbGVjdGlvbkNvdW50IiwiY29ycmVjdEFuc3dlciIsInN0dWRlbnRJbnN0cnVjdGlvbnMiLCJzY29yaW5nVHlwZSIsInNwZWxsQ2hlY2siLCJoaWdobGlnaHRDaG9pY2VzIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsInNwZWxsQ2hlY2tFbmFibGVkIiwiZmVlZGJhY2tFbmFibGVkIiwidG9vbGJhck9wdHMiLCJ0b29sYmFyRWRpdG9yUG9zaXRpb24iLCJwb3NpdGlvbiIsInRva2Vuc01vZGVsIiwiU2V0dGluZ3MiLCJsYWJlbCIsIlByb3BlcnRpZXMiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZCIsImNvbnRhaW5lciIsInByb21wdEhvbGRlciIsIm9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQiLCJvblByb21wdENoYW5nZWQiLCJvblJhdGlvbmFsZUNoYW5nZWQiLCJpbnB1dCIsImNoYW5nZVRleHQiLCJ0b2tlbml6ZXJDb250YWluZXIiLCJ0b2tlbml6ZXIiLCJjaGFuZ2VUb2tlbnMiLCJjaGlwIiwiY2hhbmdlTWF4U2VsZWN0aW9ucyIsIm51bWJlckZpZWxkIiwiY2hhbmdlRmVlZGJhY2siLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwic2hhcGUiLCJhZGQiLCJ0aGVtZSIsInBhZGRpbmdUb3AiLCJzcGFjaW5nIiwidW5pdCIsInBhZGRpbmdSaWdodCIsIm1hcmdpblJpZ2h0IiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiaGVpZ2h0IiwiY29udGVudCIsImJhY2tncm91bmRDb2xvciIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsIm1hcmdpbkJvdHRvbSIsIndpZHRoIiwicGFkZGluZ0JvdHRvbSIsIm1hcmdpblRvcCIsIm1haW5PcHRzIiwianVzdGlmeUNvbnRlbnQiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQVFBLEtBQVIsR0FBaUNDLGtCQUFqQyxDQUFRRCxLQUFSO0FBQUEsSUFBZUUsTUFBZixHQUFpQ0Qsa0JBQWpDLENBQWVDLE1BQWY7QUFBQSxJQUF1QkMsS0FBdkIsR0FBaUNGLGtCQUFqQyxDQUF1QkUsS0FBdkI7QUFFQSxJQUFNQyxHQUFHLEdBQUcsdUJBQU0sb0NBQU4sQ0FBWjs7SUFFYUMsTTs7Ozs7QUFlWCxrQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBO0FBQ2pCLDhCQUFNQSxLQUFOO0FBRGlCLG1HQW9CTiwwQkFBUyxVQUFBQyxHQUFHLEVBQUk7QUFDM0IsWUFBS0Ms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QyxJQUFkLEdBQXFCO0FBRi9CLEtBckIyQjtBQXlCbENqQixJQUFBQSxTQUFTLEVBQUU7QUFDVGdDLE1BQUFBLFNBQVMsRUFBRWxCLEtBQUssQ0FBQ0UsT0FBTixDQUFjQyxJQUFkLEdBQXFCO0FBRHZCLEtBekJ1QjtBQTRCbENnQixJQUFBQSxRQUFRLEVBQUU7QUFDUkgsTUFBQUEsS0FBSyxFQUFFLE1BREM7QUFFUkksTUFBQUEsY0FBYyxFQUFFLGVBRlI7QUFHUkMsTUFBQUEsT0FBTyxFQUFFLE1BSEQ7QUFJUkMsTUFBQUEsVUFBVSxFQUFFO0FBSkosS0E1QndCO0FBa0NsQzNDLElBQUFBLFlBQVksRUFBRTtBQUNacUMsTUFBQUEsS0FBSyxFQUFFLE1BREs7QUFFWkMsTUFBQUEsYUFBYSxFQUFFakIsS0FBSyxDQUFDRSxPQUFOLENBQWNDLElBQWQsR0FBcUIsQ0FGeEI7QUFHWlksTUFBQUEsWUFBWSxFQUFFZixLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQjtBQUh2QixLQWxDb0I7QUF1Q2xDdkQsSUFBQUEsTUFBTSxFQUFFO0FBQ05xRCxNQUFBQSxVQUFVLEVBQUVELEtBQUssQ0FBQ0UsT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBRDNCO0FBRU5hLE1BQUFBLEtBQUssRUFBRTtBQUZELEtBdkMwQjtBQTJDbEMxQixJQUFBQSxXQUFXLEVBQUU7QUFDWDBCLE1BQUFBLEtBQUssRUFBRTtBQURJO0FBM0NxQixHQUFMO0FBQUEsQ0FBaEIsRUE4Q1hqRyxNQTlDVyxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVGV4dEZpZWxkIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1RleHRGaWVsZCc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJztcbmltcG9ydCB7IFRva2VuaXplciB9IGZyb20gJ0BwaWUtbGliL3RleHQtc2VsZWN0JztcbmltcG9ydCB7XG4gIElucHV0Q29udGFpbmVyLFxuICBOdW1iZXJUZXh0RmllbGQsXG4gIEZlZWRiYWNrQ29uZmlnLFxuICBzZXR0aW5ncyxcbiAgbGF5b3V0XG59IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5pbXBvcnQgQ2hpcCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9DaGlwJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwnO1xuXG5jb25zdCB7IFBhbmVsLCB0b2dnbGUsIHJhZGlvIH0gPSBzZXR0aW5ncztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtZWxlbWVudDpzZWxlY3QtdGV4dDpjb25maWd1cmUnKTtcblxuZXhwb3J0IGNsYXNzIERlc2lnbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb25maWd1cmF0aW9uOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uTW9kZWxDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgaW1hZ2VTdXBwb3J0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgYWRkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgZGVsZXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gICAgfSlcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICBjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRleHQ6IChtb2RlbCAmJiBtb2RlbC50ZXh0KSB8fCAnJ1xuICAgIH07XG4gIH1cblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuUHJvcHMpIHtcbiAgICBjb25zdCB7IG1vZGVsIH0gPSBuUHJvcHM7XG5cbiAgICBpZiAobW9kZWwgJiYgbW9kZWwudGV4dCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHRleHQ6IG1vZGVsLnRleHRcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVRleHQgPSBkZWJvdW5jZSh2YWwgPT4ge1xuICAgIHRoaXMuYXBwbHkodSA9PiB7XG4gICAgICB1LnRleHQgPSB2YWw7XG4gICAgICB1LnRva2VucyA9IFtdO1xuICAgIH0pO1xuICB9LCAyMDApO1xuXG4gIGNoYW5nZVRleHQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgY29uc3QgcHJlcGFyZWRUZXh0ID0gdmFsdWU7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHRleHQ6IHZhbHVlXG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVUZXh0KHByZXBhcmVkVGV4dCk7XG4gIH07XG5cbiAgY2hhbmdlVG9rZW5zID0gKHRva2VucywgbW9kZSkgPT4ge1xuICAgIHRoaXMuYXBwbHkodSA9PiB7XG4gICAgICB1LnRva2VucyA9IHRva2VucztcbiAgICAgIHUubW9kZSA9IG1vZGU7XG5cbiAgICAgIGNvbnN0IGNvcnJlY3RUb2tlbkNvdW50ID0gdG9rZW5zLmZpbHRlcih0ID0+IHQuY29ycmVjdCkubGVuZ3RoO1xuICAgICAgY29uc3QgbWF4ID0gaXNGaW5pdGUodS5tYXhTZWxlY3Rpb25zKSA/IHUubWF4U2VsZWN0aW9ucyA6IDA7XG5cbiAgICAgIHUubWF4U2VsZWN0aW9ucyA9IE1hdGgubWF4KG1heCwgY29ycmVjdFRva2VuQ291bnQpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNoYW5nZU1heFNlbGVjdGlvbnMgPSAoZXZlbnQsIG1heCkgPT4ge1xuICAgIHRoaXMuYXBwbHkodSA9PiAodS5tYXhTZWxlY3Rpb25zID0gbWF4KSk7XG4gIH07XG5cbiAgYXBwbHkgPSBmbiA9PiB7XG4gICAgY29uc3QgeyBvbk1vZGVsQ2hhbmdlZCwgbW9kZWwgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0gY2xvbmVEZWVwKG1vZGVsKTtcbiAgICBmbih1cGRhdGUpO1xuICAgIG9uTW9kZWxDaGFuZ2VkKHVwZGF0ZSk7XG4gIH07XG5cbiAgY2hhbmdlRmVlZGJhY2sgPSBmZWVkYmFjayA9PiB7XG4gICAgdGhpcy5hcHBseSh1ID0+ICh1LmZlZWRiYWNrID0gZmVlZGJhY2spKTtcbiAgfTtcblxuICBjaGFuZ2VQYXJ0aWFsU2NvcmluZyA9IHBhcnRpYWxTY29yaW5nID0+IHtcbiAgICBjb25zdCB7IG9uTW9kZWxDaGFuZ2VkLCBtb2RlbCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB1cGRhdGUgPSBjbG9uZURlZXAobW9kZWwpO1xuICAgIHVwZGF0ZS5wYXJ0aWFsU2NvcmluZyA9IHBhcnRpYWxTY29yaW5nO1xuICAgIG9uTW9kZWxDaGFuZ2VkKHVwZGF0ZSk7XG4gIH07XG5cbiAgb25Qcm9tcHRDaGFuZ2VkID0gcHJvbXB0ID0+IHtcbiAgICBjb25zdCB7IG9uTW9kZWxDaGFuZ2VkLCBtb2RlbCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB1cGRhdGUgPSBjbG9uZURlZXAobW9kZWwpO1xuXG4gICAgdXBkYXRlLnByb21wdCA9IHByb21wdDtcbiAgICBvbk1vZGVsQ2hhbmdlZCh1cGRhdGUpO1xuICB9O1xuXG4gIG9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQgPSB0ZWFjaGVySW5zdHJ1Y3Rpb25zID0+IHtcbiAgICBjb25zdCB7IG9uTW9kZWxDaGFuZ2VkLCBtb2RlbCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB1cGRhdGUgPSBjbG9uZURlZXAobW9kZWwpO1xuXG4gICAgdXBkYXRlLnRlYWNoZXJJbnN0cnVjdGlvbnMgPSB0ZWFjaGVySW5zdHJ1Y3Rpb25zO1xuICAgIG9uTW9kZWxDaGFuZ2VkKHVwZGF0ZSk7XG4gIH07XG5cbiAgb25SYXRpb25hbGVDaGFuZ2VkID0gcmF0aW9uYWxlID0+IHtcbiAgICBjb25zdCB7IG9uTW9kZWxDaGFuZ2VkLCBtb2RlbCB9ID0gdGhpcy5wcm9wcztcblxuICAgIG9uTW9kZWxDaGFuZ2VkKHtcbiAgICAgIC4uLm1vZGVsLFxuICAgICAgcmF0aW9uYWxlXG4gICAgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdGV4dDogdGV4dFZhbHVlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHtcbiAgICAgIG1vZGVsLFxuICAgICAgY2xhc3NlcyxcbiAgICAgIGltYWdlU3VwcG9ydCxcbiAgICAgIG9uTW9kZWxDaGFuZ2VkLFxuICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWRcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBwcm9tcHQgPSB7fSxcbiAgICAgIHRleHQgPSB7fSxcbiAgICAgIHRva2VucyA9IHt9LFxuICAgICAgbW9kZSA9IHt9LFxuICAgICAgZmVlZGJhY2sgPSB7fSxcbiAgICAgIHBhcnRpYWxTY29yaW5nID0ge30sXG4gICAgICBzZWxlY3Rpb25zID0ge30sXG4gICAgICBzZWxlY3Rpb25Db3VudCA9IHt9LFxuICAgICAgY29ycmVjdEFuc3dlciA9IHt9LFxuICAgICAgdGVhY2hlckluc3RydWN0aW9ucyA9IHt9LFxuICAgICAgc3R1ZGVudEluc3RydWN0aW9ucyA9IHt9LFxuICAgICAgcmF0aW9uYWxlID0ge30sXG4gICAgICBzY29yaW5nVHlwZSA9IHt9LFxuICAgICAgc3BlbGxDaGVjayA9IHt9LFxuICAgICAgaGlnaGxpZ2h0Q2hvaWNlcyA9IHt9XG4gICAgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG4gICAgY29uc3Qge1xuICAgICAgdGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQsIHByb21wdEVuYWJsZWQsIHJhdGlvbmFsZUVuYWJsZWQsIHNwZWxsQ2hlY2tFbmFibGVkLCBmZWVkYmFja0VuYWJsZWRcbiAgICB9ID0gbW9kZWwgfHwge307XG4gICAgY29uc3QgdG9vbGJhck9wdHMgPSB7fTtcblxuICAgIHN3aXRjaCAobW9kZWwudG9vbGJhckVkaXRvclBvc2l0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICB0b29sYmFyT3B0cy5wb3NpdGlvbiA9ICd0b3AnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRvb2xiYXJPcHRzLnBvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBsZXQgeyB0b2tlbnM6IHRva2Vuc01vZGVsIH0gPSBtb2RlbDtcbiAgICB0b2tlbnNNb2RlbCA9IHRva2Vuc01vZGVsIHx8IFtdO1xuXG4gICAgbG9nKCdbcmVuZGVyXSBtYXhTZWxlY3Rpb25zOicsIG1vZGVsLm1heFNlbGVjdGlvbnMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsYXlvdXQuQ29uZmlnTGF5b3V0XG4gICAgICAgIHNldHRpbmdzPXtcbiAgICAgICAgICA8UGFuZWxcbiAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249e2NvbmZpZ3VyYXRpb259XG4gICAgICAgICAgICBvbkNoYW5nZU1vZGVsPXttb2RlbCA9PiBvbk1vZGVsQ2hhbmdlZChtb2RlbCl9XG4gICAgICAgICAgICBvbkNoYW5nZUNvbmZpZ3VyYXRpb249e29uQ29uZmlndXJhdGlvbkNoYW5nZWR9XG4gICAgICAgICAgICBncm91cHM9e3tcbiAgICAgICAgICAgICAgU2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICBwYXJ0aWFsU2NvcmluZzpcbiAgICAgICAgICAgICAgICAgIHBhcnRpYWxTY29yaW5nLnNldHRpbmdzICYmIHRvZ2dsZShwYXJ0aWFsU2NvcmluZy5sYWJlbCksXG4gICAgICAgICAgICAgICAgaGlnaGxpZ2h0Q2hvaWNlczpcbiAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodENob2ljZXMuc2V0dGluZ3MgJiYgdG9nZ2xlKGhpZ2hsaWdodENob2ljZXMubGFiZWwpLFxuICAgICAgICAgICAgICAgIGZlZWRiYWNrRW5hYmxlZDpcbiAgICAgICAgICAgICAgICAgIGZlZWRiYWNrLnNldHRpbmdzICYmIHRvZ2dsZShmZWVkYmFjay5sYWJlbClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOlxuICAgICAgICAgICAgICAgICAgdGVhY2hlckluc3RydWN0aW9ucy5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlKHRlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWwpLFxuICAgICAgICAgICAgICAgIHN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkOlxuICAgICAgICAgICAgICAgICAgc3R1ZGVudEluc3RydWN0aW9ucy5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlKHN0dWRlbnRJbnN0cnVjdGlvbnMubGFiZWwpLFxuICAgICAgICAgICAgICAgIHByb21wdEVuYWJsZWQ6IHByb21wdC5zZXR0aW5ncyAmJiB0b2dnbGUocHJvbXB0LmxhYmVsKSxcbiAgICAgICAgICAgICAgICByYXRpb25hbGVFbmFibGVkOiByYXRpb25hbGUuc2V0dGluZ3MgJiYgdG9nZ2xlKHJhdGlvbmFsZS5sYWJlbCksXG4gICAgICAgICAgICAgICAgc3BlbGxDaGVja0VuYWJsZWQ6XG4gICAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2suc2V0dGluZ3MgJiYgdG9nZ2xlKHNwZWxsQ2hlY2subGFiZWwpLFxuICAgICAgICAgICAgICAgIHNjb3JpbmdUeXBlOlxuICAgICAgICAgICAgICAgICAgc2NvcmluZ1R5cGUuc2V0dGluZ3MgJiZcbiAgICAgICAgICAgICAgICAgIHJhZGlvKHNjb3JpbmdUeXBlLmxhYmVsLCBbJ2F1dG8nLCAncnVicmljJ10pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jb250YWluZXJ9PlxuICAgICAgICAgIHt0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICA8SW5wdXRDb250YWluZXJcbiAgICAgICAgICAgICAgbGFiZWw9e3RlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWx9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fVxuICAgICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwudGVhY2hlckluc3RydWN0aW9ucyB8fCAnJ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkfVxuICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7cHJvbXB0RW5hYmxlZCAmJiAoXG4gICAgICAgICAgICA8SW5wdXRDb250YWluZXJcbiAgICAgICAgICAgICAgbGFiZWw9e3Byb21wdC5sYWJlbCB8fCAnJ31cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgICAgbWFya3VwPXttb2RlbC5wcm9tcHR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25Qcm9tcHRDaGFuZ2VkfVxuICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtyYXRpb25hbGVFbmFibGVkICYmIChcbiAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lclxuICAgICAgICAgICAgICBsYWJlbD17cmF0aW9uYWxlLmxhYmVsIHx8ICcnfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0SG9sZGVyfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdH1cbiAgICAgICAgICAgICAgICBtYXJrdXA9e21vZGVsLnJhdGlvbmFsZSB8fCAnJ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblJhdGlvbmFsZUNoYW5nZWR9XG4gICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3RleHQuc2V0dGluZ3MgJiYgKFxuICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICBsYWJlbD17dGV4dC5sYWJlbH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmlucHV0fVxuICAgICAgICAgICAgICBtdWx0aWxpbmVcbiAgICAgICAgICAgICAgdmFsdWU9e3RleHRWYWx1ZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlVGV4dH1cbiAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7dG9rZW5zLnNldHRpbmdzICYmIChcbiAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lclxuICAgICAgICAgICAgICBsYWJlbD17dG9rZW5zLmxhYmVsIHx8ICcnfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudG9rZW5pemVyQ29udGFpbmVyfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VG9rZW5pemVyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnRva2VuaXplcn1cbiAgICAgICAgICAgICAgICB0ZXh0PXttb2RlbC50ZXh0fVxuICAgICAgICAgICAgICAgIHRva2Vucz17dG9rZW5zTW9kZWx9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlVG9rZW5zfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge21vZGUuc2V0dGluZ3MgJiYgKFxuICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgbGFiZWw9e2Ake21vZGUubGFiZWx9OiAke21vZGVsLm1vZGUgPyBtb2RlbC5tb2RlIDogJ05vbmUnfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5jaGlwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3NlbGVjdGlvbnMuc2V0dGluZ3MgJiYgKFxuICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgbGFiZWw9e2Ake3NlbGVjdGlvbnMubGFiZWx9OiAke3Rva2Vuc01vZGVsLmxlbmd0aH1gfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuY2hpcH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtjb3JyZWN0QW5zd2VyLnNldHRpbmdzICYmIChcbiAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgIGxhYmVsPXtgJHtjb3JyZWN0QW5zd2VyLmxhYmVsfTogJHtcbiAgICAgICAgICAgICAgICB0b2tlbnNNb2RlbC5maWx0ZXIodCA9PiB0LmNvcnJlY3QpLmxlbmd0aFxuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmNoaXB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7c2VsZWN0aW9uQ291bnQuc2V0dGluZ3MgJiYgKFxuICAgICAgICAgICAgPE51bWJlclRleHRGaWVsZFxuICAgICAgICAgICAgICBtaW49e3Rva2Vuc01vZGVsLmZpbHRlcih0ID0+IHQuY29ycmVjdCkubGVuZ3RoIHx8IDB9XG4gICAgICAgICAgICAgIGxhYmVsPXtgJHtzZWxlY3Rpb25Db3VudC5sYWJlbH0gKDA6YW55KWB9XG4gICAgICAgICAgICAgIG1heD17dG9rZW5zTW9kZWwubGVuZ3RofVxuICAgICAgICAgICAgICB2YWx1ZT17bW9kZWwubWF4U2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlTWF4U2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm51bWJlckZpZWxkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2ZlZWRiYWNrRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICA8RmVlZGJhY2tDb25maWdcbiAgICAgICAgICAgICAgZmVlZGJhY2s9e21vZGVsLmZlZWRiYWNrfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5jaGFuZ2VGZWVkYmFja31cbiAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGF5b3V0LkNvbmZpZ0xheW91dD5cbiAgICApO1xuICB9XG59XG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHRoZW1lID0+ICh7XG4gIGNvbnRhaW5lcjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdFxuICB9LFxuICB0b2tlbml6ZXJDb250YWluZXI6IHtcbiAgICBwYWRkaW5nUmlnaHQ6IDAsXG4gICAgbWFyZ2luUmlnaHQ6IDAsXG4gICAgJyY6YWZ0ZXInOiB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIGhlaWdodDogJzFweCcsXG4gICAgICBjb250ZW50OiAnXCJcIicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluXG4gICAgfSxcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdFxuICB9LFxuICBjaGlwOiB7XG4gICAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDJcbiAgfSxcbiAgaW5wdXQ6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCAqIDNcbiAgfSxcbiAgdG9rZW5pemVyOiB7XG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyXG4gIH0sXG4gIG1haW5PcHRzOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnYmFzZWxpbmUnXG4gIH0sXG4gIHByb21wdEhvbGRlcjoge1xuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCAqIDJcbiAgfSxcbiAgcHJvbXB0OiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICB3aWR0aDogJzEwMCUnXG4gIH0sXG4gIG51bWJlckZpZWxkOiB7XG4gICAgd2lkdGg6ICcxODBweCdcbiAgfVxufSkpKERlc2lnbik7XG4iXX0=
439
+ //# sourceMappingURL=design.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","log","Design","props","val","apply","u","text","tokens","event","value","target","preparedText","setState","updateText","mode","correctTokenCount","filter","t","correct","length","max","isFinite","maxSelections","Math","fn","onModelChanged","model","update","feedback","partialScoring","prompt","teacherInstructions","rationale","state","nProps","textValue","classes","imageSupport","configuration","onConfigurationChanged","selections","selectionCount","correctAnswer","studentInstructions","scoringType","spellCheck","highlightChoices","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","feedbackEnabled","toolbarOpts","toolbarEditorPosition","position","tokensModel","Settings","label","Properties","studentInstructionsEnabled","container","promptHolder","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","input","changeText","tokenizerContainer","tokenizer","changeTokens","chip","changeMaxSelections","numberField","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","paddingTop","spacing","unit","paddingRight","marginRight","bottom","left","right","height","content","backgroundColor","palette","primary","main","marginBottom","width","paddingBottom","marginTop","mainOpts","justifyContent","display","alignItems"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport { Tokenizer } from '@pie-lib/text-select';\nimport {\n InputContainer,\n NumberTextField,\n FeedbackConfig,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst { Panel, toggle, radio } = settings;\n\nconst log = debug('@pie-element:select-text:configure');\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n const { model } = this.props;\n\n this.state = {\n text: (model && model.text) || ''\n };\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const { model } = nProps;\n\n if (model && model.text) {\n this.setState({\n text: model.text\n });\n }\n }\n\n updateText = debounce(val => {\n this.apply(u => {\n u.text = val;\n u.tokens = [];\n });\n }, 200);\n\n changeText = event => {\n const value = event.target.value;\n const preparedText = value;\n\n this.setState({\n text: value\n });\n this.updateText(preparedText);\n };\n\n changeTokens = (tokens, mode) => {\n this.apply(u => {\n u.tokens = tokens;\n u.mode = mode;\n\n const correctTokenCount = tokens.filter(t => t.correct).length;\n const max = isFinite(u.maxSelections) ? u.maxSelections : 0;\n\n u.maxSelections = Math.max(max, correctTokenCount);\n });\n };\n\n changeMaxSelections = (event, max) => {\n this.apply(u => (u.maxSelections = max));\n };\n\n apply = fn => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n fn(update);\n onModelChanged(update);\n };\n\n changeFeedback = feedback => {\n this.apply(u => (u.feedback = feedback));\n };\n\n changePartialScoring = partialScoring => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n update.partialScoring = partialScoring;\n onModelChanged(update);\n };\n\n onPromptChanged = prompt => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.prompt = prompt;\n onModelChanged(update);\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.teacherInstructions = teacherInstructions;\n onModelChanged(update);\n };\n\n onRationaleChanged = rationale => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n rationale\n });\n };\n\n render() {\n const { text: textValue } = this.state;\n const {\n model,\n classes,\n imageSupport,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n const {\n prompt = {},\n text = {},\n tokens = {},\n mode = {},\n feedback = {},\n partialScoring = {},\n selections = {},\n selectionCount = {},\n correctAnswer = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n spellCheck = {},\n highlightChoices = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, feedbackEnabled\n } = model || {};\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 let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n log('[render] maxSelections:', model.maxSelections);\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n highlightChoices:\n highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled:\n feedback.settings && toggle(feedback.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n 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={classes.container}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {text.settings && (\n <TextField\n label={text.label}\n className={classes.input}\n multiline\n value={textValue}\n onChange={this.changeText}\n spellCheck={spellCheckEnabled}\n />\n )}\n\n {tokens.settings && (\n <InputContainer\n label={tokens.label || ''}\n className={classes.tokenizerContainer}\n >\n <Tokenizer\n className={classes.tokenizer}\n text={model.text}\n tokens={tokensModel}\n onChange={this.changeTokens}\n />\n </InputContainer>\n )}\n\n {mode.settings && (\n <Chip\n label={`${mode.label}: ${model.mode ? model.mode : 'None'}`}\n className={classes.chip}\n />\n )}\n\n {selections.settings && (\n <Chip\n label={`${selections.label}: ${tokensModel.length}`}\n className={classes.chip}\n />\n )}\n\n {correctAnswer.settings && (\n <Chip\n label={`${correctAnswer.label}: ${\n tokensModel.filter(t => t.correct).length\n }`}\n className={classes.chip}\n />\n )}\n\n {selectionCount.settings && (\n <NumberTextField\n min={tokensModel.filter(t => t.correct).length || 0}\n label={`${selectionCount.label} (0:any)`}\n max={tokensModel.length}\n value={model.maxSelections}\n onChange={this.changeMaxSelections}\n className={classes.numberField}\n />\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 );\n }\n}\nexport default withStyles(theme => ({\n container: {\n paddingTop: theme.spacing.unit\n },\n tokenizerContainer: {\n paddingRight: 0,\n marginRight: 0,\n '&:after': {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: '1px',\n content: '\"\"',\n backgroundColor: theme.palette.primary.main\n },\n marginBottom: theme.spacing.unit\n },\n chip: {\n marginRight: theme.spacing.unit * 2\n },\n input: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 3\n },\n tokenizer: {\n marginTop: theme.spacing.unit * 2\n },\n mainOpts: {\n width: '100%',\n justifyContent: 'space-between',\n display: 'flex',\n alignItems: 'baseline'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n numberField: {\n width: '180px'\n }\n}))(Design);\n"],"file":"design.js"}
1
+ {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","log","Design","props","val","apply","u","text","tokens","event","value","target","preparedText","setState","updateText","mode","correctTokenCount","filter","t","correct","length","max","isFinite","maxSelections","Math","fn","onModelChanged","model","update","feedback","partialScoring","prompt","teacherInstructions","rationale","state","nProps","textValue","classes","imageSupport","configuration","onConfigurationChanged","selections","selectionCount","correctAnswer","studentInstructions","scoringType","spellCheck","highlightChoices","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","feedbackEnabled","errors","toolbarOpts","tokensError","selectionsError","validationMessage","toolbarEditorPosition","position","tokensModel","Settings","label","Properties","studentInstructionsEnabled","container","promptHolder","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","input","changeText","tooltip","errorText","tokenizerContainer","tokenizer","changeTokens","chip","changeMaxSelections","numberField","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","paddingTop","spacing","unit","paddingRight","marginRight","bottom","left","right","height","content","backgroundColor","palette","primary","main","marginBottom","width","paddingBottom","marginTop","mainOpts","justifyContent","display","alignItems","fontSize","whiteSpace","maxWidth","color","padding"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport { Tokenizer } from '@pie-lib/text-select';\nimport {\n InputContainer,\n NumberTextField,\n FeedbackConfig,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport Info from '@material-ui/icons/Info';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { generateValidationMessage } from './utils';\n\nconst { Panel, toggle, radio } = settings;\n\nconst log = debug('@pie-element:select-text:configure');\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n const { model } = this.props;\n\n this.state = {\n text: (model && model.text) || ''\n };\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const { model } = nProps;\n\n if (model && model.text) {\n this.setState({\n text: model.text\n });\n }\n }\n\n updateText = debounce(val => {\n this.apply(u => {\n u.text = val;\n u.tokens = [];\n });\n }, 200);\n\n changeText = event => {\n const value = event.target.value;\n const preparedText = value;\n\n this.setState({\n text: value\n });\n this.updateText(preparedText);\n };\n\n changeTokens = (tokens, mode) => {\n this.apply(u => {\n u.tokens = tokens;\n u.mode = mode;\n\n const correctTokenCount = tokens.filter(t => t.correct).length;\n const max = isFinite(u.maxSelections) ? u.maxSelections : 0;\n\n u.maxSelections = Math.max(max, correctTokenCount);\n });\n };\n\n changeMaxSelections = (event, max) => {\n this.apply(u => (u.maxSelections = max));\n };\n\n apply = fn => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n fn(update);\n onModelChanged(update);\n };\n\n changeFeedback = feedback => {\n this.apply(u => (u.feedback = feedback));\n };\n\n changePartialScoring = partialScoring => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n update.partialScoring = partialScoring;\n onModelChanged(update);\n };\n\n onPromptChanged = prompt => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.prompt = prompt;\n onModelChanged(update);\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.teacherInstructions = teacherInstructions;\n onModelChanged(update);\n };\n\n onRationaleChanged = rationale => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n rationale\n });\n };\n\n render() {\n const { text: textValue } = this.state;\n const {\n model,\n classes,\n imageSupport,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n const {\n prompt = {},\n text = {},\n tokens = {},\n mode = {},\n feedback = {},\n partialScoring = {},\n selections = {},\n selectionCount = {},\n correctAnswer = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n spellCheck = {},\n highlightChoices = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, feedbackEnabled, errors\n } = model || {};\n const toolbarOpts = {};\n const { tokensError, selectionsError } = errors || {};\n\n const validationMessage = generateValidationMessage(configuration);\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n log('[render] maxSelections:', model.maxSelections);\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n highlightChoices:\n highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled:\n feedback.settings && toggle(feedback.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n 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={classes.container}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {text.settings && (\n <TextField\n label={text.label}\n className={classes.input}\n multiline\n value={textValue}\n onChange={this.changeText}\n spellCheck={spellCheckEnabled}\n />\n )}\n\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'left'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ float: 'right' }}/>\n </Tooltip>\n\n {tokensError && <div className={classes.errorText}>{tokensError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n {tokens.settings && (\n <InputContainer\n label={tokens.label || ''}\n className={classes.tokenizerContainer}\n >\n <Tokenizer\n className={classes.tokenizer}\n text={model.text}\n tokens={tokensModel}\n onChange={this.changeTokens}\n />\n </InputContainer>\n )}\n\n {mode.settings && (\n <Chip\n label={`${mode.label}: ${model.mode ? model.mode : 'None'}`}\n className={classes.chip}\n />\n )}\n\n {selections.settings && (\n <Chip\n label={`${selections.label}: ${tokensModel.length}`}\n className={classes.chip}\n />\n )}\n\n {correctAnswer.settings && (\n <Chip\n label={`${correctAnswer.label}: ${\n tokensModel.filter(t => t.correct).length\n }`}\n className={classes.chip}\n />\n )}\n\n {selectionCount.settings && (\n <NumberTextField\n min={tokensModel.filter(t => t.correct).length || 0}\n label={`${selectionCount.label} (0:any)`}\n max={tokensModel.length}\n value={model.maxSelections}\n onChange={this.changeMaxSelections}\n className={classes.numberField}\n />\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 );\n }\n};\n\nexport default withStyles(theme => ({\n container: {\n paddingTop: theme.spacing.unit\n },\n tokenizerContainer: {\n paddingRight: 0,\n marginRight: 0,\n '&:after': {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: '1px',\n content: '\"\"',\n backgroundColor: theme.palette.primary.main\n },\n marginBottom: theme.spacing.unit\n },\n chip: {\n marginRight: theme.spacing.unit * 2\n },\n input: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 3\n },\n tokenizer: {\n marginTop: theme.spacing.unit * 2\n },\n mainOpts: {\n width: '100%',\n justifyContent: 'space-between',\n display: 'flex',\n alignItems: 'baseline'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n numberField: {\n width: '180px'\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}))(Design);\n"],"file":"design.js"}
@@ -31,7 +31,7 @@ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
31
31
 
32
32
  var _defaultConfiguration = _interopRequireDefault(require("./defaultConfiguration"));
33
33
 
34
- var _utils = _interopRequireDefault(require("./utils"));
34
+ var _utils = require("./utils");
35
35
 
36
36
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
37
 
@@ -134,6 +134,6 @@ exports["default"] = SelectTextConfigure;
134
134
 
135
135
  var newModel = _objectSpread(_objectSpread({}, _defaultConfiguration["default"].model), model);
136
136
 
137
- return (0, _utils["default"])(newModel);
137
+ return (0, _utils.generateModel)(newModel);
138
138
  });
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJTZWxlY3RUZXh0Q29uZmlndXJlIiwiX21vZGVsIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiX2NvbmZpZ3VyYXRpb24iLCJkZWZhdWx0VmFsdWVzIiwiY29uZmlndXJhdGlvbiIsIm0iLCJyZW5kZXIiLCJjIiwiZGlzcGF0Y2hFdmVudCIsIk1vZGVsVXBkYXRlZEV2ZW50IiwiaGFuZGxlciIsIkluc2VydEltYWdlRXZlbnQiLCJzcmMiLCJkb25lIiwiRGVsZXRlSW1hZ2VFdmVudCIsImVsIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIm1vZGVsIiwib25Nb2RlbENoYW5nZWQiLCJtb2RlbENoYW5nZWQiLCJiaW5kIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsImltYWdlU3VwcG9ydCIsImFkZCIsImluc2VydEltYWdlIiwib25EZWxldGVJbWFnZSIsIlJlYWN0RE9NIiwiSFRNTEVsZW1lbnQiLCJuZXdNb2RlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFDQTs7Ozs7Ozs7OztJQUVxQkEsbUI7Ozs7O0FBVW5CLGlDQUFjO0FBQUE7O0FBQUE7QUFDWjtBQUNBLFVBQUtDLE1BQUwsR0FBY0QsbUJBQW1CLENBQUNFLGtCQUFwQixFQUFkO0FBQ0EsVUFBS0MsY0FBTCxHQUFzQkMsaUNBQWNDLGFBQXBDO0FBSFk7QUFJYjs7OztTQUVELGFBQVVDLENBQVYsRUFBYTtBQUNYLFdBQUtMLE1BQUwsR0FBY0QsbUJBQW1CLENBQUNFLGtCQUFwQixDQUF1Q0ksQ0FBdkMsQ0FBZDtBQUNBLFdBQUtDLE1BQUw7QUFDRDs7O1NBRUQsYUFBa0JDLENBQWxCLEVBQXFCO0FBQ25CLFdBQUtMLGNBQUwsR0FBc0JLLENBQXRCO0FBQ0EsV0FBS0QsTUFBTDtBQUNEOzs7V0FFRCw2QkFBb0I7QUFDbEIsV0FBS0EsTUFBTDtBQUNEOzs7V0FFRCxzQkFBYUQsQ0FBYixFQUFnQjtBQUNkLFdBQUtMLE1BQUwsR0FBY0ssQ0FBZDtBQUNBLFdBQUtHLGFBQUwsQ0FBbUIsSUFBSUMscUNBQUosQ0FBc0IsS0FBS1QsTUFBM0IsQ0FBbkIsRUFBdUQsSUFBdkQ7QUFDQSxXQUFLTSxNQUFMO0FBQ0Q7OztXQUVELGdDQUF1QkMsQ0FBdkIsRUFBMEI7QUFDeEIsV0FBS0wsY0FBTCxHQUFzQkssQ0FBdEI7O0FBRUEsVUFBSSxLQUFLUCxNQUFULEVBQWlCO0FBQ2YsYUFBS1EsYUFBTCxDQUFtQixJQUFJQyxxQ0FBSixDQUFzQixLQUFLVCxNQUEzQixDQUFuQixFQUF1RCxLQUF2RDtBQUNEOztBQUVELFdBQUtNLE1BQUw7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7O1dBQ0UscUJBQVlJLE9BQVosRUFBcUI7QUFDbkIsV0FBS0YsYUFBTCxDQUFtQixJQUFJRyxvQ0FBSixDQUFxQkQsT0FBckIsQ0FBbkI7QUFDRDs7O1dBRUQsdUJBQWNFLEdBQWQsRUFBbUJDLElBQW5CLEVBQXlCO0FBQ3ZCLFdBQUtMLGFBQUwsQ0FBbUIsSUFBSU0sb0NBQUosQ0FBcUJGLEdBQXJCLEVBQTBCQyxJQUExQixDQUFuQjtBQUNEOzs7V0FFRCxrQkFBUztBQUNQLFVBQUksS0FBS2IsTUFBVCxFQUFpQjtBQUNmLFlBQU1lLEVBQUUsZ0JBQUdDLGtCQUFNQyxhQUFOLENBQW9CQyxrQkFBcEIsRUFBMEI7QUFDbkNDLFVBQUFBLEtBQUssRUFBRSxLQUFLbkIsTUFEdUI7QUFFbkNJLFVBQUFBLGFBQWEsRUFBRSxLQUFLRixjQUZlO0FBR25Da0IsVUFBQUEsY0FBYyxFQUFFLEtBQUtDLFlBQUwsQ0FBa0JDLElBQWxCLENBQXVCLElBQXZCLENBSG1CO0FBSW5DQyxVQUFBQSxzQkFBc0IsRUFBRSxLQUFLQSxzQkFBTCxDQUE0QkQsSUFBNUIsQ0FBaUMsSUFBakMsQ0FKVztBQUtuQ0UsVUFBQUEsWUFBWSxFQUFFO0FBQ1pDLFlBQUFBLEdBQUcsRUFBRSxLQUFLQyxXQUFMLENBQWlCSixJQUFqQixDQUFzQixJQUF0QixDQURPO0FBRVosc0JBQVEsS0FBS0ssYUFBTCxDQUFtQkwsSUFBbkIsQ0FBd0IsSUFBeEI7QUFGSTtBQUxxQixTQUExQixDQUFYOztBQVdBTSw2QkFBU3RCLE1BQVQsQ0FBZ0JTLEVBQWhCLEVBQW9CLElBQXBCO0FBQ0Q7QUFDRjs7O2tEQXpFOENjLFc7OztpQ0FBNUI5QixtQix3QkFDUyxZQUFnQjtBQUFBLE1BQWZvQixLQUFlLHVFQUFQLEVBQU87O0FBQzFDLE1BQU1XLFFBQVEsbUNBQ1QzQixpQ0FBY2dCLEtBREwsR0FFVEEsS0FGUyxDQUFkOztBQUtBLFNBQU8sdUJBQWNXLFFBQWQsQ0FBUDtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL2Rlc2lnbic7XG5pbXBvcnQge1xuICBEZWxldGVJbWFnZUV2ZW50LFxuICBJbnNlcnRJbWFnZUV2ZW50LFxuICBNb2RlbFVwZGF0ZWRFdmVudFxufSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtY29uZmlndXJlLWV2ZW50cyc7XG5pbXBvcnQgZGVmYXVsdFZhbHVlcyBmcm9tICcuL2RlZmF1bHRDb25maWd1cmF0aW9uJztcbmltcG9ydCBnZW5lcmF0ZU1vZGVsICBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VsZWN0VGV4dENvbmZpZ3VyZSBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgc3RhdGljIGNyZWF0ZURlZmF1bHRNb2RlbCA9IChtb2RlbCA9IHt9KSA9PiB7XG4gICAgY29uc3QgbmV3TW9kZWwgPSB7XG4gICAgICAuLi5kZWZhdWx0VmFsdWVzLm1vZGVsLFxuICAgICAgLi4ubW9kZWxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGdlbmVyYXRlTW9kZWwobmV3TW9kZWwpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fbW9kZWwgPSBTZWxlY3RUZXh0Q29uZmlndXJlLmNyZWF0ZURlZmF1bHRNb2RlbCgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBkZWZhdWx0VmFsdWVzLmNvbmZpZ3VyYXRpb247XG4gIH1cblxuICBzZXQgbW9kZWwobSkge1xuICAgIHRoaXMuX21vZGVsID0gU2VsZWN0VGV4dENvbmZpZ3VyZS5jcmVhdGVEZWZhdWx0TW9kZWwobSk7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHNldCBjb25maWd1cmF0aW9uKGMpIHtcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gYztcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG1vZGVsQ2hhbmdlZChtKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBtO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwpLCB0cnVlKTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgb25Db25maWd1cmF0aW9uQ2hhbmdlZChjKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGM7XG5cbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwpLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge2RvbmUsIHByb2dyZXNzLCBmaWxlfSBoYW5kbGVyXG4gICAqL1xuICBpbnNlcnRJbWFnZShoYW5kbGVyKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnNlcnRJbWFnZUV2ZW50KGhhbmRsZXIpKTtcbiAgfVxuXG4gIG9uRGVsZXRlSW1hZ2Uoc3JjLCBkb25lKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBEZWxldGVJbWFnZUV2ZW50KHNyYywgZG9uZSkpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLl9tb2RlbCkge1xuICAgICAgY29uc3QgZWwgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB0aGlzLl9jb25maWd1cmF0aW9uLFxuICAgICAgICBvbk1vZGVsQ2hhbmdlZDogdGhpcy5tb2RlbENoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLmJpbmQodGhpcyksXG4gICAgICAgIGltYWdlU3VwcG9ydDoge1xuICAgICAgICAgIGFkZDogdGhpcy5pbnNlcnRJbWFnZS5iaW5kKHRoaXMpLFxuICAgICAgICAgIGRlbGV0ZTogdGhpcy5vbkRlbGV0ZUltYWdlLmJpbmQodGhpcylcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIFJlYWN0RE9NLnJlbmRlcihlbCwgdGhpcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
139
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["SelectTextConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","el","React","createElement","Main","model","onModelChanged","modelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","HTMLElement","newModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAKA;;AACA;;;;;;;;;;IAEqBA,mB;;;;;AAUnB,iCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,EAAd;AACA,UAAKC,cAAL,GAAsBC,iCAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,CAAuCI,CAAvC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;AACA,WAAKD,MAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,MAAL;AACD;;;WAED,sBAAaD,CAAb,EAAgB;AACd,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKG,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,IAAvD;AACA,WAAKM,MAAL;AACD;;;WAED,gCAAuBC,CAAvB,EAA0B;AACxB,WAAKL,cAAL,GAAsBK,CAAtB;;AAEA,UAAI,KAAKP,MAAT,EAAiB;AACf,aAAKQ,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,KAAvD;AACD;;AAED,WAAKM,MAAL;AACD;AAED;AACF;AACA;AACA;;;;WACE,qBAAYI,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIG,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIM,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKb,MAAT,EAAiB;AACf,YAAMe,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,kBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKnB,MADuB;AAEnCI,UAAAA,aAAa,EAAE,KAAKF,cAFe;AAGnCkB,UAAAA,cAAc,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAHmB;AAInCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJW;AAKnCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI;AALqB,SAA1B,CAAX;;AAWAM,6BAAStB,MAAT,CAAgBS,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDAzE8Cc,W;;;iCAA5B9B,mB,wBACS,YAAgB;AAAA,MAAfoB,KAAe,uEAAP,EAAO;;AAC1C,MAAMW,QAAQ,mCACT3B,iCAAcgB,KADL,GAETA,KAFS,CAAd;;AAKA,SAAO,uBAAcW,QAAd,CAAP;AACD,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './design';\nimport {\n DeleteImageEvent,\n InsertImageEvent,\n ModelUpdatedEvent\n} from '@pie-framework/pie-configure-events';\nimport defaultValues from './defaultConfiguration';\nimport generateModel from './utils';\n\nexport default class SelectTextConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const newModel = {\n ...defaultValues.model,\n ...model\n };\n\n return generateModel(newModel);\n };\n\n constructor() {\n super();\n this._model = SelectTextConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = SelectTextConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\n this.dispatchEvent(new ModelUpdatedEvent(this._model), false);\n }\n\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this)\n }\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["SelectTextConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","el","React","createElement","Main","model","onModelChanged","modelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","HTMLElement","newModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAKA;;AACA;;;;;;;;;;IAEqBA,mB;;;;;AAUnB,iCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,EAAd;AACA,UAAKC,cAAL,GAAsBC,iCAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,CAAuCI,CAAvC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;AACA,WAAKD,MAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,MAAL;AACD;;;WAED,sBAAaD,CAAb,EAAgB;AACd,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKG,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,IAAvD;AACA,WAAKM,MAAL;AACD;;;WAED,gCAAuBC,CAAvB,EAA0B;AACxB,WAAKL,cAAL,GAAsBK,CAAtB;;AAEA,UAAI,KAAKP,MAAT,EAAiB;AACf,aAAKQ,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,KAAvD;AACD;;AAED,WAAKM,MAAL;AACD;AAED;AACF;AACA;AACA;;;;WACE,qBAAYI,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIG,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIM,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKb,MAAT,EAAiB;AACf,YAAMe,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,kBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKnB,MADuB;AAEnCI,UAAAA,aAAa,EAAE,KAAKF,cAFe;AAGnCkB,UAAAA,cAAc,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAHmB;AAInCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJW;AAKnCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI;AALqB,SAA1B,CAAX;;AAWAM,6BAAStB,MAAT,CAAgBS,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDAzE8Cc,W;;;iCAA5B9B,mB,wBACS,YAAgB;AAAA,MAAfoB,KAAe,uEAAP,EAAO;;AAC1C,MAAMW,QAAQ,mCACT3B,iCAAcgB,KADL,GAETA,KAFS,CAAd;;AAKA,SAAO,0BAAcW,QAAd,CAAP;AACD,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './design';\nimport {\n DeleteImageEvent,\n InsertImageEvent,\n ModelUpdatedEvent\n} from '@pie-framework/pie-configure-events';\nimport defaultValues from './defaultConfiguration';\nimport { generateModel } from './utils';\n\nexport default class SelectTextConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const newModel = {\n ...defaultValues.model,\n ...model\n };\n\n return generateModel(newModel);\n };\n\n constructor() {\n super();\n this._model = SelectTextConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = SelectTextConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\n this.dispatchEvent(new ModelUpdatedEvent(this._model), false);\n }\n\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this)\n }\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.generateValidationMessage = exports.generateModel = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -56,7 +56,7 @@ var prepareText = function prepareText(text) {
56
56
  return parseParagraphs(txtDom);
57
57
  };
58
58
 
59
- var _default = function _default(model) {
59
+ var generateModel = function generateModel(model) {
60
60
  if (!model) return model; // parsing
61
61
 
62
62
  var modelText = prepareText(model.text || '');
@@ -102,5 +102,17 @@ var _default = function _default(model) {
102
102
  });
103
103
  };
104
104
 
105
- exports["default"] = _default;
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50RnJvbUhUTUwiLCJodG1sU3RyaW5nIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaW5uZXJIVE1MIiwidHJpbSIsInBhcnNlUGFyYWdyYXBoIiwicGFyYWdyYXBoIiwiZW5kIiwiY29uY2F0IiwicGFyc2VQYXJhZ3JhcGhzIiwiZG9tIiwicGFyYWdyYXBocyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzdHIiLCJmb3JFYWNoIiwicGFyIiwiaW5kZXgiLCJwcmVwYXJlVGV4dCIsInRleHQiLCJ0eHREb20iLCJhbGxEb21FbGVtZW50cyIsIkFycmF5IiwiZnJvbSIsIm1vZGVsIiwibW9kZWxUZXh0IiwibmV3VG9rZW5zIiwidG9rZW5zIiwicmVkdWNlIiwiYWNjIiwidG9rZW4iLCJ0b2tlblRleHQiLCJzbGljZSIsInN0YXJ0IiwiZ2V0U3RhcnRJbmRleCIsIm5ld1N0YXJ0SW5kZXgiLCJpbmRleE9mIiwibGFzdFRva2VuIiwibmV3U3RhcnQiLCJuZXdFbmQiLCJvbGRTdGFydCIsIm9sZEVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFQSxJQUFJQSxxQkFBcUIsR0FBRyxTQUFTQSxxQkFBVCxHQUFpQztBQUMzRCxNQUFJQyxVQUFVLEdBQUdDLFNBQVMsQ0FBQ0MsTUFBVixHQUFtQixDQUFuQixJQUF3QkQsU0FBUyxDQUFDLENBQUQsQ0FBVCxLQUFpQkUsU0FBekMsR0FBcURGLFNBQVMsQ0FBQyxDQUFELENBQTlELEdBQW9FLEVBQXJGO0FBQ0EsTUFBSUcsR0FBRyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBVjtBQUNBRixFQUFBQSxHQUFHLENBQUNHLFNBQUosR0FBZ0JQLFVBQVUsQ0FBQ1EsSUFBWCxFQUFoQjtBQUNBLFNBQU9KLEdBQVA7QUFDRCxDQUxEOztB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Z0JBLFFBQU1zQyxTQUFTLEdBQUdSLEdBQUcsQ0FBQ0EsR0FBRyxDQUFDOUIsTUFBSixHQUFhLENBQWQsQ0FBckI7QUFDQSxRQUFNdUMsUUFBUSxHQUFHSixhQUFhLENBQUNHLFNBQVMsR0FBR0EsU0FBUyxDQUFDN0IsR0FBYixHQUFtQnNCLEtBQUssQ0FBQ0csS0FBbkMsQ0FBOUI7QUFDQSxRQUFNTSxNQUFNLEdBQUdELFFBQVEsR0FBR1AsU0FBUyxDQUFDaEMsTUFBcEM7QUFFQSx5REFDSzhCLEdBREwsb0NBR09DLEtBSFA7QUFJSVgsTUFBQUEsSUFBSSxFQUFFWSxTQUpWO0FBS0lFLE1BQUFBLEtBQUssRUFBRUssUUFMWDtBQU1JOUIsTUFBQUEsR0FBRyxFQUFFK0IsTUFOVDtBQU9JO0FBQ0FDLE1BQUFBLFFBQVEsRUFBRVYsS0FBSyxDQUFDRyxLQVJwQjtBQVNJUSxNQUFBQSxNQUFNLEVBQUVYLEtBQUssQ0FBQ3RCO0FBVGxCO0FBWUQsR0F2Q2lCLEVBdUNmLEVBdkNlLENBQWxCO0FBeUNBLHlDQUNLZ0IsS0FETDtBQUVFRyxJQUFBQSxNQUFNLEVBQUVELFNBRlY7QUFHRVAsSUFBQUEsSUFBSSxFQUFFTTtBQUhSO0FBS0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbnZhciBjcmVhdGVFbGVtZW50RnJvbUhUTUwgPSBmdW5jdGlvbiBjcmVhdGVFbGVtZW50RnJvbUhUTUwoKSB7XG4gIHZhciBodG1sU3RyaW5nID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnJztcbiAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuaW5uZXJIVE1MID0gaHRtbFN0cmluZy50cmltKCk7XG4gIHJldHVybiBkaXY7XG59O1xuXG52YXIgcGFyc2VQYXJhZ3JhcGggPSBmdW5jdGlvbiBwYXJzZVBhcmFncmFwaChwYXJhZ3JhcGgsIGVuZCkge1xuICBpZiAoZW5kKSB7XG4gICAgcmV0dXJuIHBhcmFncmFwaC5pbm5lckhUTUw7XG4gIH1cblxuICByZXR1cm4gJycuY29uY2F0KHBhcmFncmFwaC5pbm5lckhUTUwsICdcXG5cXG4nKTtcbn07XG5cbnZhciBwYXJzZVBhcmFncmFwaHMgPSBmdW5jdGlvbiBwYXJzZVBhcmFncmFwaHMoZG9tKSB7XG4gIHZhciBwYXJhZ3JhcGhzID0gZG9tLnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdltzZXBhcmF0b3I9dHJ1ZV0nKTsgLy8gc2VwYXJhdGUgdmFyaWFibGUgZm9yIGVhc2lseSBkZWJ1Z2dpbmcsIGlmIG5lZWRlZFxuXG4gIHZhciBzdHIgPSAnJztcbiAgcGFyYWdyYXBocy5mb3JFYWNoKGZ1bmN0aW9uIChwYXIsIGluZGV4KSB7XG4gICAgc3RyICs9IHBhcnNlUGFyYWdyYXBoKHBhciwgaW5kZXggPT09IHBhcmFncmFwaHMubGVuZ3RoIC0gMSk7XG4gIH0pO1xuICByZXR1cm4gc3RyIHx8IG51bGw7XG59O1xuXG52YXIgcHJlcGFyZVRleHQgPSBmdW5jdGlvbiBwcmVwYXJlVGV4dCh0ZXh0KSB7XG4gIHZhciB0eHREb20gPSBjcmVhdGVFbGVtZW50RnJvbUhUTUwodGV4dCk7XG5cbiAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuaW5uZXJIVE1MID0gJzxkaXYgc2VwYXJhdG9yPVxcJ3RydWVcXCc+Jy5jb25jYXQodHh0RG9tLmlubmVySFRNTCwgJzwvZGl2PicpO1xuICB0eHREb20gPSBkaXY7XG5cbiAgdmFyIGFsbERvbUVsZW1lbnRzID0gQXJyYXkuZnJvbSh0eHREb20ucXVlcnlTZWxlY3RvckFsbCgnKicpKTtcblxuICBpZiAoYWxsRG9tRWxlbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICByZXR1cm4gcGFyc2VQYXJhZ3JhcGhzKHR4dERvbSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCAobW9kZWwpID0+IHtcbiAgaWYgKCFtb2RlbCkgcmV0dXJuIG1vZGVsO1xuXG4gIC8vIHBhcnNpbmdcbiAgY29uc3QgbW9kZWxUZXh0ID0gcHJlcGFyZVRleHQobW9kZWwudGV4dCB8fCAnJyk7XG5cbiAgY29uc3QgbmV3VG9rZW5zID0gKG1vZGVsLnRva2VucyB8fCBbXSkucmVkdWNlKChhY2MsIHRva2VuID0ge30pID0+IHtcbiAgICBjb25zdCB0b2tlblRleHQgPSBwcmVwYXJlVGV4dCgobW9kZWwudGV4dCB8fCAnJykuc2xpY2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCkpO1xuXG4gICAgaWYgKCF0b2tlblRleHQpIHtcbiAgICAgIHJldHVybiBbLi4uYWNjLCB0b2tlbl07XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0U3RhcnRJbmRleCA9IChzdGFydCkgPT4ge1xuICAgICAgbGV0IGxlbmd0aCA9IHN0YXJ0O1xuXG4gICAgICB3aGlsZSAobGVuZ3RoID49IDApIHtcbiAgICAgICAgbGV0IG5ld1N0YXJ0SW5kZXggPSBtb2RlbFRleHQuc2xpY2UobGVuZ3RoKS5pbmRleE9mKHRva2VuVGV4dCk7XG5cbiAgICAgICAgaWYgKG5ld1N0YXJ0SW5kZXggPj0gMCkge1xuICAgICAgICAgIHJldHVybiBuZXdTdGFydEluZGV4ICsgbGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgbGVuZ3RoLS07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuICAgIH07XG5cbiAgICBjb25zdCBsYXN0VG9rZW4gPSBhY2NbYWNjLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IG5ld1N0YXJ0ID0gZ2V0U3RhcnRJbmRleChsYXN0VG9rZW4gPyBsYXN0VG9rZW4uZW5kIDogdG9rZW4uc3RhcnQpO1xuICAgIGNvbnN0IG5ld0VuZCA9IG5ld1N0YXJ0ICsgdG9rZW5UZXh0Lmxlbmd0aDtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi5hY2MsXG4gICAgICB7XG4gICAgICAgIC4uLnRva2VuLFxuICAgICAgICB0ZXh0OiB0b2tlblRleHQsXG4gICAgICAgIHN0YXJ0OiBuZXdTdGFydCxcbiAgICAgICAgZW5kOiBuZXdFbmQsXG4gICAgICAgIC8vIG5lZWRlZCBmb3IgZ2V0U2NvcmUgd2hlbiB0b2tlbnMgcG9zaXRpb24gaXMgcmVjYWxjdWxhdGVkXG4gICAgICAgIG9sZFN0YXJ0OiB0b2tlbi5zdGFydCxcbiAgICAgICAgb2xkRW5kOiB0b2tlbi5lbmRcbiAgICAgIH1cbiAgICBdO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5tb2RlbCxcbiAgICB0b2tlbnM6IG5ld1Rva2VucyxcbiAgICB0ZXh0OiBtb2RlbFRleHRcbiAgfTtcbn07XG4iXX0=
105
+ exports.generateModel = generateModel;
106
+
107
+ var generateValidationMessage = function generateValidationMessage(config) {
108
+ var minTokens = config.minTokens,
109
+ maxTokens = config.maxTokens,
110
+ maxSelections = config.maxSelections;
111
+ var tokensMessage = "\nThere should be at least ".concat(minTokens, " ") + (maxTokens ? "and at most ".concat(maxTokens, " ") : '') + 'tokens defined.';
112
+ var selectionsMessage = "\nThere should be at least 1 " + (maxSelections ? "and at most ".concat(maxSelections, " ") : '') + 'token' + (maxSelections ? 's' : '') + ' selected.';
113
+ var message = 'Validation requirements:' + tokensMessage + selectionsMessage;
114
+ return message;
115
+ };
116
+
117
+ exports.generateValidationMessage = generateValidationMessage;
118
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["createElementFromHTML","htmlString","arguments","length","undefined","div","document","createElement","innerHTML","trim","parseParagraph","paragraph","end","concat","parseParagraphs","dom","paragraphs","querySelectorAll","str","forEach","par","index","prepareText","text","txtDom","allDomElements","Array","from","model","modelText","newTokens","tokens","reduce","acc","token","tokenText","slice","start","getStartIndex","newStartIndex","indexOf","lastToken","newStart","newEnd","oldStart","oldEnd"],"mappings":"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","sourcesContent":["import React from 'react';\n\nvar createElementFromHTML = function createElementFromHTML() {\n var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n return div;\n};\n\nvar parseParagraph = function parseParagraph(paragraph, end) {\n if (end) {\n return paragraph.innerHTML;\n }\n\n return ''.concat(paragraph.innerHTML, '\\n\\n');\n};\n\nvar parseParagraphs = function parseParagraphs(dom) {\n var paragraphs = dom.querySelectorAll('div[separator=true]'); // separate variable for easily debugging, if needed\n\n var str = '';\n paragraphs.forEach(function (par, index) {\n str += parseParagraph(par, index === paragraphs.length - 1);\n });\n return str || null;\n};\n\nvar prepareText = function prepareText(text) {\n var txtDom = createElementFromHTML(text);\n\n var div = document.createElement('div');\n div.innerHTML = '<div separator=\\'true\\'>'.concat(txtDom.innerHTML, '</div>');\n txtDom = div;\n\n var allDomElements = Array.from(txtDom.querySelectorAll('*'));\n\n if (allDomElements.length === 0) {\n return text;\n }\n\n return parseParagraphs(txtDom);\n};\n\nexport default (model) => {\n if (!model) return model;\n\n // parsing\n const modelText = prepareText(model.text || '');\n\n const newTokens = (model.tokens || []).reduce((acc, token = {}) => {\n const tokenText = prepareText((model.text || '').slice(token.start, token.end));\n\n if (!tokenText) {\n return [...acc, token];\n }\n\n const getStartIndex = (start) => {\n let length = start;\n\n while (length >= 0) {\n let newStartIndex = modelText.slice(length).indexOf(tokenText);\n\n if (newStartIndex >= 0) {\n return newStartIndex + length;\n }\n\n length--;\n }\n\n return 0;\n };\n\n const lastToken = acc[acc.length - 1];\n const newStart = getStartIndex(lastToken ? lastToken.end : token.start);\n const newEnd = newStart + tokenText.length;\n\n return [\n ...acc,\n {\n ...token,\n text: tokenText,\n start: newStart,\n end: newEnd,\n // needed for getScore when tokens position is recalculated\n oldStart: token.start,\n oldEnd: token.end\n }\n ];\n }, []);\n\n return {\n ...model,\n tokens: newTokens,\n text: modelText\n };\n};\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../src/utils.js"],"names":["createElementFromHTML","htmlString","arguments","length","undefined","div","document","createElement","innerHTML","trim","parseParagraph","paragraph","end","concat","parseParagraphs","dom","paragraphs","querySelectorAll","str","forEach","par","index","prepareText","text","txtDom","allDomElements","Array","from","generateModel","model","modelText","newTokens","tokens","reduce","acc","token","tokenText","slice","start","getStartIndex","newStartIndex","indexOf","lastToken","newStart","newEnd","oldStart","oldEnd","generateValidationMessage","config","minTokens","maxTokens","maxSelections","tokensMessage","selectionsMessage","message"],"mappings":"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","sourcesContent":["import React from 'react';\n\nvar createElementFromHTML = function createElementFromHTML() {\n var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n return div;\n};\n\nvar parseParagraph = function parseParagraph(paragraph, end) {\n if (end) {\n return paragraph.innerHTML;\n }\n\n return ''.concat(paragraph.innerHTML, '\\n\\n');\n};\n\nvar parseParagraphs = function parseParagraphs(dom) {\n var paragraphs = dom.querySelectorAll('div[separator=true]'); // separate variable for easily debugging, if needed\n\n var str = '';\n paragraphs.forEach(function (par, index) {\n str += parseParagraph(par, index === paragraphs.length - 1);\n });\n return str || null;\n};\n\nvar prepareText = function prepareText(text) {\n var txtDom = createElementFromHTML(text);\n\n var div = document.createElement('div');\n div.innerHTML = '<div separator=\\'true\\'>'.concat(txtDom.innerHTML, '</div>');\n txtDom = div;\n\n var allDomElements = Array.from(txtDom.querySelectorAll('*'));\n\n if (allDomElements.length === 0) {\n return text;\n }\n\n return parseParagraphs(txtDom);\n};\n\nexport const generateModel = model => {\n if (!model) return model;\n\n // parsing\n const modelText = prepareText(model.text || '');\n\n const newTokens = (model.tokens || []).reduce((acc, token = {}) => {\n const tokenText = prepareText((model.text || '').slice(token.start, token.end));\n\n if (!tokenText) {\n return [...acc, token];\n }\n\n const getStartIndex = (start) => {\n let length = start;\n\n while (length >= 0) {\n let newStartIndex = modelText.slice(length).indexOf(tokenText);\n\n if (newStartIndex >= 0) {\n return newStartIndex + length;\n }\n\n length--;\n }\n\n return 0;\n };\n\n const lastToken = acc[acc.length - 1];\n const newStart = getStartIndex(lastToken ? lastToken.end : token.start);\n const newEnd = newStart + tokenText.length;\n\n return [\n ...acc,\n {\n ...token,\n text: tokenText,\n start: newStart,\n end: newEnd,\n // needed for getScore when tokens position is recalculated\n oldStart: token.start,\n oldEnd: token.end\n }\n ];\n }, []);\n\n return {\n ...model,\n tokens: newTokens,\n text: modelText\n };\n};\n\nexport const generateValidationMessage = config => {\n const { minTokens, maxTokens, maxSelections } = config;\n\n const tokensMessage = `\\nThere should be at least ${minTokens} ` +\n (maxTokens ? `and at most ${maxTokens} ` : '') + 'tokens defined.';\n\n const selectionsMessage = `\\nThere should be at least 1 ` +\n (maxSelections ? `and at most ${maxSelections} ` : '') + 'token' +\n (maxSelections ? 's' : '') + ' selected.';\n\n const message = 'Validation requirements:' + tokensMessage + selectionsMessage;\n\n return message;\n};\n"],"file":"utils.js"}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@pie-element/select-text-configure",
3
3
  "private": true,
4
- "version": "5.2.22",
4
+ "version": "5.3.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
10
  "@pie-framework/pie-configure-events": "^1.2.0",
11
- "@pie-lib/config-ui": "^10.11.0",
12
- "@pie-lib/editable-html": "^7.20.0",
13
- "@pie-lib/scoring-config": "^3.5.154",
14
- "@pie-lib/text-select": "^1.8.14",
11
+ "@pie-lib/config-ui": "^10.12.1",
12
+ "@pie-lib/editable-html": "^7.22.1",
13
+ "@pie-lib/scoring-config": "^3.5.157",
14
+ "@pie-lib/text-select": "^1.8.15",
15
15
  "debug": "^3.1.0",
16
16
  "lodash": "^4.17.15",
17
17
  "prop-types": "^15.6.2",
@@ -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
+ # [4.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-controller@4.1.31...@pie-element/select-text-controller@4.2.0) (2022-05-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * in controller we don't have access to the model (text & tokens) parser functions, so I have added 2 props (oldStart and oldEnd) to compare the start & and of the selected tokens (which are parsed) with the correct tokens (which are not parsed). Also, for the createCorrectSession to work, we need to make sure that when session is set, we have the correct start & end for the tokens (that come unparsed from controller). ([d6670b5](https://github.com/pie-framework/pie-elements/commit/d6670b53185acedd3be2dfc37b8f3616c9ce27f3))
12
+
13
+
14
+ ### Features
15
+
16
+ * **select-text:** added configurable validation ([fcea834](https://github.com/pie-framework/pie-elements/commit/fcea834fc7d9d19dbd3bc65d10ef3ecbf2618097))
17
+ * **select-text:** added configurable validation PD-1700 ([467f4a6](https://github.com/pie-framework/pie-elements/commit/467f4a640e560e26c932ce067b1b09ffe444b290))
18
+ * **select-text:** ui/ux validation PD-1701 ([3ae2723](https://github.com/pie-framework/pie-elements/commit/3ae27238a70124dcf2b544f0f1c8ae93ddeb0f6e))
19
+
20
+
21
+
22
+
23
+
6
24
  ## [4.1.31](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-controller@4.1.30...@pie-element/select-text-controller@4.1.31) (2022-03-22)
7
25
 
8
26
  **Note:** Version bump only for package @pie-element/select-text-controller