{"version":3,"file":"382.a84c675f498bed3f.bundle.js","mappings":"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","sources":["webpack://WebComponents/./runestone/shortanswer/js/shortanswer.js","webpack://WebComponents/./runestone/shortanswer/js/timed_shortanswer.js"],"sourcesContent":["/*==========================================\n======= Master shortanswer.js ========\n============================================\n=== This file contains the JS for ===\n=== the Runestone shortanswer component. ===\n============================================\n=== Created by ===\n=== Isaiah Mayerchak ===\n=== 7/2/15 ===\n=== Brad Miller ===\n=== 2019 ===\n==========================================*/\n\nimport RunestoneBase from \"../../common/js/runestonebase.js\";\nimport \"./../css/shortanswer.css\";\n\nexport var saList;\nif (saList === undefined) saList = {}; // Dictionary that contains all instances of shortanswer objects\n\nexport default class ShortAnswer extends RunestoneBase {\n constructor(opts) {\n super(opts);\n if (opts) {\n var orig = opts.orig; // entire
element that will be replaced by new HTML\n this.useRunestoneServices =\n opts.useRunestoneServices || eBookConfig.useRunestoneServices;\n this.origElem = orig;\n this.divid = orig.id;\n this.question = this.origElem.innerHTML;\n this.optional = false;\n if ($(this.origElem).is(\"[data-optional]\")) {\n this.optional = true;\n }\n if ($(this.origElem).is(\"[data-mathjax]\")) {\n this.mathjax = true;\n }\n this.renderHTML();\n this.caption = \"shortanswer\";\n this.addCaption(\"runestone\");\n this.checkServer(\"shortanswer\", true);\n }\n }\n\n renderHTML() {\n this.containerDiv = document.createElement(\"div\");\n this.containerDiv.id = this.divid;\n $(this.containerDiv).addClass(this.origElem.getAttribute(\"class\"));\n this.newForm = document.createElement(\"form\");\n this.newForm.id = this.divid + \"_journal\";\n this.newForm.name = this.newForm.id;\n this.newForm.action = \"\";\n this.containerDiv.appendChild(this.newForm);\n this.fieldSet = document.createElement(\"fieldset\");\n this.newForm.appendChild(this.fieldSet);\n this.legend = document.createElement(\"legend\");\n this.legend.innerHTML = \"Short Answer\";\n this.fieldSet.appendChild(this.legend);\n this.firstLegendDiv = document.createElement(\"div\");\n this.firstLegendDiv.innerHTML = this.question;\n $(this.firstLegendDiv).addClass(\"journal-question\");\n this.fieldSet.appendChild(this.firstLegendDiv);\n this.jInputDiv = document.createElement(\"div\");\n this.jInputDiv.id = this.divid + \"_journal_input\";\n this.fieldSet.appendChild(this.jInputDiv);\n this.jOptionsDiv = document.createElement(\"div\");\n $(this.jOptionsDiv).addClass(\"journal-options\");\n this.jInputDiv.appendChild(this.jOptionsDiv);\n this.jLabel = document.createElement(\"label\");\n $(this.jLabel).addClass(\"radio-inline\");\n this.jOptionsDiv.appendChild(this.jLabel);\n this.jTextArea = document.createElement(\"textarea\");\n let self = this;\n this.jTextArea.onchange = function () {\n self.isAnswered = true;\n };\n this.jTextArea.id = this.divid + \"_solution\";\n $(this.jTextArea).attr(\"aria-label\", \"textarea\");\n $(this.jTextArea).css(\"display:inline, width:530px\");\n $(this.jTextArea).addClass(\"form-control\");\n this.jTextArea.rows = 4;\n this.jTextArea.cols = 50;\n this.jLabel.appendChild(this.jTextArea);\n this.jTextArea.onchange = function () {\n this.feedbackDiv.innerHTML = \"Your answer has not been saved yet!\";\n $(this.feedbackDiv).removeClass(\"alert-success\");\n $(this.feedbackDiv).addClass(\"alert alert-danger\");\n }.bind(this);\n this.fieldSet.appendChild(document.createElement(\"br\"));\n if (this.mathjax) {\n this.renderedAnswer = document.createElement(\"div\");\n $(this.renderedAnswer).addClass(\"latexoutput\");\n this.fieldSet.appendChild(this.renderedAnswer);\n }\n this.buttonDiv = document.createElement(\"div\");\n this.fieldSet.appendChild(this.buttonDiv);\n this.submitButton = document.createElement(\"button\");\n $(this.submitButton).addClass(\"btn btn-success\");\n this.submitButton.type = \"button\";\n this.submitButton.textContent = \"Save\";\n this.submitButton.onclick = function () {\n this.checkCurrentAnswer();\n this.logCurrentAnswer();\n this.renderFeedback();\n }.bind(this);\n this.buttonDiv.appendChild(this.submitButton);\n this.randomSpan = document.createElement(\"span\");\n this.randomSpan.innerHTML = \"Instructor's Feedback\";\n this.fieldSet.appendChild(this.randomSpan);\n this.otherOptionsDiv = document.createElement(\"div\");\n $(this.otherOptionsDiv).css(\"padding-left:20px\");\n $(this.otherOptionsDiv).addClass(\"journal-options\");\n this.fieldSet.appendChild(this.otherOptionsDiv);\n // add a feedback div to give user feedback\n this.feedbackDiv = document.createElement(\"div\");\n //$(this.feedbackDiv).addClass(\"bg-info form-control\");\n //$(this.feedbackDiv).css(\"width:530px, background-color:#eee, font-style:italic\");\n $(this.feedbackDiv).css(\"width:530px, font-style:italic\");\n this.feedbackDiv.id = this.divid + \"_feedback\";\n this.feedbackDiv.innerHTML = \"You have not answered this question yet.\";\n $(this.feedbackDiv).addClass(\"alert alert-danger\");\n //this.otherOptionsDiv.appendChild(this.feedbackDiv);\n this.fieldSet.appendChild(this.feedbackDiv);\n //this.fieldSet.appendChild(document.createElement(\"br\"));\n $(this.origElem).replaceWith(this.containerDiv);\n // This is a stopgap measure for when MathJax is not loaded at all. There is another\n // more difficult case that when MathJax is loaded asynchronously we will get here\n // before MathJax is loaded. In that case we will need to implement something\n // like `the solution described here