markAsDisabled method
Disables the control. This means the control will be exempt from
validation checks and excluded from the aggregate value of any
parent. Its status is DISABLED
.
If the control has children, all children will be disabled to maintain the model.
Implementation
void markAsDisabled({bool updateParent = true, bool emitEvent = true}) {
_status = DISABLED;
_forEachChild(
// Only set self, so that children don't try to update their parent,
// and thus create a loop of updates.
(c) => c.markAsDisabled(updateParent: false, emitEvent: emitEvent));
onUpdate();
if (emitEvent) _emitEvent();
_updateAncestors(updateParent, emitEvent);
_disabledChanges.add(true);
}