Skip to content

Commit 2954b9f

Browse files
committed
feat(FR-1534): add more filter and order options to NEO session list (#4367)
Resolves #4366 ([FR-1534](https://lablup.atlassian.net/browse/FR-1534)) ## Summary Implement additional filtering and sorting options in the NEO session list to improve user experience and data accessibility. ## Changes - **New table columns**: - Resource Group (scaling_group) - Session Type - Cluster Mode - Created At timestamp - **Enhanced filtering**: - Session Name filter - Resource Group filter - Agent ID filter - Owner Email filter (admin/superadmin only) - **New component**: - `BAISessionClusterMode` component for displaying cluster mode information - **UI improvements**: - Fixed table scrolling in BAITableSettingModal - Added proper sorting support for new columns - **Internationalization**: - Added translations for "Created At" and "Cluster Mode" across all 21 language files [FR-1534]: https://lablup.atlassian.net/browse/FR-1534?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1 parent e9ef86b commit 2954b9f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+246
-6
lines changed

packages/backend.ai-ui/src/components/Table/BAITableSettingModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ const BAITableSettingModal: React.FC<TableSettingProps> = ({
442442
style={{
443443
height: 330,
444444
}}
445-
scroll={{ x: 'max-content' }}
445+
scroll={{ x: 'max-content', y: 330 }}
446446
/>
447447
</SortableContext>
448448
</DndContext>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { BAISessionClusterModeFragment$key } from '../../__generated__/BAISessionClusterModeFragment.graphql';
2+
import { Typography } from 'antd';
3+
import _ from 'lodash';
4+
import React from 'react';
5+
import { useTranslation } from 'react-i18next';
6+
import { useFragment, graphql } from 'react-relay';
7+
8+
export interface BAISessionClusterModeProps {
9+
sessionFrgmt: BAISessionClusterModeFragment$key;
10+
}
11+
12+
const BAISessionClusterMode: React.FC<BAISessionClusterModeProps> = ({
13+
sessionFrgmt,
14+
}) => {
15+
const { t } = useTranslation();
16+
const session = useFragment(
17+
graphql`
18+
fragment BAISessionClusterModeFragment on ComputeSessionNode {
19+
cluster_mode
20+
cluster_size
21+
}
22+
`,
23+
sessionFrgmt,
24+
);
25+
26+
const modeTitle = _.startsWith(
27+
session.cluster_mode?.toUpperCase() || '',
28+
'SINGLE',
29+
)
30+
? t('comp:BAISessionClusterMode.SingleNodeShort')
31+
: _.startsWith(session.cluster_mode?.toUpperCase() || '', 'MULTI')
32+
? t('comp:BAISessionClusterMode.MultiNodeShort')
33+
: '-';
34+
return (
35+
<Typography.Text>
36+
{modeTitle}&nbsp;
37+
<Typography.Text type="secondary">
38+
({session.cluster_size})
39+
</Typography.Text>
40+
</Typography.Text>
41+
);
42+
};
43+
44+
export default BAISessionClusterMode;

packages/backend.ai-ui/src/components/fragments/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export type { BAIArtifactRevisionDownloadButtonProps } from './BAIArtifactRevisi
3434
export { default as BAIArtifactRevisionDeleteButton } from './BAIArtifactRevisionDeleteButton';
3535
export type { BAIArtifactRevisionDeleteButtonProps } from './BAIArtifactRevisionDeleteButton';
3636
export { default as BAIDeactivateArtifactsModal } from './BAIDeactivateArtifactsModal';
37+
export { default as BAISessionClusterMode } from './BAISessionClusterMode';
3738
export type {
3839
BAIDeactivateArtifactsModalProps,
3940
BAIDeactivateArtifactsModalArtifactsFragmentKey,

packages/backend.ai-ui/src/locale/de.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
"comp:BAISessionAgentIds": {
9191
"Agent": "Agent"
9292
},
93+
"comp:BAISessionClusterMode": {
94+
"MultiNodeShort": "Multi",
95+
"SingleNodeShort": "Einzel"
96+
},
9397
"comp:BAIStatistic": {
9498
"Unlimited": "Unbegrenzt"
9599
},

packages/backend.ai-ui/src/locale/el.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
"comp:BAISessionAgentIds": {
9191
"Agent": "Μέσο"
9292
},
93+
"comp:BAISessionClusterMode": {
94+
"MultiNodeShort": "Πολλαπλών",
95+
"SingleNodeShort": "Μονόκλινο"
96+
},
9397
"comp:BAIStatistic": {
9498
"Unlimited": "Απεριόριστος"
9599
},

packages/backend.ai-ui/src/locale/en.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@
9393
"comp:BAISessionAgentIds": {
9494
"Agent": "Agent"
9595
},
96+
"comp:BAISessionClusterMode": {
97+
"MultiNodeShort": "Multi",
98+
"SingleNodeShort": "Single"
99+
},
96100
"comp:BAIStatistic": {
97101
"Unlimited": "Unlimited"
98102
},

packages/backend.ai-ui/src/locale/es.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
"comp:BAISessionAgentIds": {
9191
"Agent": "Agente"
9292
},
93+
"comp:BAISessionClusterMode": {
94+
"MultiNodeShort": "Multi",
95+
"SingleNodeShort": "Soltero"
96+
},
9397
"comp:BAIStatistic": {
9498
"Unlimited": "Ilimitado"
9599
},

packages/backend.ai-ui/src/locale/fi.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
"comp:BAISessionAgentIds": {
9191
"Agent": "Agentti"
9292
},
93+
"comp:BAISessionClusterMode": {
94+
"MultiNodeShort": "Moni-",
95+
"SingleNodeShort": "Yksittäinen"
96+
},
9397
"comp:BAIStatistic": {
9498
"Unlimited": "Rajoittamaton"
9599
},

packages/backend.ai-ui/src/locale/fr.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
"comp:BAISessionAgentIds": {
9191
"Agent": "Agent"
9292
},
93+
"comp:BAISessionClusterMode": {
94+
"MultiNodeShort": "Multi",
95+
"SingleNodeShort": "Célibataire"
96+
},
9397
"comp:BAIStatistic": {
9498
"Unlimited": "Illimité"
9599
},

packages/backend.ai-ui/src/locale/id.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
"comp:BAISessionAgentIds": {
9191
"Agent": "Agen"
9292
},
93+
"comp:BAISessionClusterMode": {
94+
"MultiNodeShort": "Multi",
95+
"SingleNodeShort": "Lajang"
96+
},
9397
"comp:BAIStatistic": {
9498
"Unlimited": "Tak terbatas"
9599
},

0 commit comments

Comments
 (0)