X-Git-Url: https://git.auder.net/pieces/Checkered/cb.svg?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FProblems.vue;h=a55126fa10c12c202360f4d1468fe56930e09584;hb=500dbd2c68ab7c284a25aa6d496a67315b7ab492;hp=28a7b0dc098f7355f398da1b93a2ee1fed548dcd;hpb=956407c4205d7aae82bf4a9b0bf5b66218fb42b6;p=vchess.git
diff --git a/client/src/views/Problems.vue b/client/src/views/Problems.vue
index 28a7b0dc..a55126fa 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)"
)
@@ -129,6 +131,7 @@ import params from "@/parameters";
import { getDiagram, replaceByDiag } from "@/utils/printDiagram";
import { processModalClick } from "@/utils/modalClick";
import { ArrayFun } from "@/utils/array";
+import afterRawLoad from "@/utils/afterRawLoad";
import BaseGame from "@/components/BaseGame.vue";
export default {
name: "my-problems",
@@ -210,6 +213,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 +290,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, "