@@ -97,7 +97,7 @@ export class EditorHelper {
9797 private createSlide ( slide : HTMLElement ) : Promise < void > {
9898 return new Promise < void > ( async ( resolve ) => {
9999 try {
100- if ( ! slide ) {
100+ if ( ! slide || ! slide . nodeName ) {
101101 resolve ( ) ;
102102 return ;
103103 }
@@ -111,7 +111,7 @@ export class EditorHelper {
111111 this . deckBusyService . busy ( true ) ;
112112
113113 const slidePost : Slide = {
114- slide_template : SlideTemplate . TITLE
114+ slide_template : this . getSlideTemplate ( slide )
115115 } ;
116116
117117 const content : string = await this . cleanSlideContent ( slide . innerHTML ) ;
@@ -172,7 +172,7 @@ export class EditorHelper {
172172 private updateSlide ( slide : HTMLElement ) : Promise < void > {
173173 return new Promise < void > ( async ( resolve ) => {
174174 try {
175- if ( ! slide ) {
175+ if ( ! slide || ! slide . nodeName ) {
176176 resolve ( ) ;
177177 return ;
178178 }
@@ -185,7 +185,7 @@ export class EditorHelper {
185185
186186 const slideUpdate : Slide = {
187187 slide_id : slide . getAttribute ( 'slide_id' ) ,
188- slide_template : SlideTemplate . TITLE
188+ slide_template : this . getSlideTemplate ( slide )
189189 } ;
190190
191191 const content : string = await this . cleanSlideContent ( slide . innerHTML ) ;
@@ -286,4 +286,12 @@ export class EditorHelper {
286286 resolve ( result ) ;
287287 } ) ;
288288 }
289+
290+ private getSlideTemplate ( slide : HTMLElement ) : SlideTemplate {
291+ const templateKey : string = Object . keys ( SlideTemplate ) . find ( ( key : string ) => {
292+ return slide . nodeName . toLowerCase ( ) . indexOf ( SlideTemplate [ key ] ) > - 1
293+ } ) ;
294+
295+ return SlideTemplate [ templateKey ] ;
296+ }
289297}
0 commit comments