Skip to content

Commit ebee0da

Browse files
make actions on Azure group to decide its own visibility/enabling
1 parent 933664f commit ebee0da

File tree

3 files changed

+14
-22
lines changed
  • PluginsAndFeatures/azure-toolkit-for-intellij

3 files changed

+14
-22
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice-java/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/function/action/RunFunctionAction.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import com.intellij.execution.impl.RunDialog;
1515
import com.intellij.openapi.actionSystem.ActionUpdateThread;
1616
import com.intellij.openapi.actionSystem.AnActionEvent;
17-
import com.intellij.openapi.actionSystem.DataKeys;
17+
import com.intellij.openapi.actionSystem.LangDataKeys;
1818
import com.intellij.openapi.module.Module;
1919
import com.intellij.openapi.project.Project;
2020
import com.microsoft.azure.toolkit.intellij.legacy.function.runner.AzureFunctionSupportConfigurationType;
@@ -32,6 +32,7 @@
3232

3333
import java.util.ArrayList;
3434
import java.util.List;
35+
import java.util.Objects;
3536

3637
import static com.microsoft.azure.toolkit.intellij.common.AzureBundle.message;
3738

@@ -41,15 +42,16 @@ public class RunFunctionAction extends AzureAnAction {
4142

4243
@Override
4344
public boolean onActionPerformed(@NotNull AnActionEvent anActionEvent, @Nullable Operation operation) {
44-
final Module module = DataKeys.MODULE.getData(anActionEvent.getDataContext());
45+
final Module module = LangDataKeys.MODULE.getData(anActionEvent.getDataContext());
4546
AzureTaskManager.getInstance().runLater(() -> runConfiguration(module));
4647
return true;
4748
}
4849

4950
@Override
5051
@ExceptionNotification
51-
public void update(AnActionEvent event) {
52-
event.getPresentation().setEnabledAndVisible(FunctionUtils.isFunctionProject(event.getProject()));
52+
public void update(AnActionEvent e) {
53+
final boolean onModule = Objects.nonNull(LangDataKeys.MODULE.getData(e.getDataContext()));
54+
e.getPresentation().setEnabledAndVisible(onModule && FunctionUtils.isFunctionProject(e.getProject()));
5355
}
5456

5557
@Override

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-resource-connector-lib/src/main/java/com/microsoft/azure/toolkit/intellij/connector/ModuleConnectorAction.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.apache.commons.lang3.StringUtils;
1717
import org.jetbrains.annotations.NotNull;
1818

19+
import java.util.Objects;
20+
1921
import static com.microsoft.azure.toolkit.lib.common.action.Action.EMPTY_PLACE;
2022
import static com.microsoft.azure.toolkit.lib.common.action.Action.PLACE;
2123

@@ -37,4 +39,10 @@ public static void connectModuleToAzureResource(@NotNull final Module module) {
3739
dialog.setConsumer(new ModuleResource(module.getName()));
3840
dialog.show();
3941
}
42+
43+
@Override
44+
public void update(@NotNull AnActionEvent e) {
45+
final boolean onModule = Objects.nonNull(LangDataKeys.MODULE.getData(e.getDataContext()));
46+
e.getPresentation().setEnabledAndVisible(onModule);
47+
}
4048
}

PluginsAndFeatures/azure-toolkit-for-intellij/src/main/java/com/microsoft/intellij/actions/AzurePopupGroup.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,8 @@
55

66
package com.microsoft.intellij.actions;
77

8-
import com.intellij.openapi.actionSystem.AnActionEvent;
9-
import com.intellij.openapi.actionSystem.CommonDataKeys;
108
import com.intellij.openapi.actionSystem.DefaultActionGroup;
11-
import com.intellij.openapi.actionSystem.LangDataKeys;
12-
import com.intellij.openapi.module.Module;
13-
import com.intellij.openapi.module.ModuleTypeId;
149
import com.intellij.openapi.project.DumbAware;
15-
import com.intellij.openapi.vfs.VirtualFile;
16-
import com.microsoft.intellij.util.PluginUtil;
1710

1811
public class AzurePopupGroup extends DefaultActionGroup implements DumbAware {
19-
20-
public void update(AnActionEvent e) {
21-
Module module = LangDataKeys.MODULE.getData(e.getDataContext());
22-
if (module == null) {
23-
e.getPresentation().setEnabledAndVisible(false);
24-
} else {
25-
VirtualFile selectedFile = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
26-
e.getPresentation().setEnabledAndVisible(PluginUtil.isModuleRoot(selectedFile, module)
27-
&& ModuleTypeId.JAVA_MODULE.equals(module.getOptionValue(Module.ELEMENT_TYPE)));
28-
}
29-
}
3012
}

0 commit comments

Comments
 (0)