|
|
|
@ -41,6 +41,7 @@ function rcube_list_widget(list, p)
|
|
|
|
|
this.dont_select = false;
|
|
|
|
|
this.drag_active = false;
|
|
|
|
|
this.last_selected = 0;
|
|
|
|
|
this.shift_start = 0;
|
|
|
|
|
this.in_selection_before = false;
|
|
|
|
|
this.focused = false;
|
|
|
|
|
this.drag_mouse_start = null;
|
|
|
|
@ -218,7 +219,7 @@ drag_row: function(e, id)
|
|
|
|
|
if (this.draggable && this.selection.length)
|
|
|
|
|
{
|
|
|
|
|
this.drag_start = true;
|
|
|
|
|
this.drag_mouse_start = rcube_event.get_mouse_pos(e);
|
|
|
|
|
this.drag_mouse_start = rcube_event.get_mouse_pos(e);
|
|
|
|
|
rcube_event.add_listener({element:document, event:'mousemove', object:this, method:'drag_mouse_move'});
|
|
|
|
|
rcube_event.add_listener({element:document, event:'mouseup', object:this, method:'drag_mouse_up'});
|
|
|
|
|
}
|
|
|
|
@ -302,6 +303,9 @@ select_row: function(id, mod_key, with_mouse)
|
|
|
|
|
if (!this.multiselect)
|
|
|
|
|
mod_key = 0;
|
|
|
|
|
|
|
|
|
|
if (!this.shift_start)
|
|
|
|
|
this.shift_start = id
|
|
|
|
|
|
|
|
|
|
if (!mod_key)
|
|
|
|
|
{
|
|
|
|
|
this.shift_start = id;
|
|
|
|
@ -316,7 +320,6 @@ select_row: function(id, mod_key, with_mouse)
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case CONTROL_KEY:
|
|
|
|
|
this.shift_start = id;
|
|
|
|
|
if (!with_mouse)
|
|
|
|
|
this.highlight_row(id, true);
|
|
|
|
|
break;
|
|
|
|
@ -338,6 +341,9 @@ select_row: function(id, mod_key, with_mouse)
|
|
|
|
|
if (this.last_selected != 0 && this.rows[this.last_selected])
|
|
|
|
|
this.set_classname(this.rows[this.last_selected].obj, 'focused', false);
|
|
|
|
|
|
|
|
|
|
if (!this.selection.length)
|
|
|
|
|
this.shift_start = null;
|
|
|
|
|
|
|
|
|
|
this.last_selected = id;
|
|
|
|
|
this.set_classname(this.rows[id].obj, 'focused', true);
|
|
|
|
|
},
|
|
|
|
|