Remove list row 'unfocused' state and keep 'selected' classes even when list loses focus. For visual distinguishing .focus tr.selected can be used
| | |
| | | if (this.focused) |
| | | return; |
| | | |
| | | var n, id; |
| | | this.focused = true; |
| | | |
| | | for (n in this.selection) { |
| | | id = this.selection[n]; |
| | | if (this.rows[id] && this.rows[id].obj) { |
| | | $(this.rows[id].obj).addClass('selected').removeClass('unfocused'); |
| | | } |
| | | } |
| | | |
| | | if (e) |
| | | rcube_event.cancel(e); |
| | |
| | | */ |
| | | blur: function(e) |
| | | { |
| | | var n, id; |
| | | this.focused = false; |
| | | for (n in this.selection) { |
| | | id = this.selection[n]; |
| | | if (this.rows[id] && this.rows[id].obj) { |
| | | $(this.rows[id].obj).removeClass('selected focused').addClass('unfocused'); |
| | | } |
| | | } |
| | | |
| | | $(this.list).removeClass('focus'); |
| | | }, |
| | | |
| | |
| | | this.highlight_row(n, true, true); |
| | | } |
| | | else { |
| | | $(this.rows[n].obj).removeClass('selected').removeClass('unfocused').removeAttr('aria-selected'); |
| | | $(this.rows[n].obj).removeClass('selected').removeAttr('aria-selected'); |
| | | } |
| | | } |
| | | |
| | |
| | | else { |
| | | for (n in this.selection) |
| | | if (this.rows[this.selection[n]]) { |
| | | $(this.rows[this.selection[n]].obj).removeClass('selected').removeClass('unfocused').removeAttr('aria-selected'); |
| | | $(this.rows[this.selection[n]].obj).removeClass('selected').removeAttr('aria-selected'); |
| | | } |
| | | |
| | | this.selection = []; |
| | |
| | | a_post = this.selection.slice(p+1, this.selection.length); |
| | | |
| | | this.selection = a_pre.concat(a_post); |
| | | $(this.rows[id].obj).removeClass('selected').removeClass('unfocused').removeAttr('aria-selected'); |
| | | $(this.rows[id].obj).removeClass('selected').removeAttr('aria-selected'); |
| | | if (!norecur && !this.rows[id].expanded) |
| | | this.highlight_children(id, false); |
| | | } |
| | |
| | | .messagelist tr.selected td |
| | | { |
| | | color: #FFFFFF; |
| | | background-color: #CC3333; |
| | | } |
| | | |
| | | .messagelist tr.unfocused td |
| | | { |
| | | color: #FFFFFF; |
| | | background-color: #929292; |
| | | } |
| | | |
| | | .messagelist tr.selected td a |
| | | .messagelist.focus tr.selected td |
| | | { |
| | | color: #FFFFFF; |
| | | background-color: #CC3333; |
| | | } |
| | | |
| | | .messagelist tr.unfocused td a |
| | | .messagelist tr.selected td a |
| | | { |
| | | color: #FFFFFF; |
| | | } |
| | |
| | | background-position: 4px -1603px; |
| | | } |
| | | |
| | | #contacts-table .contact.selected td.name, |
| | | #contacts-table .contact.unfocused td.name { |
| | | #contacts-table .contact.selected td.name { |
| | | background-position: 6px -1627px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | #contacts-table .contact.selected.focused td.name { |
| | | #contacts-table.focus .contact.selected.focused td.name { |
| | | background-position: 4px -1627px; |
| | | } |
| | | |
| | |
| | | background-position: 4px -1555px; |
| | | } |
| | | |
| | | #contacts-table .group.selected td.name, |
| | | #contacts-table .group.unfocused td.name { |
| | | #contacts-table .group.selected td.name { |
| | | background-position: 6px -1579px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | #contacts-table .group.selected.focused td.name { |
| | | #contacts-table.focus .group.selected.focused td.name { |
| | | background-position: 4px -1579px; |
| | | } |
| | | |
| | |
| | | .listbox .tablink.selected, |
| | | .listbox .listitem.selected > a, |
| | | .listbox .tablink.selected > a, |
| | | .listing tbody tr.unfocused td, |
| | | .listing tbody tr.selected td, |
| | | .listing li.selected, |
| | | .listing li.selected > a { |
| | |
| | | |
| | | .records-table tr.selected td { |
| | | color: #fff !important; |
| | | background-color: #4db0d2 !important; |
| | | } |
| | | |
| | | .records-table.focus tr.selected td { |
| | | background: #019bc6; |
| | | background: -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%); |
| | | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4)); |
| | |
| | | |
| | | .records-table tr.selected td a, |
| | | .records-table tr.selected td span { |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .records-table tr.unfocused td { |
| | | color: #fff !important; |
| | | background-color: #4db0d2 !important; |
| | | } |
| | | |
| | | .records-table tr.unfocused td a, |
| | | .records-table tr.unfocused td span { |
| | | color: #fff !important; |
| | | } |
| | | |