-
Notifications
You must be signed in to change notification settings - Fork 0
Refactor annotation groups #563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop-annotation-service
Are you sure you want to change the base?
Changes from 27 commits
cf2d072
edf8ab0
2dd3c82
be5dd36
21139d0
9b49968
951ce82
d241ab4
16940ae
b96499c
455f90a
bee5af2
aa379ae
3d9643f
d59c816
58be698
079385b
01750d4
79d7877
2c6a2c7
8c0350f
ed85c4d
244efd9
6a9566c
46f2f94
e66bd44
075847f
70f3eaf
da4c03b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| import { useSortable } from "@dnd-kit/sortable"; | ||
| import { CSS } from "@dnd-kit/utilities"; | ||
| import { IAnnotationGroup, ILayer } from "@visian/ui-shared"; | ||
| import { observer } from "mobx-react-lite"; | ||
|
|
||
| import { AnnotationGroupListItem } from "./group-list-item"; | ||
|
|
||
| export const DraggableAnnotationGroupListItem = observer<{ | ||
| group: IAnnotationGroup; | ||
| isActive: boolean; | ||
| isLast?: boolean; | ||
| isDragged?: boolean; | ||
| draggedLayer?: ILayer; | ||
| }>(({ group, isActive, isLast, isDragged, draggedLayer }) => { | ||
| const { attributes, listeners, setNodeRef, transform, transition } = | ||
| useSortable({ id: group.id, data: { annotationGroup: group } }); | ||
|
|
||
| const style = { | ||
| transform: CSS.Transform.toString(transform), | ||
| transition, | ||
| opacity: isDragged ? 0.3 : 1, | ||
| }; | ||
TimRiedel marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| return ( | ||
| <div ref={setNodeRef} style={style} {...attributes} {...listeners}> | ||
| <AnnotationGroupListItem | ||
| group={group} | ||
| isActive={isActive} | ||
| isLast={isLast} | ||
| draggedLayer={draggedLayer} | ||
| /> | ||
| </div> | ||
| ); | ||
| }); | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| import { useSortable } from "@dnd-kit/sortable"; | ||
| import { CSS } from "@dnd-kit/utilities"; | ||
| import { ILayer } from "@visian/ui-shared"; | ||
| import { observer } from "mobx-react-lite"; | ||
|
|
||
| import { LayerListItem } from "./layer-list-item"; | ||
|
|
||
| export const DraggableLayerListItem = observer<{ | ||
| layer: ILayer; | ||
| isActive?: boolean; | ||
| isLast?: boolean; | ||
| isDragged?: boolean; | ||
| }>(({ layer, isActive, isLast, isDragged }) => { | ||
| const { attributes, listeners, setNodeRef, transform, transition } = | ||
| useSortable({ | ||
| id: layer.id, | ||
| data: { layer }, | ||
| }); | ||
|
|
||
| const style = { | ||
| transform: CSS.Transform.toString(transform), | ||
| transition, | ||
| opacity: isDragged ? 0.3 : 1, | ||
|
||
| }; | ||
|
|
||
| return ( | ||
| <div ref={setNodeRef} style={style} {...attributes} {...listeners}> | ||
| <LayerListItem layer={layer} isActive={isActive} isLast={isLast} /> | ||
| </div> | ||
| ); | ||
| }); | ||
Uh oh!
There was an error while loading. Please reload this page.