import '../../../config/routes.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../../providers/labels.dart'; class LabelUpdateButton extends StatelessWidget { const LabelUpdateButton({ Key key, @required GlobalKey form, @required this.id, @required this.lotNumberCTRL, @required this.cycleNumberCTRL, @required this.sDateCTRL, @required this.packageValue, @required this.eDateCTRL, @required this.striizerIdCTRL, @required double deviceBlockSize, }) : _form = form, _deviceBlockSize = deviceBlockSize, super(key: key); final GlobalKey _form; final String id; final TextEditingController lotNumberCTRL; final TextEditingController cycleNumberCTRL; final TextEditingController sDateCTRL; final List packageValue; final TextEditingController eDateCTRL; final TextEditingController striizerIdCTRL; final double _deviceBlockSize; @override Widget build(BuildContext context) { return InkWell( onTap: () { if (!_form.currentState.validate()) { return; } Provider.of(context).updateLabelResult( id, lotNumberCTRL.text, cycleNumberCTRL.text, sDateCTRL.text, // sDateValue, {'id': packageValue[0], 'name': packageValue[1]}, eDateCTRL.text, // eDateValue, striizerIdCTRL.text, ); showDialog( context: context, builder: (ctx) => AlertDialog( content: Text('Label updated.'), actions: [ TextButton( onPressed: () { Navigator.of(ctx).pop(); }, child: Text('Ok'), ) ], ), ).then((_) { Navigator.of(context).pushReplacementNamed(Routes.labelResultScreen); }); }, child: Container( padding: EdgeInsets.symmetric( horizontal: 5 * _deviceBlockSize, vertical: 10, ), // margin: // EdgeInsets.symmetric(horizontal: 35, vertical: 15), decoration: BoxDecoration( gradient: LinearGradient( colors: [Colors.blue, Colors.green], ), borderRadius: BorderRadius.circular(7), ), child: Align( alignment: Alignment.center, child: Text( 'UPDATE', style: TextStyle( color: Colors.white, fontSize: 5 * _deviceBlockSize, ), ), ), ), ); } }