X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FProblems.vue;h=adc0ad366e71cc4a66b3c6134970ba40dfaf56a3;hb=c01212801607b7f6336d6378ad64872a19bb4f15;hp=7f8632da5e58879a0837dc2cfa07b428f0788f45;hpb=29d33c8ac72a9ea5d72d8c48c426d8380e188bd7;p=vchess.git
diff --git a/client/src/views/Problems.vue b/client/src/views/Problems.vue
index 7f8632da..adc0ad36 100644
--- a/client/src/views/Problems.vue
+++ b/client/src/views/Problems.vue
@@ -42,17 +42,19 @@ main
)
#diagram(v-html="curproblem.diag")
fieldset
- textarea(
+ textarea.instructions-edit(
:placeholder="st.tr['Instructions']"
+ @input="adjustHeight('instructions')"
v-model="curproblem.instruction"
)
- p(v-html="parseHtml(curproblem.instruction)")
+ .instructions(v-html="parseHtml(curproblem.instruction)")
fieldset
- textarea(
+ textarea.solution-edit(
:placeholder="st.tr['Solution']"
+ @input="adjustHeight('solution')"
v-model="curproblem.solution"
)
- p(v-html="parseHtml(curproblem.solution)")
+ .solution(v-html="parseHtml(curproblem.solution)")
button(@click="sendProblem()") {{ st.tr["Send"] }}
#dialog.text-center {{ st.tr[infoMsg] }}
.row(v-if="showOne")
@@ -68,12 +70,12 @@ main
| {{ st.tr["Previous_p"] }}
button.nomargin(@click="gotoPrevNext(curproblem,-1)")
| {{ st.tr["Next_p"] }}
- p.oneInstructions.clickable(
+ .instructions.oneInstructions.clickable(
v-html="parseHtml(curproblem.instruction)"
@click="curproblem.showSolution=!curproblem.showSolution"
)
| {{ st.tr["Show solution"] }}
- p(
+ .solution(
v-show="curproblem.showSolution"
v-html="parseHtml(curproblem.solution)"
)
@@ -210,6 +212,12 @@ export default {
document.getElementById("inputFen").focus();
}
},
+ adjustHeight: function(elt) {
+ // https://stackoverflow.com/a/48460773
+ let t = document.querySelector("." + elt + "-edit");
+ t.style.height = "";
+ t.style.height = (t.scrollHeight + 3) + "px";
+ },
setVname: function(prob) {
prob.vname = this.st.variants.find(v => v.id == prob.vid).name;
},
@@ -281,7 +289,10 @@ export default {
},
parseHtml: function(txt) {
return !txt.match(/<[/a-zA-Z]+>/)
- ? txt.replace(/\n/g, "
") //no HTML tag
+ ?
+ // No HTML tag
+ txt.replace(/\n\n/g, "