From df2e02ac88efa55bdd50f6f5add71cdc4e084374 Mon Sep 17 00:00:00 2001
From: Lucio Zambon <lucio.zambon@elettra.eu>
Date: Fri, 1 Nov 2024 04:06:31 +0000
Subject: [PATCH] Update panther2d.js

---
 panther2d.js | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/panther2d.js b/panther2d.js
index 576ba2e..24cb579 100644
--- a/panther2d.js
+++ b/panther2d.js
@@ -804,11 +804,12 @@
 				const transform = "translate("+rescale(x)+" "+rescale(y)+") rotate("+(beta+180)+") translate("+offset+")";
 				const compid = comp + (components[i].length > 0 && $('#'+comp+'_'+components[i].length)[0]? '_'+components[i].length: '');
 				const aka = components[i].alias && components[i].alias.length? components[i].alias: [];
-				appendSvg("use", {href:"#"+compid, id: id[0], name:components[i].name, "data-embedded":components[i].embedded, "data-aka": aka, class: comp+' '+section+facility, style:"cursor: pointer", transform:transform}, openTooltip);
+				const compClass = typeof components[i].class == 'undefined'? '': ' '+components[i].class;
+				appendSvg("use", {href:"#"+compid, id: id[0], name:components[i].name, "data-embedded":components[i].embedded, "data-aka": aka, class: comp+' '+section+facility+compClass, style:"cursor: pointer", transform:transform}, openTooltip);
 				if (components[i].type == 'label' || components[i].type == 'beamlineDown' || components[i].type == 'beamlineUp') 
 					appendLabel2(components[i], section+facility, 'none', x, y, beta, components[i].labelReverse);
 				else
-					appendLabel(components[i].name, comp+' label '+section+facility, 'none', x, y, beta, components[i].labelReverse);
+					appendLabel(components[i].name, comp+' label '+section+facility+compClass, 'none', x, y, beta, components[i].labelReverse);
 				if (id[0].indexOf('<')==-1) {
 					appendSvg("g", {"id": id[0]+'_g'});
 					appendLabel(components[i].name, comp+' value '+section+facility, 'none', x+600, y+400, 90, true, 'value', 0.7, '#'+id[0]+'_g');
@@ -1029,7 +1030,8 @@
 		clearmeasurement();
 		setUrl('zoom', Math.round(newScale*100)/100);
 		zoom = newScale;
-		if (newScale>2) $('.label').show(); else $('.label').hide();
+		if (newScale>3.9) $('.label').show(); else $('.label').hide();
+		for (let i=1; i<=15; i++) if (newScale>i) $('.zoom'+i).show(); else $('.zoom'+i).hide();
 		if (myPanZoomTimer == null && document.location.search.indexOf('&autoPanZoom')==-1) myPanZoomTimer = setTimeout(myPanZoomDelayed, panZoomTime);
 		// mylog('myZoom', zoom);
 	}
-- 
GitLab