From 2232ef08d998e70c9480af42da7921e0d0c930cb Mon Sep 17 00:00:00 2001 From: Oleksandr Andriienko Date: Wed, 17 Jan 2018 16:31:03 +0200 Subject: [PATCH 1/5] Fix format. Signed-off-by: Oleksandr Andriienko --- .../che/ide/processes/panel/ProcessesPanelPresenter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java index 0f929163b66..cb0341e565e 100644 --- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/processes/panel/ProcessesPanelPresenter.java @@ -1077,7 +1077,7 @@ public void onEnvironmentOutput(EnvironmentOutputEvent event) { @Override public void onWorkspaceRunning(WorkspaceRunningEvent event) { List machines = getMachines(); - for (MachineImpl machine: machines) { + for (MachineImpl machine : machines) { provideMachineNode(machine.getName(), true, false); } } From c48c3372b0b6e60589060fa02fbb8f0cc8141e65 Mon Sep 17 00:00:00 2001 From: Oleksandr Andriienko Date: Wed, 17 Jan 2018 18:25:55 +0200 Subject: [PATCH 2/5] Begin rework dom to implement new background behaviour. Signed-off-by: Oleksandr Andriienko --- .../java/org/eclipse/che/ide/ui/smartTree/Tree.java | 9 +++++++++ .../org/eclipse/che/ide/ui/smartTree/TreeStyles.java | 2 ++ .../org/eclipse/che/ide/ui/smartTree/TreeStyles.css | 11 ++++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java index 9eb2e455e2e..6ccf235e895 100644 --- a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java +++ b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java @@ -237,6 +237,8 @@ public class Tree extends FocusWidget /** @see FocusImpl#createFocusable() */ private Element focusEl; + private Element contentEl; + /** Delayed task to update visual state of specific node. */ private DelayedTask updateTask; @@ -1319,6 +1321,13 @@ private boolean fireCancellableEvent(GwtEvent event) { private void ensureTreeElement() { DivElement element = Document.get().createDivElement(); element.addClassName(treeStyles.styles().tree()); + + DivElement contentTree = Document.get().createDivElement(); + contentTree.addClassName(treeStyles.styles().contentTree()); + contentTree.setId("content-Tree"); + + element.appendChild(contentTree); + setElement(element); } diff --git a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/TreeStyles.java b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/TreeStyles.java index a9ec9c499ce..9496c564a0d 100644 --- a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/TreeStyles.java +++ b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/TreeStyles.java @@ -49,6 +49,8 @@ interface CSS extends CssResource { String tree(); + String contentTree(); + String loading(); } diff --git a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css index 7d2418b996d..f1b25501063 100644 --- a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css +++ b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css @@ -120,14 +120,19 @@ } .tree { - display: inline-block; - min-width: 100%; + display: relative; font-size: 0.85em; outline: none; - overflow-y: auto; + overflow: auto; padding-bottom: 2px; } +.contentTree { + position: absolute; + overflow: hidden; + left: 0; +} + .tree:focus { outline: none; } From 12af1466e8bf94d776c33791915f87b477884a91 Mon Sep 17 00:00:00 2001 From: Oleksandr Andriienko Date: Thu, 18 Jan 2018 17:40:16 +0200 Subject: [PATCH 3/5] mend --- .../java/org/eclipse/che/ide/ui/smartTree/Tree.java | 12 +++++------- .../org/eclipse/che/ide/ui/smartTree/TreeStyles.css | 1 + 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java index 6ccf235e895..82bca9468c6 100644 --- a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java +++ b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java @@ -237,8 +237,6 @@ public class Tree extends FocusWidget /** @see FocusImpl#createFocusable() */ private Element focusEl; - private Element contentEl; - /** Delayed task to update visual state of specific node. */ private DelayedTask updateTask; @@ -1322,11 +1320,11 @@ private void ensureTreeElement() { DivElement element = Document.get().createDivElement(); element.addClassName(treeStyles.styles().tree()); - DivElement contentTree = Document.get().createDivElement(); - contentTree.addClassName(treeStyles.styles().contentTree()); - contentTree.setId("content-Tree"); + rootContainer = Document.get().createDivElement(); + rootContainer.addClassName(treeStyles.styles().contentTree()); + rootContainer.setId("content-Tree"); - element.appendChild(contentTree); + element.appendChild(rootContainer); setElement(element); } @@ -1390,7 +1388,7 @@ private int[] getVisibleRows(List visible, int count) { } private Element getRootContainer() { - return getElement(); + return rootContainer; } private void onAdd(StoreAddEvent event) { diff --git a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css index f1b25501063..3da290629bb 100644 --- a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css +++ b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css @@ -128,6 +128,7 @@ } .contentTree { + min-width: 100%; position: absolute; overflow: hidden; left: 0; From f582daf99cdc05c0c6149ed4df28083fb0364ce9 Mon Sep 17 00:00:00 2001 From: Oleksandr Andriienko Date: Wed, 24 Jan 2018 12:44:31 +0200 Subject: [PATCH 4/5] Fix scroll Side effects and style typo. --- .../src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java | 4 ++++ .../resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java index 82bca9468c6..402f7ee4896 100644 --- a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java +++ b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java @@ -653,7 +653,11 @@ public void scrollIntoView(Node node, boolean isFocusRequired) { if (container == null) { return; } + + int scrollLeft = getElement().getScrollLeft(); container.scrollIntoView(); + getElement().setScrollLeft(scrollLeft); + focusEl.getStyle().setLeft((nodeStorage.getDepth(node) - 1) * 16, Style.Unit.PX); focusEl.getStyle().setTop(container.getOffsetTop(), Style.Unit.PX); diff --git a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css index 7a2f7a7a8b2..2a49081ca5f 100644 --- a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css +++ b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css @@ -122,7 +122,6 @@ } .tree { - display: relative; font-size: 0.85em; outline: none; overflow: auto; From e9841f9be14d9f271c6b5f2432d9c86143b940bd Mon Sep 17 00:00:00 2001 From: Oleksandr Andriienko Date: Wed, 24 Jan 2018 14:17:32 +0200 Subject: [PATCH 5/5] Clean up Signed-off-by: Oleksandr Andriienko --- .../src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java | 2 -- .../resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java index 402f7ee4896..73545045cde 100644 --- a/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java +++ b/ide/che-core-ide-ui/src/main/java/org/eclipse/che/ide/ui/smartTree/Tree.java @@ -1594,8 +1594,6 @@ private void onClick(Event event) { } private void onAfterFirstAttach() { - rootContainer = getRootContainer(); - getElement().getStyle().setVisibility(Style.Visibility.VISIBLE); renderChildren(null); diff --git a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css index 2a49081ca5f..ba14d630968 100644 --- a/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css +++ b/ide/che-core-ide-ui/src/main/resources/org/eclipse/che/ide/ui/smartTree/TreeStyles.css @@ -124,7 +124,7 @@ .tree { font-size: 0.85em; outline: none; - overflow: auto; + overflow-y: auto; padding-bottom: 2px; }