From 7211b92b2ce8d45e26e959547202fd7caf82e22c Mon Sep 17 00:00:00 2001
From: Ruben Bimberg <ruben.bimberg@mni.thm.de>
Date: Mon, 6 Sep 2021 12:04:34 +0200
Subject: [PATCH] Fix Safari aspect ratio for videos

[Ticket: #624]
---
 .../view-comment-data/view-comment-data.component.html |  5 +++--
 .../view-comment-data/view-comment-data.component.ts   | 10 ++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/app/components/shared/view-comment-data/view-comment-data.component.html b/src/app/components/shared/view-comment-data/view-comment-data.component.html
index df7e8b0c5..75dd3999e 100644
--- a/src/app/components/shared/view-comment-data/view-comment-data.component.html
+++ b/src/app/components/shared/view-comment-data/view-comment-data.component.html
@@ -3,7 +3,8 @@
   <quill-editor #editor
                 placeholder="{{ placeHolderText | translate }}"
                 [modules]="quillModules"
-                (document:click)="onDocumentClick($event)">
+                (document:click)="onDocumentClick($event)"
+                (window:resize)="recalcAspectRatio()">
   </quill-editor>
   <div #tooltipContainer></div>
   <div fxLayout="row" style="justify-content: flex-end; padding: 0 5px">
@@ -13,6 +14,6 @@
   </div>
 </ars-row>
 <div *ngIf="!isEditor">
-  <quill-view #quillView [modules]="quillModules">
+  <quill-view #quillView [modules]="quillModules" (window:resize)="recalcAspectRatio()">
   </quill-view>
 </div>
diff --git a/src/app/components/shared/view-comment-data/view-comment-data.component.ts b/src/app/components/shared/view-comment-data/view-comment-data.component.ts
index fddb06655..88bae55aa 100644
--- a/src/app/components/shared/view-comment-data/view-comment-data.component.ts
+++ b/src/app/components/shared/view-comment-data/view-comment-data.component.ts
@@ -217,6 +217,16 @@ export class ViewCommentDataComponent implements OnInit, AfterViewInit {
     } else {
       this.quillView.quillEditor.setContents(delta);
     }
+    this.recalcAspectRatio();
+  }
+
+  recalcAspectRatio() {
+    const elem = this.isEditor ? this.editor.editorElem.firstElementChild : this.quillView.editorElem.firstElementChild;
+    elem.querySelectorAll('.images .ql-video').forEach((e: HTMLElement) => {
+      e.addEventListener('resize', () => console.log(e));
+      const width = parseFloat(window.getComputedStyle(e).width);
+      e.style.height = (width * 9 / 16) + 'px';
+    });
   }
 
   private syncErrorLayer(): void {
-- 
GitLab