# SyGridDropZoneInput

SyGridDropZoneInput의 필드와 허용 값, 이 타입을 사용하는 API입니다.

Canonical: https://grid.syidax.com/ko/docs/types/SyGridDropZoneInput/

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

## 타입 정의

물음표(?)는 선택 항목이고 readonly는 직접 변경하지 않는 값입니다. 유니온(|)은 허용된 형태 중 하나를 뜻합니다. 함수는 해당 시점에 Grid가 호출할 콜백입니다.

```typescript
export interface SyGridDropZoneInput {
  readonly id: string;
  readonly kind: 'grid' | 'external';
  readonly element?: HTMLElement | string;
  readonly grid?: HTMLElement;
  readonly accepting?: boolean;
  readonly schema?: {
    readonly id: string;
    readonly fields: ReadonlyArray<{ readonly field: string; readonly type: 'string' | 'number' | 'boolean' | 'date' | 'any'; readonly required: boolean }>;
    readonly allowExtraFields: boolean;
  };
  readonly permit?: (request: {
    readonly sourceZoneId: string;
    readonly targetZoneId: string;
    readonly mode: 'move' | 'copy';
    readonly rowKey: string;
    readonly row: unknown;
    readonly context: unknown;
  }) => { readonly allow: true } | { readonly allow: false; readonly detail: string };
  readonly adapt?: (row: unknown, sourceZoneId: string) => unknown;
  readonly consumes?: boolean;
  readonly mode?: 'move' | 'copy';
  readonly duplicateIds?: 'refuse' | 'skip' | 'replace';
  readonly atomicity?: 'all-or-nothing' | 'best-effort';
  readonly onDrop?: (target: unknown, commit: unknown) => void;
}
```

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

## 이 타입을 사용하는 API

- [registerDropZone](https://grid.syidax.com/ko/docs/methods/registerDropZone.md) — 행을 받을 드롭 영역을 등록하고 등록 결과를 반환합니다.

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

## 이 타입을 포함하는 계약

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