From 2d12748662ffd4d1dec5bc8ad89681afa6af7ba4 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sun, 22 May 2016 08:42:55 -0400 Subject: [PATCH] Fix bug where message list columns could be in wrong order after column drag-n-drop and list sorting --- program/js/list.js | 35 ++++++++++++++++++----------------- CHANGELOG | 1 + 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index af4f001..01a20dc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ =========================== - Fix bug where errors could have been not logged when per_user_logging=true +- Fix bug where message list columns could be in wrong order after column drag-n-drop and list sorting RELEASE 1.2.0 ------------- diff --git a/program/js/list.js b/program/js/list.js index 99fd48f..9b0bd9a 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -1688,32 +1688,33 @@ this.col_draglayer = null; } - if (this.col_drag_active) - this.focus(); - this.col_drag_active = false; - rcube_event.remove_listener({event:'mousemove', object:this, method:'column_drag_mouse_move'}); rcube_event.remove_listener({event:'mouseup', object:this, method:'column_drag_mouse_up'}); + // remove temp divs this.del_dragfix(); - if (this.selected_column !== null && this.cols && this.cols.length) { - var i, cpos = 0, pos = rcube_event.get_mouse_pos(e); + if (this.col_drag_active) { + this.col_drag_active = false; + this.focus(); + this.triggerEvent('column_dragend', e); - // find destination position - for (i=0; i<this.cols.length; i++) { - if (pos.x >= this.cols[i]/2 + this.list_pos + cpos) - cpos += this.cols[i]; - else - break; - } + if (this.selected_column !== null && this.cols && this.cols.length) { + var i, cpos = 0, pos = rcube_event.get_mouse_pos(e); - if (i != this.selected_column && i != this.selected_column+1) { - this.column_replace(this.selected_column, i); + // find destination position + for (i=0; i<this.cols.length; i++) { + if (pos.x >= this.cols[i]/2 + this.list_pos + cpos) + cpos += this.cols[i]; + else + break; + } + + if (i != this.selected_column && i != this.selected_column+1) { + this.column_replace(this.selected_column, i); + } } } - - this.triggerEvent('column_dragend', e); return rcube_event.cancel(e); }, -- Gitblit v1.9.1