Move SSD group deletion mutation to typed Kotlin
ober
4b29caad5a792127d50caca22f140aa0555a6ddd
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -563,6 +563,7 @@ ssdSessionCellIdSet ssdSessionFindCellById ssdSessionCellsByIds ssdSessionBBoxForCellIds ssdSessionRecomputeGroup + ssdSessionSuppressGroupAsDeleted appendUniqueCellIdsToGroup ssdSessionAddDetectedCellsInsideArea ssdSessionAddOcrWords ssdSessionBoundedSsdArea ssdAreaSelectionTooSmall @@ -1033,6 +1034,13 @@ (if (= (list-size groupCells) (int32 0)) (SsdGroup-count-set! group (SsdGroup-count group)) (SsdGroup-bbox-set! group (bboxForMutableCells groupCells)))))) + (def (ssdSessionSuppressGroupAsDeleted (session : SsdSession) + (group : SsdGroup)) : Unit + (begin + (mutable-list-remove! (SsdSession-groups session) group) + (SsdGroup-status-set! group "suppressed") + (SsdGroup-notes-set! group "Deleted on Android") + (mutable-list-add! (SsdSession-suppressedGroups session) group))) (def (maxCellIdNumber (cells : (MutableList SsdCell))) : Int32 (for/fold ((maxId (int32 0))) ((i (in-range (int32 0) (list-size cells)))) @@ -7555,10 +7563,7 @@ " val group = selectedGroup()" " if (ssdGroupMissing(group)) return" " val deletedGroup = ssdGroupOrEmpty(group)" - " session.groups.remove(deletedGroup)" - " deletedGroup.status = \"suppressed\"" - " deletedGroup.notes = \"Deleted on Android\"" - " session.suppressedGroups.add(deletedGroup)" + " ssdSessionSuppressGroupAsDeleted(session, deletedGroup)" " truthStore.appendEvent(\"group_deleted\", session)" " selectedGroupId = ssdSessionSelectedGroupId(session, null)" " reviewView.selectedGroupId = selectedGroupId"