X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fgooglemap%2Fstatic%2Fjs%2Fgooglemap.js;h=a3d9ba2761d4eef4cd33927c89cba3ed9184ff58;hb=754158ae8e3a6b8e1d5cfeed23de32e4ad941a29;hp=f6248ab1b601a4072473c05a8194ee48b821c102;hpb=f27615841cf448ee4fc3136726ef59913ed98d4b;p=unfold.git diff --git a/plugins/googlemap/static/js/googlemap.js b/plugins/googlemap/static/js/googlemap.js index f6248ab1..a3d9ba27 100644 --- a/plugins/googlemap/static/js/googlemap.js +++ b/plugins/googlemap/static/js/googlemap.js @@ -83,8 +83,11 @@ GOOGLEMAP_BGCOLOR_REMOVED = 2; on_show: function(e) { if (debug) messages.debug("googlemap.on_show"); - var googlemap = e.data; - google.maps.event.trigger(googlemap.map, 'resize'); + var self = e.data; + var center = new google.maps.LatLng(self.options.latitude, self.options.longitude); + + google.maps.event.trigger(self.map, 'resize'); + self.map.setCenter(center); }, /************************************************************************** @@ -138,7 +141,7 @@ GOOGLEMAP_BGCOLOR_REMOVED = 2; */ create_record_checkbox: function (record, ul, checked) { - var key, key_value; + var key, key_value, data; var checkbox = $("", {type:'checkbox', checked:checked, class:'geo'}); var id = record[this.canonical_key]; @@ -170,7 +173,13 @@ GOOGLEMAP_BGCOLOR_REMOVED = 2; */ var self=this; checkbox.change( function (e) { - manifold.raise_event (self.options.query_uuid, this.checked ? SET_ADD : SET_REMOVED, id); + data = { + state: STATE_SET, + key : null, + op : this.checked ? STATE_SET_ADD : STATE_SET_REMOVE, + value: id + } + manifold.raise_event(self.options.query_uuid, FIELD_STATE_CHANGED, data); }); return checkbox; }, @@ -381,16 +390,34 @@ GOOGLEMAP_BGCOLOR_REMOVED = 2; on_field_state_changed: function(data) { - switch(data.request) { - case FIELD_REQUEST_ADD: - case FIELD_REQUEST_ADD_RESET: - this.set_checkbox_from_data(data.value, true); + switch(data.state) { + case STATE_SET: + switch(data.value) { + case STATE_SET_IN: + case STATE_SET_IN_SUCCESS: + case STATE_SET_OUT_FAILURE: + this.set_checkbox_from_data(data.key, true); + this.set_bgcolor(data.key, QUERYTABLE_BGCOLOR_RESET); + break; + case STATE_SET_OUT: + case STATE_SET_OUT_SUCCESS: + case STATE_SET_IN_FAILURE: + this.set_checkbox_from_data(data.key, false); + this.set_bgcolor(data.key, QUERYTABLE_BGCOLOR_RESET); + break; + case STATE_SET_IN_PENDING: + this.set_checkbox_from_data(data.key, true); + this.set_bgcolor(data.key, QUERYTABLE_BGCOLOR_ADDED); + break; + case STATE_SET_OUT_PENDING: + this.set_checkbox_from_data(data.key, false); + this.set_bgcolor(data.key, QUERYTABLE_BGCOLOR_REMOVED); + break; + } break; - case FIELD_REQUEST_REMOVE: - case FIELD_REQUEST_REMOVE_RESET: - this.set_checkbox_from_data(data.value, false); - break; - default: + + case STATE_WARNINGS: + //this.change_status(data.key, data.value); break; } },