From 7e7c9b2a7641114e2963fff51c6b26710e487d4b Mon Sep 17 00:00:00 2001
From: jojohoch <joachim.hoch@iqb.hu-berlin.de>
Date: Fri, 28 Jan 2022 09:43:44 +0100
Subject: [PATCH] [editor] Fix setting of the default z-index for frames

---
 docs/release-notes-editor.txt                      | 3 +++
 projects/common/ui-elements/frame/frame-element.ts | 7 ++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/docs/release-notes-editor.txt b/docs/release-notes-editor.txt
index e74501fb2..52d3a8337 100644
--- a/docs/release-notes-editor.txt
+++ b/docs/release-notes-editor.txt
@@ -1,5 +1,8 @@
 Editor
 ======
+1.23.0
+ - Fix setting of the default z-index for frames
+
 1.22.0
 - Rework cloze element
   No longer uses 'backslash-markers'. Instead inserts and renders
diff --git a/projects/common/ui-elements/frame/frame-element.ts b/projects/common/ui-elements/frame/frame-element.ts
index d1b171714..52a0a6c63 100644
--- a/projects/common/ui-elements/frame/frame-element.ts
+++ b/projects/common/ui-elements/frame/frame-element.ts
@@ -14,16 +14,17 @@ export class FrameElement extends UIElement implements PositionedElement, Surfac
   borderRadius: number = 0;
 
   positionProps: PositionProperties;
+
   surfaceProps: SurfaceProperties;
 
   constructor(serializedElement: Partial<UIElement>) {
     super(serializedElement);
     Object.assign(this, serializedElement);
+    if (serializedElement.positionProps && serializedElement.positionProps.zIndex === undefined) {
+      serializedElement.positionProps.zIndex = -1;
+    }
     this.positionProps = initPositionedElement(serializedElement);
     this.surfaceProps = initSurfaceElement(serializedElement);
-
-    this.positionProps.zIndex = -1;
-
     this.surfaceProps.backgroundColor =
       serializedElement.surfaceProps?.backgroundColor as string ||
       'transparent';
-- 
GitLab