@@ -102,7 +102,11 @@ ${markdownStyle}
102
102
body {
103
103
font-family: '${ fontFamily . join ( "','" ) } ';
104
104
font-size: ${ fontSize } px;
105
- ${ scrollPastEnd ? 'padding-bottom: 90vh;' : '' }
105
+ ${ scrollPastEnd ? `
106
+ padding-bottom: 90vh;
107
+ box-sizing: border-box;
108
+ `
109
+ : '' }
106
110
${ optimizeOverflowScroll ? 'height: 100%;' : '' }
107
111
}
108
112
@media print {
@@ -611,7 +615,7 @@ export default class MarkdownPreview extends React.Component {
611
615
612
616
// Should scroll to top after selecting another note
613
617
if ( prevProps . noteKey !== this . props . noteKey ) {
614
- this . getWindow ( ) . scrollTo ( 0 , 0 )
618
+ this . scrollTo ( 0 , 0 )
615
619
}
616
620
}
617
621
@@ -996,7 +1000,11 @@ export default class MarkdownPreview extends React.Component {
996
1000
return this . refs . root . contentWindow
997
1001
}
998
1002
999
- scrollTo ( targetRow ) {
1003
+ /**
1004
+ * @public
1005
+ * @param {Number } targetRow
1006
+ */
1007
+ scrollToRow ( targetRow ) {
1000
1008
const blocks = this . getWindow ( ) . document . querySelectorAll (
1001
1009
'body>[data-line]'
1002
1010
)
@@ -1006,12 +1014,21 @@ export default class MarkdownPreview extends React.Component {
1006
1014
const row = parseInt ( block . getAttribute ( 'data-line' ) )
1007
1015
if ( row > targetRow || index === blocks . length - 1 ) {
1008
1016
block = blocks [ index - 1 ]
1009
- block != null && this . getWindow ( ) . scrollTo ( 0 , block . offsetTop )
1017
+ block != null && this . scrollTo ( 0 , block . offsetTop )
1010
1018
break
1011
1019
}
1012
1020
}
1013
1021
}
1014
1022
1023
+ /**
1024
+ * `document.body.scrollTo`
1025
+ * @param {Number } x
1026
+ * @param {Number } y
1027
+ */
1028
+ scrollTo ( x , y ) {
1029
+ this . getWindow ( ) . document . body . scrollTo ( x , y )
1030
+ }
1031
+
1015
1032
preventImageDroppedHandler ( e ) {
1016
1033
e . preventDefault ( )
1017
1034
e . stopPropagation ( )
@@ -1054,7 +1071,7 @@ export default class MarkdownPreview extends React.Component {
1054
1071
)
1055
1072
1056
1073
if ( targetElement != null ) {
1057
- this . getWindow ( ) . scrollTo ( 0 , targetElement . offsetTop )
1074
+ this . scrollTo ( 0 , targetElement . offsetTop )
1058
1075
}
1059
1076
return
1060
1077
}
0 commit comments