feat: make summary table sortable, filtrable, with sticky header

This commit is contained in:
Pavel
2025-08-19 17:08:38 +02:00
parent 78215552bf
commit 114ce1ea3a
7 changed files with 140 additions and 19 deletions

View File

@@ -647,9 +647,26 @@ const driver = {
databases: {
rows: databases,
columns: [
{ header: 'Name', fieldName: 'name', type: 'data' },
{ header: 'Size on disk', fieldName: 'sizeOnDisk', type: 'fileSize' },
{ header: 'Empty', fieldName: 'empty', type: 'data' },
{
filterable: true,
sortable: true,
header: 'Name',
fieldName: 'name',
type: 'data',
},
{
sortable: true,
header: 'Size on disk',
fieldName: 'sizeOnDisk',
type: 'fileSize',
},
{
filterable: true,
sortable: true,
header: 'Empty',
fieldName: 'empty',
type: 'data',
},
],
},
};

View File

@@ -180,13 +180,53 @@ const driver = {
databases: {
rows: databases,
columns: [
{ header: 'Database', fieldName: 'name', type: 'data' },
{ header: 'Status', fieldName: 'status', type: 'data' },
{ header: 'Recovery Model', fieldName: 'recoveryModel', type: 'data' },
{ header: 'Compatibility Level', fieldName: 'compatibilityLevel', type: 'data' },
{ header: 'Read Only', fieldName: 'isReadOnly', type: 'data' },
{ header: 'Data Size', fieldName: 'sizeOnDisk', type: 'fileSize' },
{ header: 'Log Size', fieldName: 'logSizeOnDisk', type: 'fileSize' },
{
filterable: true,
sortable: true,
header: 'Database',
fieldName: 'name',
type: 'data',
},
{
filterable: true,
sortable: true,
header: 'Status',
fieldName: 'status',
type: 'data',
},
{
filterable: true,
sortable: true,
header: 'Recovery Model',
fieldName: 'recoveryModel',
type: 'data',
},
{
filterable: true,
sortable: true,
header: 'Compatibility Level',
fieldName: 'compatibilityLevel',
type: 'data',
},
{
filterable: true,
sortable: true,
header: 'Read Only',
fieldName: 'isReadOnly',
type: 'data',
},
{
sortable: true,
header: 'Data Size',
fieldName: 'sizeOnDisk',
type: 'fileSize',
},
{
sortable: true,
header: 'Log Size',
fieldName: 'logSizeOnDisk',
type: 'fileSize',
},
],
},
};

View File

@@ -250,7 +250,15 @@ const drivers = driverBases.map(driverBase => ({
rows: databases.map(db => ({
name: db.name,
})),
columns: [{ header: 'Database', fieldName: 'name', type: 'data' }],
columns: [
{
filterable: true,
sortable: true,
header: 'Database',
fieldName: 'name',
type: 'data',
},
],
},
};
},