| | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * Init list row and set mouse events on it |
| | | */ |
| | | init_row: function(row) |
| | | { |
| | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * Remove all list rows |
| | | */ |
| | | clear: function(sel) |
| | | { |
| | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * Add row to the list and initialize it |
| | | */ |
| | | insert_row: function(row, attop) |
| | | { |
| | | var tbody = this.list.tBodies[0]; |
| | | if (!row.jquery) |
| | | row = $(row); |
| | | if (this.background) |
| | | var tbody = this.background; |
| | | else |
| | | var tbody = this.list.tBodies[0]; |
| | | |
| | | if (attop && tbody.rows.length) |
| | | row.prependTo(tbody) |
| | | tbody.insertBefore(row, tbody.firstChild); |
| | | else |
| | | row.appendTo(tbody); |
| | | tbody.appendChild(row); |
| | | |
| | | this.init_row(row[0]); |
| | | this.init_row(row); |
| | | this.rowcount++; |
| | | }, |
| | | |
| | |
| | | } |
| | | else if (this.rows[n]) |
| | | { |
| | | this.set_classname(this.rows[n].obj, 'selected', false); |
| | | this.set_classname(this.rows[n].obj, 'unfocused', false); |
| | | $(this.rows[n].obj).removeClass('selected').removeClass('unfocused'); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (!this.draglayer) |
| | | this.draglayer = $('<div>').attr('id', 'rcmdraglayer').css({ position:'absolute', display:'none', 'z-index':2000 }).appendTo(document.body); |
| | | |
| | | |
| | | // get subjects of selectedd messages |
| | | var names = ''; |
| | | var c, i, node, subject, obj; |
| | |
| | | if (((node = obj.childNodes[i].firstChild) && (node.nodeType==3 || node.nodeName=='A')) && |
| | | (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c))) |
| | | { |
| | | if (n == 0) |
| | | this.drag_start_pos = $(node).offset(); |
| | | |
| | | if (n == 0) { |
| | | if (node.nodeType == 3) |
| | | this.drag_start_pos = $(obj.childNodes[i]).offset(); |
| | | else |
| | | this.drag_start_pos = $(node).offset(); |
| | | } |
| | | subject = node.nodeType==3 ? node.data : node.innerHTML; |
| | | // remove leading spaces |
| | | subject = subject.replace(/^\s+/i, ''); |
| | |
| | | } |
| | | |
| | | return rcube_event.cancel(e); |
| | | }, |
| | | |
| | | |
| | | /** |
| | | * Creating the list in background |
| | | */ |
| | | set_background_mode: function(flag) |
| | | { |
| | | if (flag) { |
| | | this.background = document.createElement('TBODY'); |
| | | } else if (this.background) { |
| | | this.list.replaceChild(this.background, this.list.tBodies[0]); |
| | | this.background = null; |
| | | } |
| | | } |
| | | |
| | | }; |