From cfcd1e8e801b0ac72f37b5c68ed2f47405075535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20P?= Date: Tue, 8 Jul 2025 12:07:01 +0200 Subject: [PATCH] Render 3D reconstructions for sites --- webgis/js/components/SiteMedia.js | 17 +++++++++++++++++ webgis/js/ui.js | 12 +++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/webgis/js/components/SiteMedia.js b/webgis/js/components/SiteMedia.js index 3cd0215..c6b31b6 100644 --- a/webgis/js/components/SiteMedia.js +++ b/webgis/js/components/SiteMedia.js @@ -43,4 +43,21 @@ export class SiteMedia { `; } + + renderReconstructions() { + return ` +
+

Ricostruzioni 3D

+
+

Gallery ricostruzioni 3D

+ +
+
+ `; + } } diff --git a/webgis/js/ui.js b/webgis/js/ui.js index af468e8..eee7181 100644 --- a/webgis/js/ui.js +++ b/webgis/js/ui.js @@ -100,8 +100,14 @@ UI.openSiteModal = function (data, selector) { let surveys = data.images.filter(i => i.type === 'Survey'); let photos = data.images.filter(i => i.type === 'Photo'); let videos = data.images.filter(i => i.type === 'Video'); + let reconstructions = data.images.filter(i => i.type === 'Reconstruction'); - if (surveys.length === 0 && photos.length === 0 && videos.length === 0) { + const noMedia = surveys.length === 0 + && photos.length === 0 + && reconstructions.length === 0 + && videos.length === 0; + + if (noMedia) { images.innerHTML = '

Nessuna risorsa visuale disponibile

'; } @@ -114,6 +120,9 @@ UI.openSiteModal = function (data, selector) { siteMedia.siteData = photos[0] ?? undefined; images.innerHTML += photos[0] ? siteMedia.renderPhotos() : ''; + siteMedia.siteData = reconstructions[0] ?? undefined; + images.innerHTML += reconstructions[0] ? siteMedia.renderReconstructions() : ''; + siteMedia.siteData = videos[0] ?? undefined; images.innerHTML += videos[0] ? siteMedia.renderVideos() : ''; } @@ -122,6 +131,7 @@ UI.openSiteModal = function (data, selector) { this.imageGallery('gallery-1', surveys); this.imageGallery('gallery-2', photos); + this.imageGallery('gallery-3d', reconstructions); this.imageGallery('gallery-video', videos, true); } /**