From ce5a16914c5ad3a50525f86afdac5c4628b4bd6f Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 6 Apr 2022 14:14:03 +0800 Subject: [PATCH] ui: fix dnd --- .../components/autocomplete/ProblemSelectAutoComplete.tsx | 2 +- .../components/autocomplete/UserSelectAutoComplete.tsx | 2 +- .../components/autocomplete/components/AutoComplete.tsx | 8 ++++---- .../autocomplete/components/ProblemSelectAutoComplete.tsx | 4 ++-- packages/ui-default/package.json | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/ui-default/components/autocomplete/ProblemSelectAutoComplete.tsx b/packages/ui-default/components/autocomplete/ProblemSelectAutoComplete.tsx index 62abdb568..55a4ffe15 100644 --- a/packages/ui-default/components/autocomplete/ProblemSelectAutoComplete.tsx +++ b/packages/ui-default/components/autocomplete/ProblemSelectAutoComplete.tsx @@ -11,7 +11,7 @@ const Component = React.forwardRef((props, ref) => { i.trim())} + selectedKeys={value.split(',').map((i) => i.trim()).filter((i) => i)} onChange={(v) => { setValue(v); props.onChange(v); diff --git a/packages/ui-default/components/autocomplete/UserSelectAutoComplete.tsx b/packages/ui-default/components/autocomplete/UserSelectAutoComplete.tsx index 63bf13375..c02eee17c 100644 --- a/packages/ui-default/components/autocomplete/UserSelectAutoComplete.tsx +++ b/packages/ui-default/components/autocomplete/UserSelectAutoComplete.tsx @@ -11,7 +11,7 @@ const Component = React.forwardRef((props, ref) => { i.trim())} + selectedKeys={value.split(',').map((i) => i.trim()).filter((i) => i)} onChange={(v) => { setValue(v); props.onChange(v); diff --git a/packages/ui-default/components/autocomplete/components/AutoComplete.tsx b/packages/ui-default/components/autocomplete/components/AutoComplete.tsx index 02dd6358c..5b79bc4cc 100644 --- a/packages/ui-default/components/autocomplete/components/AutoComplete.tsx +++ b/packages/ui-default/components/autocomplete/components/AutoComplete.tsx @@ -58,16 +58,16 @@ function DraggableSelection({ type, id, move, children, ...props }) { const ref = useRef(null); - const [isDragging, drag] = useDrag(() => ({ + const [isDragging, drag] = useDrag<{ id: string }, any, boolean>(() => ({ type, - item: id, + item: { id }, collect: (m) => m.isDragging(), })); const [, drop] = useDrop({ accept: type, - hover: (item: string) => { + hover: (item: { id: string }) => { if (!ref.current) return; - move(item, id); + move(item.id, id); }, }); drag(drop(ref)); diff --git a/packages/ui-default/components/autocomplete/components/ProblemSelectAutoComplete.tsx b/packages/ui-default/components/autocomplete/components/ProblemSelectAutoComplete.tsx index b0eb18ad2..cd499b22d 100644 --- a/packages/ui-default/components/autocomplete/components/ProblemSelectAutoComplete.tsx +++ b/packages/ui-default/components/autocomplete/components/ProblemSelectAutoComplete.tsx @@ -10,8 +10,8 @@ const ProblemSelectAutoComplete = forwardRef, Aut cacheKey={`problem-${UiContext.domainId}`} queryItems={(query) => request.get(`/d/${UiContext.domainId}/problem/list`, { prefix: query })} // FIXME fetch items - fetchItems={() => []} - itemText={(pdoc) => `${pdoc.docId || pdoc}`} + fetchItems={(ids) => ids.map((id) => ({ docId: id, pid: id, title: id }) as any)} + itemText={(pdoc) => `${`${pdoc.docId} ${pdoc.title}`}`} itemKey={(pdoc) => `${pdoc.docId || pdoc}`} renderItem={(pdoc) => (
diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 62e8320a6..5a8d1e8d5 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.34.36", + "version": "4.34.37", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js",