Skip to content

Commit

Permalink
Allow showing logs in descending order
Browse files Browse the repository at this point in the history
Closes: #5
  • Loading branch information
JonasWanke committed Jan 24, 2023
1 parent 057a66b commit bdfb520
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions lib/src/helpers/logs/widgets.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,20 @@ class LogsDebugHelper extends StatefulWidget {

class _LogsDebugHelperState extends State<LogsDebugHelper> {
var _minLevel = DiagnosticLevel.debug;
var _isOldestFirst = true;

@override
Widget build(BuildContext context) {
Widget sortIcon = const Icon(Icons.sort);
if (!_isOldestFirst) {
sortIcon = Transform.scale(scaleY: -1, child: sortIcon);
}
final sortButton = IconButton(
tooltip: _isOldestFirst ? 'Show newest first' : 'Show oldest first',
onPressed: () => setState(() => _isOldestFirst = !_isOldestFirst),
icon: sortIcon,
);

return DebugHelper(
title: widget.title,
actions: [
Expand All @@ -37,13 +49,14 @@ class _LogsDebugHelperState extends State<LogsDebugHelper> {
onPressed: widget.logs.clear,
icon: const Icon(Icons.delete_outlined),
),
sortButton,
DiagnosticLevelSelector(
value: _minLevel,
onSelected: (level) => setState(() => _minLevel = level),
),
],
contentPadding: EdgeInsets.zero,
child: ValueListenableBuilder<List<Log>>(
child: ValueListenableBuilder(
valueListenable: widget.logs.listenable,
builder: (context, logs, _) {
if (logs.isEmpty) {
Expand All @@ -58,9 +71,12 @@ class _LogsDebugHelperState extends State<LogsDebugHelper> {
);
}

final filteredLogs =
var filteredLogs =
logs.where((it) => it.level.index >= _minLevel.index).toList();
return ImplicitlyAnimatedList<Log>(
if (!_isOldestFirst) {
filteredLogs = filteredLogs.reversed.toList();
}
return ImplicitlyAnimatedList(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemData: filteredLogs,
Expand Down

0 comments on commit bdfb520

Please sign in to comment.