valor-software/ng2-dragula

View on GitHub
libs/ng2-dragula/src/DrakeWithModels.ts

Summary

Maintainability
A
35 mins
Test Coverage
import { Drake } from 'dragula';

export interface DrakeWithModels extends Drake {
  models?: any[][];

  on(event: 'drag', listener: (el: Element, source: Element) => void): Drake;
  on(event: 'dragend', listener: (el: Element) => void): Drake;
  on(
    event: 'drop',
    listener: (
      el: Element,
      target: Element,
      source: Element,
      sibling: Element
    ) => void
  ): Drake;
  on(
    event: 'cancel' | 'remove' | 'shadow' | 'over' | 'out',
    listener: (el: Element, container: Element, source: Element) => void
  ): Drake;
  on(
    event: 'cloned',
    listener: (
      clone: Element,
      original: Element,
      type: 'mirror' | 'copy'
    ) => void
  ): Drake;

  on(
    event: 'dropModel',
    listener: ([
      el,
      target,
      source,
      sibling,
      item,
      sourceModel,
      targetModel,
      sourceIndex,
      targetIndex,
    ]: [
      Element,
      Element,
      Element,
      Element,
      any,
      any[],
      any[],
      number,
      number
    ]) => void
  ): Drake;

  on(
    event: 'removeModel',
    listener: ([el, container, source, item, sourceModel, sourceIndex]: [
      Element,
      Element,
      Element,
      any,
      any[],
      number
    ]) => void
  ): Drake;
}