This repository was archived by the owner on Feb 6, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +21
-2
lines changed
src/components/slides/deckdeckgo-slide-code Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ div.deckgo-slide-code-container {
1010 width : 100% ;
1111 overflow-y : auto ;
1212
13+ scroll-behavior : smooth ;
14+
1315 & .deckgo-slide-code-container-mobile {
1416 overflow-y : hidden ;
1517 }
Original file line number Diff line number Diff line change @@ -81,8 +81,25 @@ export class DeckdeckgoSlideCode implements DeckdeckgoSlide {
8181 private scrollToNext ( enter : boolean ) : Promise < boolean > {
8282 const element : HTMLElement = this . el . shadowRoot . querySelector ( 'deckgo-highlight-code' ) ;
8383
84- if ( element && element . hasOwnProperty ( 'scrollToNext' ) ) {
85- return ( element as any ) . scrollToNext ( enter ) ;
84+ if ( element && element . hasOwnProperty ( 'findNextAnchor' ) ) {
85+ return new Promise < boolean > ( async ( resolve ) => {
86+ const nextAnchor : any = await ( element as any ) . findNextAnchor ( enter ) ;
87+
88+ const container : HTMLElement = this . el . shadowRoot . querySelector ( 'div.deckgo-slide-code-container' ) ;
89+
90+ if ( nextAnchor && container ) {
91+ const previousScrollTop : number = container . scrollTop ;
92+ container . scrollTop = nextAnchor . offsetTop ;
93+
94+ if ( element . hasOwnProperty ( 'zoomCode' ) ) {
95+ await ( element as any ) . zoomCode ( nextAnchor . hasLineZoom ) ;
96+ }
97+
98+ resolve ( nextAnchor . offsetTop === 0 && previousScrollTop === 0 ) ;
99+ } else {
100+ resolve ( true ) ;
101+ }
102+ } ) ;
86103 } else {
87104 return new Promise < boolean > ( ( resolve ) => {
88105 resolve ( true ) ;
You can’t perform that action at this time.
0 commit comments