From 2ef88966831c2bc64e5be645ff3bda2adb58f70a Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Wed, 9 Jul 2014 21:29:49 +0300 Subject: Update sorting indicators when sorting through the API (#13334) Change-Id: I34e56a731ee7263cee6b79588993f27e92e1aa5f --- client/src/com/vaadin/client/ui/grid/Grid.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/client/src/com/vaadin/client/ui/grid/Grid.java b/client/src/com/vaadin/client/ui/grid/Grid.java index d1541ba505..d03197e2ef 100644 --- a/client/src/com/vaadin/client/ui/grid/Grid.java +++ b/client/src/com/vaadin/client/ui/grid/Grid.java @@ -385,6 +385,15 @@ public class Grid extends Composite implements Element cellElement = cell.getElement(); if (grid.getColumn(cell.getColumn()).isSortable()) { if (sortingOrder != null) { + if (SortDirection.ASCENDING == sortingOrder + .getDirection()) { + cellElement.replaceClassName("sort-desc", + "sort-asc"); + } else { + cellElement.replaceClassName("sort-asc", + "sort-desc"); + } + int sortIndex = grid.getSortOrder().indexOf( sortingOrder); if (sortIndex > -1 @@ -497,12 +506,6 @@ public class Grid extends Composite implements boolean multisort) { TableCellElement th = TableCellElement.as(cell.getElement()); - if (SortDirection.ASCENDING.equals(direction)) { - th.replaceClassName("sort-desc", "sort-asc"); - } else { - th.replaceClassName("sort-asc", "sort-desc"); - } - // Apply primary sorting on clicked column GridColumn columnInstance = getColumnInstance(); Sort sorting = Sort.by(columnInstance, direction); @@ -519,9 +522,6 @@ public class Grid extends Composite implements // Perform sorting grid.sort(sorting); - - // Update header indicators - grid.refreshHeader(); } /** @@ -2448,6 +2448,7 @@ public class Grid extends Composite implements * Apply sorting to data source. */ private void sort() { + refreshHeader(); fireEvent(new SortEvent(this, Collections.unmodifiableList(sortOrder))); } -- cgit v1.2.3