X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2Fproblems.js;h=b67203a35cc1952a5e14d15020dad103204630f8;hb=1d5f2b65a3d57a00e08bd34b3609c3b6fb74881e;hp=9117ebfc2e10de3b4235c0fa5152b31037d81886;hpb=b5fb8e693dc82037eec2617a7dc49d838a9a8441;p=vchess.git diff --git a/public/javascripts/components/problems.js b/public/javascripts/components/problems.js index 9117ebfc..b67203a3 100644 --- a/public/javascripts/components/problems.js +++ b/public/javascripts/components/problems.js @@ -3,7 +3,7 @@ Vue.component('my-problems', { return { problems: problemArray, //initial value newProblem: { - fen: V.GenRandInitFen(), + fen: "", instructions: "", solution: "", stage: "nothing", //or "preview" after new problem is filled @@ -11,10 +11,21 @@ Vue.component('my-problems', { }; }, template: ` -
- - - +
+
+ + + +
@@ -27,7 +38,8 @@ Vue.component('my-problems', {
- +

Safe HTML tags allowed

@@ -45,9 +57,9 @@ Vue.component('my-problems', { -
- +
+
@@ -58,9 +70,6 @@ Vue.component('my-problems', { // Newest problem first return this.problems.sort((p1,p2) => { return p2.added - p1.added; }); }, - mailErrProblem: function() { - return "mailto:contact@vchess.club?subject=[" + variant + " problems] error"; - }, }, methods: { // Propagate "show problem" event to parent component (my-variant) @@ -68,7 +77,6 @@ Vue.component('my-problems', { this.$emit('show-problem', JSON.stringify(problem)); }, fetchProblems: function(direction) { - return; //TODO: re-activate after server side is implemented (see routes/all.js) if (this.problems.length == 0) return; //what could we do?! // Search for newest date (or oldest) @@ -95,6 +103,10 @@ Vue.component('my-problems', { previewNewProblem: function() { if (!V.IsGoodFen(this.newProblem.fen)) return alert("Bad FEN string"); + if (this.newProblem.instructions.length == 0) + return alert("Empty instructions"); + if (this.newProblem.solution.length == 0) + return alert("Empty solution"); this.newProblem.stage = "preview"; }, sendNewProblem: function() {