From 76c8063a28713326c1feb54649dd56399077cebd Mon Sep 17 00:00:00 2001 From: Jean-Michel Vedrine Date: Sat, 2 Feb 2019 08:33:28 +0100 Subject: First try at mobile 3.x support --- mobile/algebra.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 mobile/algebra.js (limited to 'mobile/algebra.js') diff --git a/mobile/algebra.js b/mobile/algebra.js new file mode 100644 index 0000000..fa3e6d1 --- /dev/null +++ b/mobile/algebra.js @@ -0,0 +1,51 @@ +var that = this; +var result = { + + componentInit: function() { + + if (!this.question) { + console.warn('Aborting because of no question received.'); + return that.CoreQuestionHelperProvider.showComponentError(that.onAbort); + } + const div = document.createElement('div'); + div.innerHTML = this.question.html; + // Get question questiontext. + const questiontext = div.querySelector('.qtext'); + // Get question input. + const input = div.querySelector('input[type="text"][name*=answer]'); + + if (div.querySelector('.readonly') !== null) { + this.question.readonly = true; + } + if (div.querySelector('.feedback') !== null) { + this.question.feedback = div.querySelector('.feedback'); + this.question.feedbackHTML = true; + } + + this.question.text = questiontext.innerHTML; + this.question.input = input; + + if (typeof this.question.text == 'undefined') { + this.logger.warn('Aborting because of an error parsing question.', this.question.name); + return this.CoreQuestionHelperProvider.showComponentError(this.onAbort); + } + + // Check if question is marked as correct. + if (input.classList.contains('incorrect')) { + this.question.input.correctClass = 'qtype-algebra question-incorrect'; + } else if (input.classList.contains('correct')) { + this.question.input.correctClass = 'qtype-algebra question-correct'; + } else if (input.classList.contains('partiallycorrect')) { + this.question.input.correctClass = 'qtype-algebra question-partiallycorrect'; + } + + // @codingStandardsIgnoreStart + // Wait for the DOM to be rendered. + setTimeout(() => { + + }); + // @codingStandardsIgnoreEnd + return true; + } +}; +result; \ No newline at end of file -- cgit v1.2.3