Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion lib/features/extensions/extension_table_toolbar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class ExtensionTableToolbar extends material.StatelessWidget {
this.onCancelQuery,
this.onCopyFormat,
this.onSaveFormat,
this.onNavigateHome,
});

final String title;
Expand All @@ -40,6 +41,7 @@ class ExtensionTableToolbar extends material.StatelessWidget {
final VoidCallback? onCancelQuery;
final material.ValueChanged<DataExportFormat>? onCopyFormat;
final material.ValueChanged<DataExportFormat>? onSaveFormat;
final VoidCallback? onNavigateHome;

@override
material.Widget build(material.BuildContext context) {
Expand All @@ -58,6 +60,21 @@ class ExtensionTableToolbar extends material.StatelessWidget {
),
child: material.Row(
children: [
if (onNavigateHome != null) ...[
material.Tooltip(
message: 'Return to driver overview',
child: OutlineButton(
size: ButtonSize.small,
onPressed: onNavigateHome,
leading: const material.Icon(
material.Icons.dns_outlined,
size: 14,
),
child: const Text('Driver'),
),
),
const Gap(10),
],
material.Icon(tableIcon, size: 18, color: cs.primary),
const Gap(8),
material.Expanded(
Expand Down Expand Up @@ -163,7 +180,7 @@ class ExtensionTableToolbar extends material.StatelessWidget {
material.Icons.chevron_left_rounded,
size: 16,
),
child: const Text('Back'),
child: const Text('Prev'),
),
const Gap(4),
OutlineButton(
Expand Down
3 changes: 3 additions & 0 deletions lib/features/extensions/extension_table_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,15 @@ class ExtensionTableView extends material.StatefulWidget {
required this.tableName,
this.isView = false,
this.pageSize = _defaultPageSize,
this.onNavigateHome,
});

final ConnectionRow connectionRow;
final String database;
final String tableName;
final bool isView;
final int pageSize;
final VoidCallback? onNavigateHome;

@override
material.State<ExtensionTableView> createState() =>
Expand Down Expand Up @@ -401,6 +403,7 @@ class _ExtensionTableViewState extends material.State<ExtensionTableView> {
loading: _loading,
canGoPrevious: _canGoBack && !_loading,
canGoNext: _canGoForward && !_loading,
onNavigateHome: widget.onNavigateHome,
filterActive: _filterActive || _filterController.text.isNotEmpty,
filterText: _filterController.text,
onToggleFilter: () {
Expand Down
20 changes: 20 additions & 0 deletions lib/features/extensions/extension_workspace_home.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,20 @@ class ExtensionWorkspaceHome extends material.StatefulWidget {
required this.connectionRow,
this.selectedObject,
this.sqlTabRequestToken = 0,
this.lastSelectedExtensionObject,
this.onRestoreLastSelectedObject,
this.isReadOnly = false,
});

final ConnectionRow connectionRow;
final ExtensionSelectedObject? selectedObject;
final int sqlTabRequestToken;
final bool isReadOnly;
final ({
String database,
String name,
})? lastSelectedExtensionObject;
final VoidCallback? onRestoreLastSelectedObject;

@override
material.State<ExtensionWorkspaceHome> createState() =>
Expand Down Expand Up @@ -94,6 +101,19 @@ class _ExtensionWorkspaceHomeState
color: theme.colorScheme.mutedForeground,
),
],
if (widget.lastSelectedExtensionObject != null &&
widget.onRestoreLastSelectedObject != null) ...[
const Gap(12),
OutlineButton(
size: ButtonSize.small,
onPressed: widget.onRestoreLastSelectedObject,
leading: const material.Icon(
material.Icons.table_chart_outlined,
size: 14,
),
child: Text('Return to ${widget.lastSelectedExtensionObject!.name}'),
),
],
const Spacer(),
QueryaTabStrip(
labels: const ['Server', 'SQL'],
Expand Down
13 changes: 13 additions & 0 deletions lib/features/main_screen/main_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -923,6 +923,19 @@ class _MainContentSplitState extends State<_MainContentSplit>
selectedSqliteObject: ws.selectedSqliteObject,
sqliteSqlTabRequestToken: ws.sqliteSqlTabRequestToken,
selectedExtensionObject: ws.selectedExtensionObject,
lastSelectedPostgresObject: ws.lastSelectedPostgresObject,
lastSelectedMysqlObject: ws.lastSelectedMysqlObject,
lastSelectedSqliteObject: ws.lastSelectedSqliteObject,
lastSelectedExtensionObject:
ws.lastSelectedExtensionObject,
onNavigateHome: () {
widget.workspace.value =
widget.workspace.value.unselectActiveObject();
},
onRestoreLastSelectedObject: () {
widget.workspace.value =
widget.workspace.value.restoreLastSelectedObject();
},
isReadOnly: ws.isReadOnly,
onRequestNewConnection: widget.onRequestNewConnection,
onRequestNewConnectionFromUrl:
Expand Down
Loading
Loading