@@ -784,6 +784,7 @@ class WorkspacesTableModel :
784
784
ListTableModel <WorkspaceAgentListModel >(
785
785
WorkspaceIconColumnInfo (" " ),
786
786
WorkspaceNameColumnInfo (" Name" ),
787
+ WorkspaceOwnerColumnInfo (" Owner" ),
787
788
WorkspaceTemplateNameColumnInfo (" Template" ),
788
789
WorkspaceVersionColumnInfo (" Version" ),
789
790
WorkspaceStatusColumnInfo (" Status" ),
@@ -850,6 +851,36 @@ class WorkspacesTableModel :
850
851
}
851
852
}
852
853
854
+ private class WorkspaceOwnerColumnInfo (columnName : String ) : ColumnInfo<WorkspaceAgentListModel, String>(columnName) {
855
+ override fun valueOf (item : WorkspaceAgentListModel ? ): String? = item?.workspace?.ownerName
856
+
857
+ override fun getComparator (): Comparator <WorkspaceAgentListModel > = Comparator { a, b ->
858
+ a.workspace.ownerName.compareTo(b.workspace.ownerName, ignoreCase = true )
859
+ }
860
+
861
+ override fun getRenderer (item : WorkspaceAgentListModel ? ): TableCellRenderer {
862
+ return object : DefaultTableCellRenderer () {
863
+ override fun getTableCellRendererComponent (
864
+ table : JTable ,
865
+ value : Any ,
866
+ isSelected : Boolean ,
867
+ hasFocus : Boolean ,
868
+ row : Int ,
869
+ column : Int ,
870
+ ): Component {
871
+ super .getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
872
+ if (value is String ) {
873
+ text = value
874
+ }
875
+
876
+ font = RelativeFont .BOLD .derive(table.tableHeader.font)
877
+ border = JBUI .Borders .empty(0 , 8 )
878
+ return this
879
+ }
880
+ }
881
+ }
882
+ }
883
+
853
884
private class WorkspaceTemplateNameColumnInfo (columnName : String ) : ColumnInfo<WorkspaceAgentListModel, String>(columnName) {
854
885
override fun valueOf (item : WorkspaceAgentListModel ? ): String? = item?.workspace?.templateName
855
886
0 commit comments