X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2Fstatements.js;h=0fb5124134361ea8ae3de21ab70998853ca3e261;hb=43828378be054cf3604b753e8d9ab24af911188f;hp=5bf6bdb7a04c959039f3855ecca745dc00dee931;hpb=71d1ca9c594b64d959c608a2abbff926480abad5;p=qomet.git diff --git a/public/javascripts/components/statements.js b/public/javascripts/components/statements.js index 5bf6bdb..0fb5124 100644 --- a/public/javascripts/components/statements.js +++ b/public/javascripts/components/statements.js @@ -1,7 +1,25 @@ +/* + * questions group by index prefix 1.2.3 1.1 ...etc --> '1' + +NOTE: questions can contain parameterized exercises (how ? +--> describe variables (syntax ?) +--> write javascript script (OK, users trusted ? ==> safe mode possible if public website) +Imaginary example: (using math.js) + (avant l'exo) + x: math.random() + y: math.random() + M: math.matrix([[7, x], [y, -3]]); + res: math.det(M) + +
Calculer le déterminant de + $$\begin{matrix}7 & x\\y & -3\end{matrix}$$
+ * ... +*/ + Vue.component("statements", { // 'answers' is an object containing // 'inputs'(array), - // 'displayAll'(bool), + // 'displayAll'(bool), //TODO: should be in questions! // 'showSolution'(bool), // 'indices': order of appearance // 'index': current integer index (focused question) @@ -48,6 +66,7 @@ Vue.component("statements", { change: e => { this.answers.inputs[i][idx] = e.target.checked; }, }, }, + [ '' ] //to work in Firefox 45.9 ESR @ ENSTA... ) ); option.push( @@ -88,6 +107,8 @@ Vue.component("statements", { optionList ) ); + if (this.answers.displayAll && i < this.questions.length-1) + questionContent.push( h("hr") ); return h( "div", { @@ -109,6 +130,9 @@ Vue.component("statements", { domTree ); }, + mounted: function() { + statementsLibsRefresh(); + }, updated: function() { // TODO: next line shouldn't be required: questions wordings + answer + options // are processed earlier; their content should be updated at this time.