From: Dan Wells Date: Thu, 15 Mar 2018 18:52:23 +0000 (-0400) Subject: LP#1731278 Make webstaff grid column sort stable X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fdbwells%2Flp1731278_preserve_explicit_column_sort;p=working%2FEvergreen.git LP#1731278 Make webstaff grid column sort stable As Remington Steed deduced, lack of stable sort in Chrome causes our webstaff grid "explicit" columns to move around in the process of sorting the other columns. As a simplistic fix, let's first record the original order, then keep any explicit columns in their original order. Signed-off-by: Dan Wells --- diff --git a/Open-ILS/web/js/ui/default/staff/services/grid.js b/Open-ILS/web/js/ui/default/staff/services/grid.js index fc3a05b322..58b24dc749 100644 --- a/Open-ILS/web/js/ui/default/staff/services/grid.js +++ b/Open-ILS/web/js/ui/default/staff/services/grid.js @@ -1496,8 +1496,19 @@ angular.module('egGridMod', {idl_parent : idl_parent, idl_field : field, idl_class : class_obj, field_parent_label : old_field_label }); }); + angular.forEach(cols.columns, function(col, i) { + col.origPos = i; + }); cols.columns = cols.columns.sort( function(a, b) { + if (a.explicit && b.explicit) { + if (a.origPos < b.origPos) { + return -1; + } else { + return 1; + } + } + if (a.explicit) return -1; if (b.explicit) return 1;