From dc25c6a70edacdcd7820f5e2eeba64a906406cc8 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Fri, 1 Mar 2024 01:10:49 +0530 Subject: [PATCH] Updated csv_previewer --- analysis_options.yaml | 3 +++ lib/consts.dart | 3 +-- lib/widgets/csv_previewer.dart | 6 +++--- lib/widgets/json_previewer.dart | 1 + lib/widgets/previewer.dart | 9 ++------- pubspec.lock | 8 ++++++++ test/widget_test.dart | 3 +++ 7 files changed, 21 insertions(+), 12 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index bde061bb..9a1eabb4 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -3,6 +3,9 @@ include: package:flutter_lints/flutter.yaml analyzer: errors: invalid_annotation_target: ignore + exclude: + - "**/*.freezed.dart" + - "**/*.g.dart" linter: rules: diff --git a/lib/consts.dart b/lib/consts.dart index 4aba147f..d157b7fa 100644 --- a/lib/consts.dart +++ b/lib/consts.dart @@ -378,7 +378,7 @@ const Map>> kSubTypeDefaultViewOptions: kRawBodyViewOptions, kSubTypeCss: kCodeRawBodyViewOptions, kSubTypeHtml: kCodeRawBodyViewOptions, - kSubTypeCsv: kPreviewCodeRawBodyViewOptions, + kSubTypeCsv: kPreviewRawBodyViewOptions, kSubTypeJavascript: kCodeRawBodyViewOptions, kSubTypeMarkdown: kCodeRawBodyViewOptions, kSubTypeTextXml: kCodeRawBodyViewOptions, @@ -499,7 +499,6 @@ const kRaiseIssue = const kCsvError = "There seems to be an issue rendering this CSV. Please raise an issue in API Dash GitHub repo so that we can resolve it."; - const kHintTextUrlCard = "Enter API endpoint like api.foss42.com/country/codes"; const kLabelPlusNew = "+ New"; const kLabelSend = "Send"; diff --git a/lib/widgets/csv_previewer.dart b/lib/widgets/csv_previewer.dart index d3b88261..17e8dd48 100644 --- a/lib/widgets/csv_previewer.dart +++ b/lib/widgets/csv_previewer.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:csv/csv.dart'; -import 'package:apidash/consts.dart'; -import 'package:apidash/widgets/widgets.dart'; +import 'error_message.dart'; +import '../consts.dart'; class CsvPreviewer extends StatelessWidget { - const CsvPreviewer({Key? key, required this.body}) : super(key: key); + const CsvPreviewer({super.key, required this.body}); final String body; diff --git a/lib/widgets/json_previewer.dart b/lib/widgets/json_previewer.dart index 078a9721..46d066bf 100644 --- a/lib/widgets/json_previewer.dart +++ b/lib/widgets/json_previewer.dart @@ -154,6 +154,7 @@ class _JsonPreviewerState extends State { @override void didUpdateWidget(JsonPreviewer oldWidget) { + super.didUpdateWidget(oldWidget); if (oldWidget.code != widget.code) { store.buildNodes(widget.code, areAllCollapsed: true); store.expandAll(); diff --git a/lib/widgets/previewer.dart b/lib/widgets/previewer.dart index 6a6eb828..dd2f5186 100644 --- a/lib/widgets/previewer.dart +++ b/lib/widgets/previewer.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'package:apidash/widgets/csv_previewer.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:printing/printing.dart'; @@ -8,6 +7,7 @@ import 'package:vector_graphics_compiler/vector_graphics_compiler.dart'; import 'error_message.dart'; import 'uint8_audio_player.dart'; import 'json_previewer.dart'; +import 'csv_previewer.dart'; import '../consts.dart'; class Previewer extends StatefulWidget { @@ -83,11 +83,7 @@ class _PreviewerState extends State { ); } if (widget.type == kTypeText && widget.subtype == kSubTypeCsv) { - try { - return CsvPreviewer(body: widget.body); - } catch (e) { - return const ErrorMessage(message: kCsvError); - } + return CsvPreviewer(body: widget.body); } if (widget.type == kTypeVideo) { // TODO: Video Player @@ -97,5 +93,4 @@ class _PreviewerState extends State { : "$kMimeTypeRaiseIssueStart${widget.type}/${widget.subtype}$kMimeTypeRaiseIssue"; return ErrorMessage(message: message); } - } diff --git a/pubspec.lock b/pubspec.lock index 70dda7d5..f48a9105 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -217,6 +217,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.3" + csv: + dependency: "direct main" + description: + name: csv + sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e" + url: "https://pub.dev" + source: hosted + version: "5.1.1" dart_style: dependency: "direct main" description: diff --git a/test/widget_test.dart b/test/widget_test.dart index 48eb1d93..3f806c72 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -1,3 +1,6 @@ +// ignore_for_file: unused_import +// TODO: Added ignore to calculate code coverage + import 'package:apidash/main.dart'; import 'package:apidash/app.dart'; import 'package:apidash/common/utils.dart';