Merge pull request #98 from mmjsmohit/add-feature-svgpreview

Add SVG Rendering
This commit is contained in:
Ankit Mahato
2023-12-16 16:03:57 +05:30
committed by GitHub
5 changed files with 45 additions and 1 deletions

1
.gitignore vendored
View File

@ -50,6 +50,7 @@ macos/
windows/
web/
ios/
android/
.vscode/*
icons/
coverage/*

View File

@ -342,7 +342,7 @@ const Map<String, Map<String, List<ResponseBodyView>>>
},
kTypeImage: {
kSubTypeDefaultViewOptions: kPreviewBodyViewOptions,
kSubTypeSvg: kCodeRawBodyViewOptions,
kSubTypeSvg: kPreviewCodeRawBodyViewOptions,
},
kTypeAudio: {
kSubTypeDefaultViewOptions: kPreviewBodyViewOptions,
@ -459,6 +459,9 @@ const kUnexpectedRaiseIssue =
const kImageError =
"There seems to be an issue rendering this image. Please raise an issue in API Dash GitHub repo so that we can resolve it.";
const kSvgError =
"There seems to be an issue rendering this SVG image. Please raise an issue in API Dash GitHub repo so that we can resolve it.";
const kPdfError =
"There seems to be an issue rendering this pdf. Please raise an issue in API Dash GitHub repo so that we can resolve it.";

View File

@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'error_message.dart';
import 'package:apidash/consts.dart';
import 'package:printing/printing.dart';
@ -40,6 +41,12 @@ class _PreviewerState extends State<Previewer> {
// pass
}
}
if (widget.type == kTypeImage && widget.subtype == kSubTypeSvg) {
final String rawSvg = widget.body;
return SvgPicture.string(
rawSvg,
);
}
if (widget.type == kTypeImage) {
return Image.memory(
widget.bytes,

View File

@ -358,6 +358,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.4.4"
flutter_svg:
dependency: "direct main"
description:
name: flutter_svg
sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c
url: "https://pub.dev"
source: hosted
version: "2.0.9"
flutter_test:
dependency: "direct dev"
description: flutter
@ -1150,6 +1158,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.1.0"
vector_graphics:
dependency: transitive
description:
name: vector_graphics
sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43"
url: "https://pub.dev"
source: hosted
version: "1.1.9+1"
vector_graphics_codec:
dependency: transitive
description:
name: vector_graphics_codec
sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7"
url: "https://pub.dev"
source: hosted
version: "1.1.9+1"
vector_graphics_compiler:
dependency: transitive
description:
name: vector_graphics_compiler
sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26
url: "https://pub.dev"
source: hosted
version: "1.1.9+1"
vector_math:
dependency: transitive
description:

View File

@ -48,6 +48,7 @@ dependencies:
url: https://github.com/foss42/json_data_explorer.git
version: ^0.1.1
scrollable_positioned_list: ^0.2.3
flutter_svg: ^2.0.9
dev_dependencies:
flutter_test: