@pie-element/inline-dropdown 4.7.1-beta.3 → 4.7.1-beta.4
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/configure/lib/defaults.js +1 -1
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +1 -1
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/inline-dropdown-toolbar.js +1 -1
- package/configure/lib/inline-dropdown-toolbar.js.map +1 -0
- package/configure/lib/main.js +1 -1
- package/configure/lib/main.js.map +1 -0
- package/configure/lib/markupUtils.js +1 -1
- package/configure/lib/markupUtils.js.map +1 -0
- package/configure/lib/utils.js +1 -1
- package/configure/lib/utils.js.map +1 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +1 -1
- package/controller/lib/index.js.map +1 -0
- package/controller/lib/utils.js +1 -1
- package/controller/lib/utils.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -0
- package/lib/inline-dropdown.js +1 -1
- package/lib/inline-dropdown.js.map +1 -0
- package/package.json +2 -2
- package/configure/lib/__tests__/inline-dropdown-toolbar.test.js +0 -112
- package/configure/lib/__tests__/main.test.js +0 -492
- package/configure/lib/__tests__/markupUtils.test.js +0 -107
- package/controller/lib/__tests__/index.test.js +0 -858
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/inline-dropdown.test.js +0 -113
|
@@ -75,4 +75,4 @@ var _default = {
|
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
77
|
exports["default"] = _default;
|
|
78
|
-
//# sourceMappingURL=
|
|
78
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["model","disabled","mode","prompt","shuffle","markup","choices","alternateResponse","promptEnabled","rationaleEnabled","choiceRationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","displayType","configuration","settings","label","settingsPanelDisabled","spellCheck","enabled","lockChoiceOrder","partialScoring","rationale","teacherInstructions","choiceRationale","maxResponseAreas","maxResponseAreaChoices","maxImageWidth","maxImageHeight","withRubric","exports","_default"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the dropdowns to complete the sentence',\n shuffle: true,\n markup: '',\n choices: {},\n alternateResponse: {},\n promptEnabled: true,\n rationaleEnabled: true,\n choiceRationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n displayType: 'block',\n },\n configuration: {\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n choiceRationale: {\n settings: true,\n label: 'Choice Rationale',\n },\n toolbarEditorPosition: {\n settings: false,\n label: 'Toolbar Editor Position',\n },\n maxResponseAreas: 10,\n maxResponseAreaChoices: 10,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"mappings":";;;;;;eAAe;EACbA,KAAK,EAAE;IACLC,QAAQ,EAAE,KAAK;IACfC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,4CAA4C;IACpDC,OAAO,EAAE,IAAI;IACbC,MAAM,EAAE,EAAE;IACVC,OAAO,EAAE,CAAC,CAAC;IACXC,iBAAiB,EAAE,CAAC,CAAC;IACrBC,aAAa,EAAE,IAAI;IACnBC,gBAAgB,EAAE,IAAI;IACtBC,sBAAsB,EAAE,IAAI;IAC5BC,0BAA0B,EAAE,IAAI;IAChCC,0BAA0B,EAAE,IAAI;IAChCC,qBAAqB,EAAE,QAAQ;IAC/BC,WAAW,EAAE;EACf,CAAC;EACDC,aAAa,EAAE;IACbZ,MAAM,EAAE;MACNa,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDC,qBAAqB,EAAE,KAAK;IAC5BC,UAAU,EAAE;MACVF,KAAK,EAAE,YAAY;MACnBD,QAAQ,EAAE,KAAK;MACfI,OAAO,EAAE;IACX,CAAC;IACDC,eAAe,EAAE;MACfL,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDK,cAAc,EAAE;MACdN,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC;IACDM,SAAS,EAAE;MACTP,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDO,mBAAmB,EAAE;MACnBR,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDQ,eAAe,EAAE;MACfT,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDJ,qBAAqB,EAAE;MACrBG,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC;IACDS,gBAAgB,EAAE,EAAE;IACpBC,sBAAsB,EAAE,EAAE;IAC1BC,aAAa,EAAE;MACbJ,mBAAmB,EAAE,GAAG;MACxBrB,MAAM,EAAE,GAAG;MACXoB,SAAS,EAAE;IACb,CAAC;IACDM,cAAc,EAAE;MACdL,mBAAmB,EAAE,GAAG;MACxBrB,MAAM,EAAE,GAAG;MACXoB,SAAS,EAAE;IACb,CAAC;IACDO,UAAU,EAAE;MACVd,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAAAc,OAAA,cAAAC,QAAA"}
|
package/configure/lib/index.js
CHANGED
|
@@ -134,4 +134,4 @@ exports["default"] = InlineDropdown;
|
|
|
134
134
|
/*...processedMarkup,*/
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGllQ29uZmlndXJlRXZlbnRzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3REb20iLCJfbWFpbiIsIl9kZWJ1ZyIsIl9kZWZhdWx0cyIsIl9kZWZhdWx0czIiLCJfbWFya3VwVXRpbHMiLCJvd25LZXlzIiwib2JqZWN0IiwiZW51bWVyYWJsZU9ubHkiLCJrZXlzIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic3ltYm9scyIsImZpbHRlciIsInN5bSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImZvckVhY2giLCJrZXkiLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jcmVhdGVTdXBlciIsIkRlcml2ZWQiLCJoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIl9jcmVhdGVTdXBlckludGVybmFsIiwiU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwicmVzdWx0IiwiTmV3VGFyZ2V0IiwiY29uc3RydWN0b3IiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwic2hhbSIsIlByb3h5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiZSIsImxvZyIsImRlYnVnIiwiSW5saW5lRHJvcGRvd24iLCJfSFRNTEVsZW1lbnQiLCJfaW5oZXJpdHMyIiwiX3N1cGVyIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX21vZGVsIiwicHJlcGFyZU1vZGVsIiwiX2NvbmZpZ3VyYXRpb24iLCJzZW5zaWJsZURlZmF1bHRzIiwiY29uZmlndXJhdGlvbiIsIm9uTW9kZWxDaGFuZ2VkIiwiYmluZCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQyIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsIl9jcmVhdGVDbGFzczIiLCJzZXQiLCJzIiwiX3JlbmRlciIsImMiLCJkZWZhdWx0cyIsIl9kaXNhYmxlU2lkZVBhbmVsIiwidmFsdWUiLCJkaXNwYXRjaE1vZGVsVXBkYXRlZCIsInJlc2V0IiwicmVzZXRWYWx1ZSIsImRpc3BhdGNoRXZlbnQiLCJNb2RlbFVwZGF0ZWRFdmVudCIsIm0iLCJpbnNlcnRJbWFnZSIsImhhbmRsZXIiLCJJbnNlcnRJbWFnZUV2ZW50Iiwib25EZWxldGVJbWFnZSIsInNyYyIsImRvbmUiLCJEZWxldGVJbWFnZUV2ZW50IiwiaW5zZXJ0U291bmQiLCJJbnNlcnRTb3VuZEV2ZW50Iiwib25EZWxldGVTb3VuZCIsIkRlbGV0ZVNvdW5kRXZlbnQiLCJlbGVtZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIm1vZGVsIiwiZGlzYWJsZVNpZGVQYW5lbCIsImltYWdlU3VwcG9ydCIsImFkZCIsInVwbG9hZFNvdW5kU3VwcG9ydCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiX3dyYXBOYXRpdmVTdXBlcjIiLCJIVE1MRWxlbWVudCIsImV4cG9ydHMiLCJ1bmRlZmluZWQiLCJjdXJyTW9kYWwiLCJzbGF0ZU1hcmt1cCIsImNyZWF0ZVNsYXRlTWFya3VwIiwibWFya3VwIiwiY2hvaWNlcyIsInByb2Nlc3NNYXJrdXAiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWxVcGRhdGVkRXZlbnQsXG4gIERlbGV0ZUltYWdlRXZlbnQsXG4gIEluc2VydEltYWdlRXZlbnQsXG4gIEluc2VydFNvdW5kRXZlbnQsXG4gIERlbGV0ZVNvdW5kRXZlbnQsXG59IGZyb20gJ0BwaWUtZnJhbWV3b3JrL3BpZS1jb25maWd1cmUtZXZlbnRzJztcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IE1haW4gZnJvbSAnLi9tYWluJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnbG9kYXNoL2RlZmF1bHRzJztcblxuaW1wb3J0IHNlbnNpYmxlRGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5pbXBvcnQgeyBwcm9jZXNzTWFya3VwLCBjcmVhdGVTbGF0ZU1hcmt1cCB9IGZyb20gJy4vbWFya3VwVXRpbHMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnbXVsdGlwbGUtY2hvaWNlOmNvbmZpZ3VyZScpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbmxpbmVEcm9wZG93biBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgc3RhdGljIHByZXBhcmVNb2RlbCA9IChtb2RlbCA9IHt9KSA9PiB7XG4gICAgY29uc3QgY3Vyck1vZGFsID0ge1xuICAgICAgLi4uc2Vuc2libGVEZWZhdWx0cy5tb2RlbCxcbiAgICAgIC4uLm1vZGVsLFxuICAgIH07XG4gICAgY29uc3Qgc2xhdGVNYXJrdXAgPSBtb2RlbC5zbGF0ZU1hcmt1cCB8fCBjcmVhdGVTbGF0ZU1hcmt1cChjdXJyTW9kYWwubWFya3VwLCBjdXJyTW9kYWwuY2hvaWNlcyk7XG4gICAgY29uc3QgbWFya3VwID0gcHJvY2Vzc01hcmt1cChzbGF0ZU1hcmt1cCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3Vyck1vZGFsLFxuICAgICAgc2xhdGVNYXJrdXAsXG4gICAgICBtYXJrdXAsXG4gICAgICAvKi4uLnByb2Nlc3NlZE1hcmt1cCwqL1xuICAgIH07XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9tb2RlbCA9IElubGluZURyb3Bkb3duLnByZXBhcmVNb2RlbCgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBzZW5zaWJsZURlZmF1bHRzLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCA9IHRoaXMub25Nb2RlbENoYW5nZWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQgPSB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHNldCBtb2RlbChzKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBJbmxpbmVEcm9wZG93bi5wcmVwYXJlTW9kZWwocyk7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgY29uZmlndXJhdGlvbihjKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGRlZmF1bHRzKGMsIHNlbnNpYmxlRGVmYXVsdHMuY29uZmlndXJhdGlvbik7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgZGlzYWJsZVNpZGVQYW5lbChzKSB7XG4gICAgdGhpcy5fZGlzYWJsZVNpZGVQYW5lbCA9IHM7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBkaXNwYXRjaE1vZGVsVXBkYXRlZChyZXNldCkge1xuICAgIGNvbnN0IHJlc2V0VmFsdWUgPSAhIXJlc2V0O1xuXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBNb2RlbFVwZGF0ZWRFdmVudCh0aGlzLl9tb2RlbCwgcmVzZXRWYWx1ZSkpO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZWQobSwgcmVzZXQpIHtcbiAgICB0aGlzLl9tb2RlbCA9IElubGluZURyb3Bkb3duLnByZXBhcmVNb2RlbChtKTtcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgICB0aGlzLmRpc3BhdGNoTW9kZWxVcGRhdGVkKHJlc2V0KTtcbiAgfVxuXG4gIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQoYykge1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBjO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgLyoqIEBwYXJhbSB7ZG9uZSwgcHJvZ3Jlc3MsIGZpbGV9IGhhbmRsZXIgKi9cbiAgaW5zZXJ0SW1hZ2UoaGFuZGxlcikge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5zZXJ0SW1hZ2VFdmVudChoYW5kbGVyKSk7XG4gIH1cblxuICBvbkRlbGV0ZUltYWdlKHNyYywgZG9uZSkge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRGVsZXRlSW1hZ2VFdmVudChzcmMsIGRvbmUpKTtcbiAgfVxuXG4gIGluc2VydFNvdW5kKGhhbmRsZXIpIHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEluc2VydFNvdW5kRXZlbnQoaGFuZGxlcikpO1xuICB9XG5cbiAgb25EZWxldGVTb3VuZChzcmMsIGRvbmUpIHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IERlbGV0ZVNvdW5kRXZlbnQoc3JjLCBkb25lKSk7XG4gIH1cblxuICBfcmVuZGVyKCkge1xuICAgIGxvZygnX3JlbmRlcicpO1xuICAgIGxldCBlbGVtZW50ID0gUmVhY3QuY3JlYXRlRWxlbWVudChNYWluLCB7XG4gICAgICBtb2RlbDogdGhpcy5fbW9kZWwsXG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLl9jb25maWd1cmF0aW9uLFxuICAgICAgb25Nb2RlbENoYW5nZWQ6IHRoaXMub25Nb2RlbENoYW5nZWQsXG4gICAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQsXG4gICAgICBkaXNhYmxlU2lkZVBhbmVsOiB0aGlzLl9kaXNhYmxlU2lkZVBhbmVsLFxuICAgICAgaW1hZ2VTdXBwb3J0OiB7XG4gICAgICAgIGFkZDogdGhpcy5pbnNlcnRJbWFnZS5iaW5kKHRoaXMpLFxuICAgICAgICBkZWxldGU6IHRoaXMub25EZWxldGVJbWFnZS5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydDoge1xuICAgICAgICBhZGQ6IHRoaXMuaW5zZXJ0U291bmQuYmluZCh0aGlzKSxcbiAgICAgICAgZGVsZXRlOiB0aGlzLm9uRGVsZXRlU291bmQuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgUmVhY3RET00ucmVuZGVyKGVsZW1lbnQsIHRoaXMpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLG1CQUFBLEdBQUFDLE9BQUE7QUFRQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBTyxVQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxZQUFBLEdBQUFSLE9BQUE7QUFBaUUsU0FBQVMsUUFBQUMsTUFBQSxFQUFBQyxjQUFBLFFBQUFDLElBQUEsR0FBQUMsTUFBQSxDQUFBRCxJQUFBLENBQUFGLE1BQUEsT0FBQUcsTUFBQSxDQUFBQyxxQkFBQSxRQUFBQyxPQUFBLEdBQUFGLE1BQUEsQ0FBQUMscUJBQUEsQ0FBQUosTUFBQSxHQUFBQyxjQUFBLEtBQUFJLE9BQUEsR0FBQUEsT0FBQSxDQUFBQyxNQUFBLFdBQUFDLEdBQUEsV0FBQUosTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixNQUFBLEVBQUFPLEdBQUEsRUFBQUUsVUFBQSxPQUFBUCxJQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxJQUFBLEVBQUFHLE9BQUEsWUFBQUgsSUFBQTtBQUFBLFNBQUFVLGNBQUFDLE1BQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBRixDQUFBLFVBQUFHLE1BQUEsV0FBQUYsU0FBQSxDQUFBRCxDQUFBLElBQUFDLFNBQUEsQ0FBQUQsQ0FBQSxRQUFBQSxDQUFBLE9BQUFmLE9BQUEsQ0FBQUksTUFBQSxDQUFB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
|
|
137
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_pieConfigureEvents","require","_react","_interopRequireDefault","_reactDom","_main","_debug","_defaults","_defaults2","_markupUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","InlineDropdown","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_model","prepareModel","_configuration","sensibleDefaults","configuration","onModelChanged","bind","_assertThisInitialized2","onConfigurationChanged","_createClass2","set","s","_render","c","defaults","_disableSidePanel","value","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","element","React","createElement","Main","model","disableSidePanel","imageSupport","add","uploadSoundSupport","ReactDOM","render","_wrapNativeSuper2","HTMLElement","exports","undefined","currModal","slateMarkup","createSlateMarkup","markup","choices","processMarkup"],"sources":["../src/index.js"],"sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './main';\nimport debug from 'debug';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\nimport { processMarkup, createSlateMarkup } from './markupUtils';\n\nconst log = debug('multiple-choice:configure');\n\nexport default class InlineDropdown extends HTMLElement {\n static prepareModel = (model = {}) => {\n const currModal = {\n ...sensibleDefaults.model,\n ...model,\n };\n const slateMarkup = model.slateMarkup || createSlateMarkup(currModal.markup, currModal.choices);\n const markup = processMarkup(slateMarkup);\n\n return {\n ...currModal,\n slateMarkup,\n markup,\n /*...processedMarkup,*/\n };\n };\n\n constructor() {\n super();\n this._model = InlineDropdown.prepareModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = InlineDropdown.prepareModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = defaults(c, sensibleDefaults.configuration);\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = InlineDropdown.prepareModel(m);\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n this._render();\n }\n\n /** @param {done, progress, file} handler */\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 insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"mappings":"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"}
|
|
@@ -398,4 +398,4 @@ var StyledRespAreaToolbar = (0, _styles.withStyles)({
|
|
|
398
398
|
})(RespAreaToolbar);
|
|
399
399
|
var _default = StyledRespAreaToolbar;
|
|
400
400
|
exports["default"] = _default;
|
|
401
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdERvbSIsIl9zbGF0ZVJlYWN0IiwiX3Byb3BUeXBlcyIsIl9lZGl0YWJsZUh0bWwiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9tYXRoUmVuZGVyaW5nIiwiX3N0eWxlcyIsIl9pc0VxdWFsIiwiX2lzRW1wdHkiLCJfY2xhc3NuYW1lczIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NyZWF0ZVN1cGVyIiwiRGVyaXZlZCIsImhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiX2NyZWF0ZVN1cGVySW50ZXJuYWwiLCJTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJyZXN1bHQiLCJOZXdUYXJnZXQiLCJjb25zdHJ1Y3RvciIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJzaGFtIiwiUHJveHkiLCJCb29sZWFuIiwidmFsdWVPZiIsImUiLCJNZW51SXRlbUNvbXAiLCJfUmVhY3QkQ29tcG9uZW50IiwiX2luaGVyaXRzMiIsIl9zdXBlciIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZDIiLCJvblJlbW92ZUNob2ljZSIsInByb3BzIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsYXNzZXMiLCJjb3JyZWN0Iiwib25DbGljayIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwid3JhcHBlciIsInZhbHVlSG9sZGVyIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJyZW1vdmVJY29uIiwib25SZW1vdmVDbGljayIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiaXNSZXF1aXJlZCIsImJvb2wiLCJmdW5jIiwic3RyaW5nIiwiTWVudUl0ZW0iLCJ3aXRoU3R5bGVzIiwiYmFja2dyb3VuZCIsImJvcmRlckJvdHRvbSIsImJveFNpemluZyIsImRpc3BsYXkiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwicGFkZGluZyIsInBvc2l0aW9uIiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJ0cmFuc2Zvcm0iLCJ0b3AiLCJyaWdodCIsInpJbmRleCIsIndvcmRCcmVhayIsImNyZWF0ZUVsZW1lbnRGcm9tSFRNTCIsImh0bWxTdHJpbmciLCJkaXYiLCJkb2N1bWVudCIsImlubmVySFRNTCIsInRyaW0iLCJSZXNwQXJlYVRvb2xiYXIiLCJfUmVhY3QkQ29tcG9uZW50MiIsIl9zdXBlcjIiLCJfdGhpczIiLCJfbGVuMiIsIl9rZXkyIiwicmVzcEFyZWFNYXJrdXAiLCJzZXRTdGF0ZSIsImVkaXRvclJlZiIsImZpbmlzaEVkaXRpbmciLCJ2YWwiLCJfdGhpczIkcHJvcHMiLCJub2RlIiwib25BZGRDaG9pY2UiLCJvbmx5VGV4dCIsInRleHRDb250ZW50IiwiaXNFbXB0eSIsImRhdGEiLCJpbmRleCIsIm5ld1ZhbHVlIiwiX3RoaXMyJHByb3BzMiIsIm5vZGVQYXRoIiwiZWRpdG9yIiwib25Ub29sYmFyRG9uZSIsIm9uU2VsZWN0Q2hvaWNlIiwidXBkYXRlIiwidHlwZSIsInBhdGgiLCJwcm9wZXJ0aWVzIiwibmV3UHJvcGVydGllcyIsIl90aGlzMiRwcm9wczMiLCJpc0VxdWFsIiwiZXZlbnQiLCJjbGlja2VkSW5zaWRlIiwiX3RoaXMyJHByb3BzNCIsImNob2ljZXMiLCJvbkNoZWNrIiwiY29ycmVjdFJlc3BvbnNlIiwiZmluZCIsImNob2ljZSIsInNsYXRlRWRpdG9yUmVmIiwicm9vdFJlZiIsInNsYXRlRWRpdG9yIiwiaW5wdXRSZWYiLCJlbGVtZW50IiwiZm9jdXMiLCJjb21wb25lbnREaWRNb3VudCIsIl90aGlzJHByb3BzMiIsImRvbU5vZGUiLCJSZWFjdEVkaXRvciIsInRvRE9NTm9kZSIsImRvbU5vZGVSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xvc2VzdCIsImVkaXRvclJlY3QiLCJsZWZ0IiwidG9vbGJhclN0eWxlIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb21wb25lbnREaWRVcGRhdGUiLCJSZWFjdERPTSIsImZpbmRET01Ob2RlIiwicmVuZGVyTWF0aCIsIl90aGlzMyIsIl90aGlzJHByb3BzMyIsInNwZWxsQ2hlY2siLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJfdGhpcyRzdGF0ZSIsInN0YXRlIiwiZmlsdGVyZWREZWZhdWx0UGx1Z2lucyIsIkRFRkFVTFRfUExVR0lOUyIsInAiLCJsYWJlbFBsdWdpbnMiLCJhdWRpbyIsImRpc2FibGVkIiwidmlkZW8iLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsIm9uTW91c2VEb3duIiwib25DbGlja0luc2lkZSIsIml0ZW1CdWlsZGVyIiwicmVmIiwiYXV0b0ZvY3VzIiwiYXV0b1NhdmUiLCJyZXNwQXJlYSIsInRvb2xiYXJPcHRzIiwiYWx3YXlzVmlzaWJsZSIsInNob3dEb25lIiwiZG9uZU9uIiwibWFya3VwIiwib25LZXlEb3duIiwib25DaGFuZ2UiLCJvblJlc3BBcmVhQ2hhbmdlIiwib25Eb25lIiwicGxhY2Vob2xkZXIiLCJhY3RpdmVQbHVnaW5zIiwicGx1Z2luUHJvcHMiLCJvbkJsdXIiLCJjb250ZW50RWRpdGFibGUiLCJmb2N1c0lucHV0IiwiY2hvaWNlc0hvbGRlciIsIm1hcCIsIl9yZWYyIiwibGFiZWwiLCJleHBvcnRzIiwiYXJyYXkiLCJTdHlsZWRSZXNwQXJlYVRvb2xiYXIiLCJtaW5IZWlnaHQiLCJmbGV4RGlyZWN0aW9uIiwiYm9yZGVyIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvaW5saW5lLWRyb3Bkb3duLXRvb2xiYXIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFJlYWN0RWRpdG9yIH0gZnJvbSAnc2xhdGUtcmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbCc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IERFRkFVTFRfUExVR0lOUyB9IGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwnO1xuXG5jbGFzcyBNZW51SXRlbUNvbXAgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZW1vdmVDaG9pY2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBvblJlbW92ZUNsaWNrID0gKGUpID0+IHtcbiAgICBjb25zdCB7IG9uUmVtb3ZlQ2hvaWNlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBvblJlbW92ZUNob2ljZSgpO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGNsYXNzZXMsIGNvcnJlY3QsIG9uQ2xpY2ssIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc25hbWVzKGNsYXNzZXMud3JhcHBlciwgeyBbY2xhc3Nlcy5jb3JyZWN0XTogY29ycmVjdCB9KX0gb25DbGljaz17b25DbGlja30+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudmFsdWVIb2xkZXJ9XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogdmFsdWUsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPGkgY2xhc3NOYW1lPXtjbGFzc2VzLnJlbW92ZUljb259IG9uQ2xpY2s9e3RoaXMub25SZW1vdmVDbGlja30+XG4gICAgICAgICAgeFxuICAgICAgICA8L2k+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IE1lbnVJdGVtID0gd2l0aFN0eWxlcyh7XG4gIHdyYXBwZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2ZmZicsXG4gICAgYm9yZGVyQm90dG9tOiAnMXB4IHNvbGlkIGJsYWNrJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGxpbmVIZWlnaHQ6ICczMHB4JyxcbiAgICBwYWRkaW5nOiAnMTBweCAyNXB4IDEwcHggMTBweCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIH0sXG4gIGNvcnJlY3Q6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI0M0RENGQScsXG4gIH0sXG4gIHJlbW92ZUljb246IHtcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBmb250U2l6ZTogJzIwcHgnLFxuICAgIGZvbnRTdHlsZTogJ25vcm1hbCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDAsIC01MCUpJyxcbiAgICB0b3A6ICc1MCUnLFxuICAgIHJpZ2h0OiAnNXB4JyxcbiAgICB6SW5kZXg6IDMsXG4gIH0sXG4gIHZhbHVlSG9sZGVyOiB7XG4gICAgd29yZEJyZWFrOiAnYnJlYWstYWxsJyxcbiAgfSxcbn0pKE1lbnVJdGVtQ29tcCk7XG5cbmNvbnN0IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTCA9IChodG1sU3RyaW5nKSA9PiB7XG4gIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIGRpdi5pbm5lckhUTUwgPSAoaHRtbFN0cmluZyB8fCAnJykudHJpbSgpO1xuXG4gIHJldHVybiBkaXY7XG59O1xuXG5leHBvcnQgY2xhc3MgUmVzcEFyZWFUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5vZGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdXBsb2FkU291bmRTdXBwb3J0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRG9uZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5LFxuICAgIG9uQWRkQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVG9vbGJhckRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgbm9kZVBhdGg6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHJlc3BBcmVhTWFya3VwOiAnJyxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBkb21Ob2RlID0gUmVhY3RFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgbm9kZSk7XG5cbiAgICBpZiAoZG9tTm9kZSkge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIGNvbnN0IGRvbU5vZGVSZWN0ID0gZG9tTm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGVkaXRvciA9IGRvbU5vZGUuY2xvc2VzdCgnW2RhdGEtc2xhdGUtZWRpdG9yXScpO1xuICAgICAgY29uc3QgZWRpdG9yUmVjdCA9IGVkaXRvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHRvcCA9IGRvbU5vZGVSZWN0LnRvcCAtIGVkaXRvclJlY3QudG9wO1xuICAgICAgY29uc3QgbGVmdCA9IGRvbU5vZGVSZWN0LmxlZnQgLSBlZGl0b3JSZWN0LmxlZnQ7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB0b29sYmFyU3R5bGU6IHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICB0b3A6IGAke3RvcCArIGRvbU5vZGVSZWN0LmhlaWdodCArIDYwfXB4YCxcbiAgICAgICAgICBsZWZ0OiBgJHtsZWZ0ICsgMjV9cHhgLFxuICAgICAgICAgIHdpZHRoOiBkb21Ob2RlUmVjdC53aWR0aCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IGRvbU5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIHJlbmRlck1hdGgoZG9tTm9kZSk7XG4gIH1cblxuICBvblJlc3BBcmVhQ2hhbmdlID0gKHJlc3BBcmVhTWFya3VwKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHJlc3BBcmVhTWFya3VwIH0pO1xuICB9O1xuXG4gIG9uQWRkQ2hvaWNlID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLmVkaXRvclJlZikge1xuICAgICAgdGhpcy5lZGl0b3JSZWYuZmluaXNoRWRpdGluZygpO1xuICAgIH1cbiAgfTtcblxuICBvbkRvbmUgPSAodmFsKSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCBvbkFkZENob2ljZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBvbmx5VGV4dCA9IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTCh2YWwpLnRleHRDb250ZW50LnRyaW0oKTtcblxuICAgIGlmICghaXNFbXB0eShvbmx5VGV4dCkpIHtcbiAgICAgIG9uQWRkQ2hvaWNlKG5vZGUuZGF0YS5pbmRleCwgdmFsKTtcbiAgICB9XG4gIH07XG5cbiAgb25TZWxlY3RDaG9pY2UgPSAobmV3VmFsdWUsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCBub2RlUGF0aCwgZWRpdG9yLCBvblRvb2xiYXJEb25lLCBvblNlbGVjdENob2ljZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB1cGRhdGUgPSB7IC4uLm5vZGUuZGF0YSwgdmFsdWU6IG5ld1ZhbHVlIH07XG5cbiAgICBlZGl0b3IuYXBwbHkoe1xuICAgICAgdHlwZTogJ3NldF9ub2RlJyxcbiAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBkYXRhOiBub2RlLmRhdGFcbiAgICAgIH0sXG4gICAgICBuZXdQcm9wZXJ0aWVzOiB7IGRhdGE6IHVwZGF0ZSB9XG4gICAgfSk7XG5cbiAgICBvblRvb2xiYXJEb25lKGZhbHNlKTtcbiAgICBvblNlbGVjdENob2ljZShpbmRleCk7XG4gIH07XG5cbiAgb25SZW1vdmVDaG9pY2UgPSAodmFsLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHsgbm9kZSwgbm9kZVBhdGgsIGVkaXRvciwgb25Ub29sYmFyRG9uZSwgb25SZW1vdmVDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoaXNFcXVhbCh2YWwsIG5vZGUuZGF0YS52YWx1ZSkpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgLi4ubm9kZS5kYXRhLCB2YWx1ZTogbnVsbCB9O1xuXG4gICAgICBlZGl0b3IuYXBwbHkoe1xuICAgICAgICB0eXBlOiAnc2V0X25vZGUnLFxuICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGRhdGE6IG5vZGUuZGF0YVxuICAgICAgICB9LFxuICAgICAgICBuZXdQcm9wZXJ0aWVzOiB7IGRhdGE6IHVwZGF0ZSB9XG4gICAgICB9KTtcblxuICAgICAgb25Ub29sYmFyRG9uZShmYWxzZSk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVDaG9pY2UoaW5kZXgpO1xuICB9O1xuXG4gIG9uS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMub25BZGRDaG9pY2UoKTtcbiAgICAgIC8vIENhbmNlbGxpbmcgZXZlbnRcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgb25CbHVyID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLmNsaWNrZWRJbnNpZGUpIHtcbiAgICAgIHRoaXMuY2xpY2tlZEluc2lkZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgbm9kZVBhdGgsIGNob2ljZXMsIG9uQ2hlY2ssIG9uVG9vbGJhckRvbmUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjb3JyZWN0UmVzcG9uc2UgPSAoY2hvaWNlcyB8fCBbXSkuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UuY29ycmVjdCk7XG5cbiAgICB0aGlzLm9uQWRkQ2hvaWNlKCk7XG5cbiAgICBpZiAoIWNob2ljZXMgfHwgKGNob2ljZXMgJiYgY2hvaWNlcy5sZW5ndGggPCAyKSB8fCAhY29ycmVjdFJlc3BvbnNlKSB7XG4gICAgICBvbkNoZWNrKCgpID0+IHtcbiAgICAgICAgZWRpdG9yLmFwcGx5KHtcbiAgICAgICAgICB0eXBlOiAncmVtb3ZlX25vZGUnLFxuICAgICAgICAgIHBhdGg6IG5vZGVQYXRoXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uVG9vbGJhckRvbmUoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIG9uQ2xpY2tJbnNpZGUgPSAoKSA9PiB7XG4gICAgdGhpcy5jbGlja2VkSW5zaWRlID0gdHJ1ZTtcbiAgfTtcblxuICBmb2N1c0lucHV0ID0gKCkgPT4ge1xuICAgIC8vIHdlIG5lZWQgdG8gZm9jdXMgdGhlIGlucHV0IHNvIHRoYXQgbWF0aCBpcyBzYXZlZCBldmVuIHdpdGhvdXQgcHJlc3NpbmcgdGhlIGdyZWVuIGNoZWNrbWFya1xuICAgIGNvbnN0IHNsYXRlRWRpdG9yUmVmID0gdGhpcy5lZGl0b3JSZWYgJiYgdGhpcy5lZGl0b3JSZWYucm9vdFJlZiAmJiB0aGlzLmVkaXRvclJlZi5yb290UmVmLnNsYXRlRWRpdG9yO1xuICAgIGNvbnN0IGlucHV0UmVmID0gc2xhdGVFZGl0b3JSZWYgJiYgc2xhdGVFZGl0b3JSZWYuZWRpdG9yUmVmICYmIHNsYXRlRWRpdG9yUmVmLmVkaXRvclJlZi5lbGVtZW50O1xuXG4gICAgaWYgKGlucHV0UmVmKSB7XG4gICAgICBpbnB1dFJlZi5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzLCBjaG9pY2VzLCBzcGVsbENoZWNrLCB1cGxvYWRTb3VuZFN1cHBvcnQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyByZXNwQXJlYU1hcmt1cCwgdG9vbGJhclN0eWxlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3QgZmlsdGVyZWREZWZhdWx0UGx1Z2lucyA9IChERUZBVUxUX1BMVUdJTlMgfHwgW10pLmZpbHRlcihcbiAgICAgIChwKSA9PiBwICE9PSAndGFibGUnICYmIHAgIT09ICdidWxsZXRlZC1saXN0JyAmJiBwICE9PSAnbnVtYmVyZWQtbGlzdCcsXG4gICAgKTtcbiAgICBjb25zdCBsYWJlbFBsdWdpbnMgPSB7XG4gICAgICBhdWRpbzogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgICAgdmlkZW86IHsgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICB9O1xuXG4gICAgaWYgKCF0b29sYmFyU3R5bGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgLi4udG9vbGJhclN0eWxlLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNFMEUxRTYnLFxuICAgICAgICB9fVxuICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5vbkNsaWNrSW5zaWRlfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5pdGVtQnVpbGRlcn0+XG4gICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgcmVmPXsocmVmKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvclJlZiA9IHJlZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgIGF1dG9TYXZlXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucmVzcEFyZWF9XG4gICAgICAgICAgICB0b29sYmFyT3B0cz17e1xuICAgICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAgIGFsd2F5c1Zpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgICBzaG93RG9uZTogZmFsc2UsXG4gICAgICAgICAgICAgIGRvbmVPbjogJ2JsdXInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG1hcmt1cD17cmVzcEFyZWFNYXJrdXB9XG4gICAgICAgICAgICBvbktleURvd249e3RoaXMub25LZXlEb3dufVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25SZXNwQXJlYUNoYW5nZX1cbiAgICAgICAgICAgIG9uRG9uZT17dGhpcy5vbkRvbmV9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkFkZCBDaG9pY2VcIlxuICAgICAgICAgICAgYWN0aXZlUGx1Z2lucz17ZmlsdGVyZWREZWZhdWx0UGx1Z2luc31cbiAgICAgICAgICAgIHBsdWdpblByb3BzPXtsYWJlbFBsdWdpbnN9XG4gICAgICAgICAgICBvbkJsdXI9e3RoaXMub25CbHVyfVxuICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja31cbiAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGlcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJzIwcHgnLFxuICAgICAgICAgICAgICBmb250U3R5bGU6ICdub3JtYWwnLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgdG9wOiAnNTAlJyxcbiAgICAgICAgICAgICAgcmlnaHQ6ICcxNXB4JyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDAsIC01MCUpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjb250ZW50RWRpdGFibGU9e2ZhbHNlfVxuICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHRoaXMuZm9jdXNJbnB1dCgpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5vbkFkZENob2ljZSgpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICtcbiAgICAgICAgICA8L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7Y2hvaWNlcyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY2hvaWNlc0hvbGRlcn0+XG4gICAgICAgICAgICB7Y2hvaWNlcy5tYXAoKHsgbGFiZWwsIGNvcnJlY3QgfSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLm9uU2VsZWN0Q2hvaWNlKGxhYmVsLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgb25SZW1vdmVDaG9pY2U9eygpID0+IHRoaXMub25SZW1vdmVDaG9pY2UobGFiZWwsIGluZGV4KX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17bGFiZWx9XG4gICAgICAgICAgICAgICAgY29ycmVjdD17Y29ycmVjdH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWRSZXNwQXJlYVRvb2xiYXIgPSB3aXRoU3R5bGVzKHtcbiAgcmVzcEFyZWE6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyxcbiAgICAnJiBbZGF0YS1zbGF0ZS1lZGl0b3I9XCJ0cnVlXCJdJzoge1xuICAgICAgbWluSGVpZ2h0OiAnaW5pdGlhbCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxuICBjaG9pY2VzSG9sZGVyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICcmID4gZGl2Omxhc3QtY2hpbGQnOiB7XG4gICAgICBib3JkZXI6ICdub25lJyxcbiAgICB9LFxuICB9LFxuICBpdGVtQnVpbGRlcjoge1xuICAgIHBhZGRpbmc6ICc4cHgnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB9LFxufSkoUmVzcEFyZWFUb29sYmFyKTtcblxuZXhwb3J0IGRlZmF1bHQgU3R5bGVkUmVzcEFyZWFUb29sYmFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFDLHVCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyxR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
|
|
401
|
+
//# sourceMappingURL=inline-dropdown-toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-dropdown-toolbar.js","names":["_react","_interopRequireDefault","require","_reactDom","_slateReact","_propTypes","_editableHtml","_interopRequireWildcard","_mathRendering","_styles","_isEqual","_isEmpty","_classnames2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","MenuItemComp","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","onRemoveChoice","props","preventDefault","stopPropagation","_createClass2","value","render","_this$props","classes","correct","onClick","createElement","className","classnames","wrapper","valueHolder","dangerouslySetInnerHTML","__html","removeIcon","onRemoveClick","React","Component","PropTypes","isRequired","bool","func","string","MenuItem","withStyles","background","borderBottom","boxSizing","display","cursor","lineHeight","padding","position","fontSize","fontStyle","transform","top","right","zIndex","wordBreak","createElementFromHTML","htmlString","div","document","innerHTML","trim","RespAreaToolbar","_React$Component2","_super2","_this2","_len2","_key2","respAreaMarkup","setState","editorRef","finishEditing","val","_this2$props","node","onAddChoice","onlyText","textContent","isEmpty","data","index","newValue","_this2$props2","nodePath","editor","onToolbarDone","onSelectChoice","update","type","path","properties","newProperties","_this2$props3","isEqual","event","clickedInside","_this2$props4","choices","onCheck","correctResponse","find","choice","slateEditorRef","rootRef","slateEditor","inputRef","element","focus","componentDidMount","_this$props2","domNode","ReactEditor","toDOMNode","domNodeRect","getBoundingClientRect","closest","editorRect","left","toolbarStyle","height","width","componentDidUpdate","ReactDOM","findDOMNode","renderMath","_this3","_this$props3","spellCheck","uploadSoundSupport","_this$state","state","filteredDefaultPlugins","DEFAULT_PLUGINS","p","labelPlugins","audio","disabled","video","style","backgroundColor","onMouseDown","onClickInside","itemBuilder","ref","autoFocus","autoSave","respArea","toolbarOpts","alwaysVisible","showDone","doneOn","markup","onKeyDown","onChange","onRespAreaChange","onDone","placeholder","activePlugins","pluginProps","onBlur","contentEditable","focusInput","choicesHolder","map","_ref2","label","exports","array","StyledRespAreaToolbar","minHeight","flexDirection","border","_default"],"sources":["../src/inline-dropdown-toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ReactEditor } from 'slate-react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\nimport { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\n\nclass MenuItemComp extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correct: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n };\n\n onRemoveClick = (e) => {\n const { onRemoveChoice } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n\n onRemoveChoice();\n };\n\n render() {\n const { classes, correct, onClick, value } = this.props;\n\n return (\n <div className={classnames(classes.wrapper, { [classes.correct]: correct })} onClick={onClick}>\n <div\n className={classes.valueHolder}\n dangerouslySetInnerHTML={{\n __html: value,\n }}\n />\n <i className={classes.removeIcon} onClick={this.onRemoveClick}>\n x\n </i>\n </div>\n );\n }\n}\n\nconst MenuItem = withStyles({\n wrapper: {\n background: '#fff',\n borderBottom: '1px solid black',\n boxSizing: 'border-box',\n display: 'block',\n cursor: 'pointer',\n lineHeight: '30px',\n padding: '10px 25px 10px 10px',\n position: 'relative',\n },\n correct: {\n background: '#C4DCFA',\n },\n removeIcon: {\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n transform: 'translate(0, -50%)',\n top: '50%',\n right: '5px',\n zIndex: 3,\n },\n valueHolder: {\n wordBreak: 'break-all',\n },\n})(MenuItemComp);\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nexport class RespAreaToolbar extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n node: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n onDone: PropTypes.func,\n choices: PropTypes.array,\n onAddChoice: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n onSelectChoice: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n editor: PropTypes.object.isRequired,\n nodePath: PropTypes.array.isRequired,\n };\n\n state = {\n respAreaMarkup: '',\n };\n\n componentDidMount() {\n const { node, editor } = this.props;\n const domNode = ReactEditor.toDOMNode(editor, node);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 60}px`,\n left: `${left + 25}px`,\n width: domNodeRect.width,\n },\n });\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onRespAreaChange = (respAreaMarkup) => {\n this.setState({ respAreaMarkup });\n };\n\n onAddChoice = () => {\n if (this.editorRef) {\n this.editorRef.finishEditing();\n }\n };\n\n onDone = (val) => {\n const { node, onAddChoice } = this.props;\n const onlyText = createElementFromHTML(val).textContent.trim();\n\n if (!isEmpty(onlyText)) {\n onAddChoice(node.data.index, val);\n }\n };\n\n onSelectChoice = (newValue, index) => {\n const { node, nodePath, editor, onToolbarDone, onSelectChoice } = this.props;\n const update = { ...node.data, value: newValue };\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n\n onToolbarDone(false);\n onSelectChoice(index);\n };\n\n onRemoveChoice = (val, index) => {\n const { node, nodePath, editor, onToolbarDone, onRemoveChoice } = this.props;\n\n if (isEqual(val, node.data.value)) {\n const update = { ...node.data, value: null };\n\n editor.apply({\n type: 'set_node',\n path: nodePath,\n properties: {\n data: node.data\n },\n newProperties: { data: update }\n });\n\n onToolbarDone(false);\n }\n\n onRemoveChoice(index);\n };\n\n onKeyDown = (event) => {\n if (event.key === 'Enter') {\n this.onAddChoice();\n // Cancelling event\n return false;\n }\n };\n\n onBlur = () => {\n if (this.clickedInside) {\n this.clickedInside = false;\n return;\n }\n\n const { nodePath, choices, onCheck, onToolbarDone, editor } = this.props;\n const correctResponse = (choices || []).find((choice) => choice.correct);\n\n this.onAddChoice();\n\n if (!choices || (choices && choices.length < 2) || !correctResponse) {\n onCheck(() => {\n editor.apply({\n type: 'remove_node',\n path: nodePath\n });\n\n onToolbarDone(false);\n });\n }\n };\n\n onClickInside = () => {\n this.clickedInside = true;\n };\n\n focusInput = () => {\n // we need to focus the input so that math is saved even without pressing the green checkmark\n const slateEditorRef = this.editorRef && this.editorRef.rootRef && this.editorRef.rootRef.slateEditor;\n const inputRef = slateEditorRef && slateEditorRef.editorRef && slateEditorRef.editorRef.element;\n\n if (inputRef) {\n inputRef.focus();\n }\n };\n\n render() {\n const { classes, choices, spellCheck, uploadSoundSupport } = this.props;\n const { respAreaMarkup, toolbarStyle } = this.state;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list',\n );\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true },\n };\n\n if (!toolbarStyle) {\n return null;\n }\n\n return (\n <div\n style={{\n ...toolbarStyle,\n backgroundColor: '#E0E1E6',\n }}\n onMouseDown={this.onClickInside}\n >\n <div className={classes.itemBuilder}>\n <EditableHtml\n ref={(ref) => {\n if (ref) {\n this.editorRef = ref;\n }\n }}\n autoFocus={true}\n autoSave\n className={classes.respArea}\n toolbarOpts={{\n position: 'top',\n alwaysVisible: false,\n showDone: false,\n doneOn: 'blur',\n }}\n markup={respAreaMarkup}\n onKeyDown={this.onKeyDown}\n onChange={this.onRespAreaChange}\n onDone={this.onDone}\n placeholder=\"Add Choice\"\n activePlugins={filteredDefaultPlugins}\n pluginProps={labelPlugins}\n onBlur={this.onBlur}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n />\n <i\n style={{\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n top: '50%',\n right: '15px',\n transform: 'translate(0, -50%)',\n }}\n contentEditable={false}\n onMouseDown={() => this.focusInput()}\n onClick={() => this.onAddChoice()}\n >\n +\n </i>\n </div>\n {choices && (\n <div className={classes.choicesHolder}>\n {choices.map(({ label, correct }, index) => (\n <MenuItem\n key={index}\n onClick={() => this.onSelectChoice(label, index)}\n onRemoveChoice={() => this.onRemoveChoice(label, index)}\n value={label}\n correct={correct}\n />\n ))}\n </div>\n )}\n </div>\n );\n }\n}\n\nconst StyledRespAreaToolbar = withStyles({\n respArea: {\n backgroundColor: '#fff',\n '& [data-slate-editor=\"true\"]': {\n minHeight: 'initial !important',\n },\n },\n choicesHolder: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:last-child': {\n border: 'none',\n },\n },\n itemBuilder: {\n padding: '8px',\n position: 'relative',\n },\n})(RespAreaToolbar);\n\nexport default StyledRespAreaToolbar;\n"],"mappings":"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"}
|
package/configure/lib/main.js
CHANGED
|
@@ -633,4 +633,4 @@ exports.Main = Main;
|
|
|
633
633
|
var Styled = (0, _styles.withStyles)(styles)(Main);
|
|
634
634
|
var _default = Styled;
|
|
635
635
|
exports["default"] = _default;
|
|
636
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdERvbSIsIl9wcm9wVHlwZXMiLCJfZWRpdGFibGVIdG1sIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY29uZmlnVWkiLCJfbWF0aFJlbmRlcmluZyIsIl9jbG9uZURlZXAiLCJfaXNFcXVhbCIsIl9pc1VuZGVmaW5lZCIsIl9pc0VtcHR5IiwiX3JlZHVjZSIsIl9tYXgiLCJfc3R5bGVzIiwiX1Rvb2x0aXAiLCJfVHlwb2dyYXBoeSIsIl9FeHBhbnNpb25QYW5lbCIsIl9FeHBhbnNpb25QYW5lbFN1bW1hcnkiLCJfRXhwYW5zaW9uUGFuZWxEZXRhaWxzIiwiX0V4cGFuZE1vcmUiLCJfSW5mbyIsIl9pbmxpbmVEcm9wZG93blRvb2xiYXIiLCJfdXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NyZWF0ZVN1cGVyIiwiRGVyaXZlZCIsImhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiX2NyZWF0ZVN1cGVySW50ZXJuYWwiLCJTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJyZXN1bHQiLCJOZXdUYXJnZXQiLCJjb25zdHJ1Y3RvciIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJzaGFtIiwiUHJveHkiLCJCb29sZWFuIiwidmFsdWVPZiIsImUiLCJ0b2dnbGUiLCJzZXR0aW5ncyIsIlBhbmVsIiwic3R5bGVzIiwidGhlbWUiLCJwcm9tcHRIb2xkZXIiLCJ3aWR0aCIsInBhZGRpbmdCb3R0b20iLCJzcGFjaW5nIiwidW5pdCIsIm1hcmdpbkJvdHRvbSIsInByb21wdCIsInBhZGRpbmdUb3AiLCJtYXJrdXAiLCJtaW5IZWlnaHQiLCJkZXNpZ24iLCJjaG9pY2VDb25maWd1cmF0aW9uIiwic3dpdGNoRWxlbWVudCIsImp1c3RpZnlDb250ZW50IiwibWFyZ2luIiwiYWRkQnV0dG9uIiwidGV4dCIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJsaW5lSGVpZ2h0IiwiY29sb3IiLCJtYXJnaW5SaWdodCIsInJhdGlvbmFsZUxhYmVsIiwiZGlzcGxheSIsIndoaXRlU3BhY2UiLCJyYXRpb25hbGVDaG9pY2VzIiwibWFyZ2luVG9wIiwicGFuZWxEZXRhaWxzIiwiZmxleENvbnRhaW5lciIsImFsaWduSXRlbXMiLCJ0b29sdGlwIiwibWF4V2lkdGgiLCJlcnJvclRleHQiLCJjcmVhdGVFbGVtZW50RnJvbUhUTUwiLCJodG1sU3RyaW5nIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaW5uZXJIVE1MIiwidHJpbSIsInByZXBhcmVWYWwiLCJodG1sIiwidG1wIiwidmFsdWUiLCJ0ZXh0Q29udGVudCIsImlubmVyVGV4dCIsIk1haW4iLCJfUmVhY3QkQ29tcG9uZW50IiwiX2luaGVyaXRzMiIsIl9zdXBlciIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZDIiLCJ3YXJuaW5nIiwib3BlbiIsIm5ld1ZhbCIsInByb3BzIiwib25Nb2RlbENoYW5nZWQiLCJtb2RlbCIsIm9uTW9kZWxDaGFuZ2UiLCJyYXRpb25hbGUiLCJpbmRleCIsImNob2ljZSIsImluZGV4T2ZDaG9pY2UiLCJjaG9pY2VzIiwiZmluZEluZGV4IiwiZWxlbSIsImxhYmVsIiwic3BsaWNlIiwidGVhY2hlckluc3RydWN0aW9ucyIsInNsYXRlTWFya3VwIiwiY2FsbGJhY2siLCJzZXRTdGF0ZSIsIm9uQ2xvc2UiLCJvbkNvbmZpcm0iLCJyZXNwQXJlYUNob2ljZXMiLCJzdGF0ZSIsImRvbU1hcmt1cCIsImFsbFJlc3BBcmVhcyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJhbGxDaG9pY2VzIiwiZWwiLCJkYXRhc2V0IiwiZXhpc3RpbmdSZXNwQXJlYUNob2ljZXMiLCJyZWR1Y2UiLCJpc1VuZGVmaW5lZCIsIm5ld1Jlc3BBcmVhQ2hvaWNlcyIsInNob3VsZFdhcm4iLCJuZXdDaG9pY2VzIiwiZmluZCIsImMiLCJjb3JyZWN0IiwicmVtb3ZlIiwiY2xvbmVEZWVwIiwibWF4UmVzcG9uc2VBcmVhQ2hvaWNlcyIsImNvbmZpZ3VyYXRpb24iLCJ1bmRlZmluZWQiLCJyIiwibWF4IiwibWFwIiwicGFyc2VJbnQiLCJ2YWwiLCJpc05hTiIsInJlc3BJbmRleCIsInNlbGVjdGVkSW5kZXgiLCJfY3JlYXRlQ2xhc3MyIiwiY29tcG9uZW50RGlkTW91bnQiLCJVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5Qcm9wcyIsIm5ld1N0YXRlIiwiaXNFcXVhbCIsImlzRW1wdHkiLCJjb21wb25lbnREaWRVcGRhdGUiLCJkb21Ob2RlIiwiUmVhY3RET00iLCJmaW5kRE9NTm9kZSIsInJlbmRlck1hdGgiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsImNsYXNzZXMiLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwiaW1hZ2VTdXBwb3J0IiwidXBsb2FkU291bmRTdXBwb3J0IiwiX3JlZiIsIl9yZWYkY2hvaWNlUmF0aW9uYWxlIiwiY2hvaWNlUmF0aW9uYWxlIiwiX3JlZiRsb2NrQ2hvaWNlT3JkZXIiLCJsb2NrQ2hvaWNlT3JkZXIiLCJtYXhSZXNwb25zZUFyZWFzIiwiX3JlZiRtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VXaWR0aCIsIl9yZWYkbWF4SW1hZ2VIZWlnaHQiLCJtYXhJbWFnZUhlaWdodCIsIl9yZWYkcGFydGlhbFNjb3JpbmciLCJwYXJ0aWFsU2NvcmluZyIsIl9yZWYkcHJvbXB0IiwiX3JlZiRyYXRpb25hbGUiLCJzZXR0aW5nc1BhbmVsRGlzYWJsZWQiLCJfcmVmJHNwZWxsQ2hlY2siLCJzcGVsbENoZWNrIiwiX3JlZiR0ZWFjaGVySW5zdHJ1Y3RpIiwiX3JlZiR3aXRoUnVicmljIiwid2l0aFJ1YnJpYyIsIl9yZWYyIiwiY2hvaWNlUmF0aW9uYWxlRW5hYmxlZCIsImVycm9ycyIsInByb21wdEVuYWJsZWQiLCJyYXRpb25hbGVFbmFibGVkIiwic3BlbGxDaGVja0VuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInRvb2xiYXJFZGl0b3JQb3NpdGlvbiIsIl9yZWYzIiwicmVzcG9uc2VBcmVhc0Vycm9yIiwicmVzcG9uc2VBcmVhQ2hvaWNlc0Vycm9yIiwiZGVmYXVsdEltYWdlTWF4V2lkdGgiLCJkZWZhdWx0SW1hZ2VNYXhIZWlnaHQiLCJyZW5kZXJDaG9pY2VSYXRpb25hbGUiLCJjbGFzc05hbWUiLCJleHBhbmRJY29uIiwiSW5wdXRDb250YWluZXIiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIm9uQ2hhbmdlIiwib25DaG9pY2VSYXRpb25hbGVDaGFuZ2VkIiwidG9vbGJhck9wdHMiLCJwb3NpdGlvbiIsInZhbGlkYXRpb25NZXNzYWdlIiwiZ2VuZXJhdGVWYWxpZGF0aW9uTWVzc2FnZSIsInBhbmVsU2V0dGluZ3MiLCJwYW5lbFByb3BlcnRpZXMiLCJydWJyaWNFbmFibGVkIiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwiaGlkZVNldHRpbmdzIiwib25DaGFuZ2VNb2RlbCIsIm9uQ2hhbmdlQ29uZmlndXJhdGlvbiIsImdyb3VwcyIsIlNldHRpbmdzIiwiUHJvcGVydGllcyIsIm9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQiLCJub25FbXB0eSIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwibGFuZ3VhZ2UiLCJvblByb21wdENoYW5nZWQiLCJkaXNhYmxlVW5kZXJsaW5lIiwib25SYXRpb25hbGVDaGFuZ2VkIiwiZGlzYWJsZUZvY3VzTGlzdGVuZXIiLCJkaXNhYmxlVG91Y2hMaXN0ZW5lciIsInBsYWNlbWVudCIsInRpdGxlIiwiYWN0aXZlUGx1Z2lucyIsIkFMTF9QTFVHSU5TIiwicmVmIiwid2luZG93IiwiZWRpdG9yUmVmIiwicmVzcG9uc2VBcmVhUHJvcHMiLCJ0eXBlIiwib3B0aW9ucyIsImR1cGxpY2F0ZXMiLCJyZXNwQXJlYVRvb2xiYXIiLCJub2RlIiwibm9kZVBhdGgiLCJlZGl0b3IiLCJvblRvb2xiYXJEb25lIiwib25BZGRDaG9pY2UiLCJvbkNoZWNrIiwib25SZW1vdmVDaG9pY2UiLCJkYXRhIiwib25TZWxlY3RDaG9pY2UiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwib25CbHVyIiwiZGlzYWJsZWQiLCJoaWdobGlnaHRTaGFwZSIsImVycm9yIiwiQWxlcnREaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsImV4cG9ydHMiLCJQcm9wVHlwZXMiLCJpc1JlcXVpcmVkIiwiZGlzYWJsZVNpZGVQYW5lbCIsImJvb2wiLCJmdW5jIiwic2hhcGUiLCJhZGQiLCJTdHlsZWQiLCJ3aXRoU3R5bGVzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvbWFpbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBFZGl0YWJsZUh0bWwsIHsgQUxMX1BMVUdJTlMgfSBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nLCBJbnB1dENvbnRhaW5lciwgbGF5b3V0LCBzZXR0aW5ncyB9IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBpc1VuZGVmaW5lZCBmcm9tICdsb2Rhc2gvaXNVbmRlZmluZWQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHJlZHVjZSBmcm9tICdsb2Rhc2gvcmVkdWNlJztcbmltcG9ydCBtYXggZnJvbSAnbG9kYXNoL21heCc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1Rvb2x0aXAnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvVHlwb2dyYXBoeSc7XG5pbXBvcnQgRXhwYW5zaW9uUGFuZWwgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRXhwYW5zaW9uUGFuZWwnO1xuaW1wb3J0IEV4cGFuc2lvblBhbmVsU3VtbWFyeSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9FeHBhbnNpb25QYW5lbFN1bW1hcnknO1xuaW1wb3J0IEV4cGFuc2lvblBhbmVsRGV0YWlscyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9FeHBhbnNpb25QYW5lbERldGFpbHMnO1xuaW1wb3J0IEV4cGFuZE1vcmVJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9FeHBhbmRNb3JlJztcbmltcG9ydCBJbmZvIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9JbmZvJztcbmltcG9ydCBJbmxpbmVEcm9wZG93blRvb2xiYXIgZnJvbSAnLi9pbmxpbmUtZHJvcGRvd24tdG9vbGJhcic7XG5pbXBvcnQgeyBnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IHsgdG9nZ2xlLCBQYW5lbCB9ID0gc2V0dGluZ3M7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgcHJvbXB0SG9sZGVyOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgcHJvbXB0OiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICBtYXJrdXA6IHtcbiAgICBtaW5IZWlnaHQ6ICcxMDBweCcsXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgICcmIFtkYXRhLXNsYXRlLWVkaXRvcj1cInRydWVcIl0nOiB7XG4gICAgICBtaW5IZWlnaHQ6ICcxMDBweCcsXG4gICAgfSxcbiAgfSxcbiAgZGVzaWduOiB7XG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMyxcbiAgfSxcbiAgY2hvaWNlQ29uZmlndXJhdGlvbjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgc3dpdGNoRWxlbWVudDoge1xuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgbWFyZ2luOiAwLFxuICB9LFxuICBhZGRCdXR0b246IHtcbiAgICBmbG9hdDogJ3JpZ2h0JyxcbiAgfSxcbiAgdGV4dDoge1xuICAgIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMnLFxuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgMixcbiAgICBsaW5lSGVpZ2h0OiAnMTlweCcsXG4gICAgY29sb3I6ICcjNDk1QjhGJyxcbiAgICBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2luZy51bml0LFxuICB9LFxuICByYXRpb25hbGVMYWJlbDoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB3aGl0ZVNwYWNlOiAnYnJlYWstc3BhY2VzJyxcbiAgfSxcbiAgcmF0aW9uYWxlQ2hvaWNlczoge1xuICAgIG1hcmdpblRvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgcGFuZWxEZXRhaWxzOiB7XG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgfSxcbiAgZmxleENvbnRhaW5lcjoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgfSxcbiAgdG9vbHRpcDoge1xuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplIC0gMixcbiAgICB3aGl0ZVNwYWNlOiAncHJlJyxcbiAgICBtYXhXaWR0aDogJzUwMHB4JyxcbiAgfSxcbiAgZXJyb3JUZXh0OiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIGNvbG9yOiAncmVkJyxcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gIH0sXG59KTtcblxuY29uc3QgY3JlYXRlRWxlbWVudEZyb21IVE1MID0gKGh0bWxTdHJpbmcpID0+IHtcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgZGl2LmlubmVySFRNTCA9IChodG1sU3RyaW5nIHx8ICcnKS50cmltKCk7XG5cbiAgcmV0dXJuIGRpdjtcbn07XG5cbmNvbnN0IHByZXBhcmVWYWwgPSAoaHRtbCkgPT4ge1xuICBjb25zdCB0bXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcblxuICB0bXAuaW5uZXJIVE1MID0gaHRtbDtcblxuICBjb25zdCB2YWx1ZSA9IHRtcC50ZXh0Q29udGVudCB8fCB0bXAuaW5uZXJUZXh0IHx8ICcnO1xuXG4gIHJldHVybiB2YWx1ZS50cmltKCk7XG59O1xuXG5leHBvcnQgY2xhc3MgTWFpbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY29uZmlndXJhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgZGlzYWJsZVNpZGVQYW5lbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25Nb2RlbENoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgaW1hZ2VTdXBwb3J0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgYWRkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgZGVsZXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH0pLFxuICAgIHVwbG9hZFNvdW5kU3VwcG9ydDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGFkZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICB3YXJuaW5nOiB7IG9wZW46IGZhbHNlIH0sXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3Qge1xuICAgICAgbW9kZWw6IHsgY2hvaWNlcyB9LFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHJlc3BBcmVhQ2hvaWNlczogY2xvbmVEZWVwKGNob2ljZXMpIH0pO1xuICB9XG5cbiAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoblByb3BzKSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSB7fTtcblxuICAgIGlmIChcbiAgICAgICFpc0VxdWFsKG5Qcm9wcy5tb2RlbC5jaG9pY2VzLCB0aGlzLnByb3BzLm1vZGVsLmNob2ljZXMpIHx8XG4gICAgICAhaXNFcXVhbChuUHJvcHMubW9kZWwuY2hvaWNlcywgdGhpcy5zdGF0ZS5yZXNwQXJlYUNob2ljZXMpXG4gICAgKSB7XG4gICAgICBuZXdTdGF0ZS5yZXNwQXJlYUNob2ljZXMgPSBjbG9uZURlZXAoblByb3BzLm1vZGVsLmNob2ljZXMpO1xuICAgIH1cblxuICAgIGlmICghaXNFbXB0eShuZXdTdGF0ZSkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUobmV3U3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IGRvbU5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIHJlbmRlck1hdGgoZG9tTm9kZSk7XG4gIH1cblxuICBvbk1vZGVsQ2hhbmdlID0gKG5ld1ZhbCkgPT4ge1xuICAgIHRoaXMucHJvcHMub25Nb2RlbENoYW5nZWQoeyAuLi50aGlzLnByb3BzLm1vZGVsLCAuLi5uZXdWYWwgfSk7XG4gIH07XG5cbiAgb25Qcm9tcHRDaGFuZ2VkID0gKHByb21wdCkgPT4ge1xuICAgIHRoaXMub25Nb2RlbENoYW5nZSh7IHByb21wdCB9KTtcbiAgfTtcblxuICBvblJhdGlvbmFsZUNoYW5nZWQgPSAocmF0aW9uYWxlKSA9PiB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHsgcmF0aW9uYWxlIH0pO1xuICB9O1xuXG4gIG9uQ2hvaWNlUmF0aW9uYWxlQ2hhbmdlZCA9IChpbmRleCwgY2hvaWNlKSA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBpbmRleE9mQ2hvaWNlID1cbiAgICAgIG1vZGVsLmNob2ljZXMgJiZcbiAgICAgIG1vZGVsLmNob2ljZXNbaW5kZXhdICYmXG4gICAgICBtb2RlbC5jaG9pY2VzW2luZGV4XS5maW5kSW5kZXgoKGVsZW0pID0+IGVsZW0ubGFiZWwgPT09IGNob2ljZS5sYWJlbCAmJiBlbGVtLnZhbHVlID09PSBjaG9pY2UudmFsdWUpO1xuXG4gICAgbW9kZWwuY2hvaWNlc1tpbmRleF0gJiYgbW9kZWwuY2hvaWNlc1tpbmRleF0uc3BsaWNlKGluZGV4T2ZDaG9pY2UsIDEsIGNob2ljZSk7XG5cbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UobW9kZWwpO1xuICB9O1xuXG4gIG9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQgPSAodGVhY2hlckluc3RydWN0aW9ucykgPT4ge1xuICAgIHRoaXMub25Nb2RlbENoYW5nZSh7IHRlYWNoZXJJbnN0cnVjdGlvbnMgfSk7XG4gIH07XG5cbiAgb25NYXJrdXBDaGFuZ2VkID0gKHNsYXRlTWFya3VwKSA9PiB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHsgc2xhdGVNYXJrdXAgfSk7XG4gIH07XG5cbiAgb25DaGVjayA9IChjYWxsYmFjaykgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgd2FybmluZzoge1xuICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICB0ZXh0OiAnUmVzcG9uc2UgYXJlYXMgd2l0aCB1bmRlciAyIG9wdGlvbnMgb3Igd2l0aCBubyBjb3JyZWN0IGFuc3dlcnMgd2lsbCBiZSBkaXNjYXJkZWQuJyxcbiAgICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB3YXJuaW5nOiB7IG9wZW46IGZhbHNlIH0gfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ29uZmlybTogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB3YXJuaW5nOiB7IG9wZW46IGZhbHNlIH0gfSwgY2FsbGJhY2spO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICBvbkNoYW5nZSA9IChtYXJrdXApID0+IHtcbiAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBkb21NYXJrdXAgPSBjcmVhdGVFbGVtZW50RnJvbUhUTUwobWFya3VwKTtcbiAgICBjb25zdCBhbGxSZXNwQXJlYXMgPSBkb21NYXJrdXAucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdHlwZT1cImlubGluZV9kcm9wZG93blwiXScpO1xuICAgIGNvbnN0IGFsbENob2ljZXMgPSB7fTtcblxuICAgIGFsbFJlc3BBcmVhcy5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgYWxsQ2hvaWNlc1tlbC5kYXRhc2V0LmluZGV4XSA9IGVsLmRhdGFzZXQudmFsdWUgfHwgJyc7XG4gICAgfSk7XG5cbiAgICBjb25zdCBleGlzdGluZ1Jlc3BBcmVhQ2hvaWNlcyA9IHJlZHVjZShcbiAgICAgIHJlc3BBcmVhQ2hvaWNlcyxcbiAgICAgIChvYmosIGNob2ljZXMsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGFsbENob2ljZXNba2V5XSkpIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHJlc3BBcmVhQ2hvaWNlc1trZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgY29uc3QgbmV3UmVzcEFyZWFDaG9pY2VzID0ge307XG4gICAgbGV0IHNob3VsZFdhcm4gPSBmYWxzZTtcblxuICAgIGFsbFJlc3BBcmVhcy5mb3JFYWNoKChlbCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBleGlzdGluZ1Jlc3BBcmVhQ2hvaWNlc1tlbC5kYXRhc2V0LmluZGV4XSB8fCBbXTtcblxuICAgICAgaWYgKG5ld0Nob2ljZXMubGVuZ3RoIDwgMiB8fCAhbmV3Q2hvaWNlcy5maW5kKChjKSA9PiBjLmNvcnJlY3QpKSB7XG4gICAgICAgIGVsLnJlbW92ZSgpO1xuICAgICAgICBzaG91bGRXYXJuID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1Jlc3BBcmVhQ2hvaWNlc1tpbmRleF0gPSBleGlzdGluZ1Jlc3BBcmVhQ2hvaWNlc1tlbC5kYXRhc2V0LmluZGV4XSB8fCBbXTtcbiAgICAgICAgZWwuZGF0YXNldC5pbmRleCA9IGluZGV4O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHNob3VsZFdhcm4pIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB3YXJuaW5nOiB7XG4gICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnUmVzcG9uc2UgYXJlYXMgd2l0aCB1bmRlciAyIG9wdGlvbnMgb3Igd2l0aCBubyBjb3JyZWN0IGFuc3dlcnMgd2lsbCBiZSBkaXNjYXJkZWQuJyxcbiAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgd2FybmluZzogeyBvcGVuOiBmYWxzZSB9IH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25Db25maXJtOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgd2FybmluZzogeyBvcGVuOiBmYWxzZSB9IH0sICgpID0+XG4gICAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh7XG4gICAgICAgICAgICAgICAgY2hvaWNlczogY2xvbmVEZWVwKG5ld1Jlc3BBcmVhQ2hvaWNlcyksXG4gICAgICAgICAgICAgICAgc2xhdGVNYXJrdXA6IGRvbU1hcmt1cC5pbm5lckhUTUwsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh7XG4gICAgICAgIGNob2ljZXM6IGNsb25lRGVlcChuZXdSZXNwQXJlYUNob2ljZXMpLFxuICAgICAgICBzbGF0ZU1hcmt1cDogZG9tTWFya3VwLmlubmVySFRNTCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBvbkFkZENob2ljZSA9IChpbmRleCwgbGFiZWwpID0+IHtcbiAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IG1heFJlc3BvbnNlQXJlYUNob2ljZXMgfSA9IHRoaXMucHJvcHMuY29uZmlndXJhdGlvbjtcblxuICAgIGlmIChyZXNwQXJlYUNob2ljZXNbaW5kZXhdICYmIHJlc3BBcmVhQ2hvaWNlc1tpbmRleF0ubGVuZ3RoID49IG1heFJlc3BvbnNlQXJlYUNob2ljZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB3YXJuaW5nOiB7XG4gICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiBgVGhlcmUgYXJlIG9ubHkgJHttYXhSZXNwb25zZUFyZWFDaG9pY2VzfSBhbnN3ZXJzIGFsbG93ZWQgcGVyIGNob2ljZS5gLFxuICAgICAgICAgIG9uQ2xvc2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB3YXJuaW5nOiB7IG9wZW46IGZhbHNlIH0gfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFyZXNwQXJlYUNob2ljZXNbaW5kZXhdKSB7XG4gICAgICByZXNwQXJlYUNob2ljZXNbaW5kZXhdID0gW107XG4gICAgfVxuXG4gICAgaWYgKChyZXNwQXJlYUNob2ljZXNbaW5kZXhdIHx8IFtdKS5maW5kKChyKSA9PiBwcmVwYXJlVmFsKHIubGFiZWwpID09PSBwcmVwYXJlVmFsKGxhYmVsKSkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB3YXJuaW5nOiB7XG4gICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnRHVwbGljYXRlIGFuc3dlcnMgYXJlIG5vdCBhbGxvd2VkLicsXG4gICAgICAgICAgb25DbG9zZTogdW5kZWZpbmVkLFxuICAgICAgICAgIG9uQ29uZmlybTogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHdhcm5pbmc6IHsgb3BlbjogZmFsc2UgfSB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAocmVzcEFyZWFDaG9pY2VzW2luZGV4XSAmJlxuICAgICAgICBtYXgocmVzcEFyZWFDaG9pY2VzW2luZGV4XS5tYXAoKGMpID0+IHBhcnNlSW50KGMudmFsdWUpKS5maWx0ZXIoKHZhbCkgPT4gIWlzTmFOKHZhbCkpKSkgfHxcbiAgICAgIDA7XG5cbiAgICByZXNwQXJlYUNob2ljZXNbaW5kZXhdLnB1c2goe1xuICAgICAgbGFiZWwsXG4gICAgICB2YWx1ZTogYCR7dmFsdWUgKyAxfWAsXG4gICAgICBjb3JyZWN0OiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHRoaXMub25Nb2RlbENoYW5nZSh7IGNob2ljZXM6IGNsb25lRGVlcChyZXNwQXJlYUNob2ljZXMpIH0pO1xuICB9O1xuXG4gIG9uUmVtb3ZlQ2hvaWNlID0gKHJlc3BJbmRleCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJlc3BBcmVhQ2hvaWNlc1tyZXNwSW5kZXhdLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoeyBjaG9pY2VzOiBjbG9uZURlZXAocmVzcEFyZWFDaG9pY2VzKSB9KTtcbiAgfTtcblxuICBvblNlbGVjdENob2ljZSA9IChyZXNwSW5kZXgsIHNlbGVjdGVkSW5kZXgpID0+IHtcbiAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJlc3BBcmVhQ2hvaWNlc1tyZXNwSW5kZXhdID0gcmVzcEFyZWFDaG9pY2VzW3Jlc3BJbmRleF0ubWFwKChjaG9pY2UsIGluZGV4KSA9PiAoe1xuICAgICAgLi4uY2hvaWNlLFxuICAgICAgY29ycmVjdDogaW5kZXggPT09IHNlbGVjdGVkSW5kZXgsXG4gICAgfSkpO1xuXG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHsgY2hvaWNlczogY2xvbmVEZWVwKHJlc3BBcmVhQ2hvaWNlcykgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgd2FybmluZyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGNsYXNzZXMsIG1vZGVsLCBjb25maWd1cmF0aW9uLCBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLCBpbWFnZVN1cHBvcnQsIHVwbG9hZFNvdW5kU3VwcG9ydCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBjaG9pY2VSYXRpb25hbGUgPSB7fSxcbiAgICAgIGxvY2tDaG9pY2VPcmRlciA9IHt9LFxuICAgICAgbWF4UmVzcG9uc2VBcmVhcyxcbiAgICAgIG1heEltYWdlV2lkdGggPSB7fSxcbiAgICAgIG1heEltYWdlSGVpZ2h0ID0ge30sXG4gICAgICBwYXJ0aWFsU2NvcmluZyA9IHt9LFxuICAgICAgcHJvbXB0ID0ge30sXG4gICAgICByYXRpb25hbGUgPSB7fSxcbiAgICAgIHNldHRpbmdzUGFuZWxEaXNhYmxlZCxcbiAgICAgIHNwZWxsQ2hlY2sgPSB7fSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgPSB7fSxcbiAgICAgIHdpdGhSdWJyaWMgPSB7fSxcbiAgICB9ID0gY29uZmlndXJhdGlvbiB8fCB7fTtcbiAgICBjb25zdCB7XG4gICAgICBjaG9pY2VSYXRpb25hbGVFbmFibGVkLFxuICAgICAgY2hvaWNlcyxcbiAgICAgIGVycm9ycyxcbiAgICAgIHByb21wdEVuYWJsZWQsXG4gICAgICByYXRpb25hbGVFbmFibGVkLFxuICAgICAgc3BlbGxDaGVja0VuYWJsZWQsXG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCxcbiAgICAgIHRvb2xiYXJFZGl0b3JQb3NpdGlvbixcbiAgICB9ID0gbW9kZWwgfHwge307XG4gICAgY29uc3QgeyByZXNwb25zZUFyZWFzRXJyb3IsIHJlc3BvbnNlQXJlYUNob2ljZXNFcnJvciB9ID0gZXJyb3JzIHx8IHt9O1xuXG4gICAgY29uc3QgZGVmYXVsdEltYWdlTWF4V2lkdGggPSBtYXhJbWFnZVdpZHRoICYmIG1heEltYWdlV2lkdGgucHJvbXB0O1xuICAgIGNvbnN0IGRlZmF1bHRJbWFnZU1heEhlaWdodCA9IG1heEltYWdlSGVpZ2h0ICYmIG1heEltYWdlSGVpZ2h0LnByb21wdDtcblxuICAgIGNvbnN0IHJlbmRlckNob2ljZVJhdGlvbmFsZSA9ICgpID0+XG4gICAgICAoT2JqZWN0LmtleXMoY2hvaWNlcykgfHwgW10pLm1hcCgoa2V5LCBpbmRleCkgPT4gKFxuICAgICAgICA8ZGl2IGtleT17a2V5fSBjbGFzc05hbWU9e2NsYXNzZXMucmF0aW9uYWxlQ2hvaWNlc30+XG4gICAgICAgICAgPEV4cGFuc2lvblBhbmVsPlxuICAgICAgICAgICAgPEV4cGFuc2lvblBhbmVsU3VtbWFyeSBleHBhbmRJY29uPXs8RXhwYW5kTW9yZUljb24gLz59PlxuICAgICAgICAgICAgICA8VHlwb2dyYXBoeSBjbGFzc05hbWU9e2NsYXNzZXMudGV4dH0+e2BSYXRpb25hbGUgZm9yIHJlc3BvbnNlIGFyZWEgIyR7aW5kZXggKyAxfWB9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9FeHBhbnNpb25QYW5lbFN1bW1hcnk+XG5cbiAgICAgICAgICAgIDxFeHBhbnNpb25QYW5lbERldGFpbHMgY2xhc3NOYW1lPXtjbGFzc2VzLnBhbmVsRGV0YWlsc30+XG4gICAgICAgICAgICAgIHsoY2hvaWNlc1trZXldIHx8IFtdKS5tYXAoKGNob2ljZSkgPT4gKFxuICAgICAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAga2V5PXtjaG9pY2UubGFiZWx9XG4gICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnJhdGlvbmFsZUxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGAke3JhdGlvbmFsZS5sYWJlbH0gZm9yICR7Y2hvaWNlLmxhYmVsfSAoJHtjaG9pY2UuY29ycmVjdCA/ICdjb3JyZWN0JyA6ICdpbmNvcnJlY3QnfSlgLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0SG9sZGVyfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdH1cbiAgICAgICAgICAgICAgICAgICAgbWFya3VwPXtjaG9pY2UucmF0aW9uYWxlIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhjKSA9PiB0aGlzLm9uQ2hvaWNlUmF0aW9uYWxlQ2hhbmdlZChrZXksIHsgLi4uY2hvaWNlLCByYXRpb25hbGU6IGMgfSl9XG4gICAgICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXsobWF4SW1hZ2VXaWR0aCAmJiBtYXhJbWFnZVdpZHRoLnJhdGlvbmFsZSkgfHwgZGVmYXVsdEltYWdlTWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXsobWF4SW1hZ2VIZWlnaHQgJiYgbWF4SW1hZ2VIZWlnaHQucmF0aW9uYWxlKSB8fCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRXhwYW5zaW9uUGFuZWxEZXRhaWxzPlxuICAgICAgICAgIDwvRXhwYW5zaW9uUGFuZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSk7XG5cbiAgICBjb25zdCB0b29sYmFyT3B0cyA9IHtcbiAgICAgIHBvc2l0aW9uOiB0b29sYmFyRWRpdG9yUG9zaXRpb24gPT09ICd0b3AnID8gJ3RvcCcgOiAnYm90dG9tJyxcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2UgPSBnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlKGNvbmZpZ3VyYXRpb24pO1xuXG4gICAgY29uc3QgcGFuZWxTZXR0aW5ncyA9IHtcbiAgICAgIHBhcnRpYWxTY29yaW5nOiBwYXJ0aWFsU2NvcmluZy5zZXR0aW5ncyAmJiB0b2dnbGUocGFydGlhbFNjb3JpbmcubGFiZWwpLFxuICAgICAgbG9ja0Nob2ljZU9yZGVyOiBsb2NrQ2hvaWNlT3JkZXIuc2V0dGluZ3MgJiYgdG9nZ2xlKGxvY2tDaG9pY2VPcmRlci5sYWJlbCksXG4gICAgfTtcbiAgICBjb25zdCBwYW5lbFByb3BlcnRpZXMgPSB7XG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdGVhY2hlckluc3RydWN0aW9ucy5zZXR0aW5ncyAmJiB0b2dnbGUodGVhY2hlckluc3RydWN0aW9ucy5sYWJlbCksXG4gICAgICByYXRpb25hbGVFbmFibGVkOiByYXRpb25hbGUuc2V0dGluZ3MgJiYgdG9nZ2xlKHJhdGlvbmFsZS5sYWJlbCksXG4gICAgICBjaG9pY2VSYXRpb25hbGVFbmFibGVkOiBjaG9pY2VSYXRpb25hbGUuc2V0dGluZ3MgJiYgdG9nZ2xlKGNob2ljZVJhdGlvbmFsZS5sYWJlbCksXG4gICAgICBwcm9tcHRFbmFibGVkOiBwcm9tcHQuc2V0dGluZ3MgJiYgdG9nZ2xlKHByb21wdC5sYWJlbCksXG4gICAgICBzcGVsbENoZWNrRW5hYmxlZDogc3BlbGxDaGVjay5zZXR0aW5ncyAmJiB0b2dnbGUoc3BlbGxDaGVjay5sYWJlbCksXG4gICAgICBydWJyaWNFbmFibGVkOiB3aXRoUnVicmljPy5zZXR0aW5ncyAmJiB0b2dnbGUod2l0aFJ1YnJpYz8ubGFiZWwpLFxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZGVzaWdufT5cbiAgICAgICAgPGxheW91dC5Db25maWdMYXlvdXRcbiAgICAgICAgICBoaWRlU2V0dGluZ3M9e3NldHRpbmdzUGFuZWxEaXNhYmxlZH1cbiAgICAgICAgICBzZXR0aW5ncz17XG4gICAgICAgICAgICA8UGFuZWxcbiAgICAgICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPXtjb25maWd1cmF0aW9ufVxuICAgICAgICAgICAgICBvbkNoYW5nZU1vZGVsPXsobW9kZWwpID0+IHRoaXMub25Nb2RlbENoYW5nZShtb2RlbCl9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlQ29uZmlndXJhdGlvbj17KGNvbmZpZ3VyYXRpb24pID0+IG9uQ29uZmlndXJhdGlvbkNoYW5nZWQoY29uZmlndXJhdGlvbiwgdHJ1ZSl9XG4gICAgICAgICAgICAgIGdyb3Vwcz17e1xuICAgICAgICAgICAgICAgIFNldHRpbmdzOiBwYW5lbFNldHRpbmdzLFxuICAgICAgICAgICAgICAgIFByb3BlcnRpZXM6IHBhbmVsUHJvcGVydGllcyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHt0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17dGVhY2hlckluc3RydWN0aW9ucy5sYWJlbH0gY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn0+XG4gICAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdH1cbiAgICAgICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwudGVhY2hlckluc3RydWN0aW9ucyB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWR9XG4gICAgICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICAgICAgbWF4SW1hZ2VXaWR0aD17KG1heEltYWdlV2lkdGggJiYgbWF4SW1hZ2VXaWR0aC50ZWFjaGVySW5zdHJ1Y3Rpb25zKSB8fCBkZWZhdWx0SW1hZ2VNYXhXaWR0aH1cbiAgICAgICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXsobWF4SW1hZ2VIZWlnaHQgJiYgbWF4SW1hZ2VIZWlnaHQudGVhY2hlckluc3RydWN0aW9ucykgfHwgZGVmYXVsdEltYWdlTWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgdXBsb2FkU291bmRTdXBwb3J0PXt1cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICAgICAgICAgICAgICBsYW5ndWFnZUNoYXJhY3RlcnNQcm9wcz17W3sgbGFuZ3VhZ2U6ICdzcGFuaXNoJyB9LCB7IGxhbmd1YWdlOiAnc3BlY2lhbCcgfV19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtwcm9tcHRFbmFibGVkICYmIChcbiAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIGxhYmVsPXtwcm9tcHQubGFiZWx9IGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9PlxuICAgICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgICAgICBtYXJrdXA9e21vZGVsLnByb21wdH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uUHJvbXB0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgICAgbm9uRW1wdHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZVVuZGVybGluZVxuICAgICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXtkZWZhdWx0SW1hZ2VNYXhXaWR0aH1cbiAgICAgICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXtkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ9e3VwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgICAgICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge3JhdGlvbmFsZUVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9e3JhdGlvbmFsZS5sYWJlbH0gY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn0+XG4gICAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdH1cbiAgICAgICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwucmF0aW9uYWxlIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25SYXRpb25hbGVDaGFuZ2VkfVxuICAgICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgICAgIG1heEltYWdlV2lkdGg9eyhtYXhJbWFnZVdpZHRoICYmIG1heEltYWdlV2lkdGgucmF0aW9uYWxlKSB8fCBkZWZhdWx0SW1hZ2VNYXhXaWR0aH1cbiAgICAgICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXsobWF4SW1hZ2VIZWlnaHQgJiYgbWF4SW1hZ2VIZWlnaHQucmF0aW9uYWxlKSB8fCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ9e3VwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgICAgICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZmxleENvbnRhaW5lcn0+XG4gICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0fT5EZWZpbmUgVGVtcGxhdGUsIENob2ljZXMsIGFuZCBDb3JyZWN0IFJlc3BvbnNlczwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICBjbGFzc2VzPXt7IHRvb2x0aXA6IGNsYXNzZXMudG9vbHRpcCB9fVxuICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyXG4gICAgICAgICAgICAgICAgZGlzYWJsZVRvdWNoTGlzdGVuZXJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9eydyaWdodCd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3ZhbGlkYXRpb25NZXNzYWdlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEluZm8gZm9udFNpemU9eydzbWFsbCd9IGNvbG9yPXsncHJpbWFyeSd9IC8+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e0FMTF9QTFVHSU5TfVxuICAgICAgICAgICAgICB0b29sYmFyT3B0cz17eyBwb3NpdGlvbjogJ3RvcCcgfX1cbiAgICAgICAgICAgICAgcmVmPXsocmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgd2luZG93LmVkaXRvclJlZiA9IHJlZjtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgcmVzcG9uc2VBcmVhUHJvcHM9e3tcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5saW5lLWRyb3Bkb3duJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBkdXBsaWNhdGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWF4UmVzcG9uc2VBcmVhczogbWF4UmVzcG9uc2VBcmVhcyxcbiAgICAgICAgICAgICAgICByZXNwQXJlYVRvb2xiYXI6IChub2RlLCBub2RlUGF0aCwgZWRpdG9yLCBvblRvb2xiYXJEb25lKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPElubGluZURyb3Bkb3duVG9vbGJhclxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkQ2hvaWNlPXt0aGlzLm9uQWRkQ2hvaWNlfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2s9e3RoaXMub25DaGVja31cbiAgICAgICAgICAgICAgICAgICAgICBvblJlbW92ZUNob2ljZT17KGluZGV4KSA9PiB0aGlzLm9uUmVtb3ZlQ2hvaWNlKG5vZGUuZGF0YS5pbmRleCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Q2hvaWNlPXsoaW5kZXgpID0+IHRoaXMub25TZWxlY3RDaG9pY2Uobm9kZS5kYXRhLmluZGV4LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgICAgICAgbm9kZT17bm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICBub2RlUGF0aD17bm9kZVBhdGh9XG4gICAgICAgICAgICAgICAgICAgICAgb25Ub29sYmFyRG9uZT17b25Ub29sYmFyRG9uZX1cbiAgICAgICAgICAgICAgICAgICAgICBjaG9pY2VzPXtyZXNwQXJlYUNob2ljZXNbbm9kZS5kYXRhLmluZGV4XX1cbiAgICAgICAgICAgICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ9e3VwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJrdXB9XG4gICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwuc2xhdGVNYXJrdXAgfHwgJyd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlfVxuICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucz17dHJ1ZX1cbiAgICAgICAgICAgICAgb25CbHVyPXt0aGlzLm9uQmx1cn1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICBoaWdobGlnaHRTaGFwZT17ZmFsc2V9XG4gICAgICAgICAgICAgIGVycm9yPXtyZXNwb25zZUFyZWFzRXJyb3J9XG4gICAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgICBsYW5ndWFnZUNoYXJhY3RlcnNQcm9wcz17W3sgbGFuZ3VhZ2U6ICdzcGFuaXNoJyB9LCB7IGxhbmd1YWdlOiAnc3BlY2lhbCcgfV19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3Jlc3BvbnNlQXJlYXNFcnJvciAmJiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvclRleHR9PntyZXNwb25zZUFyZWFzRXJyb3J9PC9kaXY+fVxuICAgICAgICAgICAge3Jlc3BvbnNlQXJlYUNob2ljZXNFcnJvciAmJiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvclRleHR9PntyZXNwb25zZUFyZWFDaG9pY2VzRXJyb3J9PC9kaXY+fVxuXG4gICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIHtjaG9pY2VSYXRpb25hbGVFbmFibGVkICYmIHJlbmRlckNob2ljZVJhdGlvbmFsZSgpfVxuXG4gICAgICAgICAgICA8QWxlcnREaWFsb2dcbiAgICAgICAgICAgICAgb3Blbj17d2FybmluZy5vcGVufVxuICAgICAgICAgICAgICB0aXRsZT1cIldhcm5pbmdcIlxuICAgICAgICAgICAgICB0ZXh0PXt3YXJuaW5nLnRleHR9XG4gICAgICAgICAgICAgIG9uQ2xvc2U9e3dhcm5pbmcub25DbG9zZX1cbiAgICAgICAgICAgICAgb25Db25maXJtPXt3YXJuaW5nLm9uQ29uZmlybX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGF5b3V0LkNvbmZpZ0xheW91dD5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkID0gd2l0aFN0eWxlcyhzdHlsZXMpKE1haW4pO1xuXG5leHBvcnQgZGVmYXVsdCBTdHlsZWQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FB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
|
|
636
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_reactDom","_propTypes","_editableHtml","_interopRequireWildcard","_configUi","_mathRendering","_cloneDeep","_isEqual","_isUndefined","_isEmpty","_reduce","_max","_styles","_Tooltip","_Typography","_ExpansionPanel","_ExpansionPanelSummary","_ExpansionPanelDetails","_ExpandMore","_Info","_inlineDropdownToolbar","_utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","toggle","settings","Panel","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","markup","minHeight","design","choiceConfiguration","switchElement","justifyContent","margin","addButton","text","fontFamily","fontSize","typography","lineHeight","color","marginRight","rationaleLabel","display","whiteSpace","rationaleChoices","marginTop","panelDetails","flexContainer","alignItems","tooltip","maxWidth","errorText","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","prepareVal","html","tmp","value","textContent","innerText","Main","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","warning","open","newVal","props","onModelChanged","model","onModelChange","rationale","index","choice","indexOfChoice","choices","findIndex","elem","label","splice","teacherInstructions","slateMarkup","callback","setState","onClose","onConfirm","respAreaChoices","state","domMarkup","allRespAreas","querySelectorAll","allChoices","el","dataset","existingRespAreaChoices","reduce","isUndefined","newRespAreaChoices","shouldWarn","newChoices","find","c","correct","remove","cloneDeep","maxResponseAreaChoices","configuration","undefined","r","max","map","parseInt","val","isNaN","respIndex","selectedIndex","_createClass2","componentDidMount","UNSAFE_componentWillReceiveProps","nProps","newState","isEqual","isEmpty","componentDidUpdate","domNode","ReactDOM","findDOMNode","renderMath","render","_this2","_this$props","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","_ref","_ref$choiceRationale","choiceRationale","_ref$lockChoiceOrder","lockChoiceOrder","maxResponseAreas","_ref$maxImageWidth","maxImageWidth","_ref$maxImageHeight","maxImageHeight","_ref$partialScoring","partialScoring","_ref$prompt","_ref$rationale","settingsPanelDisabled","_ref$spellCheck","spellCheck","_ref$teacherInstructi","_ref$withRubric","withRubric","_ref2","choiceRationaleEnabled","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","_ref3","responseAreasError","responseAreaChoicesError","defaultImageMaxWidth","defaultImageMaxHeight","renderChoiceRationale","className","expandIcon","InputContainer","dangerouslySetInnerHTML","__html","onChange","onChoiceRationaleChanged","toolbarOpts","position","validationMessage","generateValidationMessage","panelSettings","panelProperties","rubricEnabled","layout","ConfigLayout","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","onTeacherInstructionsChanged","nonEmpty","languageCharactersProps","language","onPromptChanged","disableUnderline","onRationaleChanged","disableFocusListener","disableTouchListener","placement","title","activePlugins","ALL_PLUGINS","ref","window","editorRef","responseAreaProps","type","options","duplicates","respAreaToolbar","node","nodePath","editor","onToolbarDone","onAddChoice","onCheck","onRemoveChoice","data","onSelectChoice","disableImageAlignmentButtons","onBlur","disabled","highlightShape","error","AlertDialog","React","Component","exports","PropTypes","isRequired","disableSidePanel","bool","func","shape","add","Styled","withStyles","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\nimport { AlertDialog, InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport isUndefined from 'lodash/isUndefined';\nimport isEmpty from 'lodash/isEmpty';\nimport reduce from 'lodash/reduce';\nimport max from 'lodash/max';\nimport { withStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport Info from '@material-ui/icons/Info';\nimport InlineDropdownToolbar from './inline-dropdown-toolbar';\nimport { generateValidationMessage } from './utils';\n\nconst { toggle, Panel } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px',\n },\n },\n design: {\n paddingTop: theme.spacing.unit * 3,\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n float: 'right',\n },\n text: {\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize + 2,\n lineHeight: '19px',\n color: '#495B8F',\n marginRight: theme.spacing.unit,\n },\n rationaleLabel: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n rationaleChoices: {\n marginTop: theme.spacing.unit * 2,\n },\n panelDetails: {\n display: 'block',\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: theme.spacing.unit,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nconst prepareVal = (html) => {\n const tmp = document.createElement('DIV');\n\n tmp.innerHTML = html;\n\n const value = tmp.textContent || tmp.innerText || '';\n\n return value.trim();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n state = {\n warning: { open: false },\n };\n\n componentDidMount() {\n const {\n model: { choices },\n } = this.props;\n\n this.setState({ respAreaChoices: cloneDeep(choices) });\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const newState = {};\n\n if (\n !isEqual(nProps.model.choices, this.props.model.choices) ||\n !isEqual(nProps.model.choices, this.state.respAreaChoices)\n ) {\n newState.respAreaChoices = cloneDeep(nProps.model.choices);\n }\n\n if (!isEmpty(newState)) {\n this.setState(newState);\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onModelChange = (newVal) => {\n this.props.onModelChanged({ ...this.props.model, ...newVal });\n };\n\n onPromptChanged = (prompt) => {\n this.onModelChange({ prompt });\n };\n\n onRationaleChanged = (rationale) => {\n this.onModelChange({ rationale });\n };\n\n onChoiceRationaleChanged = (index, choice) => {\n const { model } = this.props;\n const indexOfChoice =\n model.choices &&\n model.choices[index] &&\n model.choices[index].findIndex((elem) => elem.label === choice.label && elem.value === choice.value);\n\n model.choices[index] && model.choices[index].splice(indexOfChoice, 1, choice);\n\n this.onModelChange(model);\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.onModelChange({ teacherInstructions });\n };\n\n onMarkupChanged = (slateMarkup) => {\n this.onModelChange({ slateMarkup });\n };\n\n onCheck = (callback) => {\n this.setState({\n warning: {\n open: true,\n text: 'Response areas with under 2 options or with no correct answers will be discarded.',\n onClose: () => {\n this.setState({ warning: { open: false } });\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, callback);\n },\n },\n });\n };\n\n onChange = (markup) => {\n const { respAreaChoices } = this.state;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll('[data-type=\"inline_dropdown\"]');\n const allChoices = {};\n\n allRespAreas.forEach((el) => {\n allChoices[el.dataset.index] = el.dataset.value || '';\n });\n\n const existingRespAreaChoices = reduce(\n respAreaChoices,\n (obj, choices, key) => {\n if (!isUndefined(allChoices[key])) {\n obj[key] = respAreaChoices[key];\n }\n\n return obj;\n },\n {},\n );\n\n const newRespAreaChoices = {};\n let shouldWarn = false;\n\n allRespAreas.forEach((el, index) => {\n const newChoices = existingRespAreaChoices[el.dataset.index] || [];\n\n if (newChoices.length < 2 || !newChoices.find((c) => c.correct)) {\n el.remove();\n shouldWarn = true;\n } else {\n newRespAreaChoices[index] = existingRespAreaChoices[el.dataset.index] || [];\n el.dataset.index = index;\n }\n });\n\n if (shouldWarn) {\n this.setState({\n warning: {\n open: true,\n text: 'Response areas with under 2 options or with no correct answers will be discarded.',\n onClose: () => {\n this.setState({ warning: { open: false } });\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, () =>\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n }),\n );\n },\n },\n });\n } else {\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n });\n }\n };\n\n onAddChoice = (index, label) => {\n const { respAreaChoices } = this.state;\n const { maxResponseAreaChoices } = this.props.configuration;\n\n if (respAreaChoices[index] && respAreaChoices[index].length >= maxResponseAreaChoices) {\n this.setState({\n warning: {\n open: true,\n text: `There are only ${maxResponseAreaChoices} answers allowed per choice.`,\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n return;\n }\n\n if (!respAreaChoices[index]) {\n respAreaChoices[index] = [];\n }\n\n if ((respAreaChoices[index] || []).find((r) => prepareVal(r.label) === prepareVal(label))) {\n this.setState({\n warning: {\n open: true,\n text: 'Duplicate answers are not allowed.',\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n return;\n }\n\n const value =\n (respAreaChoices[index] &&\n max(respAreaChoices[index].map((c) => parseInt(c.value)).filter((val) => !isNaN(val)))) ||\n 0;\n\n respAreaChoices[index].push({\n label,\n value: `${value + 1}`,\n correct: false,\n });\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onRemoveChoice = (respIndex, index) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex].splice(index, 1);\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onSelectChoice = (respIndex, selectedIndex) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex] = respAreaChoices[respIndex].map((choice, index) => ({\n ...choice,\n correct: index === selectedIndex,\n }));\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n render() {\n const { warning } = this.state;\n const { classes, model, configuration, onConfigurationChanged, imageSupport, uploadSoundSupport } = this.props;\n const {\n choiceRationale = {},\n lockChoiceOrder = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n withRubric = {},\n } = configuration || {};\n const {\n choiceRationaleEnabled,\n choices,\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { responseAreasError, responseAreaChoicesError } = errors || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const renderChoiceRationale = () =>\n (Object.keys(choices) || []).map((key, index) => (\n <div key={key} className={classes.rationaleChoices}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.text}>{`Rationale for response area #${index + 1}`}</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails className={classes.panelDetails}>\n {(choices[key] || []).map((choice) => (\n <InputContainer\n key={choice.label}\n label={\n <span\n className={classes.rationaleLabel}\n dangerouslySetInnerHTML={{\n __html: `${rationale.label} for ${choice.label} (${choice.correct ? 'correct' : 'incorrect'})`,\n }}\n />\n }\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={choice.rationale || ''}\n spellCheck={spellCheckEnabled}\n onChange={(c) => this.onChoiceRationaleChanged(key, { ...choice, rationale: c })}\n imageSupport={imageSupport}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n ))}\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n ));\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const validationMessage = generateValidationMessage(configuration);\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n choiceRationaleEnabled: choiceRationale.settings && toggle(choiceRationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => this.onModelChange(model)}\n onChangeConfiguration={(configuration) => onConfigurationChanged(configuration, true)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\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 maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.text}>Define Template, Choices, and Correct Responses</Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </Tooltip>\n </div>\n\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n ref={(ref) => {\n window.editorRef = ref;\n }}\n responseAreaProps={{\n type: 'inline-dropdown',\n options: {\n duplicates: true,\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, nodePath, editor, onToolbarDone) => {\n const { respAreaChoices } = this.state;\n\n return () => (\n <InlineDropdownToolbar\n onAddChoice={this.onAddChoice}\n onCheck={this.onCheck}\n onRemoveChoice={(index) => this.onRemoveChoice(node.data.index, index)}\n onSelectChoice={(index) => this.onSelectChoice(node.data.index, index)}\n editor={editor}\n node={node}\n nodePath={nodePath}\n onToolbarDone={onToolbarDone}\n choices={respAreaChoices[node.data.index]}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n );\n },\n }}\n spellCheck={spellCheckEnabled}\n className={classes.markup}\n markup={model.slateMarkup || ''}\n onChange={this.onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n {responseAreaChoicesError && <div className={classes.errorText}>{responseAreaChoicesError}</div>}\n\n <br />\n {choiceRationaleEnabled && renderChoiceRationale()}\n\n <AlertDialog\n open={warning.open}\n title=\"Warning\"\n text={warning.text}\n onClose={warning.onClose}\n onConfirm={warning.onConfirm}\n />\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"mappings":"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"}
|
|
@@ -52,4 +52,4 @@ var createSlateMarkup = function createSlateMarkup(markup, choices) {
|
|
|
52
52
|
});
|
|
53
53
|
};
|
|
54
54
|
exports.createSlateMarkup = createSlateMarkup;
|
|
55
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=markupUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markupUtils.js","names":["_escape","_interopRequireDefault","require","tSymbols","nSymbols","matchTabAndNewLine","RegExp","concat","removeUnwantedCharacters","markup","replace","exports","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","processMarkup","newMarkup","slateMarkup","querySelectorAll","forEach","s","replaceWith","dataset","index","REGEX","createSlateMarkup","choices","createSelect","correctChoice","find","c","correct","value","id","label","escape","match","g"],"sources":["../src/markupUtils.js"],"sourcesContent":["import escape from 'lodash/escape';\n\n// do not remove \\t from \\times, \\triangle, \\tan, \\theta or \\therefore\nconst tSymbols = 'imes|riangle|an|heta|herefore';\n// do not remove \\n from \\nthroot, \\nparallel, \\ncong, \\napprox, \\neq, \\ne or \\nsim\nconst nSymbols = 'throot|parallel|cong|approx|eq|e|sim';\n// match all \\t and \\n that are not part of math symbols that starts with \\t or \\n\nconst matchTabAndNewLine = new RegExp(\n `(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))|(\\\\\\\\t(?!${tSymbols}))|(\\\\\\\\n(?!${nSymbols}))`,\n 'g',\n);\n\nexport const removeUnwantedCharacters = (markup) =>\n markup.replace(matchTabAndNewLine, '').replace(/\\\\\"/g, '\"').replace(/\\\\\\//g, '/');\n\nexport const createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport const processMarkup = (markup) => {\n const newMarkup = removeUnwantedCharacters(markup);\n const slateMarkup = createElementFromHTML(newMarkup);\n\n slateMarkup.querySelectorAll('[data-type=\"inline_dropdown\"]').forEach((s) => {\n s.replaceWith(`{{${s.dataset.index}}}`);\n });\n\n return slateMarkup.innerHTML;\n};\n\nconst REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport const createSlateMarkup = (markup, choices) => {\n const newMarkup = removeUnwantedCharacters(markup);\n const createSelect = (index) => {\n let correctChoice = choices[index] && choices[index].find((c) => c.correct);\n\n if (!correctChoice || !correctChoice.value) {\n correctChoice = {\n id: '',\n value: '',\n label: '',\n };\n }\n\n return `<span data-type=\"inline_dropdown\" data-index=\"${index}\" data-value=\"${escape(\n correctChoice.label,\n )}\"></span>`;\n };\n\n return newMarkup.replace(REGEX, (match, g) => {\n return createSelect(g);\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA,IAAMC,QAAQ,GAAG,+BAA+B;AAChD;AACA,IAAMC,QAAQ,GAAG,sCAAsC;AACvD;AACA,IAAMC,kBAAkB,GAAG,IAAIC,MAAM,WAAAC,MAAA,CACzBJ,QAAQ,gBAAAI,MAAA,CAAaH,QAAQ,kBAAAG,MAAA,CAAeJ,QAAQ,kBAAAI,MAAA,CAAeH,QAAQ,SACrF,GACF,CAAC;AAEM,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,MAAM;EAAA,OAC7CA,MAAM,CAACC,OAAO,CAACL,kBAAkB,EAAE,EAAE,CAAC,CAACK,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AAAA;AAACC,OAAA,CAAAH,wBAAA,GAAAA,wBAAA;AAE7E,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,UAAU,EAAK;EACnD,IAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAEzCF,GAAG,CAACG,SAAS,GAAGJ,UAAU,CAACK,IAAI,CAAC,CAAC;EAEjC,OAAOJ,GAAG;AACZ,CAAC;AAACH,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAEK,IAAMO,aAAa,GAAG,SAAhBA,aAAaA,CAAIV,MAAM,EAAK;EACvC,IAAMW,SAAS,GAAGZ,wBAAwB,CAACC,MAAM,CAAC;EAClD,IAAMY,WAAW,GAAGT,qBAAqB,CAACQ,SAAS,CAAC;EAEpDC,WAAW,CAACC,gBAAgB,CAAC,+BAA+B,CAAC,CAACC,OAAO,CAAC,UAACC,CAAC,EAAK;IAC3EA,CAAC,CAACC,WAAW,MAAAlB,MAAA,CAAMiB,CAAC,CAACE,OAAO,CAACC,KAAK,OAAI,CAAC;EACzC,CAAC,CAAC;EAEF,OAAON,WAAW,CAACJ,SAAS;AAC9B,CAAC;AAACN,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AAEF,IAAMS,KAAK,GAAG,gBAAgB;AAEvB,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIpB,MAAM,EAAEqB,OAAO,EAAK;EACpD,IAAMV,SAAS,GAAGZ,wBAAwB,CAACC,MAAM,CAAC;EAClD,IAAMsB,YAAY,GAAG,SAAfA,YAAYA,CAAIJ,KAAK,EAAK;IAC9B,IAAIK,aAAa,GAAGF,OAAO,CAACH,KAAK,CAAC,IAAIG,OAAO,CAACH,KAAK,CAAC,CAACM,IAAI,CAAC,UAACC,CAAC;MAAA,OAAKA,CAAC,CAACC,OAAO;IAAA,EAAC;IAE3E,IAAI,CAACH,aAAa,IAAI,CAACA,aAAa,CAACI,KAAK,EAAE;MAC1CJ,aAAa,GAAG;QACdK,EAAE,EAAE,EAAE;QACND,KAAK,EAAE,EAAE;QACTE,KAAK,EAAE;MACT,CAAC;IACH;IAEA,2DAAA/B,MAAA,CAAwDoB,KAAK,sBAAApB,MAAA,CAAiB,IAAAgC,kBAAM,EAClFP,aAAa,CAACM,KAChB,CAAC;EACH,CAAC;EAED,OAAOlB,SAAS,CAACV,OAAO,CAACkB,KAAK,EAAE,UAACY,KAAK,EAAEC,CAAC,EAAK;IAC5C,OAAOV,YAAY,CAACU,CAAC,CAAC;EACxB,CAAC,CAAC;AACJ,CAAC;AAAC9B,OAAA,CAAAkB,iBAAA,GAAAA,iBAAA"}
|
package/configure/lib/utils.js
CHANGED
|
@@ -12,4 +12,4 @@ var generateValidationMessage = function generateValidationMessage(config) {
|
|
|
12
12
|
return message;
|
|
13
13
|
};
|
|
14
14
|
exports.generateValidationMessage = generateValidationMessage;
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["generateValidationMessage","config","maxResponseAreas","maxResponseAreaChoices","responseAreasMessage","concat","message","exports"],"sources":["../src/utils.js"],"sourcesContent":["export const generateValidationMessage = (config) => {\n const { maxResponseAreas, maxResponseAreaChoices } = config;\n\n const responseAreasMessage =\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.' +\n (maxResponseAreaChoices\n ? `\\nThere should be at most ${maxResponseAreaChoices} choices defined per response area.`\n : '');\n\n const message = 'Validation requirements:' + responseAreasMessage;\n\n return message;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,MAAM,EAAK;EACnD,IAAQC,gBAAgB,GAA6BD,MAAM,CAAnDC,gBAAgB;IAAEC,sBAAsB,GAAKF,MAAM,CAAjCE,sBAAsB;EAEhD,IAAMC,oBAAoB,GACxB,+BAA+B,IAC9BF,gBAAgB,kBAAAG,MAAA,CAAkBH,gBAAgB,SAAM,EAAE,CAAC,GAC5D,eAAe,IACdA,gBAAgB,GAAG,GAAG,GAAG,EAAE,CAAC,GAC7B,WAAW,IACVC,sBAAsB,gCAAAE,MAAA,CACUF,sBAAsB,2CACnD,EAAE,CAAC;EAET,IAAMG,OAAO,GAAG,0BAA0B,GAAGF,oBAAoB;EAEjE,OAAOE,OAAO;AAChB,CAAC;AAACC,OAAA,CAAAP,yBAAA,GAAAA,yBAAA"}
|
|
@@ -8,4 +8,4 @@ var _default = {
|
|
|
8
8
|
choices: {}
|
|
9
9
|
};
|
|
10
10
|
exports["default"] = _default;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["choices","exports","_default"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n choices: {},\n};\n"],"mappings":";;;;;;eAAe;EACbA,OAAO,EAAE,CAAC;AACZ,CAAC;AAAAC,OAAA,cAAAC,QAAA"}
|