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);
}
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 = {
tableData: ReturnTypeOfUseWorkOrdersTableData;
weekMonday: string;
@ -161,25 +190,12 @@ export function useWoTableRowHandlers({
onRequestComplete,
onPastDueAttempt: (id: string | number) => onScheduleHighlight(id),
onReorder: reorderRows,
onDragStart: (id: string | number) => {
dragStateRef.current = { dragId: id, overId: null };
setDragViz({ dragId: id, overId: null });
},
onDragOver: (id: string | number) => {
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,
...createDragHandlers({
dragState: dragStateRef,
setDragViz,
reorderRows,
endDrag,
}),
}),
[
tableData,