From 22e0f5fb7490f66b69953f6c0b512f600480f3b6 Mon Sep 17 00:00:00 2001 From: Fabian Steeg Date: Tue, 27 Feb 2024 12:02:23 +0100 Subject: [PATCH 1/4] Replace Mapbox-based MakiMarkers with local default icon (#1966) Mapbox is no longer free, cf. https://github.com/hbz/nwbib/pull/642 --- web/app/views/tags/items_map.scala.html | 5 +- web/public/javascripts/Leaflet.MakiMarkers.js | 108 ------------------ .../{marker-icon.png => marker-icon-2x.png} | Bin 3 files changed, 1 insertion(+), 112 deletions(-) delete mode 100644 web/public/javascripts/Leaflet.MakiMarkers.js rename web/public/javascripts/images/{marker-icon.png => marker-icon-2x.png} (100%) diff --git a/web/app/views/tags/items_map.scala.html b/web/app/views/tags/items_map.scala.html index 9f4cf82fa8..f508450064 100644 --- a/web/app/views/tags/items_map.scala.html +++ b/web/app/views/tags/items_map.scala.html @@ -10,7 +10,6 @@ - @**@ @@ -84,10 +83,8 @@ var lat = @string((json \\ "lat").head) var lon = @string((json \\ "lon").head) var latlng@(id) = L.latLng(lat, lon); - var icon@(id) = L.MakiMarkers.icon({icon: "library", color: "#FA820A", size: "m"}); var marker@(id) = L.marker([lat, lon],{ - title: "@ownerName (@key)", - icon: icon@(id) + title: "@ownerName (@key)" }); markers[latlng@(id).toString()] = marker@(id); bindPopup@(id)(tableDetails); diff --git a/web/public/javascripts/Leaflet.MakiMarkers.js b/web/public/javascripts/Leaflet.MakiMarkers.js deleted file mode 100644 index a3a496cfeb..0000000000 --- a/web/public/javascripts/Leaflet.MakiMarkers.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Leaflet plugin to create map icons using Maki Icons from MapBox. - * - * References: - * Maki Icons: https://www.mapbox.com/maki/ - * MapBox Marker API: https://www.mapbox.com/developers/api/static/#markers - * - * Usage: - * var icon = L.MakiMarkers.icon({icon: "rocket", color: "#b0b", size: "m"}); - * - * License: - * MIT: http://jseppi.mit-license.org/ - */ - /*global L:false */ -(function () { - "use strict"; - L.MakiMarkers = { - // Available Maki Icons - icons: ["airfield","airport","alcohol-shop","america-football","art-gallery","bakery","bank","bar", - "baseball","basketball","beer","bicycle","building","bus","cafe","camera","campsite","car", - "cemetery","chemist","cinema","circle-stroked","circle","city","clothing-store","college", - "commercial","cricket","cross","dam","danger","disability","dog-park","embassy", - "emergency-telephone","entrance","farm","fast-food","ferry","fire-station","fuel","garden", - "golf","grocery","hairdresser","harbor","heart","heliport","hospital","industrial", - "land-use","laundry","library","lighthouse","lodging","logging","london-underground", - "marker-stroked","marker","minefield","mobilephone","monument","museum","music","oil-well", - "park2","park","parking-garage","parking","pharmacy","pitch","place-of-worship", - "playground","police","polling-place","post","prison","rail-above","rail-light", - "rail-metro","rail-underground","rail","religious-christian","religious-jewish", - "religious-muslim","restaurant","roadblock","rocket","school","scooter","shop","skiing", - "slaughterhouse","soccer","square-stroked","square","star-stroked","star","suitcase", - "swimming","telephone","tennis","theatre","toilets","town-hall","town","triangle-stroked", - "triangle","village","warehouse","waste-basket","water","wetland","zoo" - ], - defaultColor: "#0a0", - defaultIcon: "circle-stroked", - defaultSize: "m", - apiUrl: "https://api.tiles.mapbox.com/v3/marker/", - smallOptions: { - iconSize: [20, 50], - popupAnchor: [0,-20] - }, - mediumOptions: { - iconSize: [30,70], - popupAnchor: [0,-30] - }, - largeOptions: { - iconSize: [36,90], - popupAnchor: [0,-40] - } - }; - - L.MakiMarkers.Icon = L.Icon.extend({ - options: { - //Maki icon: any from https://www.mapbox.com/maki/ (ref: L.MakiMarkers.icons) - icon: L.MakiMarkers.defaultIcon, - //Marker color: short or long form hex color code - color: L.MakiMarkers.defaultColor, - //Marker size: "s" (small), "m" (medium), or "l" (large) - size: L.MakiMarkers.defaultSize, - shadowAnchor: null, - shadowSize: null, - shadowUrl: null, - className: "maki-marker" - }, - - initialize: function(options) { - var pin; - - options = L.setOptions(this, options); - - switch (options.size) { - case "s": - L.extend(options, L.MakiMarkers.smallOptions); - break; - case "l": - L.extend(options, L.MakiMarkers.largeOptions); - break; - default: - options.size = "m"; - L.extend(options, L.MakiMarkers.mediumOptions); - break; - } - - - pin = "pin-" + options.size; - - if (options.icon !== null) { - pin += "-" + options.icon; - } - - if (options.color !== null) { - if (options.color.charAt(0) === "#") { - options.color = options.color.substr(1); - } - - pin += "+" + options.color; - } - - options.iconUrl = "" + L.MakiMarkers.apiUrl + pin + ".png"; - options.iconRetinaUrl = L.MakiMarkers.apiUrl + pin + "@2x.png"; - } - }); - - L.MakiMarkers.icon = function(options) { - return new L.MakiMarkers.Icon(options); - }; -})(); diff --git a/web/public/javascripts/images/marker-icon.png b/web/public/javascripts/images/marker-icon-2x.png similarity index 100% rename from web/public/javascripts/images/marker-icon.png rename to web/public/javascripts/images/marker-icon-2x.png From d8a296a2c26b16a371a3ebeddb2358e075a5f7c2 Mon Sep 17 00:00:00 2001 From: Fabian Steeg Date: Tue, 27 Feb 2024 12:04:19 +0100 Subject: [PATCH 2/4] Increase zoom level when selecting items map marker --- web/app/views/tags/items_map.scala.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/app/views/tags/items_map.scala.html b/web/app/views/tags/items_map.scala.html index f508450064..5102d0b765 100644 --- a/web/app/views/tags/items_map.scala.html +++ b/web/app/views/tags/items_map.scala.html @@ -101,7 +101,7 @@ zoomDetails@(id)(); } function zoomDetails@(id)() { - map.setView(latlng@(id), 16); + map.setView(latlng@(id), 17); marker@(id).openPopup(); } function bindPopup@(id)(content) { From fbd5053a27df2e3cc346f7029c0e8fb3b6805ed1 Mon Sep 17 00:00:00 2001 From: Fabian Steeg Date: Tue, 27 Feb 2024 12:04:36 +0100 Subject: [PATCH 3/4] Fix display of subjects without label (only notation) e.g. http://lobid.org/resources/990182586200206441 --- web/app/views/tags/result_doc.scala.html | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/web/app/views/tags/result_doc.scala.html b/web/app/views/tags/result_doc.scala.html index 7e946375b4..192f18c657 100644 --- a/web/app/views/tags/result_doc.scala.html +++ b/web/app/views/tags/result_doc.scala.html @@ -147,10 +147,11 @@ subject <- value; components = (subject \ "componentList").asOpt[Seq[JsValue]].getOrElse(Seq(subject)); component <- components; - label <- (component \ "label").asOpt[String]; - id = (component \ "id").asOpt[String]; - notation = (component \ "notation").asOpt[String]) { - @label @if(notation.isDefined){(@notation.get)} + notation = (component \ "notation").asOpt[String]; + label <- (component \ "label").asOpt[String].orElse(notation); + id = (component \ "id").asOpt[String]) { + + @label @if(notation.isDefined){(@notation.get)} @for(idLink <- id){} @if(components.last == component) {
} else { | } } From 0fcddca15ceb75e74edaf9c2599c3ae8ce126b72 Mon Sep 17 00:00:00 2001 From: Fabian Steeg Date: Tue, 27 Feb 2024 15:46:27 +0100 Subject: [PATCH 4/4] Add standard and 2x version of the Leaflet default icon (#1966) --- .../javascripts/images/marker-icon-2x.png | Bin 1747 -> 2585 bytes web/public/javascripts/images/marker-icon.png | Bin 0 -> 1747 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 web/public/javascripts/images/marker-icon.png diff --git a/web/public/javascripts/images/marker-icon-2x.png b/web/public/javascripts/images/marker-icon-2x.png index e2e9f757f515ded172e6f72c3ce55bbe15579649..f426e3c8d02d51d760db24df0af64436b0e95302 100644 GIT binary patch literal 2585 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 diff --git a/web/public/javascripts/images/marker-icon.png b/web/public/javascripts/images/marker-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e9f757f515ded172e6f72c3ce55bbe15579649 GIT binary patch literal 1747 zcmV;^1}yoBP)P001cn1^@s6z>|W`000J>NklgF+#9zZY7a#;@J(5X0e&McXK2n7+jhR}<0i-1U5t`>D@ zJSJ*^swjdwq0keUf9!BETXZhVyjqS4&z|?2HdJnOU-HYF_xSyu=XsCkdtVv=(53>u zME@3F*5J;OHwJNJdWK(ivQ??rr&t7M)1yRas=d_yYH>g+p#{( zm+NoyW%|8bNfUkAMrabri(FY#Dqr5%zhZA&e^iALHXiJOFYA7Qt##L_a?_z6SW{&J zVeyp#G&snW>SO{*%d9CGVM}xic~V`MU$)*JU1Nbw2YX?ywi}|VZ4g;$g)p^+DoLHR zZ^Zr$S_=f^oU`+!4K^?NsU;H{;bhhex#H7(!s52U&FJ}OHQf-VvVd?Btj2MhF|zQI z%l~jBr~6T7^_WIHC1>8j&bv`c18g|Z3*l-jgeoml1{oh++Y75JI)RgU>LEY<%)C)X zI2rZ2kb>s^4cZuYeq3!A}DS`X~>Nd;+A$4e;ZwyD<1@2!8$ZKJ3w%!6)+sCALy+bKwyk zqKCS6qEGWmJ)97b-QXY|`<0lS5THkEtGgjE>ojOvuftfM&Ugd-rQg9C+|FdGM)HXs z(IxsA$&r(xg_j^4=hC;>s;1UF*Wp1I-2~sEF zZYgb?&`4bM1qjM*hR`yr3qJ(;L>Kj2XpBUy+)t((6z;bIr@-ihFNVAl4<#?{TWIaQ zIi>;YjXS_iIfNb?!N1t-!Y6vZvW5ZXE{%l7imzV9NvV4nf#G`Pcex;#@}?EINwsk7 z>UC=SlJC*b5a>-mgHP%q2+qF;cbNx ztCV@{s&fPsSt#;i@#G-m$as&$gLaG}ebOrtS5*22&glbhMH_fz8(~qVVN!VIVCKzg z1$U9^93(E%Ur9v_R*h#!t)Ce+#)+m(q^zCq%g&L-!E zC&et9WrT(49pl0S`?=DK7=`+;`CB!wP3ta97b)XdJ8K=@`DXOk0Q0};7zNT!`k4t@ z+)=9S)4p(jEGm5!qq)PDTmXiw3qDM19|fiylc@LtiQ=}Kfb#w&ckv^7tBj;cfwtY$q?IdliYlg zqh@4;IyW)OFPQPw4z|JsAEb7`+@yA@Q8SXQT#;upV`QNJ59Bg5m(jci3`0T4X-&^GU6)x7$Vi0XMWB(2hrdK^!hq0 zt!bDg$Hh)-9L62h`&{0PBf%7vM>69o`k4~kx^Wc)?lG!}=WgV2x-rq?HN#jMr^B0; p5zMeb2q5MEX5{g&Aa%N&e*pr!t%ZZ}>w*9P002ovPDHLkV1gpUS8xCT literal 0 HcmV?d00001