Changes for page Homeopaths

Last modified by Jip-jan Alunkel on March 14, 20:13

From version 8.82
edited by Jip-jan Alunkel
on December 08, 16:38
Change comment: Renamed from xwiki:practices.WebHome
To version 8.73
edited by Jip-jan Alunkel
on December 08, 16:27
Change comment: Renamed from xwiki:practices.WebHome

Summary

Details

Page properties
Content
... ... @@ -9,6 +9,31 @@
9 9  {{html wiki="false" clean="false"}}
10 10  <p>
11 11  All about homeopaths.
12 + #set($query = $services.query.xwql("from doc.object('homeopaths.Code.homeopathsClass') as homeopathObj"))
13 + #set($result = $query.execute())
14 + #set($map = {})
15 + #foreach($item in $result)
16 + #set($result_doc = $xwiki.getDocument("${item}"))
17 + #set($result_obj = $result_doc.getObject("homeopaths.Code.homeopathsClass"))
18 + #set($addressArray = $result_obj.getProperty("address").value.split(","))
19 + #set($address = "")
20 + #foreach($address_item in $addressArray)
21 + #if($foreach.hasNext)
22 + #set($linebreak = "<br />")
23 + #else
24 + #set($linebreak = "")
25 + #end
26 + #set($address = "${address}${address_item.trim()}${linebreak}")
27 + #end
28 + #set($info = "<h4>${stringtool.capitalize($result_doc.documentReference.getName())}</h4><address>${address}</address>")
29 + #set($discard = $map.put($info, $result_obj.getProperty("latlong").value))
30 + #end
31 + #if($objecttool.allNull($map))
32 + #set($mapJSON = {})
33 + #else
34 + #set($mapJSON = $jsontool.serialize(${map}))
35 + #end
36 +$mapJSON
12 12  </p>
13 13  <div id="homeopaths_map"></div>
14 14  
XWiki.JavaScriptExtension[0]
Code
... ... @@ -5,3 +5,42 @@
5 5   }).addTo(map);
6 6   map.attributionControl.setPrefix('');
7 7  
8 + #set($query = $services.query.xwql("from doc.object('homeopaths.Code.homeopathsClass') as homeopathObj"))
9 + #set($result = $query.execute())
10 + #set($map = {})
11 + #foreach($item in $result)
12 + #set($result_doc = $xwiki.getDocument("${item}"))
13 + #set($spaceReference = $services.model.resolveDocument('', 'default', $result_doc.documentReference.lastSpaceReference).parent)
14 + #set($spaceName = $spaceReference.getName())
15 + #set($result_obj = $result_doc.getObject("homeopaths.Code.homeopathsClass"))
16 + #set($addressArray = $result_obj.getProperty("address").value.split(","))
17 + #set($address = "")
18 + #set($info = "<h4>${stringtool.capitalize($result_doc.documentReference.getName())}</h4><address>${address}</address>")
19 + #set($discard = $map.put($info, $result_obj.getProperty("latlong").value))
20 + #end
21 + #if($objecttool.allNull($map))
22 + #set($mapJSON = {})
23 + #else
24 + #set($mapJSON = $jsontool.serialize(${map}))
25 + #end
26 +
27 + var mapJSON = $jsontool.parse($mapJSON),
28 + markers = [];
29 + for(const property in mapJSON) {
30 + let latlong = mapJSON[property].split("/"),
31 + lat = latlong[0],
32 + long = latlong[1],
33 + latlongArray = [long, lat, property];
34 + markers.push(latlongArray)
35 + }
36 +
37 + for (var i=0; i<markers.length; i++) {
38 + let lon = markers[i][0],
39 + lat = markers[i][1],
40 + popupText = markers[i][2],
41 + markerLocation = new L.LatLng(lat, lon),
42 + marker = new L.Marker(markerLocation);
43 + map.addLayer(marker);
44 + marker.bindPopup(popupText);
45 + }
46 +
XWiki.StyleSheetExtension[0]
Caching policy
... ... @@ -1,1 +1,1 @@
1 -forbid
1 +long
Code
... ... @@ -4,4 +4,15 @@
4 4   height: 400px;
5 5   margin: 0 2rem;
6 6  }
7 -
7 +.leaflet-popup-content {
8 + margin: 0;
9 + line-height: unset;
10 + font-size: unset;
11 + min-height: 1px;
12 +}
13 +.leaflet-popup-content h4 {
14 + margin-top: 2rem;
15 +}
16 +.leaflet-popup-content address {
17 +
18 +}
Use this extension
... ... @@ -1,1 +1,0 @@
1 -currentPage