fix(workorders): satisfy SH-356 maintainability gate

This commit is contained in:
Codex Review Integration 2026-09-16 14:30:39 -03:00
parent 49be7ffbc6
commit 96a066e98f

View file

@ -32,6 +32,35 @@ function revealOrNotifyScheduledDay(args: {
revealScheduledRow(id); revealScheduledRow(id);
} }
type DragHandlersArgs = Pick<
ReturnTypeOfUseWorkOrdersTableData,
"dragState" | "setDragViz" | "reorderRows" | "endDrag"
>;
function createDragHandlers({ dragState, setDragViz, reorderRows, endDrag }: DragHandlersArgs) {
return {
onDragStart: (id: string | number) => {
dragState.current = { dragId: id, overId: null };
setDragViz({ dragId: id, overId: null });
},
onDragOver: (id: string | number) => {
const did = dragState.current.dragId;
if (did && did !== id && dragState.current.overId !== id) {
dragState.current.overId = id;
setDragViz((v) => ({ ...v, overId: id }));
}
},
onDrop: () => {
const { dragId, overId } = dragState.current;
if (dragId && overId) {
reorderRows(dragId, overId);
}
endDrag();
},
onDragEnd: endDrag,
};
}
type UseWoTableRowHandlersOptions = { type UseWoTableRowHandlersOptions = {
tableData: ReturnTypeOfUseWorkOrdersTableData; tableData: ReturnTypeOfUseWorkOrdersTableData;
weekMonday: string; weekMonday: string;
@ -161,25 +190,12 @@ export function useWoTableRowHandlers({
onRequestComplete, onRequestComplete,
onPastDueAttempt: (id: string | number) => onScheduleHighlight(id), onPastDueAttempt: (id: string | number) => onScheduleHighlight(id),
onReorder: reorderRows, onReorder: reorderRows,
onDragStart: (id: string | number) => { ...createDragHandlers({
dragStateRef.current = { dragId: id, overId: null }; dragState: dragStateRef,
setDragViz({ dragId: id, overId: null }); setDragViz,
}, reorderRows,
onDragOver: (id: string | number) => { endDrag,
const did = dragStateRef.current.dragId; }),
if (did && did !== id && dragStateRef.current.overId !== id) {
dragStateRef.current.overId = id;
setDragViz((v) => ({ ...v, overId: id }));
}
},
onDrop: () => {
const { dragId, overId } = dragStateRef.current;
if (dragId && overId) {
reorderRows(dragId, overId);
}
endDrag();
},
onDragEnd: endDrag,
}), }),
[ [
tableData, tableData,