mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-10-04 18:22:05 +00:00
fix(workorders): satisfy SH-356 maintainability gate
This commit is contained in:
parent
49be7ffbc6
commit
96a066e98f
1 changed files with 35 additions and 19 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue