id_from_key: function(key_field, value) {
- return key_field + manifold.separator + unfold.escape_id(value).replace(/\\/g, '');
+ return key_field + manifold.separator + this.escape_id(value).replace(/\\/g, '');
},
// we do not need to carry around all the nonsense about backslashing dots in hrns
return id_in.replace(/\\\./g,"-").replace(/\\/g,"-").replace(/\./g,"-");
},
+ // escape (read: backslashes) some meta-chars in input
+ escape_id: function(id) {
+ if( id !== undefined){
+ return id.replace( /(:|\.|\[|\])/g, "\\$1" );
+ }else{
+ return "undefined-id";
+ }
+ },
+
id_from_record: function(method, record) {
var keys = manifold.metadata.get_key(method);
if (!keys)
throw "Not implemented";
break;
}
- return unfold.escape_id(key_value).replace(/\\/g, '');
+ return this.escape_id(key_value).replace(/\\/g, '');
},
// return { marker: gmap_marker, ul : <ul DOM> }
var checkbox = this.create_record_checkbox (record, ul, false);
if ( ! this.key in record ) return;
var key_value = record[this.key];
- var hrn = unfold.escape_id(key_value).replace(/\\/g, '');
+ var hrn = this.escape_id(key_value).replace(/\\/g, '');
this.by_hrn[hrn] = {
checkbox: checkbox,
// xxx Thierry sept 2013