mirror of
https://github.com/foss42/apidash.git
synced 2025-08-06 13:51:20 +08:00
Update ResponseBody & BodySuccess widgets
This commit is contained in:
@ -28,6 +28,7 @@ class _ResponseBodyState extends ConsumerState<ResponseBody> {
|
|||||||
final responseModel = collection[idIdx].responseModel;
|
final responseModel = collection[idIdx].responseModel;
|
||||||
var mediaType = responseModel?.mediaType;
|
var mediaType = responseModel?.mediaType;
|
||||||
var body = responseModel?.body;
|
var body = responseModel?.body;
|
||||||
|
var formattedBody = responseModel?.formattedBody;
|
||||||
if (responseModel == null) {
|
if (responseModel == null) {
|
||||||
return const ErrorMessage(
|
return const ErrorMessage(
|
||||||
message: 'Error: No Response Data Found. $kRaiseIssue');
|
message: 'Error: No Response Data Found. $kRaiseIssue');
|
||||||
@ -50,12 +51,19 @@ class _ResponseBodyState extends ConsumerState<ResponseBody> {
|
|||||||
message:
|
message:
|
||||||
"Viewing response data of Content-Type\n'${mediaType.mimeType}' $kMimeTypeRaiseIssue");
|
"Viewing response data of Content-Type\n'${mediaType.mimeType}' $kMimeTypeRaiseIssue");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (formattedBody == null) {
|
||||||
|
options = [...options];
|
||||||
|
options.remove(ResponseBodyView.code);
|
||||||
|
}
|
||||||
|
|
||||||
return BodySuccess(
|
return BodySuccess(
|
||||||
key: Key("$activeId-response"),
|
key: Key("$activeId-response"),
|
||||||
mediaType: mediaType,
|
mediaType: mediaType,
|
||||||
options: options,
|
options: options,
|
||||||
bytes: responseModel.bodyBytes!,
|
bytes: responseModel.bodyBytes!,
|
||||||
body: body,
|
body: body,
|
||||||
|
formattedBody: formattedBody,
|
||||||
highlightLanguage: highlightLanguage,
|
highlightLanguage: highlightLanguage,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -68,11 +76,13 @@ class BodySuccess extends StatefulWidget {
|
|||||||
required this.body,
|
required this.body,
|
||||||
required this.options,
|
required this.options,
|
||||||
required this.bytes,
|
required this.bytes,
|
||||||
|
this.formattedBody,
|
||||||
this.highlightLanguage});
|
this.highlightLanguage});
|
||||||
final MediaType mediaType;
|
final MediaType mediaType;
|
||||||
final List<ResponseBodyView> options;
|
final List<ResponseBodyView> options;
|
||||||
final String body;
|
final String body;
|
||||||
final Uint8List bytes;
|
final Uint8List bytes;
|
||||||
|
final String? formattedBody;
|
||||||
final String? highlightLanguage;
|
final String? highlightLanguage;
|
||||||
@override
|
@override
|
||||||
State<BodySuccess> createState() => _BodySuccessState();
|
State<BodySuccess> createState() => _BodySuccessState();
|
||||||
@ -149,22 +159,23 @@ class _BodySuccessState extends State<BodySuccess> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Visibility(
|
if (widget.formattedBody != null)
|
||||||
visible: currentSeg == ResponseBodyView.code,
|
Visibility(
|
||||||
child: Expanded(
|
visible: currentSeg == ResponseBodyView.code,
|
||||||
child: Container(
|
child: Expanded(
|
||||||
width: double.maxFinite,
|
child: Container(
|
||||||
padding: kP8,
|
width: double.maxFinite,
|
||||||
decoration: textContainerdecoration,
|
padding: kP8,
|
||||||
child: CodePreviewer(
|
decoration: textContainerdecoration,
|
||||||
code: widget.body,
|
child: CodePreviewer(
|
||||||
theme: codeTheme,
|
code: widget.formattedBody!,
|
||||||
language: widget.highlightLanguage,
|
theme: codeTheme,
|
||||||
textStyle: kCodeStyle,
|
language: widget.highlightLanguage,
|
||||||
|
textStyle: kCodeStyle,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
Visibility(
|
Visibility(
|
||||||
visible: currentSeg == ResponseBodyView.raw,
|
visible: currentSeg == ResponseBodyView.raw,
|
||||||
child: Expanded(
|
child: Expanded(
|
||||||
|
Reference in New Issue
Block a user