From 0b36d151572e050b51d82e7429fee847ebb33e22 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Thu, 20 Nov 2014 06:03:22 -0500 Subject: [PATCH] Add method to display operation (uploading) progress in UI message --- program/js/list.js | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index d10fa22..dbc14d6 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -61,6 +61,7 @@ this.keyboard = false; this.toggleselect = false; this.aria_listbox = false; + this.parent_focus = true; this.drag_active = false; this.col_drag_active = false; @@ -104,11 +105,13 @@ $(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; @@ -127,6 +130,10 @@ } } + if (this.parent_focus) { + this.list.parentNode.onclick = function(e) { me.focus(); }; + } + return this; }, @@ -143,9 +150,9 @@ var self = this, uid = row.uid; this.rows[uid] = {uid:uid, id:row.id, obj:row}; - // set eventhandlers to table row + // set eventhandlers to table row (only left-button-clicks in mouseup) row.onmousedown = function(e){ return self.drag_row(e, this.uid); }; - row.onmouseup = function(e){ return self.click_row(e, this.uid); }; + row.onmouseup = function(e){ if (e.which == 1) return self.click_row(e, this.uid); }; if (bw.touch) { row.addEventListener('touchstart', function(e) { @@ -1410,7 +1417,8 @@ */ scrollto: function(id) { - var row = this.rows[id].obj; + var row = this.rows[id] ? this.rows[id].obj : null; + if (row && this.frame) { var scroll_to = Number(row.offsetTop), head_offset = 0; @@ -1499,7 +1507,11 @@ $('> ' + 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 -- Gitblit v1.9.1