Continue trying to fix issue with edited items not notifying parent.

This commit is contained in:
Hyperling 2025-03-07 13:26:02 -07:00
parent 88d57e217f
commit 8d7591b766

View File

@ -473,69 +473,71 @@ class _TrackedItemInputDialogState extends State<TrackedItemInputDialog> {
onPressed: () { onPressed: () {
if (_formKey.currentState!.validate()) { if (_formKey.currentState!.validate()) {
_formKey.currentState!.save(); _formKey.currentState!.save();
setState(() { setState(
switch (_type) { () {
case ItemType.expense: switch (_type) {
Expense expense = Expense( case ItemType.expense:
id: _id, Expense expense = Expense(
name: _name, id: _id,
amount: _amount, name: _name,
frequency: _freq, amount: _amount,
description: _desc, frequency: _freq,
); description: _desc,
if (_id != null) {
DatabaseHelper.instance.updateExpense(
expense,
); );
} else { if (_id != null) {
DatabaseHelper.instance.addExpense( DatabaseHelper.instance.updateExpense(
expense, expense,
);
} else {
DatabaseHelper.instance.addExpense(
expense,
);
}
break;
case ItemType.income:
Income income = Income(
id: _id,
name: _name,
amount: _amount,
frequency: _freq,
description: _desc,
); );
} if (_id != null) {
break; DatabaseHelper.instance.updateIncome(
case ItemType.income: income,
Income income = Income( );
id: _id, } else {
name: _name, DatabaseHelper.instance.addIncome(
amount: _amount, income,
frequency: _freq, );
description: _desc, }
); break;
if (_id != null) { case ItemType.asset:
DatabaseHelper.instance.updateIncome( Asset asset = Asset(
income, id: _id,
name: _name,
amount: _amount,
description: _desc,
); );
} else { if (_id != null) {
DatabaseHelper.instance.addIncome( DatabaseHelper.instance.updateAsset(
income, asset,
);
} else {
DatabaseHelper.instance.addAsset(
asset,
);
}
break;
default:
throw UnimplementedError(
"No code for type ${_type!.title}",
); );
} }
break; widget.notifyParent();
case ItemType.asset: Navigator.of(context).pop();
Asset asset = Asset( },
id: _id, );
name: _name,
amount: _amount,
description: _desc,
);
if (_id != null) {
DatabaseHelper.instance.updateAsset(
asset,
);
} else {
DatabaseHelper.instance.addAsset(
asset,
);
}
break;
default:
throw UnimplementedError(
"No code for type ${_type!.title}",
);
}
});
widget.notifyParent();
Navigator.of(context).pop();
} }
}, },
icon: Icon(Icons.save), icon: Icon(Icons.save),