1
1
package com.coder.gateway.views.steps
2
2
3
- import com.coder.gateway.icons.CoderIcons.CENTOS
3
+ import com.coder.gateway.icons.CoderIcons
4
4
import com.coder.gateway.icons.CoderIcons.GRAY_CIRCLE
5
5
import com.coder.gateway.icons.CoderIcons.GREEN_CIRCLE
6
- import com.coder.gateway.icons.CoderIcons.LINUX
7
6
import com.coder.gateway.icons.CoderIcons.RED_CIRCLE
8
- import com.coder.gateway.icons.CoderIcons.UBUNTU
7
+ import com.coder.gateway.models.WorkspaceAgentModel
8
+ import com.coder.gateway.sdk.OS
9
9
import com.coder.gateway.sdk.v2.models.ProvisionerJobStatus
10
- import com.coder.gateway.sdk.v2.models.Workspace
11
10
import com.coder.gateway.sdk.v2.models.WorkspaceBuildTransition
12
11
import com.intellij.ui.dsl.builder.panel
13
12
import com.intellij.util.ui.JBFont
14
13
import java.awt.Component
15
14
import javax.swing.JList
16
15
import javax.swing.ListCellRenderer
17
16
18
- class WorkspaceCellRenderer : ListCellRenderer <Workspace > {
17
+ class WorkspaceCellRenderer : ListCellRenderer <WorkspaceAgentModel > {
19
18
20
- override fun getListCellRendererComponent (list : JList <out Workspace >, workspace : Workspace , index : Int , isSelected : Boolean , cellHasFocus : Boolean ): Component {
19
+ override fun getListCellRendererComponent (list : JList <out WorkspaceAgentModel >, workspace : WorkspaceAgentModel , index : Int , isSelected : Boolean , cellHasFocus : Boolean ): Component {
21
20
return panel {
22
21
indent {
23
22
row {
@@ -44,32 +43,36 @@ class WorkspaceCellRenderer : ListCellRenderer<Workspace> {
44
43
}
45
44
}
46
45
47
- private fun iconForImageTag (workspace : Workspace ) = when (workspace.templateName) {
48
- " ubuntu" -> UBUNTU
49
- " centos" -> CENTOS
50
- else -> LINUX
46
+ private fun iconForImageTag (workspace : WorkspaceAgentModel ) = when (workspace?.agentOS) {
47
+ OS .LINUX -> CoderIcons .LINUX
48
+ OS .WINDOWS -> CoderIcons .WINDOWS
49
+ OS .MAC -> CoderIcons .MACOS
50
+ else -> CoderIcons .UNKNOWN
51
51
}
52
52
53
- private fun iconForStatus (workspace : Workspace ) = when (workspace.latestBuild.job.status ) {
54
- ProvisionerJobStatus .SUCCEEDED -> if (workspace.latestBuild.workspaceTransition == WorkspaceBuildTransition .START ) GREEN_CIRCLE else RED_CIRCLE
55
- ProvisionerJobStatus .RUNNING -> when (workspace.latestBuild.workspaceTransition ) {
53
+ private fun iconForStatus (workspace : WorkspaceAgentModel ) = when (workspace.jobStatus ) {
54
+ ProvisionerJobStatus .SUCCEEDED -> if (workspace.buildTransition == WorkspaceBuildTransition .START ) GREEN_CIRCLE else RED_CIRCLE
55
+ ProvisionerJobStatus .RUNNING -> when (workspace.buildTransition ) {
56
56
WorkspaceBuildTransition .START , WorkspaceBuildTransition .STOP , WorkspaceBuildTransition .DELETE -> GRAY_CIRCLE
57
57
}
58
+
58
59
else -> RED_CIRCLE
59
60
}
60
61
61
- private fun labelForStatus (workspace : Workspace ) = when (workspace.latestBuild.job.status ) {
62
+ private fun labelForStatus (workspace : WorkspaceAgentModel ) = when (workspace.jobStatus ) {
62
63
ProvisionerJobStatus .PENDING -> " ◍ Queued"
63
- ProvisionerJobStatus .RUNNING -> when (workspace.latestBuild.workspaceTransition ) {
64
+ ProvisionerJobStatus .RUNNING -> when (workspace.buildTransition ) {
64
65
WorkspaceBuildTransition .START -> " ⦿ Starting"
65
66
WorkspaceBuildTransition .STOP -> " ◍ Stopping"
66
67
WorkspaceBuildTransition .DELETE -> " ⦸ Deleting"
67
68
}
68
- ProvisionerJobStatus .SUCCEEDED -> when (workspace.latestBuild.workspaceTransition) {
69
+
70
+ ProvisionerJobStatus .SUCCEEDED -> when (workspace.buildTransition) {
69
71
WorkspaceBuildTransition .START -> " ⦿ Running"
70
72
WorkspaceBuildTransition .STOP -> " ◍ Stopped"
71
73
WorkspaceBuildTransition .DELETE -> " ⦸ Deleted"
72
74
}
75
+
73
76
ProvisionerJobStatus .CANCELING -> " ◍ Canceling action"
74
77
ProvisionerJobStatus .CANCELED -> " ◍ Canceled action"
75
78
ProvisionerJobStatus .FAILED -> " ⓧ Failed"
0 commit comments