fix: sider

This commit is contained in:
Jannat Patel 2021-09-16 13:25:37 +05:30
parent 8aa977c5f0
commit cd967b36b8
3 changed files with 41 additions and 50 deletions

View file

@ -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");
}
};

View file

@ -50,7 +50,7 @@
</div>
{% block script %}
<script> {% include "frappe/templates/discussions/discussions.js" %}</script>
<script> {% include "/templates/discussions/discussions.js" %} </script>
{% endblock %}
{% block style %}

View file

@ -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):