Skip to content

Commit 83de83d

Browse files
maswinebyhr
authored andcommitted
Add sorting for clusters and query history page columns
1 parent b4f7158 commit 83de83d

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

webapp/src/components/cluster.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,16 @@ export function Cluster() {
9292
<>
9393
<Card bordered={false} className={styles.card} bodyStyle={{ padding: '10px' }}>
9494
<Table dataSource={backendData} pagination={false} rowKey={"name"}>
95-
<Column title="Name" dataIndex="name" key="name" />
95+
<Column title="Name" dataIndex="name" key="name"
96+
sorter={(a, b) => {
97+
if (!a || !b) return 0;
98+
return a.name.localeCompare(b.name)
99+
}} />
96100
<Column title="RoutingGroup" dataIndex="routingGroup" key="routingGroup"
101+
sorter={(a, b) => {
102+
if (!a || !b) return 0;
103+
return a.routingGroup.localeCompare(b.routingGroup)
104+
}}
97105
filters={
98106
[...new Set(backendData?.map(b => b.routingGroup))]
99107
.map(routingGroup => {
@@ -108,8 +116,8 @@ export function Cluster() {
108116
}} />
109117
<Column title="ProxyToUrl" dataIndex="proxyTo" key="proxyTo" render={linkRender} />
110118
<Column title="ExternalUrl" dataIndex="externalUrl" key="externalUrl" render={linkRender} />
111-
<Column title="Queued" dataIndex="queued" key="queued" />
112-
<Column title="Running" dataIndex="running" key="running" />
119+
<Column title="Queued" dataIndex="queued" key="queued" sorter={(a, b) => (!a || !b) ? 0 : a.queued - b.queued} />
120+
<Column title="Running" dataIndex="running" key="running" sorter={(a, b) => (!a || !b) ? 0 : a.running - b.running} />
113121
<Column title="Active" dataIndex="active" key="active" render={switchRender} />
114122
<Column title="Status" dataIndex="status" key="status" render={statusRender}/>
115123
{access.hasRole(Role.ADMIN) && (

webapp/src/components/history.tsx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,33 @@ export function History() {
133133
onPageChange: list,
134134
}}>
135135
<Column title="QueryId" dataIndex="queryId" key="queryId" render={linkQueryRender} />
136-
<Column title="RoutingGroup" dataIndex="routingGroup" key="routingGroup" render={routingGroupRender} />
136+
<Column title="RoutingGroup" dataIndex="routingGroup" key="routingGroup"
137+
sorter={(a, b) => {
138+
if (!a || !b) return 0;
139+
return a.routingGroup.localeCompare(b.routingGroup);
140+
}}
141+
filters={
142+
[...new Set(backendData?.map(b => b.routingGroup))]
143+
.map(routingGroup => {
144+
return {
145+
text: routingGroup,
146+
value: routingGroup
147+
}
148+
})}
149+
onFilter={(value, record) => {
150+
if (!record) return false;
151+
return value === record.routingGroup
152+
}}
153+
render={routingGroupRender} />
137154
<Column title="Name" dataIndex="backendUrl" key="backendUrlName" render={(text: string) => <Text>{backendMapping[text]}</Text>} />
138155
<Column title="RoutedTo" dataIndex="externalUrl" key="externalUrl" render={linkRender} />
139156
<Column title="User" dataIndex="user" key="user" />
140157
<Column title="Source" dataIndex="source" key="source" />
141158
<Column title="QueryText" dataIndex="queryText" key="queryText" width={300} render={queryTextRender} />
142-
<Column title="SubmissionTime" dataIndex="captureTime" key="captureTime" render={timeRender} />
159+
<Column title="SubmissionTime" dataIndex="captureTime" key="captureTime" render={timeRender} sorter={(a, b) => {
160+
if (!a || !b) return 0;
161+
return a.captureTime - b.captureTime;
162+
}} />
143163
</Table>
144164
</Card>
145165
<Modal

0 commit comments

Comments
 (0)