mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-15 20:26:04 +07:00
IDEA-269430 JSONPath: add Evaluate JSONPath action to editor context menu
GitOrigin-RevId: f32b426c13962502b8eb757a45d6620481b93250
This commit is contained in:
committed by
intellij-monorepo-bot
parent
7ffe5b5aa0
commit
faf5aec2bb
@@ -1,9 +1,12 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.jsonpath.ui
|
||||
|
||||
import com.intellij.json.JsonUtil
|
||||
import com.intellij.json.psi.JsonFile
|
||||
import com.intellij.openapi.actionSystem.ActionPlaces
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
import com.intellij.openapi.project.DumbAwareAction
|
||||
import com.intellij.psi.PsiDocumentManager
|
||||
|
||||
@@ -24,6 +27,12 @@ internal class JsonPathEvaluateAction : DumbAwareAction() {
|
||||
}
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabledAndVisible = e.project != null
|
||||
if (e.place == ActionPlaces.EDITOR_POPUP) {
|
||||
val editor = e.getData(CommonDataKeys.EDITOR)
|
||||
val file = editor?.let { FileDocumentManager.getInstance().getFile(editor.document) }
|
||||
e.presentation.isEnabledAndVisible = file != null && JsonUtil.isJsonFile(file, editor.project)
|
||||
} else {
|
||||
e.presentation.isEnabledAndVisible = e.project != null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
<action id="JsonPathEvaluateAction" class="com.intellij.jsonpath.ui.JsonPathEvaluateAction" icon="AllIcons.FileTypes.Json">
|
||||
<add-to-group group-id="FindMenuGroup" anchor="after" relative-to-action="StructuralSearchActions" />
|
||||
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
|
||||
</action>
|
||||
|
||||
<action id="JsonPathExportEvaluateResultAction" class="com.intellij.jsonpath.ui.JsonPathExportEvaluateResultAction"
|
||||
|
||||
Reference in New Issue
Block a user