opslaanNodeResultaten method
- String nodeId,
- Invoer invoer,
- Resultaten resultaten
Sla invoer + resultaten op voor nodeId.
Nakomelingen worden ongeldig verklaard (hun upstream-Z is veranderd).
Implementation
Future<void> opslaanNodeResultaten(
String nodeId,
Invoer invoer,
Resultaten resultaten,
) async {
final idx = _nodeIdx(nodeId);
if (idx < 0) return;
final updated = List<LeidingNode>.from(_boom!.nodes);
// Sla invoer op ZONDER auto-berekende upstream-Z (die wordt herberekend).
updated[idx] = updated[idx].copyWith(
invoer: invoer.copyWith(
clearZUpstream: true,
bronimpedantieActief: false,
),
resultaten: resultaten,
);
// Nakomelingen ongeldig maken.
for (final dId in _alleNakomelingsIds(nodeId)) {
final dIdx = updated.indexWhere((n) => n.id == dId);
if (dIdx >= 0) {
updated[dIdx] = updated[dIdx].copyWith(clearResultaten: true);
}
}
_boom = _boom!.copyWith(nodes: updated);
notifyListeners();
await _slaOp();
}