From 2816d5abf9638cb31bfccb1a0521ab4833c0f762 Mon Sep 17 00:00:00 2001 From: jojohoch <joachim.hoch@iqb.hu-berlin.de> Date: Mon, 18 Oct 2021 09:58:32 +0200 Subject: [PATCH] [player] Improve scaling of images and button images --- projects/common/assets/i18n/de.json | 3 ++- .../common/element-components/button.component.ts | 14 +++++++++----- .../common/element-components/image.component.ts | 12 +++++++----- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/projects/common/assets/i18n/de.json b/projects/common/assets/i18n/de.json index 52227b038..94df8aca9 100644 --- a/projects/common/assets/i18n/de.json +++ b/projects/common/assets/i18n/de.json @@ -7,5 +7,6 @@ "inputTooShort": "Eingabe zu kurz", "inputTooLong": "Eingabe zu lang", "wrongPattern": "Eingabe enthält falsche Zeichen" - } + }, + "imageNotFound": "Bild nicht gefunden" } diff --git a/projects/common/element-components/button.component.ts b/projects/common/element-components/button.component.ts index f616ff0b5..30db5ad0b 100644 --- a/projects/common/element-components/button.component.ts +++ b/projects/common/element-components/button.component.ts @@ -22,12 +22,16 @@ import { ButtonElement } from '../models/button-element'; [style.border-radius.px]="elementModel.borderRadius"> {{elementModel.label}} </button> - <input *ngIf="elementModel.imageSrc" type="image" [src]="elementModel.imageSrc" - [style.width.%]="100" - [style.height.%]="100" - [style.object-fit]="'contain'" alt="Bild nicht gefunden"> + <input *ngIf="elementModel.imageSrc" type="image" + [src]="elementModel.imageSrc | safeResourceUrl" + [class]="elementModel.dynamicPositioning? 'dynamic-image' : 'static-image'" + [alt]="'imageNotFound' | translate"> </div> - ` + `, + styles: [ + '.dynamic-image{width: 100%; height: fit-content}', + '.static-image{ width: 100%; height: 100%; object-fit: contain}' + ] }) export class ButtonComponent extends ElementComponent { @Output() onFocusin = new EventEmitter(); diff --git a/projects/common/element-components/image.component.ts b/projects/common/element-components/image.component.ts index 4f3cac573..ee0bfc8f4 100644 --- a/projects/common/element-components/image.component.ts +++ b/projects/common/element-components/image.component.ts @@ -9,12 +9,14 @@ import { ImageElement } from '../models/image-element'; [style.height.%]="100" [style.width.%]="100"> <img [src]="elementModel.src | safeResourceUrl" - alt="Image Placeholder" - [style.object-fit]="'contain'" - [style.height.%]="100" - [style.width.%]="100"> + [alt]="'imageNotFound' | translate" + [class]="elementModel.dynamicPositioning? 'dynamic-image' : 'static-image'"> </div> - ` + `, + styles: [ + '.dynamic-image{width: 100%; height: fit-content}', + '.static-image{ width: 100%; height: 100%; object-fit: contain}' + ] }) export class ImageComponent extends ElementComponent { elementModel!: ImageElement; -- GitLab