From a251f39b424a11e0e94838eff5c54ea721e71e3f Mon Sep 17 00:00:00 2001 From: Alexander Platov Date: Mon, 24 Jun 2024 08:33:34 +0300 Subject: [PATCH] Reserving height for content in FilePreview (#5902) Signed-off-by: Alexander Platov --- .../src/components/FilePreview.svelte | 100 ++++++++++++------ packages/ui/src/components/Panel.svelte | 2 +- .../ui/src/components/calendar/Month.svelte | 6 +- .../src/components/viewer/ImageViewer.svelte | 10 +- 4 files changed, 80 insertions(+), 38 deletions(-) diff --git a/packages/presentation/src/components/FilePreview.svelte b/packages/presentation/src/components/FilePreview.svelte index 1d47a89870..31a8f8ccc4 100644 --- a/packages/presentation/src/components/FilePreview.svelte +++ b/packages/presentation/src/components/FilePreview.svelte @@ -14,7 +14,7 @@ --> -{#await srcRef then src} - {#if src === ''} -
-
- {:else if previewType !== undefined} -
+
(parentWidth = element.clientWidth)} + class="content flex-col items-center w-full h-full" + style:min-height={`${minHeight ?? 0}px`} +> + {#await srcRef then src} + {#if src === ''} +
+
+ {:else if previewType !== undefined} -
- {:else} - - {/if} -{/await} + {:else} + + {/if} + {/await} +
diff --git a/packages/ui/src/components/Panel.svelte b/packages/ui/src/components/Panel.svelte index f623be77ee..3cbc427fbb 100644 --- a/packages/ui/src/components/Panel.svelte +++ b/packages/ui/src/components/Panel.svelte @@ -176,7 +176,7 @@ {#if !withoutTitle}{/if} -
+
{#if $$slots.aside && isAside} {#if customAside} diff --git a/packages/ui/src/components/calendar/Month.svelte b/packages/ui/src/components/calendar/Month.svelte index bfa47e6c65..52337508e5 100644 --- a/packages/ui/src/components/calendar/Month.svelte +++ b/packages/ui/src/components/calendar/Month.svelte @@ -42,6 +42,7 @@ let monthYear: string const today: Date = new Date(Date.now()) const viewDate: Date = new Date(currentDate ?? today) + let selectedDate: Date = new Date(currentDate ?? today) $: firstDayOfCurrentMonth = firstDay(viewDate, mondayStart) const isToday = (n: number): boolean => { if (areDatesEqual(today, new Date(viewDate.getFullYear(), viewDate.getMonth(), n))) return true @@ -50,8 +51,8 @@ let days: ICell[] = [] const getDateStyle = (date: Date): TCellStyle => { - if (currentDate != null) { - const zonedTime = fromCurrentToTz(currentDate, timeZone) + if (selectedDate != null) { + const zonedTime = fromCurrentToTz(selectedDate, timeZone) if (areDatesEqual(zonedTime, date)) { return 'selected' } @@ -129,6 +130,7 @@ : day.dayOfWeek + 2};" on:click|stopPropagation={() => { viewDate.setDate(i + 1) + selectedDate = new Date(viewDate) dispatch('update', viewDate) }} > diff --git a/plugins/view-resources/src/components/viewer/ImageViewer.svelte b/plugins/view-resources/src/components/viewer/ImageViewer.svelte index 8a0846399c..d21abd7179 100644 --- a/plugins/view-resources/src/components/viewer/ImageViewer.svelte +++ b/plugins/view-resources/src/components/viewer/ImageViewer.svelte @@ -21,8 +21,14 @@ export let metadata: BlobMetadata | undefined $: p = typeof value === 'string' ? getBlobRef(undefined, value, name) : getBlobRef(value, value._id) - $: maxWidth = metadata?.originalWidth ? `min(${metadata.originalWidth}px, 100%)` : undefined - $: maxHeight = metadata?.originalHeight ? `min(${metadata.originalHeight}px, 80vh)` : undefined + $: maxWidth = + metadata?.originalWidth && metadata?.pixelRatio + ? `min(${metadata.originalWidth / metadata.pixelRatio}px, 100%)` + : undefined + $: maxHeight = + metadata?.originalHeight && metadata?.pixelRatio + ? `min(${metadata.originalHeight / metadata.pixelRatio}px, 80vh)` + : undefined {#await p then blobRef}