10
10
<div class =" open-data--utility-control open-data--utility-control__add" v-on:click =" updateMapLocations()" >Update locations</div >
11
11
<div class =" open-data--utility-control open-data--utility-control__remove" v-on:click =" removeAllMapLayers()" >Remove locations</div >
12
12
<div class =" clearfix" ></div >
13
- <div class =" open-data--utility-control-toggle" id =" utility_control_panel_toggle" ><div class =" open-data--utility-control-toggle-arrow" v-on:click =" toggleUtilityControls()" >Toggle Controls</div >
13
+ <div class =" open-data--utility-control-toggle" id =" utility_control_panel_toggle" ><div class =" open-data--utility-control-toggle-arrow" v-on:click =" toggleUtilityControls()" >Toggle Controls</div ></ div >
14
14
</div >
15
-
16
- </div >
17
- <!-- <div class="open-data-- utility-control-toggle"><div class="open-data-- utility-control-toggle-arrow" v-on:click="toggleUtilityControls()">V</div></div>-->
18
-
19
- <!-- <img src="../../public/arrows.svg"/>
20
- <svg id="more-arrows" viewBox="0 0 75 65">
21
- <polygon class="arrow-top" points="37.6,27.9 1.8,1.3 3.3,0 37.6,25.3 71.9,0 73.7,1.3 "/>
22
- <polygon class="arrow-middle" points="37.6,45.8 0.8,18.7 4.4,16.4 37.6,41.2 71.2,16.4 74.5,18.7 "/>
23
- <polygon class="arrow-bottom" points="37.6,64 0,36.1 5.1,32.8 37.6,56.8 70.4,32.8 75.5,36.1 "/>
24
- </svg>-->
15
+ <!-- <div class="open-data-- utility-control-toggle"><div class="open-data-- utility-control-toggle-arrow" v-on:click="toggleUtilityControls()">V</div></div>-->
25
16
</div >
26
- <div class =" open-data--map-data--category-container" >
17
+ <div class =" open-data--map-data--category-container" v-if = " !map_only " >
27
18
<div class =" open-data--selected-items" >
28
19
<div class =" open-data--selected-item" v-bind:style =" selected_map_category.item_styles || {}" v-on:click =" toggleMapLayer(selected_map_category)" v-bind:key =" selected_map_category.id" v-for =" (selected_map_category, index) in selectedGeoJsonData" >
29
20
{{selected_map_category.name}}
32
23
<input type =" textbox" class =" open-data--map-data--filter-input" v-model =" filterTerm" v-on:keyup =" filterMapCategories()" placeholder =" Filter selection here..." id =" map_data_filter_input" />
33
24
<div class =" open-data--list-container" >
34
25
<ul class =" open-data--map-data--list" >
35
- <li class =" open-data--map-data--item" v-on:click =" toggleMapLayer(map_category)" v-bind:style =" map_category.item_styles" v-bind:key =" map_category.name" v-for =" (map_category, index) in filteredGeoJsonData" >
26
+ <li class =" open-data--map-data--item" v-on:mouseover = " highlightMapCategory(map_category) " v-on: click =" toggleMapLayer(map_category)" v-bind:style =" map_category.item_styles" v-bind:key =" map_category.name" v-for =" (map_category, index) in filteredGeoJsonData" >
36
27
<span class =" open-data--name" >{{map_category.name}}</span >
37
28
<div class =" open-data--controls" >
38
29
<input id =" remove_map_layer" type =" checkbox" v-if =" hasMapLayer(map_category)" >
54
45
map_category .item_styles = {};
55
46
});
56
47
57
- window .map_json = map_json;
48
+ // TODO: stop using globals globals.
49
+ window .map_json = map_json;
58
50
59
51
function generateRandomHexColor () {
60
52
return ' #' + (" 000000" + Math .random ().toString (16 ).slice (2 , 8 ).toUpperCase ()).slice (- 6 );
@@ -79,9 +71,13 @@ window.map_json = map_json;
79
71
filteredGeoJsonData: map_json,
80
72
selectedGeoJsonData: {},
81
73
filterTerm: " " ,
74
+ hoveredMapCategory: null ,
82
75
}
83
76
},
84
77
methods: {
78
+ highlightMapCategory : function () {
79
+
80
+ },
85
81
updateMapLocations : function () {
86
82
let L = window .L ;
87
83
let map = window .my_map ;
@@ -92,7 +88,7 @@ window.map_json = map_json;
92
88
if (map && L ) {
93
89
this .geoJsonData .forEach (function (map_category , index ) {
94
90
if (map_category .geojson_data .type !== " FeatureCollection" ) {
95
- console .log (" diff type" , map_category)
91
+ // console.log("diff type", map_category)
96
92
}
97
93
map_data .addMapLayer (map_category);
98
94
});
@@ -110,6 +106,10 @@ window.map_json = map_json;
110
106
}
111
107
},
112
108
fetchMapData : function () {
109
+ /*
110
+ TODO: If we want to use opendata site, resolve COORS issues. If data is stored in a database, we can just hit our own
111
+ API here.
112
+
113
113
var xmlhttp = new XMLHttpRequest();
114
114
115
115
xmlhttp.onreadystatechange = function() {
@@ -125,10 +125,10 @@ window.map_json = map_json;
125
125
}
126
126
}
127
127
};
128
-
128
+
129
129
xmlhttp.open("GET", "https://data.openupstate.org/rest/maps?_format=json", true);
130
130
xmlhttp.send();
131
- /*
131
+
132
132
let map_data_promise = fetch("https://data.openupstate.org/rest/maps?_format=json").then(function(data){
133
133
console.log("fetch data", data);
134
134
});
@@ -159,6 +159,7 @@ window.map_json = map_json;
159
159
let geo_json = map_category .geojson_data ;
160
160
let map = window .my_map ;
161
161
let L = window .L ;
162
+
162
163
if (map_category .layer && ! map .hasLayer (map_category)) {
163
164
let marker_color = this .setMapCategoryColor (map_category, map_category .marker_color );
164
165
map .addLayer (map_category .layer );
@@ -242,13 +243,13 @@ window.map_json = map_json;
242
243
}
243
244
},
244
245
addPreSelectedMaps : function (map_selections ) {
246
+ let map_data = this ;
245
247
console .log (" MAP SELECTIONS" , map_selections);
246
248
this .geoJsonData .forEach (function (map_category , index ) {
247
- if (map_category .category . type !== " FeatureCollection " ) {
248
- console . log ( " diff type " , map_category);
249
+ if (map_selections . includes ( map_category .category ) ) {
250
+ map_data . addMapLayer ( map_category);
249
251
}
250
252
});
251
- map_data .addMapLayer (map_category);
252
253
},
253
254
toggleUtilityControls : function () {
254
255
let control_panel = document .getElementById (" utility_control_panel" );
@@ -290,6 +291,7 @@ control_panel_toggle.style.display = "none";
290
291
.open-data--control-label {
291
292
font-size :10px ;
292
293
}
294
+
293
295
.open-data--map-data--item {
294
296
background-color : white ;
295
297
border : 0.5px solid gray ;
@@ -458,8 +460,11 @@ control_panel_toggle.style.display = "none";
458
460
}
459
461
460
462
.open-data--map-marker {
461
- fill-opacity : .3px ;
462
463
transition : all 2s ease-out ;
464
+
465
+ & :hover {
466
+
467
+ }
463
468
}
464
469
465
470
0 commit comments