fix(UX): mentions - prioritize invovled users

This commit is contained in:
Ankush Menat 2022-07-25 18:31:12 +05:30
parent dd767bd687
commit 5a2b500100
2 changed files with 15 additions and 3 deletions

View file

@ -195,7 +195,9 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for
let values = await frappe.xcall(method, {
search_term
});
renderList(values, search_term);
let sorted_values = me.prioritize_involved_users_in_mention(values);
renderList(sorted_values, search_term);
}, 300),
renderItem(item) {
let value = item.value;
@ -204,6 +206,16 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for
};
}
prioritize_involved_users_in_mention(values) {
const involved_users = this.frm?.get_involved_users() // input on form
|| cur_frm?.get_involved_users() // comment box / dialog on active form
|| [];
return values
.filter(val => involved_users.includes(val.id))
.concat(values.filter(val => !involved_users.includes(val.id)));
}
get_toolbar_options() {
return [
[{ header: [1, 2, 3, false] }],

View file

@ -1875,11 +1875,11 @@ frappe.ui.form.Form = class FrappeForm {
}
get_involved_users() {
const user_fields = this.meta.fields
let user_fields = this.meta.fields
.filter(d => d.fieldtype === 'Link' && d.options === 'User')
.map(d => d.fieldname);
user_fields.push('owner');
user_fields = [...user_fields, "owner", "modified_by"];
let involved_users = user_fields.map(field => this.doc[field]);
const docinfo = this.get_docinfo();