diff --git a/frappe/public/css/form.css b/frappe/public/css/form.css index 4c8ffb3eac..57cbfb50b3 100644 --- a/frappe/public/css/form.css +++ b/frappe/public/css/form.css @@ -723,7 +723,6 @@ body[data-route^="Form/Communication"] textarea[data-fieldname="subject"] { margin-top: 5px; } .frappe-control[data-fieldtype="Attach"] .attached-file .close { - margin-right: -7px; position: absolute; top: 0; right: 0; diff --git a/frappe/public/css/list.css b/frappe/public/css/list.css index 7d0ceb523d..61fbf149e3 100644 --- a/frappe/public/css/list.css +++ b/frappe/public/css/list.css @@ -130,7 +130,6 @@ } .list-subject { flex: 2; - font-weight: bold; justify-content: start; } .list-subject .level-item { diff --git a/frappe/public/js/frappe/list/base_list.js b/frappe/public/js/frappe/list/base_list.js index 275e629d84..e14ecd9bcd 100644 --- a/frappe/public/js/frappe/list/base_list.js +++ b/frappe/public/js/frappe/list/base_list.js @@ -72,9 +72,7 @@ frappe.views.BaseList = class BaseList { set_fields() { let fields = [].concat( frappe.model.std_fields_list, - this.get_fields_in_list_view(), - [this.meta.title_field, this.meta.image_field], - (this.settings.add_fields || []) + this.meta.title_field ); fields.forEach(f => this._add_field(f)); @@ -119,7 +117,8 @@ frappe.views.BaseList = class BaseList { } const is_valid_field = frappe.model.std_fields_list.includes(fieldname) - || frappe.meta.has_field(doctype, fieldname); + || frappe.meta.has_field(doctype, fieldname) + || fieldname === '_seen'; if (!is_valid_field) { return; diff --git a/frappe/public/js/frappe/list/list_sidebar.js b/frappe/public/js/frappe/list/list_sidebar.js index 54970dd449..f992be292f 100644 --- a/frappe/public/js/frappe/list/list_sidebar.js +++ b/frappe/public/js/frappe/list/list_sidebar.js @@ -343,9 +343,8 @@ frappe.views.ListSidebar = Class.extend({ }); }, setup_assigned_to_me: function() { - var me = this; - this.page.sidebar.find(".assigned-to-me a").on("click", function() { - me.list_view.assigned_to_me(); + this.page.sidebar.find(".assigned-to-me a").on("click", () => { + this.list_view.filter_area.add(this.list_view.doctype, "_assign", "like", `%${frappe.session.user}%`); }); }, setup_upgrade_box: function() { diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index dc45e63bc4..3544f5f07c 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -59,6 +59,18 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { this.patch_refresh_and_load_lib(); } + set_fields() { + let fields = [].concat( + frappe.model.std_fields_list, + this.get_fields_in_list_view(), + [this.meta.title_field, this.meta.image_field], + (this.settings.add_fields || []), + this.meta.track_seen ? '_seen' : null + ); + + fields.forEach(f => this._add_field(f)); + } + patch_refresh_and_load_lib() { // throttle refresh for 1s this.refresh = this.refresh.bind(this); @@ -526,7 +538,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { 'liked-by' : 'text-extra-muted not-liked'; const seen = JSON.parse(doc._seen || '[]') - .includes(user) ? 'seen' : ''; + .includes(user) ? '' : 'bold'; let subject_html = ` diff --git a/frappe/public/js/frappe/ui/filters/filter.js b/frappe/public/js/frappe/ui/filters/filter.js index 8ed1109c48..d37e93a6b3 100644 --- a/frappe/public/js/frappe/ui/filters/filter.js +++ b/frappe/public/js/frappe/ui/filters/filter.js @@ -1,6 +1,9 @@ frappe.ui.Filter = class { constructor(opts) { $.extend(this, opts); + if (this.value === null || this.value === undefined) { + this.value = ''; + } this.utils = frappe.ui.filter_utils; this.conditions = [ diff --git a/frappe/public/less/list.less b/frappe/public/less/list.less index 141085adba..8d9c9d147a 100644 --- a/frappe/public/less/list.less +++ b/frappe/public/less/list.less @@ -163,7 +163,6 @@ .list-subject { flex: 2; - font-weight: bold; justify-content: start; .level-item {