From 8e276a9baa3fd4af50f23bd75ca03306bbfc8456 Mon Sep 17 00:00:00 2001 From: Vitaliy Guliy Date: Thu, 21 Apr 2016 16:13:39 +0300 Subject: [PATCH] CHE-1002 Add target UX improvements Signed-off-by: Vitaliy Guliy --- .../ide/notification/NotificationPopup.java | 14 ++++++++--- .../client/targets/TargetsPresenter.java | 23 +++++++++++++++---- .../client/targets/TargetsViewImpl.ui.xml | 2 +- .../MachineLocalizationConstant.properties | 5 ++-- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/notification/NotificationPopup.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/notification/NotificationPopup.java index b727f085e93..f34e9120a0c 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/notification/NotificationPopup.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/notification/NotificationPopup.java @@ -159,11 +159,17 @@ public void run() { clickCount = 0; delegate.onDoubleClick(notification); break; + case ONMOUSEOVER: hideTimer.cancel(); break; + case ONMOUSEOUT: - hideTimer.schedule(DEFAULT_TIME); + if (notification.getStatus() == PROGRESS) { + hideTimer.cancel(); + } else { + hideTimer.schedule(DEFAULT_TIME); + } break; } } @@ -305,7 +311,9 @@ private void update() { break; } - if (PROGRESS != notification.getStatus()) { + if (PROGRESS == notification.getStatus()) { + hideTimer.cancel(); + } else { hideTimer.schedule(DEFAULT_TIME); } } @@ -349,4 +357,4 @@ public void onExecute() { super.removeFromParent(); } } -} \ No newline at end of file +} diff --git a/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsPresenter.java b/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsPresenter.java index a2a77c2589c..3d54f2d5730 100644 --- a/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsPresenter.java +++ b/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsPresenter.java @@ -239,11 +239,11 @@ public void onCloseClicked() { @Override public void onAddTarget(String category) { - Target target = new Target("[new target]", SSH_CATEGORY); - target.setHost("127.0.0.1"); + Target target = new Target("new_target", SSH_CATEGORY); + target.setHost(""); target.setPort("22"); target.setUserName("root"); - target.setPassword("root"); + target.setPassword(""); target.setDirty(true); target.setConnected(false); targets.add(target); @@ -340,13 +340,12 @@ private void updateButtons() { return; } - view.enableConnectButton(!selectedTarget.isDirty()); - if (selectedTarget.isConnected()) { view.setConnectButtonText("Disconnect"); } else { view.setConnectButtonText("Connect"); } + view.enableConnectButton(!selectedTarget.isDirty()); view.enableCancelButton(selectedTarget.isDirty()); @@ -355,6 +354,19 @@ private void updateButtons() { StringUtils.isNullOrEmpty(view.getPort())) { view.enableSaveButton(false); } else { + if (selectedTarget.isDirty()) { + for (Target target : targets) { + if (target == selectedTarget) { + continue; + } + + if (target.getName().equals(view.getTargetName())) { + view.enableSaveButton(false); + return; + } + } + } + view.enableSaveButton(selectedTarget.isDirty()); } } @@ -697,6 +709,7 @@ public void apply(MachineDto machineDto) throws OperationException { connectNotification.setStatus(StatusNotification.Status.SUCCESS); updateTargets(machineDto.getConfig().getName()); } else { + onConnectingFailed(null); } } }).catchError(new Operation() { diff --git a/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsViewImpl.ui.xml b/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsViewImpl.ui.xml index 15fed07daa1..226e1d97119 100644 --- a/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsViewImpl.ui.xml +++ b/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/java/org/eclipse/che/ide/extension/machine/client/targets/TargetsViewImpl.ui.xml @@ -177,7 +177,7 @@ - + diff --git a/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/resources/org/eclipse/che/ide/extension/machine/client/MachineLocalizationConstant.properties b/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/resources/org/eclipse/che/ide/extension/machine/client/MachineLocalizationConstant.properties index e3579889c6d..7e096eb0af1 100644 --- a/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/resources/org/eclipse/che/ide/extension/machine/client/MachineLocalizationConstant.properties +++ b/plugins/plugin-machine/che-plugin-machine-ext-client/src/main/resources/org/eclipse/che/ide/extension/machine/client/MachineLocalizationConstant.properties @@ -111,14 +111,13 @@ view.targets.save.success = Target configuration successfully saved view.targets.save.error = Failed to save target configuration due to an error view.targets.connect.progress = Connecting to target {0}... view.targets.connect.success = Successfully connected to target {0} -view.targets.connect.error = Failed to connect to target {0} due to en error +view.targets.connect.error = Failed to connect to target {0} due to an error view.targets.disconnect.success = Successfully disconnected from target {0} -view.targets.disconnect.error = Failed to disconnect from target {0} due to en error +view.targets.disconnect.error = Failed to disconnect from target {0} due to an error view.targets.delete.confirm = Are you sure you want to delete target {0}? view.targets.delete.success = Target {0} successfully deleted view.targets.delete.error = Failed to remove target {0} due to an error - ##### process ##### process.active=[Active] process.table.name=Name