isCompleted property
bool
get
isCompleted
Implementation
bool get isCompleted {
bool edited = checkpointEditingStatus == CheckpointEditingStatus.completed;
bool statusIsOk =
status == ChecklistGroupStatus.completed &&
checkpointEditingStatus != CheckpointEditingStatus.editing;
bool comesInBStatusAndWithData = switch (checkpointType) {
CheckpointType.documentField =>
status == ChecklistGroupStatus.inProcess &&
isOk != null &&
refDocfieldVal1.isNotEmpty,
_ => status == ChecklistGroupStatus.inProcess && isOk != null,
};
bool editing = checkpointEditingStatus == CheckpointEditingStatus.editing;
if (edited || statusIsOk) {
switch (checkpointType) {
case CheckpointType.signature:
return signatures.isNotEmpty &&
signatures.last.content.isNotEmpty &&
signatures.last.firstName.isNotEmpty &&
signatures.last.lastName.isNotEmpty;
case CheckpointType.comment:
return commentString.isNotEmpty;
default:
break;
}
}
return edited || statusIsOk || (comesInBStatusAndWithData && !editing);
}