| | |
| | | this.keyboard = false; |
| | | this.toggleselect = false; |
| | | this.aria_listbox = false; |
| | | this.parent_focus = true; |
| | | |
| | | this.drag_active = false; |
| | | this.col_drag_active = false; |
| | | this.column_fixed = null; |
| | | this.last_selected = 0; |
| | | this.shift_start = 0; |
| | | this.last_selected = null; |
| | | this.shift_start = null; |
| | | this.focused = false; |
| | | this.drag_mouse_start = null; |
| | | this.dblclick_time = 500; // default value on MS Windows is 500 |
| | |
| | | $(this.list).attr('aria-multiselectable', 'true'); |
| | | } |
| | | |
| | | var me = this; |
| | | |
| | | if (this.tbody) { |
| | | this.rows = {}; |
| | | this.rowcount = 0; |
| | | |
| | | var r, len, rows = this.tbody.childNodes, me = this; |
| | | var r, len, rows = this.tbody.childNodes; |
| | | |
| | | for (r=0, len=rows.length; r<len; r++) { |
| | | this.rowcount += this.init_row(rows[r]) ? 1 : 0; |
| | |
| | | $(this.list).attr('tabindex', '0') |
| | | .on('focus', function(e){ me.focus(e); }); |
| | | } |
| | | } |
| | | |
| | | if (this.parent_focus) { |
| | | this.list.parentNode.onclick = function(e) { me.focus(e); }; |
| | | } |
| | | |
| | | return this; |
| | |
| | | |
| | | this.rows = {}; |
| | | this.rowcount = 0; |
| | | this.last_selected = 0; |
| | | this.last_selected = null; |
| | | |
| | | if (sel) |
| | | this.clear_selection(); |
| | |
| | | this.multi_selecting = true; |
| | | } |
| | | |
| | | if (this.last_selected != 0 && this.rows[this.last_selected]) { |
| | | if (this.last_selected && this.rows[this.last_selected]) { |
| | | $(this.rows[this.last_selected].obj).removeClass('focused') |
| | | .find(this.col_tagname()).eq(this.subject_col).removeAttr('tabindex'); |
| | | } |
| | | |
| | | // unselect if toggleselect is active and the same row was clicked again |
| | | if (this.toggleselect && in_selection_before) { |
| | | if (this.toggleselect && in_selection_before && !mod_key) { |
| | | this.clear_selection(); |
| | | } |
| | | // trigger event if selection changed |
| | |
| | | |
| | | if (num_select && !this.selection.length && !no_event) { |
| | | this.triggerEvent('select'); |
| | | this.last_selected = 0; |
| | | this.last_selected = null; |
| | | } |
| | | }, |
| | | |
| | |
| | | |
| | | $('> ' + self.col_tagname(), self.rows[uid].obj).each(function(n, cell) { |
| | | if (self.subject_col < 0 || (self.subject_col >= 0 && self.subject_col == n)) { |
| | | var subject = $(cell).text(); |
| | | // remove elements marked with "skip-on-drag" class |
| | | cell = $(cell).clone(); |
| | | $(cell).find('.skip-on-drag').remove(); |
| | | |
| | | var subject = cell.text(); |
| | | |
| | | if (subject) { |
| | | // remove leading spaces |