summaryrefslogtreecommitdiffstats
path: root/slick.grid.js
diff options
context:
space:
mode:
authorDavid Capello <davidcapello@gmail.com>2012-02-22 11:51:14 -0300
committerDavid Capello <davidcapello@gmail.com>2012-02-22 11:51:14 -0300
commitb1cb786e89ae365af1ef231efabe2103d2f05b64 (patch)
treea57e0c7fea360d1413ef54c71f3d75aafc71c9fd /slick.grid.js
parentfb1247b63cc3595bb4b3e200e0f4c48e71054c3b (diff)
downloadSlickGrid-b1cb786e89ae365af1ef231efabe2103d2f05b64.zip
SlickGrid-b1cb786e89ae365af1ef231efabe2103d2f05b64.tar.gz
SlickGrid-b1cb786e89ae365af1ef231efabe2103d2f05b64.tar.bz2
Add support to remove columns with ctrlKey from "sortColumns" when "multiColumnSort" option is enabled.
Diffstat (limited to 'slick.grid.js')
-rw-r--r--slick.grid.js24
1 files changed, 16 insertions, 8 deletions
diff --git a/slick.grid.js b/slick.grid.js
index 24c8a62..2d4193f 100644
--- a/slick.grid.js
+++ b/slick.grid.js
@@ -501,7 +501,8 @@ if (typeof Slick === "undefined") {
}
var sortOpts = null;
- for (var i = 0; i < sortColumns.length; i++) {
+ var i = 0;
+ for (; i < sortColumns.length; i++) {
if (sortColumns[i].columnId == column.id) {
sortOpts = sortColumns[i];
sortOpts.sortAsc = !sortOpts.sortAsc;
@@ -509,15 +510,22 @@ if (typeof Slick === "undefined") {
}
}
- if ((!e.shiftKey && !e.metaKey) || !options.multiColumnSort) {
- sortColumns = [];
+ if (e.ctrlKey && options.multiColumnSort) {
+ if (sortOpts) {
+ sortColumns.splice(i, 1);
+ }
}
+ else {
+ if ((!e.shiftKey && !e.metaKey) || !options.multiColumnSort) {
+ sortColumns = [];
+ }
- if (!sortOpts) {
- sortOpts = { columnId: column.id, sortAsc: true };
- sortColumns.push(sortOpts);
- } else if (sortColumns.length == 0) {
- sortColumns.push(sortOpts);
+ if (!sortOpts) {
+ sortOpts = { columnId: column.id, sortAsc: true };
+ sortColumns.push(sortOpts);
+ } else if (sortColumns.length == 0) {
+ sortColumns.push(sortOpts);
+ }
}
setSortColumns(sortColumns);