Fix sorting to only enable backend-supported fields
This commit is contained in:
@@ -20,7 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Replaced project card grid with sortable data table on Home page for better handling of large project lists
|
- Replaced project card grid with sortable data table on Home page for better handling of large project lists
|
||||||
- Replaced package card grid with sortable data table on Project page for consistency
|
- Replaced package card grid with sortable data table on Project page for consistency
|
||||||
- Replaced SortDropdown with table header sorting on Package page for consistency
|
- Replaced SortDropdown with table header sorting on Package page for consistency
|
||||||
- Enabled sorting on all table columns (except description) across Home, Project, and Package pages
|
- Enabled sorting on supported table columns (name, created, updated) via clickable headers
|
||||||
- Updated browser tab title to "Orchard" with custom favicon
|
- Updated browser tab title to "Orchard" with custom favicon
|
||||||
- Improved pod naming: Orchard pods now named `orchard-{env}-server-*` for clarity (#51)
|
- Improved pod naming: Orchard pods now named `orchard-{env}-server-*` for clarity (#51)
|
||||||
|
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ function Home() {
|
|||||||
{
|
{
|
||||||
key: 'visibility',
|
key: 'visibility',
|
||||||
header: 'Visibility',
|
header: 'Visibility',
|
||||||
sortable: true,
|
|
||||||
render: (project) => (
|
render: (project) => (
|
||||||
<Badge variant={project.is_public ? 'public' : 'private'}>
|
<Badge variant={project.is_public ? 'public' : 'private'}>
|
||||||
{project.is_public ? 'Public' : 'Private'}
|
{project.is_public ? 'Public' : 'Private'}
|
||||||
@@ -244,7 +243,6 @@ function Home() {
|
|||||||
{
|
{
|
||||||
key: 'created_by',
|
key: 'created_by',
|
||||||
header: 'Owner',
|
header: 'Owner',
|
||||||
sortable: true,
|
|
||||||
className: 'cell-owner',
|
className: 'cell-owner',
|
||||||
render: (project) => project.created_by,
|
render: (project) => project.created_by,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -195,13 +195,11 @@ function PackagePage() {
|
|||||||
{
|
{
|
||||||
key: 'artifact_size',
|
key: 'artifact_size',
|
||||||
header: 'Size',
|
header: 'Size',
|
||||||
sortable: true,
|
|
||||||
render: (t: TagDetail) => <span>{formatBytes(t.artifact_size)}</span>,
|
render: (t: TagDetail) => <span>{formatBytes(t.artifact_size)}</span>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'artifact_content_type',
|
key: 'artifact_content_type',
|
||||||
header: 'Type',
|
header: 'Type',
|
||||||
sortable: true,
|
|
||||||
render: (t: TagDetail) => (
|
render: (t: TagDetail) => (
|
||||||
<span className="content-type">{t.artifact_content_type || '-'}</span>
|
<span className="content-type">{t.artifact_content_type || '-'}</span>
|
||||||
),
|
),
|
||||||
@@ -209,7 +207,6 @@ function PackagePage() {
|
|||||||
{
|
{
|
||||||
key: 'artifact_original_name',
|
key: 'artifact_original_name',
|
||||||
header: 'Filename',
|
header: 'Filename',
|
||||||
sortable: true,
|
|
||||||
className: 'cell-truncate',
|
className: 'cell-truncate',
|
||||||
render: (t: TagDetail) => (
|
render: (t: TagDetail) => (
|
||||||
<span title={t.artifact_original_name || undefined}>{t.artifact_original_name || '-'}</span>
|
<span title={t.artifact_original_name || undefined}>{t.artifact_original_name || '-'}</span>
|
||||||
|
|||||||
@@ -327,25 +327,21 @@ function ProjectPage() {
|
|||||||
{
|
{
|
||||||
key: 'format',
|
key: 'format',
|
||||||
header: 'Format',
|
header: 'Format',
|
||||||
sortable: true,
|
|
||||||
render: (pkg) => <Badge variant="default">{pkg.format}</Badge>,
|
render: (pkg) => <Badge variant="default">{pkg.format}</Badge>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'tag_count',
|
key: 'tag_count',
|
||||||
header: 'Tags',
|
header: 'Tags',
|
||||||
sortable: true,
|
|
||||||
render: (pkg) => pkg.tag_count ?? '—',
|
render: (pkg) => pkg.tag_count ?? '—',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'artifact_count',
|
key: 'artifact_count',
|
||||||
header: 'Artifacts',
|
header: 'Artifacts',
|
||||||
sortable: true,
|
|
||||||
render: (pkg) => pkg.artifact_count ?? '—',
|
render: (pkg) => pkg.artifact_count ?? '—',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'total_size',
|
key: 'total_size',
|
||||||
header: 'Size',
|
header: 'Size',
|
||||||
sortable: true,
|
|
||||||
render: (pkg) =>
|
render: (pkg) =>
|
||||||
pkg.total_size !== undefined && pkg.total_size > 0 ? formatBytes(pkg.total_size) : '—',
|
pkg.total_size !== undefined && pkg.total_size > 0 ? formatBytes(pkg.total_size) : '—',
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user