Skip to content

Commit 93b5028

Browse files
authored
Remove a few workarounds/hacks (#49)
* Simplify icons * Minor tweaks in plugin.xml * Simplify stripping Apollo client directives when executing query * Simplify adding 'Open in Sandbox' button
1 parent b5276d4 commit 93b5028

20 files changed

+676
-1289
lines changed

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/GraphQLFileType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ private GraphQLFileType() {
4343

4444
@Override
4545
public @NotNull Icon getIcon() {
46-
return GraphQLIcons.FILE;
46+
return GraphQLIcons.Files.GraphQL;
4747
}
4848

4949
/**

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/icons/GraphQLIconProvider.java

Lines changed: 0 additions & 125 deletions
This file was deleted.

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/icons/GraphQLIcons.kt

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -13,77 +13,31 @@ import com.intellij.ui.LayeredIcon
1313
import javax.swing.Icon
1414

1515
object GraphQLIcons {
16-
@JvmField
17-
val FILE: Icon = load("/icons/graphql.svg")
18-
1916
object Logos {
20-
@JvmField
21-
val GraphQL: Icon = FILE
22-
23-
@JvmField
24-
val Relay: Icon = load("/icons/relay.svg")
25-
26-
@JvmField
27-
val Apollo: Icon = load("/icons/apollo.svg")
17+
val GraphQL: Icon = load("/icons/graphql.svg")
2818
}
2919

3020
object Files {
3121
@JvmField
32-
val GraphQL: Icon = FILE
22+
val GraphQL: Icon = Logos.GraphQL
3323

3424
@JvmField
3525
val GraphQLConfig: Icon = load("/icons/graphqlConfig.svg")
3626

37-
@JvmField
3827
val GraphQLSchema: Icon = load("/icons/graphqlSchema.svg")
3928

40-
@JvmField
4129
val GraphQLScratch: Icon = LayeredIcon.layeredIcon { arrayOf(GraphQL, AllIcons.Actions.Scratch) }
4230
}
4331

4432
object UI {
4533
@JvmField
4634
val GraphQLToolWindow: Icon = load("/icons/graphqlToolWindow.svg")
4735

48-
@JvmField
4936
val GraphQLVariables: Icon = load("/icons/variable.svg")
5037

51-
@JvmField
5238
val GraphQLNode: Icon = load("/icons/graphqlNode.svg")
5339
}
5440

55-
object Schema {
56-
@JvmField
57-
val Field: Icon = load("/icons/field.svg")
58-
59-
@JvmField
60-
val Scalar: Icon = load("/icons/scalar.svg")
61-
62-
@JvmField
63-
val Enum: Icon = load("/icons/enum.svg")
64-
65-
@JvmField
66-
val Type: Icon = load("/icons/type.svg")
67-
68-
@JvmField
69-
val Interface: Icon = load("/icons/interface.svg")
70-
71-
@JvmField
72-
val Query: Icon = load("/icons/query.svg")
73-
74-
@JvmField
75-
val Attribute: Icon = load("/icons/attribute.svg")
76-
77-
@JvmField
78-
val Subscription: Icon = load("/icons/subscription.svg")
79-
80-
@JvmField
81-
val Mutation: Icon = load("/icons/mutation.svg")
82-
83-
@JvmField
84-
val Fragment: Icon = load("/icons/fragment.svg")
85-
}
86-
8741
private fun load(path: String): Icon {
8842
return IconLoader.getIcon(path, GraphQLIcons::class.java)
8943
}

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/config/GraphQLConfigStatusEditorNotificationProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class GraphQLConfigStatusEditorNotificationProvider : EditorNotificationProvider
3535
fileEditor.putUserData(RELOAD_TIMESTAMP_KEY, null)
3636
EditorNotificationPanel(fileEditor, JBUI.CurrentTheme.Notification.Error.BACKGROUND).apply {
3737
text = GraphQLBundle.message("graphql.config.evaluation.error")
38-
icon(GraphQLIcons.FILE)
38+
icon(GraphQLIcons.Logos.GraphQL)
3939
val cause = state.error?.cause
4040
if (cause != null) {
4141
createActionLabel(

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/config/migration/GraphQLMigrateLegacyConfigEditorNotificationProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class GraphQLMigrateLegacyConfigEditorNotificationProvider : EditorNotificationP
1818

1919
EditorNotificationPanel().apply {
2020
text = GraphQLBundle.message("graphql.notification.migrate.config.text")
21-
icon(GraphQLIcons.FILE)
21+
icon(GraphQLIcons.Logos.GraphQL)
2222
createActionLabel(
2323
GraphQLBundle.message("graphql.notification.migrate.config.action"),
2424
GraphQLMigrateLegacyConfigAction.ACTION_ID

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/highlighting/GraphQLColorSettingsPage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ public final class GraphQLColorSettingsPage implements ColorSettingsPage {
8282
}
8383

8484
@Override
85-
public @Nullable Icon getIcon() {
86-
return GraphQLIcons.FILE;
85+
public Icon getIcon() {
86+
return GraphQLIcons.Logos.INSTANCE.getGraphQL();
8787
}
8888

8989
@Override

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/introspection/source/GraphQLGeneratedSourcesEditorNotificationProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class GraphQLGeneratedSourcesEditorNotificationProvider : EditorNotificationProv
3535
else {
3636
GraphQLBundle.message("graphql.notification.sdl.generation.error.text")
3737
}
38-
icon(GraphQLIcons.FILE)
38+
icon(GraphQLIcons.Logos.GraphQL)
3939
createActionLabel(
4040
GraphQLBundle.message("graphql.notification.sdl.generation.stack.trace.action"), {
4141
val stackTrace = ExceptionUtil.getThrowableText(error)

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/ide/microservices/GraphQLEndpointsProvider.kt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,18 @@ import com.intellij.ide.projectView.PresentationData
44
import com.intellij.lang.jsgraphql.GraphQLFileType
55
import com.intellij.lang.jsgraphql.GraphQLLanguage
66
import com.intellij.lang.jsgraphql.icons.GraphQLIcons
7-
import com.intellij.lang.jsgraphql.psi.*
8-
import com.intellij.microservices.endpoints.*
7+
import com.intellij.lang.jsgraphql.psi.GraphQLElement
8+
import com.intellij.lang.jsgraphql.psi.GraphQLFieldDefinition
9+
import com.intellij.lang.jsgraphql.psi.GraphQLFile
10+
import com.intellij.lang.jsgraphql.psi.GraphQLNamedTypeDefinition
11+
import com.intellij.lang.jsgraphql.psi.GraphQLObjectTypeDefinition
12+
import com.intellij.lang.jsgraphql.psi.GraphQLTypeNameDefinition
13+
import com.intellij.microservices.endpoints.EndpointType
14+
import com.intellij.microservices.endpoints.EndpointsFilter
15+
import com.intellij.microservices.endpoints.EndpointsProvider
16+
import com.intellij.microservices.endpoints.FrameworkPresentation
17+
import com.intellij.microservices.endpoints.GRAPH_QL_TYPE
18+
import com.intellij.microservices.endpoints.ModuleEndpointsFilter
919
import com.intellij.navigation.ItemPresentation
1020
import com.intellij.openapi.module.Module
1121
import com.intellij.openapi.project.Project
@@ -27,21 +37,21 @@ internal class FieldDefinitionEndpoint(val field: GraphQLFieldDefinition) : Grap
2737
override fun getEndpointPresentation(group: GraphQLFile): ItemPresentation {
2838
val name = field.name ?: "Unknown"
2939
val typeName = field.parentOfType<GraphQLNamedTypeDefinition>()?.typeNameDefinition?.name ?: "Unknown"
30-
return PresentationData("$typeName.$name", group.name, GraphQLIcons.FILE, null)
40+
return PresentationData("$typeName.$name", group.name, GraphQLIcons.Logos.GraphQL, null)
3141
}
3242
}
3343

3444
internal class TypeNameDefinitionEndpoint(val type: GraphQLTypeNameDefinition) : GraphQLEndpoint(type) {
3545
override fun getEndpointPresentation(group: GraphQLFile): ItemPresentation {
3646
val typeName = type.parentOfType<GraphQLNamedTypeDefinition>()?.typeNameDefinition?.name ?: "Unknown"
37-
return PresentationData(typeName, group.name, GraphQLIcons.FILE, null)
47+
return PresentationData(typeName, group.name, GraphQLIcons.Logos.GraphQL, null)
3848
}
3949
}
4050

4151
internal class GraphQLEndpointsProvider<E : GraphQLElement> : EndpointsProvider<GraphQLFile, GraphQLEndpoint> {
4252
override val endpointType: EndpointType = GRAPH_QL_TYPE
4353

44-
override val presentation: FrameworkPresentation = FrameworkPresentation("GraphQL", "GraphQL", GraphQLIcons.FILE)
54+
override val presentation: FrameworkPresentation = FrameworkPresentation("GraphQL", "GraphQL", GraphQLIcons.Logos.GraphQL)
4555

4656
override fun getStatus(project: Project): EndpointsProvider.Status =
4757
if (getGraphQLFiles(project).isNotEmpty()) EndpointsProvider.Status.HAS_ENDPOINTS

jsgraphql/src/main/java/com/intellij/lang/jsgraphql/schema/library/GraphQLLibrary.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public GraphQLLibrary(@NotNull GraphQLLibraryDescriptor libraryDescriptor,
3535

3636
@Override
3737
public @Nullable Icon getIcon(boolean unused) {
38-
return GraphQLIcons.Logos.GraphQL;
38+
return GraphQLIcons.Logos.INSTANCE.getGraphQL();
3939
}
4040

4141
@Override

0 commit comments

Comments
 (0)