2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 13:36:50 +00:00

Add skeleton page for showing test results for a stock item

This commit is contained in:
Oliver Walters 2020-05-23 20:27:27 +10:00
parent 868e1d20dc
commit 1d7d3def04
3 changed files with 68 additions and 1 deletions

View File

@ -1,5 +1,6 @@
import 'dart:convert';
import 'package:InvenTree/inventree/part.dart';
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart' as http;
import 'model.dart';
@ -67,6 +68,29 @@ class InvenTreeStockItem extends InvenTreeModel {
// TODO
}
List<InvenTreePartTestTemplate> testTemplates = List<InvenTreePartTestTemplate>();
int get testTemplateCount => testTemplates.length;
// Get all the test templates associated with this StockItem
Future<void> getTestTemplates(BuildContext context, {bool showDialog=false}) async {
InvenTreePartTestTemplate().list(
context,
filters: {
"part": "${partId}",
},
dialog: showDialog,
).then((var templates) {
testTemplates.clear();
for (var t in templates) {
if (t is InvenTreePartTestTemplate) {
testTemplates.add(t);
}
}
});
}
List<InvenTreeStockItemTestResult> testResults = List<InvenTreeStockItemTestResult>();
int get testResultCount => testResults.length;

View File

@ -7,6 +7,7 @@ import 'package:InvenTree/widget/fields.dart';
import 'package:InvenTree/widget/location_display.dart';
import 'package:InvenTree/widget/part_detail.dart';
import 'package:InvenTree/widget/refreshable_state.dart';
import 'package:InvenTree/widget/stock_item_test_results.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -429,7 +430,9 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
title: Text("Test Results"),
leading: FaIcon(FontAwesomeIcons.tasks),
trailing: Text("${item.testResultCount}"),
onTap: null,
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (context) => StockItemTestResultsWidget(item)));
}
)
);

View File

@ -0,0 +1,40 @@
import 'package:InvenTree/inventree/stock.dart';
import 'package:InvenTree/api.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:InvenTree/widget/refreshable_state.dart';
class StockItemTestResultsWidget extends StatefulWidget {
StockItemTestResultsWidget(this.item, {Key key}) : super(key: key);
final InvenTreeStockItem item;
@override
_StockItemTestResultDisplayState createState() => _StockItemTestResultDisplayState(item);
}
class _StockItemTestResultDisplayState extends RefreshableState<StockItemTestResultsWidget> {
@override
String getAppBarTitle(BuildContext context) { return "Test Results"; }
@override
Future<void> request(BuildContext context) async {
await item.getTestTemplates(context);
await item.getTestResults(context);
}
final InvenTreeStockItem item;
_StockItemTestResultDisplayState(this.item);
@override
Widget getBody(BuildContext context) {
return ListView(
);
}
}