Changes for page Homeopaths

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

From version 8.36
edited by Jip-jan Alunkel
on December 08, 14:05
Change comment: Renamed from xwiki:practices.WebHome
To version 8.44
edited by Jip-jan Alunkel
on December 08, 15:47
Change comment: Renamed from xwiki:practices.WebHome

Summary

Details

Page properties
Content
... ... @@ -9,45 +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 caseObj"))
12 +</p>
13 +<div id="homeopaths_map"></div>
14 +
15 + #set($query = $services.query.xwql("from doc.object('homeopaths.Code.homeopathsClass') as homeopathObj"))
13 13   #set($result = $query.execute())
14 14   #set($map = {})
15 15   #foreach($item in $result)
16 16   #set($result_doc = $xwiki.getDocument("${item}"))
20 + #set($spaceReference = $services.model.resolveDocument('', 'default', $result_doc.documentReference.lastSpaceReference).parent)
21 + #set($spaceName = $spaceReference.getName())
17 17   #set($result_obj = $result_doc.getObject("homeopaths.Code.homeopathsClass"))
18 - #set($discard = $map.put("${item}", $result_obj.getProperty("latlong").value))
23 + #set($addressArray = $result_obj.getProperty("address").value).split(","))
24 + #set($address = "")
25 + #foreach($address_item in $addressArray)
26 + #set($address = "${address}<li>${address_item.trim()}</li>")
27 + #end
28 + #set($info = "<h4>${result_doc.getName()}</h4><ul>${address}</ul>")
29 + #set($discard = $map.put("${result_doc.getName()}", $result_obj.getProperty("latlong").value))
19 19   #end
20 20   #if($objecttool.allNull($map))
21 - #set($output = {})
32 + #set($mapJSON = {})
22 22   #else
23 - #set($output = $jsontool.serialize(${map}))
34 + #set($mapJSON = $jsontool.serialize(${map}))
24 24   #end
25 -$jsontool.parse($output)
26 -</p>
27 -<div id="homeopaths_map"></div>
28 -
29 -<script>/*
30 - var map = L.map('homeopaths_map').setView([18, 10], 2);
31 - L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
32 - maxZoom: 19,
33 - attribution: ''
34 - }).addTo(map);
35 - map.attributionControl.setPrefix('');
36 - var markers = [
37 - [ -0.1244324, 51.5006728, "Big Ben" ],
38 - [ -0.119623, 51.503308, "London Eye" ],
39 - [ -0.1279688, 51.5077286, "Nelson's Column<br><a href=\"https://en.wikipedia.org/wiki/Nelson's_Column\">wp</a>" ]
40 - ];
41 - for (var i=0; i<markers.length; i++) {
42 - let lon = markers[i][0],
43 - lat = markers[i][1],
44 - popupText = markers[i][2],
45 - markerLocation = new L.LatLng(lat, lon),
46 - marker = new L.Marker(markerLocation);
47 - map.addLayer(marker);
48 - marker.bindPopup(popupText);
49 - }
50 -*/</script>
36 +$mapJSON
51 51  <h2>Add your practice to the map</h2>
52 52  #set($form_start = {
53 53   "id": "homeoworld_form",
XWiki.JavaScriptExtension[0]
Code
... ... @@ -5,13 +5,21 @@
5 5   }).addTo(map);
6 6   map.attributionControl.setPrefix('');
7 7  
8 - #set($query = $services.query.xwql("from doc.object('homeopaths.Code.homeopathsClass') as caseObj"))
8 + #set($query = $services.query.xwql("from doc.object('homeopaths.Code.homeopathsClass') as homeopathObj"))
9 9   #set($result = $query.execute())
10 10   #set($map = {})
11 11   #foreach($item in $result)
12 12   #set($result_doc = $xwiki.getDocument("${item}"))
13 + #set($spaceReference = $services.model.resolveDocument('', 'default', $result_doc.documentReference.lastSpaceReference).parent)
14 + #set($spaceName = $spaceReference.getName())
13 13   #set($result_obj = $result_doc.getObject("homeopaths.Code.homeopathsClass"))
14 - #set($discard = $map.put("${item}", $result_obj.getProperty("latlong").value))
16 + #set($addressArray = $result_obj.getProperty("address").value).split(","))
17 + #set($address = "")
18 + #foreach($address_item in $addressArray)
19 + #set($address = "${address}<li>${address_item.trim()}</li>")
20 + #end
21 + #set($info = "<h4>${result_doc.getName()}</h4><ul>${address}</ul>")
22 + #set($discard = $map.put("${result_doc.getName()}", $result_obj.getProperty("latlong").value))
15 15   #end
16 16   #if($objecttool.allNull($map))
17 17   #set($mapJSON = {})
... ... @@ -19,13 +19,17 @@
19 19   #set($mapJSON = $jsontool.serialize(${map}))
20 20   #end
21 21  
22 -console.log($jsontool.parse($mapJSON));
30 + var mapJSON = $jsontool.parse($mapJSON),
31 + markers = [];
23 23  
24 - var markers = [
25 - [ -0.1244324, 51.5006728, "Big Ben" ],
26 - [ -0.119623, 51.503308, "London Eye" ],
27 - [ -0.1279688, 51.5077286, "Nelson's Column<br><a href=\"https://en.wikipedia.org/wiki/Nelson's_Column\">wp</a>" ]
28 - ];
33 + for(const property in mapJSON) {
34 + let latlong = mapJSON[property].split("/"),
35 + lat = latlong[0],
36 + long = latlong[1],
37 + latlongArray = [long, lat, property];
38 + markers.push(latlongArray)
39 + }
40 +
29 29   for (var i=0; i<markers.length; i++) {
30 30   let lon = markers[i][0],
31 31   lat = markers[i][1],