@@ -459,19 +459,7 @@ export default class CanvasView extends ModuleView<Canvas> {
459
459
const frame = this . frame ?. el ;
460
460
const winEl = el ?. ownerDocument . defaultView ;
461
461
const frEl = winEl ? ( winEl . frameElement as HTMLElement ) : frame ;
462
- const frmOff = this . offset ( frEl || frame ) ;
463
- const canvasScroll = this . config . scrollableCanvas
464
- ? {
465
- scrollTop : this . el . scrollTop ,
466
- scrollLeft : this . el . scrollLeft ,
467
- }
468
- : { scrollTop : 0 , scrollLeft : 0 } ;
469
-
470
- this . frmOff = {
471
- ...frmOff ,
472
- top : frmOff . top + canvasScroll . scrollTop ,
473
- left : frmOff . left + canvasScroll . scrollLeft ,
474
- } ;
462
+ this . frmOff = this . offset ( frEl || frame ) ;
475
463
}
476
464
477
465
return this . frmOff ;
@@ -575,6 +563,23 @@ export default class CanvasView extends ModuleView<Canvas> {
575
563
} ;
576
564
}
577
565
566
+ /**
567
+ * Returns the scroll position of the canvas.
568
+ *
569
+ * If the canvas is scrollable, returns the current `scrollTop` and `scrollLeft` values.
570
+ * Otherwise, returns an object with `scrollTop` and `scrollLeft` both set to 0.
571
+ *
572
+ * @returns An object containing the vertical and horizontal scroll positions.
573
+ */
574
+ getCanvasScroll ( ) : { scrollTop : number ; scrollLeft : number } {
575
+ return this . config . scrollableCanvas
576
+ ? {
577
+ scrollTop : this . el . scrollTop ,
578
+ scrollLeft : this . el . scrollLeft ,
579
+ }
580
+ : { scrollTop : 0 , scrollLeft : 0 } ;
581
+ }
582
+
578
583
/**
579
584
* Update javascript of a specific component passed by its View
580
585
* @param {ModuleView } view Component's View
0 commit comments