From 0841675577459a23066b185b7d9dea42a219ff77 Mon Sep 17 00:00:00 2001 From: m <m@m> Date: Thu, 19 Apr 2018 15:10:45 +0200 Subject: [PATCH] ask name and comment before sending comment Signed-off-by: Thomas Citharel <tcit@tcit.fr> --- js/app/studs.js | 45 ++++++++++++++++++++++++++++++++++++++++++- locale/en.json | 1 + tpl/part/comments.tpl | 18 +++++++++++------ 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/js/app/studs.js b/js/app/studs.js index 5cc4f7b7..2fbe19cc 100644 --- a/js/app/studs.js +++ b/js/app/studs.js @@ -16,6 +16,9 @@ * Auteurs de Framadate/OpenSondage : Framasoft (https://github.com/framasoft) */ + +var form; + $(document).ready(function () { @@ -108,7 +111,19 @@ $(document).ready(function () { } }); - var form = $('#comment_form'); + + form = $('#comment_form'); + + + checkCommentSending(); + + $("#comment_name").on("keyup change", checkCommentSending); + $("#comment").on("keyup change", checkCommentSending); + + $("#comment_name").on("change", formatValues); + $("#comment").on("change", formatValues); + + form.submit(function(event) { event.preventDefault(); @@ -168,3 +183,31 @@ $(document).ready(function () { } }); }); + + +function formatValues() { + var value = $(this).val().trim(); + + if (0 === value.length) { + $(this).val(""); + } +} + +function checkCommentSending() { + + var button = $("#add_comment"); + + // on page load, "textSend" is not set + if ("undefined" === typeof button.data("textSend")) { + button.data("textSend", button.val()); + } + + + if (!form.get(0).checkValidity()) { + button.prop("disabled", true); + button.val(button.data("textWait")); + } else { + button.prop("disabled", false); + button.val(button.data("textSend")); + } +} diff --git a/locale/en.json b/locale/en.json index cff4854d..d0216fcb 100644 --- a/locale/en.json +++ b/locale/en.json @@ -84,6 +84,7 @@ "Remove the comment": "Remove comment", "Send the comment": "Submit comment", "Your comment": "Comment", + "Type your name and a comment to send it" : "Type your name and a comment to send it", "anonyme": "anonymous" }, "Date": { diff --git a/tpl/part/comments.tpl b/tpl/part/comments.tpl index 0002b505..bf75a098 100644 --- a/tpl/part/comments.tpl +++ b/tpl/part/comments.tpl @@ -13,17 +13,23 @@ {/if} <div class="hidden-print jumbotron"> <div class="col-md-6 col-md-offset-3"> - <fieldset id="add-comment"><legend>{__('Comments', 'Add a comment to the poll')}</legend> + <fieldset id="add-comment"><legend>{__('Comments', 'Add a comment to the poll')|html}</legend> <div class="form-group"> - <label for="comment_name" class="control-label">{__('Generic', 'Your name')}</label> - <input type="text" name="name" id="comment_name" class="form-control" maxlength="60" /> + <label for="comment_name" class="control-label">{__('Generic', 'Your name')|html}</label> + <input type="text" name="name" id="comment_name" class="form-control" maxlength="60" required> </div> <div class="form-group"> - <label for="comment" class="control-label">{__('Comments', 'Your comment')}</label> - <textarea name="comment" id="comment" class="form-control" rows="2" cols="40"></textarea> + <label for="comment" class="control-label">{__('Comments', 'Your comment')|html}</label> + <textarea name="comment" id="comment" class="form-control" rows="2" cols="40" required></textarea> </div> <div class="pull-right"> - <input type="submit" id="add_comment" name="add_comment" value="{__('Comments', 'Send the comment')}" class="btn btn-success"> + <button + type="submit" + id="add_comment" + value="{__('Comments', 'Send the comment')|html}" + class="btn btn-success" + data-text-wait="{__('Comments', 'Type your name and a comment to send it')|html}" + > </div> </fieldset> </div> -- GitLab