Merge branch 'feature/table-backups'

This commit is contained in:
SPRINX0\prochazka
2025-11-28 16:10:18 +01:00
3 changed files with 23 additions and 3 deletions

View File

@@ -1086,14 +1086,24 @@
}
$: isPinned = !!$pinnedTables.find(x => testEqual(data, x));
$: backupParsed =
data.objectTypeField === 'tables'
? data.pureName.match(/^_(.*)_(\d\d\d\d)-(\d\d)-(\d\d)-(\d\d)-(\d\d)-(\d\d)$/)
: null;
$: backupTitle =
backupParsed != null
? `${backupParsed[1]} (${backupParsed[2]}-${backupParsed[3]}-${backupParsed[4]} ${backupParsed[5]}:${backupParsed[6]}:${backupParsed[7]})`
: null;
</script>
<AppObjectCore
{...$$restProps}
module={$$props.module}
{data}
title={data.schemaName && !passProps?.hideSchemaName ? `${data.schemaName}.${data.pureName}` : data.pureName}
icon={databaseObjectIcons[data.objectTypeField]}
title={backupTitle ??
(data.schemaName && !passProps?.hideSchemaName ? `${data.schemaName}.${data.pureName}` : data.pureName)}
icon={backupParsed ? 'img table-backup' : databaseObjectIcons[data.objectTypeField]}
menu={createMenu}
showPinnedInsteadOfUnpin={passProps?.showPinnedInsteadOfUnpin}
onPin={passProps?.ingorePin ? null : isPinned ? null : () => pinnedTables.update(list => [...list, data])}

View File

@@ -353,6 +353,7 @@
'img data-deploy': 'mdi mdi-database-settings color-icon-green',
'img arrow-start-here': 'mdi mdi-arrow-down-bold-circle color-icon-green',
'img team-file': 'mdi mdi-account-file color-icon-red',
'img table-backup': 'mdi mdi-cube color-icon-yellow',
};
</script>

View File

@@ -232,6 +232,15 @@
$focusedConnectionOrDatabase?.database != extractDbNameFromComposite(database)));
// $: console.log('STATUS', $status);
function getAppObjectGroup(data) {
if (data.objectTypeField == 'tables') {
if (data.pureName.match(/^_(.*)_\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d$/)) {
return _t('dbObject.tableBackups', { defaultMessage: 'Table Backups' });
}
}
return getObjectTypeFieldLabel(data.objectTypeField, driver);
}
</script>
{#if $status && $status.name == 'error'}
@@ -371,7 +380,7 @@
.filter(x => x.schemaName == null || ($appliedCurrentSchema ? x.schemaName == $appliedCurrentSchema : true))
.map(x => ({ ...x, conid, database }))}
module={databaseObjectAppObject}
groupFunc={data => getObjectTypeFieldLabel(data.objectTypeField, driver)}
groupFunc={getAppObjectGroup}
subItemsComponent={(data, { isExpandedBySearch }) =>
data.objectTypeField == 'procedures' || data.objectTypeField == 'functions'
? isExpandedBySearch