add prompt confirmation and update carton

This commit is contained in:
Thinzar Win
2020-12-08 20:24:15 +06:30
parent 1a7b1ce97b
commit 20477b6915
39 changed files with 637 additions and 259 deletions

View File

@@ -1,11 +1,8 @@
import 'package:fcs/domain/entities/cargo_type.dart';
import 'package:fcs/domain/entities/carton_size.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
import 'package:fcs/pages/widgets/input_text.dart';
import 'package:fcs/pages/widgets/length_picker.dart';
import 'package:fcs/pages/widgets/local_dropdown.dart';
import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/cupertino.dart';
@@ -140,9 +137,13 @@ class _CartonSizeEditorState extends State<CartonSizeEditor> {
icon:
new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
onPressed: () {
showConfirmDialog(context, "back.button_confirm", () {
if (isDataChanged()) {
showConfirmDialog(context, "back.button_confirm", () {
Navigator.of(context).pop();
});
} else {
Navigator.of(context).pop();
});
}
},
),
shadowColor: Colors.transparent,
@@ -169,4 +170,21 @@ class _CartonSizeEditorState extends State<CartonSizeEditor> {
),
);
}
isDataChanged() {
if (_isNew) {
return _nameController.text != "" ||
_lengthController.text != "12" ||
_widthController.text != "12" ||
_heightController.text != "12";
} else {
double l = double.parse(_lengthController.text, (s) => 0);
double w = double.parse(_widthController.text, (s) => 0);
double h = double.parse(_heightController.text, (s) => 0);
CartonSize _cartonSize = CartonSize(
name: _nameController.text, length: l, width: w, height: h);
return widget.cartonSize.isChangedForEdit(_cartonSize);
}
}
}