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
+ // likewise, DOM ids do not like to have dots in them
+ // because "#foo.bar" matches an elem named foo with class bar - not an id that is foo.bar
+ // so this method gives you a valid DOMID but that cannot be 'reversed' back to retrieve an hrn or the like
+ // e.g.
+ // input=input="ple.aluiple.host147-82-static\\.93-94-b\\.business\\.telecomitalia\\.it"
+ // > "ple.aluiple.host147-82-static\.93-94-b\.business\.telecomitalia\.it"
+ // flat_id(input)
+ // "ple-aluiple-host147-82-static-93-94-b-business-telecomitalia-it"
+ flat_id : function (id_in) {
+ 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) {
return array[arguments.length + 1];
},
+ // TOGGLE
+ // plugin-helper.js is about managing toggled state
+ // it would be beneficial to merge it in here
+ toggle_on: function () { return this.toggle("true"); },
+ toggle_off: function () { return this.toggle("false"); },
+ toggle: function (status) {
+ plugin_helper.set_toggle_status (this.options.plugin_uuid,status);
+ },
+
/* SPIN */
spin: function() {