You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diplomatic-quarter/lib/pages/ErService/rapid-response-team/rrt-logs-page.dart

53 lines
1.5 KiB
Dart

import 'package:diplomaticquarterapp/core/model/prescriptions/prescriptions_order.dart';
import 'package:diplomaticquarterapp/core/viewModels/er/rrt-view-model.dart';
import 'package:diplomaticquarterapp/pages/ErService/rapid-response-team/rrt-order-list-item.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
3 years ago
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class RRTLogPage extends StatefulWidget{
final List<PrescriptionsOrder> orders;
3 years ago
const RRTLogPage({this.orders});
3 years ago
@override
State<StatefulWidget> createState() => RRTLogPageState();
}
class RRTLogPageState extends State<RRTLogPage>{
RRTViewModel viewModel;
3 years ago
@override
Widget build(BuildContext context) {
return BaseView<RRTViewModel>(
onModelReady: (vm) => viewModel = vm,
builder: (ctx, vm, widgetState){
return ListView.builder(
itemCount: widget.orders.length,
itemBuilder: (ctx, idx) {
var order = widget.orders[idx];
return RRTLogListItem(order, onCancel: deleteOrder);
}
);
}
3 years ago
);
}
deleteOrder(PrescriptionsOrder order) async {
GifLoaderDialogUtils.showMyDialog(context);
var success = await viewModel.cancelOrder(order);
GifLoaderDialogUtils.hideDialog(context);
if(success)
setState(() {
widget.orders.remove(order);
});
3 years ago
}
}