Changes for page Homeopaths

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

From version 8.80
edited by Jip-jan Alunkel
on December 08, 16:35
Change comment: Renamed from xwiki:practices.WebHome
To version 8.69
edited by Jip-jan Alunkel
on December 08, 16:22
Change comment: Renamed from xwiki:practices.WebHome

Summary

Details

Page properties
Content
... ... @@ -9,6 +9,7 @@
9 9  {{html wiki="false" clean="false"}}
10 10  <p>
11 11  All about homeopaths.
12 +${stringtool.capitalize($doc.documentReference.parent.getName())}
12 12  </p>
13 13  <div id="homeopaths_map"></div>
14 14  
XWiki.JavaScriptExtension[0]
Code
... ... @@ -5,3 +5,50 @@
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 + #foreach($address_item in $addressArray)
19 + #if($foreach.hasNext)
20 + #set($linebreak = "<br />")
21 + #else
22 + #set($linebreak = "")
23 + #end
24 + #set($address = "${address}${address_item.trim()}${linebreak}")
25 + #end
26 + #set($info = "<h4>${stringtool.capitalize($result_doc.documentReference.getName())}</h4><address>${address}</address>")
27 + #set($discard = $map.put($info, $result_obj.getProperty("latlong").value))
28 + #end
29 + #if($objecttool.allNull($map))
30 + #set($mapJSON = {})
31 + #else
32 + #set($mapJSON = $jsontool.serialize(${map}))
33 + #end
34 +
35 + var mapJSON = $jsontool.parse($mapJSON),
36 + markers = [];
37 + for(const property in mapJSON) {
38 + let latlong = mapJSON[property].split("/"),
39 + lat = latlong[0],
40 + long = latlong[1],
41 + latlongArray = [long, lat, property];
42 + markers.push(latlongArray)
43 + }
44 +
45 + for (var i=0; i<markers.length; i++) {
46 + let lon = markers[i][0],
47 + lat = markers[i][1],
48 + popupText = markers[i][2],
49 + markerLocation = new L.LatLng(lat, lon),
50 + marker = new L.Marker(markerLocation);
51 + map.addLayer(marker);
52 + marker.bindPopup(popupText);
53 + }
54 +