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

Commit 080d797

Browse files
feat: dashboard content should not be editable
1 parent c30b4eb commit 080d797

File tree

6 files changed

+16
-16
lines changed

6 files changed

+16
-16
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export class EditorHelper {
8686
return new Promise<any>(async (resolve) => {
8787
try {
8888
const slide: Slide = await this.slideService.get(deckId, slideId);
89-
const element: any = await ParseSlidesUtils.parseSlide(slide);
89+
const element: any = await ParseSlidesUtils.parseSlide(slide, true);
9090

9191
resolve(element);
9292
} catch (err) {

studio/src/app/pages/core/app-dashboard/app-dashboard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export class AppDashboard {
8585
return new Promise<DeckAndFirstSlide>(async (resolve) => {
8686
try {
8787
const slide: Slide = await this.slideService.get(deck.id, slideId);
88-
const element: any = await ParseSlidesUtils.parseSlide(slide);
88+
const element: any = await ParseSlidesUtils.parseSlide(slide, false);
8989

9090
let style: any;
9191
if (deck.data && deck.data.attributes && deck.data.attributes.style) {
@@ -94,7 +94,7 @@ export class AppDashboard {
9494
style = undefined;
9595
}
9696

97-
const background: any = await ParseBackgroundUtils.convertBackground(deck.data.background);
97+
const background: any = await ParseBackgroundUtils.convertBackground(deck.data.background, false);
9898

9999
resolve({
100100
deck: deck,

studio/src/app/pages/editor/app-editor/app-editor.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ export class AppEditor {
230230
this.style = undefined;
231231
}
232232

233-
this.background = await ParseBackgroundUtils.convertBackground(deck.data.background);
233+
this.background = await ParseBackgroundUtils.convertBackground(deck.data.background, true);
234234

235235
resolve();
236236
});

studio/src/app/utils/editor/parse-background.utils.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {ParseElementsUtils} from './parse-elements.utils';
44

55
export class ParseBackgroundUtils {
66

7-
static convertBackground(background: string): Promise<any> {
7+
static convertBackground(background: string, contentEditable: boolean): Promise<any> {
88
return new Promise<any>(async (resolve) => {
99
if (!background || background === undefined || background === '') {
1010
resolve(undefined);
@@ -15,7 +15,7 @@ export class ParseBackgroundUtils {
1515
div.setAttribute('slot', 'background');
1616
div.innerHTML = background;
1717

18-
const content = await ParseElementsUtils.parseElements(div, true);
18+
const content = await ParseElementsUtils.parseElements(div, true, contentEditable);
1919

2020
resolve(<div slot="background">
2121
{content}

studio/src/app/utils/editor/parse-elements.utils.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {SlotType} from './create-slides.utils';
55

66
export class ParseElementsUtils {
77

8-
static parseElements(element: HTMLElement, root: boolean): Promise<any> {
8+
static parseElements(element: HTMLElement, root: boolean, contentEditable: boolean): Promise<any> {
99
return new Promise<any>(async (resolve) => {
1010
if (!element) {
1111
resolve(undefined);
@@ -23,18 +23,18 @@ export class ParseElementsUtils {
2323
const elements: HTMLElement[] = Array.prototype.slice.call(element.childNodes);
2424

2525
for (const elem of elements) {
26-
const result = await this.parseElements(elem, false);
26+
const result = await this.parseElements(elem, false, contentEditable);
2727
results.push(result);
2828
}
2929

30-
resolve(root ? results : await this.parseElement(element, results));
30+
resolve(root ? results : await this.parseElement(element, results, contentEditable));
3131
} else {
32-
resolve(await this.parseElement(element, element.textContent));
32+
resolve(await this.parseElement(element, element.textContent, contentEditable));
3333
}
3434
});
3535
}
3636

37-
private static parseElement(element: HTMLElement, content: any): Promise<any> {
37+
private static parseElement(element: HTMLElement, content: any, contentEditable: boolean): Promise<any> {
3838
return new Promise<any>(async (resolve) => {
3939
const Elem: string = element.nodeName;
4040

@@ -43,7 +43,7 @@ export class ParseElementsUtils {
4343
attributes.style = await ParseStyleUtils.convertStyle(attributes.style);
4444
}
4545

46-
if (this.isElementContentEditable(element, attributes)) {
46+
if (contentEditable && this.isElementContentEditable(element, attributes)) {
4747
attributes['contenteditable'] = true;
4848
}
4949

studio/src/app/utils/editor/parse-slides.utils.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ import {Slide, SlideTemplate} from '../../models/data/slide';
66

77
export class ParseSlidesUtils {
88

9-
static parseSlide(slide: Slide): Promise<any> {
9+
static parseSlide(slide: Slide, contentEditable: boolean): Promise<any> {
1010
return new Promise<any>(async (resolve) => {
1111
if (!document || !slide || !slide.data || !slide.data.template) {
1212
resolve(null);
1313
return;
1414
}
1515

1616
if (SlideTemplate[slide.data.template.toUpperCase()]) {
17-
resolve(await this.parseSlideElement(slide, `deckgo-slide-${SlideTemplate[slide.data.template.toUpperCase()].toLowerCase()}`));
17+
resolve(await this.parseSlideElement(slide, `deckgo-slide-${SlideTemplate[slide.data.template.toUpperCase()].toLowerCase()}`, contentEditable));
1818
} else {
1919
resolve(null);
2020
}
2121
});
2222
}
2323

24-
private static parseSlideElement(slide: Slide, slideTag: string): Promise<any> {
24+
private static parseSlideElement(slide: Slide, slideTag: string, contentEditable: boolean): Promise<any> {
2525
return new Promise<any>(async (resolve) => {
2626
if (!document) {
2727
resolve();
@@ -32,7 +32,7 @@ export class ParseSlidesUtils {
3232
const div = document.createElement('div');
3333
div.innerHTML = slide.data.content;
3434

35-
const content = await ParseElementsUtils.parseElements(div, true);
35+
const content = await ParseElementsUtils.parseElements(div, true, contentEditable);
3636

3737
const style = slide.data.attributes ? await ParseStyleUtils.convertStyle(slide.data.attributes.style) : undefined;
3838

0 commit comments

Comments
 (0)