Skip to content

Commit e1bcd86

Browse files
committed
fix: show status color for sorted row
- instead of the original row
1 parent 1ea9ff4 commit e1bcd86

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/main/kotlin/com/coder/gateway/models/WorkspaceAgentStatus.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,19 @@ package com.coder.gateway.models
33
import com.coder.gateway.sdk.v2.models.ProvisionerJobStatus
44
import com.coder.gateway.sdk.v2.models.Workspace
55
import com.coder.gateway.sdk.v2.models.WorkspaceTransition
6+
import com.intellij.ui.JBColor
67

78
enum class WorkspaceAgentStatus(val label: String) {
89
QUEUED("◍ Queued"), STARTING("⦿ Starting"), STOPPING("◍ Stopping"), DELETING("⦸ Deleting"),
910
RUNNING("⦿ Running"), STOPPED("◍ Stopped"), DELETED("⦸ Deleted"),
1011
CANCELING("◍ Canceling action"), CANCELED("◍ Canceled action"), FAILED("ⓧ Failed");
1112

13+
fun statusColor() = when (this) {
14+
RUNNING -> JBColor.GREEN
15+
FAILED -> JBColor.RED
16+
else -> if (JBColor.isBright()) JBColor.LIGHT_GRAY else JBColor.DARK_GRAY
17+
}
18+
1219
companion object {
1320
fun from(workspace: Workspace) = when (workspace.latestBuild.job.status) {
1421
ProvisionerJobStatus.PENDING -> QUEUED
@@ -28,5 +35,7 @@ enum class WorkspaceAgentStatus(val label: String) {
2835
ProvisionerJobStatus.CANCELED -> CANCELED
2936
ProvisionerJobStatus.FAILED -> FAILED
3037
}
38+
39+
fun from(str: String) = WorkspaceAgentStatus.values().first { it.label.contains(str, true) }
3140
}
3241
}

src/main/kotlin/com/coder/gateway/views/steps/CoderWorkspacesStepView.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import com.intellij.openapi.ui.panel.ComponentPanelBuilder
4141
import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreenUIManager
4242
import com.intellij.ui.AnActionButton
4343
import com.intellij.ui.AppIcon
44-
import com.intellij.ui.JBColor
4544
import com.intellij.ui.RelativeFont
4645
import com.intellij.ui.ToolbarDecorator
4746
import com.intellij.ui.components.JBTextField
@@ -773,20 +772,14 @@ class CoderWorkspacesStepView(val enableNextButtonCallback: (Boolean) -> Unit) :
773772
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
774773
if (value is String) {
775774
text = value
775+
foreground = WorkspaceAgentStatus.from(value).statusColor()
776776
}
777777
font = this@CoderWorkspacesStepView.tableOfWorkspaces.tableHeader.font
778778
border = JBUI.Borders.empty(0, 8)
779-
foreground = (table.model as ListTableModel<WorkspaceAgentModel>).getRowValue(row).statusColor()
780779
return this
781780
}
782781
}
783782
}
784-
785-
private fun WorkspaceAgentModel.statusColor() = when (this.agentStatus) {
786-
RUNNING -> JBColor.GREEN
787-
FAILED -> JBColor.RED
788-
else -> if (JBColor.isBright()) JBColor.LIGHT_GRAY else JBColor.DARK_GRAY
789-
}
790783
}
791784

792785
private fun TableView<WorkspaceAgentModel>.selectItem(workspaceName: String?) {

0 commit comments

Comments
 (0)