From b645161b9963f9837472c89be3570f19d065f53d Mon Sep 17 00:00:00 2001
From: Lone Iversen <108085781+loivsen@users.noreply.github.com>
Date: Wed, 29 May 2024 12:05:46 +0200
Subject: [PATCH] Feature: Hide focalpoint in ImageCropper
---
.../image-cropper-field.element.ts | 8 +++++---
.../image-cropper-focus-setter.element.ts | 14 +++++++++++---
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-field.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-field.element.ts
index 87c4631a84..d6c523764c 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-field.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-field.element.ts
@@ -151,9 +151,11 @@ export class UmbInputImageCropperFieldElement extends UmbLitElement {
-
+ ${!this.hideFocalPoint
+ ? html``
+ : nothing}
`;
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.ts
index 5f87bc42a9..370172ead7 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.ts
@@ -34,6 +34,8 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
protected updated(_changedProperties: PropertyValueMap | Map): void {
super.updated(_changedProperties);
+ if (!this.hideFocalPoint) return;
+
if (_changedProperties.has('focalPoint') && this.focalPointElement) {
this.focalPointElement.style.left = `calc(${this.focalPoint.left * 100}% - ${this.#DOT_RADIUS}px)`;
this.focalPointElement.style.top = `calc(${this.focalPoint.top * 100}% - ${this.#DOT_RADIUS}px)`;
@@ -59,8 +61,10 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
async #initializeImage() {
await this.updateComplete; // Wait for the @query to be resolved
- this.focalPointElement.style.left = `calc(${this.focalPoint.left * 100}% - ${this.#DOT_RADIUS}px)`;
- this.focalPointElement.style.top = `calc(${this.focalPoint.top * 100}% - ${this.#DOT_RADIUS}px)`;
+ if (!this.hideFocalPoint) {
+ this.focalPointElement.style.left = `calc(${this.focalPoint.left * 100}% - ${this.#DOT_RADIUS}px)`;
+ this.focalPointElement.style.top = `calc(${this.focalPoint.top * 100}% - ${this.#DOT_RADIUS}px)`;
+ }
this.imageElement.onload = () => {
if (!this.imageElement || !this.wrapperElement) return;
@@ -79,7 +83,9 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
this.wrapperElement.style.aspectRatio = `${imageAspectRatio}`;
};
- this.#addEventListeners();
+ if (!this.hideFocalPoint) {
+ this.#addEventListeners();
+ }
}
async #addEventListeners() {
@@ -110,6 +116,8 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
#onSetFocalPoint(event: MouseEvent) {
event.preventDefault();
+ if (this.hideFocalPoint) return;
+
if (!this.focalPointElement || !this.imageElement) return;
const image = this.imageElement.getBoundingClientRect();