X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FXComponent.js;h=06dc502eb2fb00214b7bd5259c5815b11edfe4e4;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hp=0ae2ffa0e1cb81f6bc423f0b0c58a3f1c17cae22;hpb=d727377e4393c21af49ad1995e29b45a0a57c1f3;p=roojs1 diff --git a/Roo/XComponent.js b/Roo/XComponent.js index 0ae2ffa0e1..06dc502eb2 100644 --- a/Roo/XComponent.js +++ b/Roo/XComponent.js @@ -63,6 +63,12 @@ * Our builder application needs the ability to preview these sub compoennts. They will normally have parent=false set, * hence confusing the component builder as it thinks there are multiple top level elements. * + * String Over-ride & Translations + * + * Our builder application writes all the strings as _strings and _named_strings. This is to enable the translation of elements, + * and also the 'overlaying of string values - needed when different versions of the same application with different text content + * are needed. @see Roo.XComponent.overlayString + * * * * @extends Roo.util.Observable @@ -203,7 +209,7 @@ Roo.extend(Roo.XComponent, Roo.util.Observable, { break; } - if (typeof(Roo.bootstrap.Body) != 'undefined') { + if (typeof(Roo.bootstrap.Body) != 'undefined' ) { this.parent = { el : new Roo.bootstrap.Body() }; Roo.debug && Roo.log("setting el to doc body"); @@ -216,7 +222,10 @@ Roo.extend(Roo.XComponent, Roo.util.Observable, { // fall through default: el = Roo.get(ename); - this.parent = { el : true}; + if (typeof(Roo.bootstrap) != 'undefined' && tree['|xns'] == 'Roo.bootstrap') { + this.parent = { el : true}; + } + break; } @@ -411,7 +420,7 @@ Roo.apply(Roo.XComponent, { break; default: - if (obj.disabled) { + if (obj.disabled || obj.region == '#disabled') { return; } break; @@ -604,6 +613,7 @@ Roo.apply(Roo.XComponent, { msg: msg, width:450, progress:true, + buttons : false, closable:false, modal: false @@ -641,7 +651,7 @@ Roo.apply(Roo.XComponent, { " of " + total + (m.name ? (' - ' + m.name) : ''); Roo.debug && Roo.log(msg); - if (!this.hideProgress && Roo.MessageBox) { + if (!_this.hideProgress && Roo.MessageBox) { Roo.MessageBox.updateProgress( (total - mods.length)/total, msg ); } @@ -669,7 +679,32 @@ Roo.apply(Roo.XComponent, { }, - + /** + * Overlay a set of modified strings onto a component + * This is dependant on our builder exporting the strings and 'named strings' elements. + * + * @param {Object} element to overlay on - eg. Pman.Dialog.Login + * @param {Object} associative array of 'named' string and it's new value. + * + */ + overlayStrings : function( component, strings ) + { + if (typeof(component['_named_strings']) == 'undefined') { + throw "ERROR: component does not have _named_strings"; + } + for ( var k in strings ) { + var md = typeof(component['_named_strings'][k]) == 'undefined' ? false : component['_named_strings'][k]; + if (md !== false) { + component['_strings'][md] = strings[k]; + } else { + Roo.log('could not find named string: ' + k + ' in'); + Roo.log(component); + } + + } + + }, + /** * Event Object.