From 0b58bc480e7f86b1e5285e9d59475593e5abbf5f Mon Sep 17 00:00:00 2001 From: Adam Wagner Date: Mon, 11 Sep 2017 12:02:20 +0300 Subject: Remove element explicitly when reordering tree grid rows (#9952) Under certain circumstances IE 11 (11.0.45 / 11.0.9600.18762) produces an exception when collapsing/expanding rows (particularly the first child after the very first element) in a TreeGrid within a Window. This workaround removes the row explicitly before inserting, instead of letting JS handle it. Fixes #9850 --- client/src/main/java/com/vaadin/client/widgets/Escalator.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'client/src') diff --git a/client/src/main/java/com/vaadin/client/widgets/Escalator.java b/client/src/main/java/com/vaadin/client/widgets/Escalator.java index 0c9fdd224a..178f3a4222 100644 --- a/client/src/main/java/com/vaadin/client/widgets/Escalator.java +++ b/client/src/main/java/com/vaadin/client/widgets/Escalator.java @@ -3898,6 +3898,11 @@ public class Escalator extends Widget if (tr == focusedRow) { insertFirst = true; } else if (insertFirst) { + // remove row explicitly to work around an IE11 bug (#9850) + if (BrowserInfo.get().isIE11() && tr + .equals(root.getFirstChildElement())) { + root.removeChild(tr); + } root.insertFirst(tr); } else { root.insertAfter(tr, focusedRow); -- cgit v1.2.3