From a2c5920d4d418acca0ed875623832e67a5120838 Mon Sep 17 00:00:00 2001 From: Parthiv Shah Date: Tue, 17 Jul 2018 15:32:41 +0530 Subject: [PATCH] Updated Konva.d.ts Added KonvaNodeEventMap to determine event type correctly based on eventString similar to lib.es6.d.ts. and added missing type definitions. --- konva.d.ts | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/konva.d.ts b/konva.d.ts index 9f9cbba5..ada9accb 100644 --- a/konva.d.ts +++ b/konva.d.ts @@ -6,7 +6,7 @@ declare namespace Konva { var DD: any; type HandlerFunc = ( - e: { target: Konva.Shape; evt: Event; currentTarget: Konva.Node } + e: { target: Konva.Shape; evt: Event; currentTarget: Konva.Node; cancelBubble: boolean } ) => void; type globalCompositeOperationType = @@ -96,7 +96,48 @@ declare namespace Konva { start(): Animation; stop(): Animation; } + + interface KonvaNodeEventMap extends KonvaStageEventMap { + 'mouseover': MouseEvent, + 'mouseout': MouseEvent, + 'mousemove': MouseEvent, + 'mouseleave': MouseEvent, + 'mouseenter': MouseEvent, + 'mousedown': MouseEvent, + 'mouseup': MouseEvent, + 'wheel': WheelEvent, + 'contextmenu': PointerEvent, + 'click': MouseEvent, + 'dblclick': MouseEvent, + 'touchstart': TouchEvent, + 'touchmove': TouchEvent, + 'touchend': TouchEvent, + 'tap': Event, + 'dbltap': Event, + 'dragstart': DragEvent, + 'dragmove': DragEvent, + 'dragend': DragEvent, + 'dragover': DragEvent, + 'drop': DragEvent, + } + interface KonvaStageEventMap { + 'contentMouseover': MouseEvent, + 'contentMousemove': MouseEvent, + 'contentMouseout': MouseEvent, + 'contentMousedown': MouseEvent, + 'contentMouseup': MouseEvent, + 'contentWheel': WheelEvent, + 'contentContextmenu': PointerEvent, + 'contentClick': MouseEvent, + 'contentDblclick': MouseEvent, + 'contentTouchstart': TouchEvent, + 'contentTouchmove': TouchEvent, + 'contentTouchend': TouchEvent, + 'contentTap': Event, + 'contentDblTap': Event, + } + interface NodeConfig { x?: number; y?: number; @@ -205,13 +246,14 @@ declare namespace Konva { getAbsolutePosition(top?: Container): Vector2d; getAbsoluteTransform(top?: Container): Transform; getAbsoluteZIndex(): number; + getAbsoluteScale(): Vector2d; getAncestors(): Collection; getAttr(attr: string): any; getAttrs(): NodeConfig; // CHECK getCanvas(): Canvas; getClassName(): string; - getClientRect(): SizeConfig; + getClientRect(attrs? : { skipTransform?: boolean, relativeTo?: object }): SizeConfig; getContent(): HTMLDivElement; getDepth(): number; getHeight(): number; @@ -268,6 +310,7 @@ declare namespace Konva { offsetX(offsetX: number): this; offsetY(): number; offsetY(offsetY: number): this; + on(evtStr: K, handler: (e: { target: Konva.Shape; evt: KonvaNodeEventMap[K]; currentTarget: Konva.Node; cancelBubble: boolean }) => void): this; on(evtStr: string, handler: HandlerFunc): this; opacity(): number; opacity(opacity: number): this; @@ -897,6 +940,7 @@ declare namespace Konva { padding?: number; lineHeight?: number; wrap?: string; + ellipsis?: boolean; } class Text extends Shape {