Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Commit efc21ad

Browse files
feat: dynamic node name for persistence
1 parent 5811ab5 commit efc21ad

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

studio/src/app/helpers/editor/editor.helper.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)