X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=plugins%2Fquerytable%2Fstatic%2Fjs%2Fquerytable.js;h=9d7bced0716ff2d6f51ceedb3a0ff05c5e1c9fab;hp=12232c8e372fc70e6e540a96125005ce29e67369;hb=265fd105b18cfa17791352c04a8da976b2c4826f;hpb=96cee46c470e64780546bd2a0a99859369b6634b diff --git a/plugins/querytable/static/js/querytable.js b/plugins/querytable/static/js/querytable.js index 12232c8e..9d7bced0 100644 --- a/plugins/querytable/static/js/querytable.js +++ b/plugins/querytable/static/js/querytable.js @@ -41,17 +41,18 @@ var query = manifold.query_store.find_analyzed_query(this.options.query_uuid); this.method = query.object; - var keys = manifold.metadata.get_key(this.method); - 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 googlemap - this.key= (this.key == 'urn') ? 'hrn' : this.key; + // xxx beware that this.key needs to contain a key that all records will have + // in general query_all will return well populated records, but query + // returns records with only the fields displayed on startup. + this.key = (this.options.id_key); + if (! this.key) { + // if not specified by caller, decide from metadata + var keys = manifold.metadata.get_key(this.method); + this.key = (keys && keys.length == 1) ? keys[0] : null; + } + if (! this.key) messages.warning("querytable.init could not kind valid key"); + + messages.debug("querytable: key="+this.key); /* Setup query and record handlers */ this.listen_query(options.query_uuid);