Skip to content

Commit 1ab1048

Browse files
If the server is already connected, don't show the first page of the wizard, only show the second page.#462
1 parent 54c99cd commit 1ab1048

File tree

7 files changed

+47
-38
lines changed

7 files changed

+47
-38
lines changed

src/main/java/org/digma/intellij/plugin/toolwindow/common/CustomResourceHandler.kt

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.digma.intellij.plugin.toolwindow.common
22

3+
import com.intellij.openapi.project.Project
34
import freemarker.template.Configuration
45
import org.cef.callback.CefCallback
56
import org.cef.handler.CefLoadHandler
@@ -8,18 +9,20 @@ import org.cef.misc.IntRef
89
import org.cef.misc.StringRef
910
import org.cef.network.CefRequest
1011
import org.cef.network.CefResponse
12+
import org.digma.intellij.plugin.analytics.BackendConnectionUtil
1113
import java.io.ByteArrayInputStream
1214
import java.io.IOException
1315
import java.io.InputStream
1416
import java.io.StringWriter
1517
import java.net.URLConnection
1618

17-
const val INDEX_TEMPLATE_FILE: String = "indextemplate.ftl"
19+
const val INDEX_TEMPLATE_FILE_NAME: String = "indextemplate.ftl"
1820
const val BASE_PACKAGE_PATH: String = "/webview/"
1921
const val ENV_VARIABLE_THEME: String = "theme"
22+
const val WIZARD_SKIP_INSTALLATION_STEP_VARIABLE: String = "wizardSkipInstallationStep"
2023
const val COMMON_FILES_FOLDER_NAME: String = "common"
2124

22-
class CustomResourceHandler(private var resourceFolderName: String) : CefResourceHandler {
25+
class CustomResourceHandler(private var project: Project, private var resourceFolderName: String) : CefResourceHandler {
2326
private var state: ResourceHandlerState = ClosedConnection
2427
override fun processRequest(
2528
cefRequest: CefRequest,
@@ -28,7 +31,7 @@ class CustomResourceHandler(private var resourceFolderName: String) : CefResourc
2831
val processedUrl = cefRequest.url
2932
return if (processedUrl != null) {
3033
if (processedUrl.equals("http://$resourceFolderName/index.html", true)) {
31-
val html = loadFreemarkerTemplate(resourceFolderName)
34+
val html = loadFreemarkerTemplate(project, resourceFolderName)
3235
state = StringData(html)
3336
} else {
3437
val pathToResource: String =
@@ -172,12 +175,18 @@ data class StringData(val data: String) : ResourceHandlerState {
172175
}
173176
}
174177

175-
private fun loadFreemarkerTemplate(resourceFolderName: String): String {
178+
private fun loadFreemarkerTemplate(project: Project, resourceFolderName: String): String {
179+
val isServerConnectedAlready = project.getService(BackendConnectionUtil::class.java).testConnectionToBackend()
176180
val cfg = Configuration(Configuration.VERSION_2_3_30)
177181
cfg.setClassForTemplateLoading(CustomResourceHandler::class.java, BASE_PACKAGE_PATH + resourceFolderName)
178-
val template = cfg.getTemplate(INDEX_TEMPLATE_FILE)
179-
val data = mapOf(ENV_VARIABLE_THEME to ThemeUtil.getCurrentThemeName())
182+
val data = mapOf(
183+
ENV_VARIABLE_THEME to ThemeUtil.getCurrentThemeName(),
184+
WIZARD_SKIP_INSTALLATION_STEP_VARIABLE to isServerConnectedAlready
185+
)
180186
val writer = StringWriter()
181-
template.process(data, writer)
187+
writer.use {
188+
val template = cfg.getTemplate(INDEX_TEMPLATE_FILE_NAME)
189+
template.process(data, it)
190+
}
182191
return writer.toString()
183192
}
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package org.digma.intellij.plugin.toolwindow.common
22

3+
import com.intellij.openapi.project.Project
34
import org.cef.browser.CefBrowser
45
import org.cef.browser.CefFrame
56
import org.cef.callback.CefSchemeHandlerFactory
67
import org.cef.handler.CefResourceHandler
78
import org.cef.network.CefRequest
89

9-
class CustomSchemeHandlerFactory(private var resourceFolderName: String) : CefSchemeHandlerFactory {
10+
class CustomSchemeHandlerFactory(private var project: Project, private var resourceFolderName: String) : CefSchemeHandlerFactory {
1011

1112
override fun create(browser: CefBrowser?, frame: CefFrame?, schemeName: String?, request: CefRequest?): CefResourceHandler {
12-
return CustomResourceHandler(resourceFolderName)
13+
return CustomResourceHandler(project, resourceFolderName)
1314
}
1415
}

src/main/java/org/digma/intellij/plugin/toolwindow/common/CustomViewerWindow.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ class CustomViewerWindow(project: Project, private var resourceFolderName: Strin
1515
jbCefBrowserBuilder.setEnableOpenDevToolsMenuItem(true)
1616
val jbCefBrowser = jbCefBrowserBuilder.build()
1717

18-
registerAppSchemeHandler()
18+
registerAppSchemeHandler(project)
1919
jbCefBrowser.loadURL("http://$resourceFolderName/index.html")
2020
Disposer.register(project, jbCefBrowser)
2121
return jbCefBrowser
2222
}
2323

2424
fun getWebView(): JBCefBrowser = webView
2525

26-
private fun registerAppSchemeHandler(): Boolean {
26+
private fun registerAppSchemeHandler(project: Project): Boolean {
2727
return CefApp.getInstance()
2828
.registerSchemeHandlerFactory(
2929
"http",
3030
resourceFolderName,
31-
CustomSchemeHandlerFactory(resourceFolderName)
31+
CustomSchemeHandlerFactory(project, resourceFolderName)
3232
)
3333
}
3434
}

src/main/resources/webview/installationwizard/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
window.theme = "dark-jetbrains";
2020
window.mainFont;
2121
window.codeFont;
22+
window.wizardSkipInstallationStep;
2223
</script>
2324
<script src="/index.js"></script>
2425
</body>

src/main/resources/webview/installationwizard/index.js

Lines changed: 22 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/resources/webview/installationwizard/indextemplate.ftl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
font-weight: 500;
1010
font-style: normal;
1111
}
12-
body {
13-
background: #5A5A5A;
14-
}
1512
</style>
1613
</head>
1714
<body>
@@ -22,6 +19,7 @@
2219
window.theme = "${theme}";
2320
window.mainFont;
2421
window.codeFont;
22+
window.wizardSkipInstallationStep = ${wizardSkipInstallationStep?string('true', 'false')};
2523
</script>
2624
<script src="/index.js"></script>
2725
</body>

src/main/resources/webview/recentactivity/indextemplate.ftl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
font-weight: 500;
1010
font-style: normal;
1111
}
12-
body {
13-
background: ${(theme == 'light')?then('#F1F5FA','#383838')};
14-
}
1512
</style>
1613
</head>
1714
<body>
@@ -24,7 +21,7 @@
2421
window.codeFont;
2522
window.recentActivityRefreshInterval;
2623
window.recentActivityExpirationLimit;
27-
window.recentActivityDocumentationURL;
24+
window.recentActivityDocumentationURL = "https://github.com/digma-ai/digma-intellij-plugin/blob/main/README.md";
2825
</script>
2926
<script src="/index.js"></script>
3027
</body>

0 commit comments

Comments
 (0)