diff --git a/frappe/public/js/frappe/form/controls/comment.js b/frappe/public/js/frappe/form/controls/comment.js index 8a686467d0..4dc609d2dc 100644 --- a/frappe/public/js/frappe/form/controls/comment.js +++ b/frappe/public/js/frappe/form/controls/comment.js @@ -13,15 +13,6 @@ frappe.ui.form.ControlComment = class ControlComment extends frappe.ui.form.Cont ${__("Comments")} - -
- - - - -
${frappe.avatar(frappe.session.user, "avatar-medium")} diff --git a/frappe/public/js/frappe/form/footer/footer.js b/frappe/public/js/frappe/form/footer/footer.js index 7cd7f98170..5a9f284f60 100644 --- a/frappe/public/js/frappe/form/footer/footer.js +++ b/frappe/public/js/frappe/form/footer/footer.js @@ -7,7 +7,6 @@ frappe.ui.form.Footer = class FormFooter { this.make(); this.make_comment_box(); this.make_timeline(); - this.make_like(); // render-complete $(this.frm.wrapper).on("render_complete", () => { this.refresh(); @@ -65,40 +64,10 @@ frappe.ui.form.Footer = class FormFooter { this.frm.timeline.refresh(); } this.refresh_comments_count(); - this.refresh_like(); } refresh_comments_count() { let count = (this.frm.get_docinfo().comments || []).length; this.wrapper.find(".comment-count")?.html(count ? `(${count})` : ""); } - - make_like() { - this.like_wrapper = this.wrapper.find(".liked-by"); - this.like_icon = this.wrapper.find(".liked-by .like-icon"); - this.like_count = this.wrapper.find(".liked-by .like-count"); - frappe.ui.setup_like_popover(this.wrapper.find(".form-stats-likes"), ".like-icon"); - - this.like_icon.on("click", () => { - frappe.ui.toggle_like(this.like_wrapper, this.frm.doctype, this.frm.doc.name, () => { - this.refresh_like(); - }); - }); - } - - refresh_like() { - if (!this.like_icon) { - return; - } - - this.like_wrapper.attr("data-liked-by", this.frm.doc._liked_by); - const liked = frappe.ui.is_liked(this.frm.doc); - this.like_wrapper - .toggleClass("not-liked", !liked) - .toggleClass("liked", liked) - .attr("data-doctype", this.frm.doctype) - .attr("data-name", this.frm.doc.name); - - this.like_count && this.like_count.text(JSON.parse(this.frm.doc._liked_by || "[]").length); - } }; diff --git a/frappe/public/js/frappe/form/sidebar/form_sidebar.js b/frappe/public/js/frappe/form/sidebar/form_sidebar.js index 4ba45e4bad..75d3907421 100644 --- a/frappe/public/js/frappe/form/sidebar/form_sidebar.js +++ b/frappe/public/js/frappe/form/sidebar/form_sidebar.js @@ -34,9 +34,10 @@ frappe.ui.form.Sidebar = class { this.setup_keyboard_shortcuts(); this.show_auto_repeat_status(); frappe.ui.form.setup_user_image_event(this.frm); - this.indicator = $(this.sidebar).find(".form-details .indicator-pill"); + this.indicator = $(this.sidebar).find(".sidebar-meta-details .indicator-pill"); this.set_form_indicator(); this.setup_copy_event(); + this.make_like(); this.refresh(); } @@ -77,16 +78,48 @@ frappe.ui.form.Sidebar = class { this.refresh_creation_modified(); frappe.ui.form.set_user_image(this.frm); } + this.refresh_like(); } setup_copy_event() { $(this.sidebar) - .find(".form-name-container .form-name-copy") + .find(".sidebar-meta-details .form-name-copy") .on("click", (e) => { frappe.utils.copy_to_clipboard($(e.currentTarget).attr("data-copy")); }); } + make_like() { + this.like_wrapper = this.sidebar.find(".liked-by"); + this.like_icon = this.sidebar.find(".liked-by .like-icon"); + this.like_count = this.sidebar.find(".liked-by .like-count"); + frappe.ui.setup_like_popover(this.sidebar.find(".form-stats-likes"), ".like-icon"); + + this.like_icon.on("click", () => { + frappe.ui.toggle_like(this.like_wrapper, this.frm.doctype, this.frm.doc.name, () => { + this.refresh_like(); + }); + }); + } + + refresh_like() { + if (!this.like_icon) { + return; + } + + this.like_wrapper.attr("data-liked-by", this.frm.doc._liked_by); + const liked = frappe.ui.is_liked(this.frm.doc); + console.log(liked, "wow", this.frm.doc); + + this.like_wrapper + .toggleClass("not-liked", !liked) + .toggleClass("liked", liked) + .attr("data-doctype", this.frm.doctype) + .attr("data-name", this.frm.doc.name); + + this.like_count && this.like_count.text(JSON.parse(this.frm.doc._liked_by || "[]").length); + } + refresh_web_view_count() { if (this.frm.doc.route && cint(frappe.boot.website_tracking_enabled)) { let route = this.frm.doc.route; @@ -100,62 +133,28 @@ frappe.ui.form.Sidebar = class { } refresh_creation_modified() { - let user_list = [this.frm.doc.owner, this.frm.doc.modified_by]; - if (this.frm.doc.owner === this.frm.doc.modified_by) { - user_list = [this.frm.doc.owner]; - } - - let avatar_group = frappe.avatar_group(user_list, 5, { - align: "left", - overlap: true, - }); - - this.sidebar.find(".created-modified-section").append(avatar_group); - - let creation_message = - get_user_message( - this.frm.doc.owner, - __("You created this", null), - __("{0} created this", [get_user_link(this.frm.doc.owner)]) - ) + - " · " + - cint(frappe.boot.user.show_absolute_datetime_in_timeline) || - cint(frappe.boot.sysdefaults.show_absolute_datetime_in_timeline) - ? frappe.datetime.str_to_user(this.frm.doc.creation) - : comment_when(this.frm.doc.creation); - let modified_message = - get_user_message( - this.frm.doc.modified_by, - __("You last edited this", null), - __("{0} last edited this", [get_user_link(this.frm.doc.modified_by)]) - ) + - " · " + - cint(frappe.boot.user.show_absolute_datetime_in_timeline) || - cint(frappe.boot.sysdefaults.show_absolute_datetime_in_timeline) - ? frappe.datetime.str_to_user(this.frm.doc.modified) - : comment_when(this.frm.doc.modified); - - if (user_list.length === 1) { - // same user created and edited - - avatar_group.find(".avatar").popover({ - trigger: "hover", - html: true, - content: creation_message + "
" + modified_message, - }); - } else { - avatar_group.find(".avatar:first-child").popover({ - trigger: "hover", - html: true, - content: creation_message, - }); - - avatar_group.find(".avatar:last-child").popover({ - trigger: "hover", - html: true, - content: modified_message, - }); - } + this.sidebar + .find(".modified-by") + .html( + get_user_message( + this.frm.doc.modified_by, + __("You last edited this", null), + __("{0} last edited this", [get_user_link(this.frm.doc.modified_by)]) + ) + + " · " + + comment_when(this.frm.doc.modified) + ); + this.sidebar + .find(".created-by") + .html( + get_user_message( + this.frm.doc.owner, + __("You created this", null), + __("{0} created this", [get_user_link(this.frm.doc.owner)]) + ) + + " · " + + comment_when(this.frm.doc.creation) + ); } show_auto_repeat_status() { diff --git a/frappe/public/js/frappe/form/templates/form_sidebar.html b/frappe/public/js/frappe/form/templates/form_sidebar.html index d3e701e360..27af579862 100644 --- a/frappe/public/js/frappe/form/templates/form_sidebar.html +++ b/frappe/public/js/frappe/form/templates/form_sidebar.html @@ -1,5 +1,5 @@ -