diff --git a/frappe/templates/discussions/discussions.js b/frappe/templates/discussions/discussions.js index 7ebbeba608..9009252db3 100644 --- a/frappe/templates/discussions/discussions.js +++ b/frappe/templates/discussions/discussions.js @@ -24,7 +24,7 @@ frappe.ready(() => { } }); - $(document).on("keydown", ".comment-field" , (e) => { + $(document).on("keydown", ".comment-field", (e) => { if ((e.ctrlKey || e.metaKey) && (e.keyCode == 13 || e.which == 13) && !$(".discussion-modal").hasClass("show")) { e.preventDefault(); submit_discussion(e); @@ -32,12 +32,11 @@ frappe.ready(() => { }); $(document).on("input", ".discussion-on-page .comment-field", (e) => { - if ($(e.currentTarget).val()){ + if ($(e.currentTarget).val()) { $(e.currentTarget).css("height", "48px"); $(".cancel-comment").removeClass("hide").addClass("show"); $(e.currentTarget).css("height", $(e.currentTarget).prop("scrollHeight")); - } - else { + } else { $(".cancel-comment").removeClass("show").addClass("hide"); $(e.currentTarget).css("height", "48px"); } @@ -47,34 +46,34 @@ frappe.ready(() => { submit_discussion(e); }); - $(document).on("click", ".cancel-comment", (e) => { - clear_comment_box(e); - }) + $(document).on("click", ".cancel-comment", () => { + clear_comment_box(); + }); if ($(document).width() <= 550) { - $(document).on("click", ".sidebar-parent", (e) => { + $(document).on("click", ".sidebar-parent", () => { hide_sidebar(); - }) + }); } $(document).on("click", ".back", (e) => { back_to_sidebar(e); - }) + }); -}) +}); var show_new_topic_modal = (e) => { e.preventDefault(); $("#discussion-modal").modal("show"); var topic = $(e.currentTarget).attr("data-topic"); $("#submit-discussion").attr("data-topic", topic ? topic : ""); -} +}; var setup_socket_io = () => { const assets = [ "/assets/frappe/js/lib/socket.io.min.js", "/assets/frappe/js/frappe/socketio_client.js" - ] + ]; frappe.require(assets, () => { if (window.dev_server) { @@ -83,22 +82,20 @@ var setup_socket_io = () => { frappe.socketio.init(9000); frappe.socketio.socket.on("publish_message", (data) => { publish_message(data); - }) - }) -} + }); + }); +}; var publish_message = (data) => { if ($(`.discussion-on-page[data-topic=${data.topic_info.name}]`).length) { post_message_cleanup(); $(data.template).insertBefore(`.discussion-on-page[data-topic=${data.topic_info.name}] .discussion-form`); - } - - else if ((decodeURIComponent($(".discussions-parent .discussions-card").attr("data-doctype")) == data.topic_info.reference_doctype + } else if ((decodeURIComponent($(".discussions-parent .discussions-card").attr("data-doctype")) == data.topic_info.reference_doctype && decodeURIComponent($(".discussions-parent .discussions-card").attr("data-docname")) == data.topic_info.reference_docname)) { post_message_cleanup(); - data.new_topic_template = style_avatar_frame(data.new_topic_template) + data.new_topic_template = style_avatar_frame(data.new_topic_template); $(data.sidebar).insertAfter(`.discussions-sidebar .form-group`); $(`#discussion-group`).prepend(data.new_topic_template); @@ -107,14 +104,13 @@ var publish_message = (data) => { $(".discussion-on-page").collapse(); $(".sidebar-topic").first().click(); } - } - else if (data.topic_info.owner == frappe.session.user){ + } else if (data.topic_info.owner == frappe.session.user) { post_message_cleanup(); window.location.reload(); } update_reply_count(data.topic_info.name); -} +}; var post_message_cleanup = () => { $(".comment-field").val(""); @@ -122,24 +118,22 @@ var post_message_cleanup = () => { $("#discussion-modal").modal("hide"); $("#no-discussions").addClass("hide"); $(".cancel-comment").addClass("hide"); -} +}; var update_reply_count = (topic) => { var reply_count = $(`[data-target='#t${topic}']`).find(".reply-count").text(); reply_count = parseInt(reply_count) + 1; $(`[data-target='#t${topic}']`).find(".reply-count").text(reply_count); -} +}; var expand_first_discussion = () => { if ($(document).width() > 550) { $($(".discussions-parent .collapse")[0]).addClass("show"); $($(".discussions-sidebar [data-toggle='collapse']")[0]).attr("aria-expanded", true); - } - else { + } else { $("#discussion-group").addClass("hide"); } - -} +}; var search_topic = (e) => { var input = $(e.currentTarget).val(); @@ -147,7 +141,7 @@ var search_topic = (e) => { var topics = $(".discussions-parent .discussion-topic-title"); if (input.length < 3 || input.trim() == "") { topics.closest(".sidebar-parent").removeClass("hide"); - return + return; } topics.each((i, elem) => { @@ -165,13 +159,12 @@ var search_topic = (e) => { /* Match found in title or replies, then show */ if (has_common_substring($(elem).text(), input) || match_in_reply) { - $(elem).closest(".sidebar-parent").removeClass("hide") - } - else { + $(elem).closest(".sidebar-parent").removeClass("hide"); + } else { $(elem).closest(".sidebar-parent").addClass("hide"); } - }) -} + }); +}; var has_common_substring = (str1, str2) => { var str1_arr = str1.toLowerCase().split(" "); @@ -187,7 +180,7 @@ var has_common_substring = (str1, str2) => { } } return substring_found; -} +}; var submit_discussion = (e) => { e.preventDefault(); @@ -214,13 +207,13 @@ var submit_discussion = (e) => { } }) } -} +}; var login_from_discussion = (e) => { e.preventDefault(); var redirect = $(e.currentTarget).attr("data-redirect") || window.location.href; window.location.href = `/login?redirect-to=${redirect}`; -} +}; var add_color_to_avatars = () => { var avatars = $(".avatar-frame"); @@ -228,36 +221,35 @@ var add_color_to_avatars = () => { if (!$(avatar).attr("style")) { $(avatar).css(get_color_from_palette($(avatar))); } - }) -} + }); +}; var get_color_from_palette = (element) => { var palette = frappe.get_palette(element.attr("title")); return {"background-color": `var(${palette[0]})`, "color": `var(${palette[1]})` } -} +}; var style_avatar_frame = (template) => { var $template = $(template); $template.find(".avatar-frame").css(get_color_from_palette($template.find(".avatar-frame"))); return $template.prop("outerHTML"); -} +}; -var clear_comment_box = (e) => { +var clear_comment_box = () => { if ($(".discussion-modal").hasClass("show")) { $("#discussion-modal").modal("hide"); - } - else { + } else { $(".discussion-on-page .comment-field").val(""); } -} +}; var hide_sidebar = () => { $(".discussions-sidebar").addClass("hide"); $("#discussion-group").removeClass("hide"); -} +}; var back_to_sidebar = () => { $(".discussions-sidebar").removeClass("hide"); $("#discussion-group").addClass("hide"); $(".discussion-on-page").collapse("hide"); -} +}; diff --git a/frappe/templates/discussions/discussions_section.html b/frappe/templates/discussions/discussions_section.html index db291d9886..de7276bdeb 100644 --- a/frappe/templates/discussions/discussions_section.html +++ b/frappe/templates/discussions/discussions_section.html @@ -50,7 +50,7 @@ {% block script %} - + {% endblock %} {% block style %} diff --git a/frappe/website/doctype/discussion_reply/discussion_reply.py b/frappe/website/doctype/discussion_reply/discussion_reply.py index 70f08bb430..390f1f31b7 100644 --- a/frappe/website/doctype/discussion_reply/discussion_reply.py +++ b/frappe/website/doctype/discussion_reply/discussion_reply.py @@ -3,7 +3,6 @@ import frappe from frappe.model.document import Document -from frappe.utils import time_diff_in_seconds, nowdate, pretty_date class DiscussionReply(Document): def after_insert(self):