mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-09-30 08:03:13 +00:00
fix(work-orders): restore AAP span grip while keeping keyboard reorder
This commit is contained in:
parent
370b2a68ad
commit
9f9aa5c824
2 changed files with 8 additions and 26 deletions
|
|
@ -7,13 +7,6 @@ type WoTableRowReorderHandleProps = {
|
|||
onArrowReorder: (delta: -1 | 1) => void;
|
||||
};
|
||||
|
||||
function gripCursor(disabled: boolean, isDragging: boolean): string {
|
||||
if (disabled) {
|
||||
return "default";
|
||||
}
|
||||
return isDragging ? "grabbing" : "grab";
|
||||
}
|
||||
|
||||
export function WoTableRowReorderHandle({
|
||||
disabled,
|
||||
isDragging,
|
||||
|
|
@ -21,27 +14,15 @@ export function WoTableRowReorderHandle({
|
|||
onArrowReorder,
|
||||
}: WoTableRowReorderHandleProps) {
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
disabled={disabled}
|
||||
<span
|
||||
role="button"
|
||||
aria-disabled={disabled}
|
||||
tabIndex={disabled ? -1 : 0}
|
||||
aria-label={woNumber ? `Reorder work order ${woNumber}` : "Reorder work order"}
|
||||
className="flex items-center justify-center bg-transparent p-0"
|
||||
className="flex items-center justify-center"
|
||||
style={{
|
||||
appearance: "none",
|
||||
display: "inline-flex",
|
||||
boxSizing: "border-box",
|
||||
verticalAlign: "middle",
|
||||
cursor: gripCursor(disabled, isDragging),
|
||||
cursor: isDragging ? "grabbing" : "grab",
|
||||
color: "var(--color-text-muted)",
|
||||
border: "none",
|
||||
background: "transparent",
|
||||
padding: 0,
|
||||
margin: 0,
|
||||
lineHeight: 0,
|
||||
font: "inherit",
|
||||
minWidth: 0,
|
||||
minHeight: 0,
|
||||
}}
|
||||
onClick={(event) => event.stopPropagation()}
|
||||
onKeyDown={(event) => {
|
||||
|
|
@ -54,6 +35,6 @@ export function WoTableRowReorderHandle({
|
|||
}}
|
||||
>
|
||||
<GripVertical size={14} aria-hidden />
|
||||
</button>
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,7 +126,8 @@ describe("WoTableRow keyboard reorder", () => {
|
|||
renderRow(row, [row], handlers({ onReorder }));
|
||||
|
||||
const grip = screen.getByRole("button", { name: "Reorder work order WO-1" });
|
||||
expect(grip).toBeDisabled();
|
||||
expect(grip).toHaveAttribute("aria-disabled", "true");
|
||||
expect(grip).toHaveAttribute("tabindex", "-1");
|
||||
fireEvent.keyDown(grip, { key: "ArrowDown" });
|
||||
expect(onReorder).not.toHaveBeenCalled();
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue