fix(ui): ts issues

This commit is contained in:
psychedelicious
2024-11-05 20:36:34 +10:00
parent b5cadd9a1a
commit cfadb313d2
3 changed files with 22 additions and 8 deletions

View File

@@ -89,7 +89,11 @@ export const DndDropTarget = memo(<T extends AnyDndTarget>(props: Props<T>) => {
dropTargetForElements({
element,
canDrop: ({ source }) => {
return dndTarget.isValid({ sourceData: source.data, targetData: dndTargetData, dispatch, getState });
// TS cannot infer `dndTargetData` but we've just checked it.
// TODO(psyche): Figure out how to satisfy TS.
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
const arg = { sourceData: source.data, targetData: dndTargetData, dispatch, getState } as any;
return dndTarget.isValid(arg);
},
onDragEnter: () => {
setDndState('over');
@@ -101,7 +105,11 @@ export const DndDropTarget = memo(<T extends AnyDndTarget>(props: Props<T>) => {
}),
monitorForElements({
canMonitor: ({ source }) => {
return dndTarget.isValid({ sourceData: source.data, targetData: dndTargetData, dispatch, getState });
// TS cannot infer `dndTargetData` but we've just checked it.
// TODO(psyche): Figure out how to satisfy TS.
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
const arg = { sourceData: source.data, targetData: dndTargetData, dispatch, getState } as any;
return dndTarget.isValid(arg);
},
onDragStart: () => {
setDndOrigin('element');

View File

@@ -475,9 +475,10 @@ export const isValidDrop = (arg: {
if (!dndTarget.typeGuard(arg.targetData)) {
continue;
}
// TS cannot infer `targetData` but we've just checked it. This is safe.
// TS cannot infer `arg.targetData` but we've just checked it.
// TODO(psyche): Figure out how to satisfy TS.
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
if (!dndTarget.isValid(arg)) {
if (!dndTarget.isValid(arg as any)) {
return true;
}
}

View File

@@ -44,15 +44,20 @@ export const useDndMonitor = () => {
if (!dndTarget.typeGuard(targetData)) {
continue;
}
// TS cannot infer `targetData` but we've just checked it. This is safe.
const arg = { sourceData, targetData, dispatch, getState };
// TS cannot infer `arg.targetData` but we've just checked it.
// TODO(psyche): Figure out how to satisfy TS.
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
const arg = { sourceData, targetData: targetData as any, dispatch, getState };
if (!dndTarget.isValid(arg)) {
if (!dndTarget.isValid(arg as any)) {
continue;
}
log.debug(parseify({ sourceData, targetData }), 'Handling dnd drop');
dndTarget.handler(arg);
// TS cannot infer `arg.targetData` but we've just checked it.
// TODO(psyche): Figure out how to satisfy TS.
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
dndTarget.handler(arg as any);
return;
}