mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-19 17:38:19 +08:00
ui: fix dnd
This commit is contained in:
1 parent
406e45975f
commit
ce5a16914c
5 files changed
+9
-9
No files matched your search
@@ -11,7 +11,7 @@ const Component = React.forwardRef<any, any>((props, ref) => {
|
||||
<ProblemSelectAutoCompleteFC
|
||||
ref={ref as any}
|
||||
height="34px"
|
||||
selectedKeys={value.split(',').map((i) => i.trim())}
|
||||
selectedKeys={value.split(',').map((i) => i.trim()).filter((i) => i)}
|
||||
onChange={(v) => {
|
||||
setValue(v);
|
||||
props.onChange(v);
|
||||
|
||||
@@ -11,7 +11,7 @@ const Component = React.forwardRef<any, any>((props, ref) => {
|
||||
<UserSelectAutoCompleteFC
|
||||
ref={ref as any}
|
||||
height="34px"
|
||||
selectedKeys={value.split(',').map((i) => i.trim())}
|
||||
selectedKeys={value.split(',').map((i) => i.trim()).filter((i) => i)}
|
||||
onChange={(v) => {
|
||||
setValue(v);
|
||||
props.onChange(v);
|
||||
|
||||
@@ -58,16 +58,16 @@ function DraggableSelection({
|
||||
type, id, move, children, ...props
|
||||
}) {
|
||||
const ref = useRef<HTMLDivElement>(null);
|
||||
const [isDragging, drag] = useDrag<string, any, boolean>(() => ({
|
||||
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));
|
||||
|
||||
+2
-2
@@ -10,8 +10,8 @@ const ProblemSelectAutoComplete = forwardRef<AutoCompleteHandle<ProblemDoc>, 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) => (
|
||||
<div className="media">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hydrooj/ui-default",
|
||||
"version": "4.34.36",
|
||||
"version": "4.34.37",
|
||||
"author": "undefined <i@undefined.moe>",
|
||||
"license": "AGPL-3.0",
|
||||
"main": "hydro.js",
|
||||
|
||||
Reference in new issue
Block a user