JavaScript classes working
[gpl/argeo-suite.git] / org.argeo.app.geo.js / src / org.argeo.app.geo.js / index.js
index a665d9164c10df263ff721d0dd86ac34ab6d6e06..108c5da2fa4018eb5a40ffee8c82e854b003ee09 100644 (file)
@@ -24,34 +24,62 @@ import 'ol/ol.css';
 //});
 //map.getView().setZoom(4);
 
-if (typeof window.argeo === 'undefined')
-       window.argeo = {};
-if (typeof window.argeo.app === 'undefined')
-       window.argeo.app = {};
-if (typeof window.argeo.app.geo === 'undefined')
-       window.argeo.app.geo = {};
+if (typeof globalThis.argeo === 'undefined')
+       globalThis.argeo = {};
+if (typeof globalThis.argeo.app === 'undefined')
+       globalThis.argeo.app = {};
+if (typeof globalThis.argeo.app.geo === 'undefined')
+       globalThis.argeo.app.geo = {};
 
 
 
-window.argeo.app.geo.ArgeoMap = {
-       map: new Map({
-               layers: [
-                       new TileLayer({
-                               source: new OSM(),
-                       }),
-               ],
-               target: 'map',
-       }),
+//window.argeo.app.geo.ArgeoMap = {
+//     map: new Map({
+//             layers: [
+//                     new TileLayer({
+//                             source: new OSM(),
+//                     }),
+//             ],
+//             target: 'map',
+//     }),
+//
+//     setZoom: function(zoom) {
+//             this.map.getView().setZoom(zoom);
+//     },
+//
+//     setCenter: function(lng, lat) {
+//             this.map.getView().setCenter(fromLonLat([lng, lat]));
+//     },
+//
+//};
+
+export class ArgeoMap {
+       #map;
+       // Constructor
+       constructor() {
+               this.#map = new Map({
+                       layers: [
+                               new TileLayer({
+                                       source: new OSM(),
+                               }),
+                       ],
+                       target: 'map',
+               });
+       }
+
+       setZoom(zoom) {
+               this.#map.getView().setZoom(zoom);
+       }
+
+       setCenter(lng, lat) {
+               this.#map.getView().setCenter(fromLonLat([lng, lat]));
+       }
+}
 
-       setZoom: function(zoom) {
-               this.map.getView().setZoom(zoom);
-       },
+globalThis.argeo.app.geo.ArgeoMap = ArgeoMap;
 
-       setCenter: function(lng, lat) {
-               this.map.getView().setCenter(fromLonLat([lng, lat]));
-       },
+//globalThis.argeoMap = new ArgeoMap();
 
-};
 //window.argeoMap = Object.create(argeo.app.geo.ArgeoMap);
 //window.argeoMap.map.on('rendercomplete', e => {
 //     console.log('Render completed.');