| | |
| | | this.subject_col = -1; |
| | | this.shiftkey = false; |
| | | this.multiselect = false; |
| | | this.multi_selecting = false; |
| | | this.draggable = false; |
| | | this.keyboard = false; |
| | | this.toggleselect = false; |
| | |
| | | for (var n=0; n<this.selection.length; n++) |
| | | { |
| | | id = this.selection[n]; |
| | | if (this.rows[id].obj) |
| | | if (this.rows[id] && this.rows[id].obj) |
| | | { |
| | | this.set_classname(this.rows[id].obj, 'selected', true); |
| | | this.set_classname(this.rows[id].obj, 'unfocused', false); |
| | |
| | | */ |
| | | drag_row: function(e, id) |
| | | { |
| | | this.in_selection_before = this.in_selection(id) ? id : false; |
| | | |
| | | // don't do anything (another action processed before) |
| | | var evtarget = rcube_event.get_target(e); |
| | | if (this.dont_select || (evtarget && (evtarget.tagName == 'INPUT' || evtarget.tagName == 'IMG'))) |
| | | return false; |
| | | |
| | | this.in_selection_before = this.in_selection(id) ? id : false; |
| | | |
| | | // selects currently unselected row |
| | | if (!this.in_selection_before) |
| | |
| | | { |
| | | this.shift_start = id; |
| | | this.highlight_row(id, false); |
| | | this.multi_selecting = false; |
| | | } |
| | | else |
| | | { |
| | |
| | | this.highlight_row(id, false); |
| | | break; |
| | | } |
| | | this.multi_selecting = true; |
| | | } |
| | | |
| | | // trigger event if selection changed |
| | |
| | | if (this.selection.join(',') != select_before) |
| | | this.trigger_event('select'); |
| | | |
| | | this.focus(); |
| | | |
| | | return true; |
| | | }, |
| | | |
| | |
| | | { |
| | | if (this.rows[id] && !multiple) |
| | | { |
| | | if (!this.in_selection(id)) |
| | | if (this.selection.length > 1 || !this.in_selection(id)) |
| | | { |
| | | this.clear_selection(); |
| | | this.selection[0] = id; |