1
1
package com.coder.toolbox
2
2
3
+ import com.coder.toolbox.browser.BrowserUtil
3
4
import com.coder.toolbox.models.WorkspaceAndAgentStatus
4
5
import com.coder.toolbox.sdk.CoderRestClient
5
6
import com.coder.toolbox.sdk.v2.models.Workspace
6
7
import com.coder.toolbox.sdk.v2.models.WorkspaceAgent
8
+ import com.coder.toolbox.util.withPath
7
9
import com.coder.toolbox.views.Action
8
10
import com.coder.toolbox.views.EnvironmentView
9
11
import com.jetbrains.toolbox.api.remoteDev.AbstractRemoteProviderEnvironment
10
12
import com.jetbrains.toolbox.api.remoteDev.EnvironmentVisibilityState
11
13
import com.jetbrains.toolbox.api.remoteDev.environments.EnvironmentContentsView
12
14
import com.jetbrains.toolbox.api.remoteDev.states.EnvironmentStateConsumer
13
15
import com.jetbrains.toolbox.api.ui.ToolboxUi
16
+ import kotlinx.coroutines.CoroutineScope
17
+ import kotlinx.coroutines.launch
14
18
import java.util.concurrent.CompletableFuture
15
19
16
20
/* *
@@ -22,6 +26,7 @@ class CoderRemoteEnvironment(
22
26
private val client : CoderRestClient ,
23
27
private var workspace : Workspace ,
24
28
private var agent : WorkspaceAgent ,
29
+ private var cs : CoroutineScope ,
25
30
private val ui : ToolboxUi ,
26
31
) : AbstractRemoteProviderEnvironment() {
27
32
override fun getId (): String = " ${workspace.name} .${agent.name} "
@@ -31,20 +36,29 @@ class CoderRemoteEnvironment(
31
36
init {
32
37
actionsList.add(
33
38
Action (" Open web terminal" ) {
34
- // TODO - check this later
35
- // ui.openUrl(client.url.withPath("/${workspace.ownerName}/$name/terminal").toString())
39
+ cs.launch {
40
+ BrowserUtil .browse(client.url.withPath(" /${workspace.ownerName} /$name /terminal" ).toString()) {
41
+ ui.showErrorInfoPopup(it)
42
+ }
43
+ }
36
44
},
37
45
)
38
46
actionsList.add(
39
47
Action (" Open in dashboard" ) {
40
- // TODO - check this later
41
- // ui.openUrl(client.url.withPath("/@${workspace.ownerName}/${workspace.name}").toString())
48
+ cs.launch {
49
+ BrowserUtil .browse(client.url.withPath(" /@${workspace.ownerName} /${workspace.name} " ).toString()) {
50
+ ui.showErrorInfoPopup(it)
51
+ }
52
+ }
42
53
},
43
54
)
44
55
actionsList.add(
45
56
Action (" View template" ) {
46
- // TODO - check this later
47
- // ui.openUrl(client.url.withPath("/templates/${workspace.templateName}").toString())
57
+ cs.launch {
58
+ BrowserUtil .browse(client.url.withPath(" /templates/${workspace.templateName} " ).toString()) {
59
+ ui.showErrorInfoPopup(it)
60
+ }
61
+ }
48
62
},
49
63
)
50
64
actionsList.add(
0 commit comments