# SyGridRowDragSessionReport

Fields, allowed values, and APIs that use SyGridRowDragSessionReport.

Canonical: https://grid.syidax.com/docs/types/SyGridRowDragSessionReport/

<a id="definition"></a>

## Type definition

A question mark (?) marks an optional field; readonly marks a value you should not change directly. A union (|) accepts one of the listed forms. Functions are callbacks that Grid invokes at the relevant point.

```typescript
export interface SyGridRowDragSessionReport {
  readonly enabled: boolean;
  readonly loaded: boolean;
  readonly gesture: {
    readonly phase: 'idle' | 'pending' | 'armed' | 'yielded';
    readonly pointerType: 'mouse' | 'pen' | 'touch' | null;
    readonly travelled: number;
    readonly yieldReason: string | null;
    readonly [extra: string]: unknown;
  } | null;
  readonly session: {
    readonly dragId: string;
    readonly mode: 'managed' | 'unmanaged';
    readonly phase: 'dragging' | 'ended';
    readonly item: SyGridRowDragItem;
    readonly target: SyGridRowDragTarget | null;
    readonly [extra: string]: unknown;
  } | null;
  readonly report: unknown;
  readonly events: ReadonlyArray<unknown>;
  readonly residue: ReadonlyArray<string>;
  readonly keyboard: { readonly grabbed: boolean; readonly originIndex: number; readonly currentIndex: number } | null;
  readonly zones: ReadonlyArray<string>;
  readonly lastAutoScroll: unknown;
}
```

<a id="used-by"></a>

## APIs using this type

- [getRowDragSession](https://grid.syidax.com/docs/methods/getRowDragSession.md) — Reads current row drag session progress.

<a id="parents"></a>

## Contracts containing this type

- [SyGridImperativeMethods](https://grid.syidax.com/docs/types/SyGridImperativeMethods.md)

<a id="related"></a>

## Related types

- [SyGridRowDragItem](https://grid.syidax.com/docs/types/SyGridRowDragItem.md)
- [SyGridRowDragTarget](https://grid.syidax.com/docs/types/SyGridRowDragTarget.md)
