X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=plugins%2Fgooglemap%2Fstatic%2Fjs%2Fgooglemap.js;h=d6006744de0f7aee7c600786455f2398da5a5c1c;hp=23345a27cfb7f0c7fe29ba573223230d507f783f;hb=03839166e30819c37290f33056f44aaee1583bfc;hpb=371ac3cd748e44a973ec81eebc3d2ac69c34ccf1 diff --git a/plugins/googlemap/static/js/googlemap.js b/plugins/googlemap/static/js/googlemap.js index 23345a27..d6006744 100644 --- a/plugins/googlemap/static/js/googlemap.js +++ b/plugins/googlemap/static/js/googlemap.js @@ -44,6 +44,15 @@ googlemap_debug_detailed=false; // this.key = (keys && keys.length == 1) ? keys[0] : null; + // xxx temporary hack + // as of nov. 28 2013 we have here this.key='urn', but in any place where + // the code tries to access record[this.key] the records only have + // keys=type,hrn,network_hrn,hostname + // so for now we force using hrn instead + // as soon as record have their primary key set this line can be removed + // see also same hack in querytable + this.key= (this.key == 'urn') ? 'hrn' : this.key; + //// Setup query and record handlers // this query is the one about the slice itself // event related to this query will trigger callbacks like on_new_record @@ -86,75 +95,79 @@ googlemap_debug_detailed=false; this.infowindow = new google.maps.InfoWindow(); }, // initialize_map - // xxx probably not the right place - // The function accepts both records and their key - record_hrn : function (record) { - var key_value; - switch (manifold.get_type(record)) { + // The function accepts both records and their id + // record.key points to the name of the primary key for this record + // typically this is 'urn' + record_id : function (input) { + var id; + switch (manifold.get_type(input)) { case TYPE_VALUE: - key_value = record; + id = input; break; case TYPE_RECORD: - if ( ! this.key in record ) return; - key_value = record[this.key]; + if ( ! this.key in input ) return; + id = input[this.key]; break; default: - throw "Not implemented"; + throw "googlemap.record_id: not implemented"; break; } - // XXX BACKSLASHES original code was reading like this - //return this.escape_id(key_value).replace(/\\/g, ''); - // however this sequence removes backslashes from hrn's and as a result - // queryupdater was getting all mixed up - // querytable does publish hrn's with backslashes and that seems like the thing to do - return key_value; - }, - - // return { marker: gmap_marker, ul :