fix(shortcut): h
This commit is contained in:
@@ -1594,6 +1594,50 @@ const LabelPage = ({
|
||||
})
|
||||
}, [activeImage, labelData])
|
||||
|
||||
const handleToggleHideSelectionOrAll = useCallback(() => {
|
||||
const selectedIds =
|
||||
useObjectStore.getState().selectedPath[activeImage] || []
|
||||
if (!selectedIds.length) {
|
||||
handleToggleHideAllObjects()
|
||||
return
|
||||
}
|
||||
|
||||
const activeImageLabel = labelData.get(activeImage)
|
||||
if (!activeImageLabel?.size) {
|
||||
return
|
||||
}
|
||||
|
||||
const selectedIdSet = new Set(selectedIds)
|
||||
const selectedObjects: Array<{
|
||||
operationId: string
|
||||
objectId: number
|
||||
}> = []
|
||||
|
||||
activeImageLabel.forEach((paths, operationId) => {
|
||||
paths.forEach(([objectId]) => {
|
||||
if (!selectedIdSet.has(objectId)) return
|
||||
selectedObjects.push({
|
||||
operationId,
|
||||
objectId,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
if (!selectedObjects.length) {
|
||||
return
|
||||
}
|
||||
|
||||
const { pathStatus } = useObjectStore.getState()
|
||||
const areAllSelectedObjectsHidden = selectedObjects.every(
|
||||
({ objectId }) => pathStatus[activeImage + objectId]?.HIDE ?? false
|
||||
)
|
||||
const nextHide = !areAllSelectedObjectsHidden
|
||||
|
||||
selectedObjects.forEach(({ operationId, objectId }) => {
|
||||
toggleObjectHideByShortcut(activeImage, operationId, objectId, nextHide)
|
||||
})
|
||||
}, [activeImage, handleToggleHideAllObjects, labelData])
|
||||
|
||||
const rerenderActiveImageByLabel = useCallback(
|
||||
(
|
||||
imageId: string,
|
||||
@@ -2185,7 +2229,7 @@ const LabelPage = ({
|
||||
|
||||
if (!e.ctrlKey && !e.metaKey && !e.altKey && lowerKey === "h") {
|
||||
e.preventDefault()
|
||||
handleToggleHideAllObjects()
|
||||
handleToggleHideSelectionOrAll()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -2487,6 +2531,7 @@ const LabelPage = ({
|
||||
focusInput,
|
||||
getOperationSchema,
|
||||
handleToggleHideAllObjects,
|
||||
handleToggleHideSelectionOrAll,
|
||||
handleMergeSelectedObjects,
|
||||
handleContinueSelectedPolygon,
|
||||
handleShortcut,
|
||||
|
||||
Reference in New Issue
Block a user