From a0561540a65eecf0aa2139052f59e49863c9f17c Mon Sep 17 00:00:00 2001 From: Elliot Wesoff Date: Thu, 28 Sep 2017 15:56:08 +0200 Subject: [PATCH] fix: Add startingRect scroll position to cloned node. (#66) --- src/interfaces/boundingRectangle.interface.ts | 2 ++ src/resizable.directive.ts | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/interfaces/boundingRectangle.interface.ts b/src/interfaces/boundingRectangle.interface.ts index 18c07f5..09b7030 100644 --- a/src/interfaces/boundingRectangle.interface.ts +++ b/src/interfaces/boundingRectangle.interface.ts @@ -8,4 +8,6 @@ export interface BoundingRectangle { right: number; height?: number; width?: number; + scrollTop?: number; + scrollLeft?: number; } \ No newline at end of file diff --git a/src/resizable.directive.ts b/src/resizable.directive.ts index baab1aa..b980cdd 100644 --- a/src/resizable.directive.ts +++ b/src/resizable.directive.ts @@ -91,7 +91,9 @@ function getElementRect(element: ElementRef, ghostElementPositioning: string): B top: boundingRect.top, bottom: boundingRect.bottom, left: boundingRect.left, - right: boundingRect.right + right: boundingRect.right, + scrollTop: element.nativeElement.scrollTop, + scrollLeft: element.nativeElement.scrollLeft }; } } @@ -493,6 +495,8 @@ export class Resizable implements OnInit, OnDestroy, AfterViewInit { this.renderer.setStyle(currentResize.clonedNode, 'width', `${currentResize.startingRect.width}px`); this.renderer.setStyle(currentResize.clonedNode, 'cursor', getResizeCursor(currentResize.edges, resizeCursors)); this.renderer.addClass(currentResize.clonedNode, RESIZE_GHOST_ELEMENT_CLASS); + currentResize.clonedNode.scrollTop = currentResize.startingRect.scrollTop; + currentResize.clonedNode.scrollLeft = currentResize.startingRect.scrollLeft; } this.zone.run(() => { this.resizeStart.emit({