Fixing Bug

pull/2/head
zaid_daoud 3 years ago
parent 8c752c3a05
commit 674a803189

@ -13,6 +13,7 @@ import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
import '../app_text_form_field.dart'; import '../app_text_form_field.dart';
import '../qr/scan_qr.dart';
class SingleDevicePicker extends StatefulWidget { class SingleDevicePicker extends StatefulWidget {
static final String id = "/single-device-Picker"; static final String id = "/single-device-Picker";
@ -150,16 +151,16 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
], ],
), ),
), ),
// floatingActionButton: FloatingActionButton( floatingActionButton: FloatingActionButton(
// heroTag: "some tag 2", heroTag: "some tag 2",
// child: const Icon(Icons.qr_code_scanner), child: const Icon(Icons.qr_code_scanner),
// onPressed: () async { onPressed: () async {
// String result = await Navigator.of(context).push( String result = await Navigator.of(context).push(
// MaterialPageRoute(builder: (_)=> const ScanQr()), MaterialPageRoute(builder: (_) => const ScanQr()),
// ) as String; ) as String;
// _getDevice(result); _getDevice(result);
// }, },
// ), ),
); );
} }
} }

@ -7,83 +7,86 @@ import '../../../controllers/localization/localization.dart';
import '../buttons/app_button.dart'; import '../buttons/app_button.dart';
import '../titles/app_sub_title.dart'; import '../titles/app_sub_title.dart';
class GasRefillCreateDetailsItem extends StatelessWidget { class GasRefillCreateDetailsItem extends StatefulWidget {
GasRefillDetails model; final GasRefillDetails model;
final VoidCallback onPressed; final VoidCallback onPressed;
final bool isUpdate; final bool isUpdate;
GasRefillCreateDetailsItem({Key key, this.isUpdate, this.model, this.onPressed}) : super(key: key); const GasRefillCreateDetailsItem({Key key, this.isUpdate, this.model, this.onPressed}) : super(key: key);
@override
State<GasRefillCreateDetailsItem> createState() => _GasRefillCreateDetailsItemState();
}
class _GasRefillCreateDetailsItemState extends State<GasRefillCreateDetailsItem> {
GlobalKey<FormState> _formKey;
@override
void initState() {
super.initState();
_formKey = GlobalKey<FormState>();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final subtitle = AppLocalization.of(context).subtitle; final subtitle = AppLocalization.of(context).subtitle;
final startEditing = isUpdate && (model.selectedForEditing ?? false); final startEditing = widget.isUpdate && (widget.model.selectedForEditing ?? false);
double deliveredQuantity; return Form(
return Column( key: _formKey,
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
Row( children: [
children: [Expanded(child: Text(model.type.name)), IconButton(onPressed: onPressed, color: isUpdate ? AColors.cyan : AColors.red, icon: Icon(isUpdate ? Icons.edit : Icons.delete))],
),
Wrap(
spacing: 10,
children: [
Text("Quantity: ${model.requestedQuantity.toStringAsFixed(0)}"),
Text("Cylinder Size: ${model.cylinderSize.name}"),
Text("Cylinder Type: ${model.cylinderType.name}"),
],
),
if (model.deliveredQuantity != null)
Row( Row(
children: [ children: [
const Text("Delivered Quantity: "), Expanded(child: Text(widget.model.type.name)),
Text(model.deliveredQuantity.toStringAsFixed(0)), IconButton(onPressed: widget.onPressed, color: widget.isUpdate ? AColors.cyan : AColors.red, icon: Icon(widget.isUpdate ? Icons.edit : Icons.delete))
], ],
), ),
if (startEditing) const SizedBox(height: 16), Wrap(
if (startEditing) ASubTitle(subtitle.deliveredQuantity), spacing: 10,
if (startEditing) const SizedBox(height: 4), children: [
if (startEditing) Text("Quantity: ${widget.model.requestedQuantity.toStringAsFixed(0)}"),
ATextFormField( Text("Cylinder Size: ${widget.model.cylinderSize.name}"),
initialValue: model.deliveredQuantity?.toString() ?? "0", Text("Cylinder Type: ${widget.model.cylinderType.name}"),
textAlign: TextAlign.center, ],
// controller: deliveredQuantityController,
style: Theme.of(context).textTheme.subtitle1,
// validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
textInputType: TextInputType.number,
// onSaved: (value) {
// print("value:$value");
// deliveredQuantity = double.tryParse(value) ?? 0;
// print("valueAfter:$value");
// // _currentDetails?.deliveredQuantity = double.tryParse(value);
// },
onChange: (value) {
if(value.isNotEmpty) {
model.deliveredQuantity = double.tryParse(value);
} else {
model.deliveredQuantity = 0;
}
print("value:$value");
deliveredQuantity = double.tryParse(value) ?? 0;
print("valueAfter:$value");
// _currentDetails?.deliveredQuantity = double.tryParse(value);
},
),
if (startEditing) const SizedBox(height: 8),
if (startEditing)
AButton(
text: subtitle.edit,
onPressed: () {
// print("deliveredQuantity:$deliveredQuantity");
// if (deliveredQuantity != null) {
// model.deliveredQuantity = deliveredQuantity;
// print("deliveredQuantity:${model.deliveredQuantity}");
onPressed();
// }
},
), ),
const Divider(), if (widget.model.deliveredQuantity != null)
], Row(
children: [
const Text("Delivered Quantity: "),
Text(widget.model.deliveredQuantity.toStringAsFixed(0)),
],
),
if (startEditing) const SizedBox(height: 16),
if (startEditing) ASubTitle(subtitle.deliveredQuantity),
if (startEditing) const SizedBox(height: 4),
if (startEditing)
ATextFormField(
initialValue: widget.model.deliveredQuantity?.toString() ?? "0",
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.titleMedium,
// validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
textInputType: TextInputType.number,
onSaved: (value) {
if (value.isNotEmpty) {
widget.model.deliveredQuantity = double.tryParse(value);
} else {
widget.model.deliveredQuantity = 0;
}
},
),
if (startEditing) const SizedBox(height: 8),
if (startEditing)
AButton(
text: subtitle.edit,
onPressed: () {
_formKey.currentState?.save();
widget.onPressed();
},
),
const Divider(),
],
),
); );
} }
} }

Loading…
Cancel
Save