X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FMessageBox.js;h=5f640f075b12c0db5b0fcaa91c8a0c5039dfa5eb;hb=75cbc4ce04c9c01ac47671cb01320ce699128d00;hp=4905e76ca81a03418ef8be3da3190057fc64457a;hpb=3bc46c5fb087715fd5cb267db0ebc91d8c1ddc9d;p=roojs1 diff --git a/Roo/MessageBox.js b/Roo/MessageBox.js index 4905e76ca8..5f640f075b 100644 --- a/Roo/MessageBox.js +++ b/Roo/MessageBox.js @@ -11,6 +11,7 @@ /** * @class Roo.MessageBox + * @static * Utility class for generating different styles of message boxes. The alias Roo.Msg can also be used. * Example usage: *
@@ -33,7 +34,7 @@ Roo.Msg.show({
animEl: 'elId'
});
- * @singleton
+ * @static
*/
Roo.MessageBox = function(){
var dlg, opt, mask, waitTimer;
@@ -120,6 +121,7 @@ Roo.MessageBox = function(){
}
}
});
+
dlg.on("hide", handleHide);
mask = dlg.mask;
dlg.addKeyListener(27, handleEsc);
@@ -170,14 +172,35 @@ Roo.MessageBox = function(){
dlg.resizeTo(this.maxWidth, 100); // resize first so content is never clipped from previous shows
}
msgEl.innerHTML = text || ' ';
- var w = Math.max(Math.min(opt.width || msgEl.offsetWidth, this.maxWidth),
- Math.max(opt.minWidth || this.minWidth, bwidth));
+
+ var cw = Math.max(msgEl.offsetWidth, msgEl.parentNode.scrollWidth);
+ //Roo.log("guesed size: " + JSON.stringify([cw,msgEl.offsetWidth, msgEl.parentNode.scrollWidth]));
+ var w = Math.max(
+ Math.min(opt.width || cw , this.maxWidth),
+ Math.max(opt.minWidth || this.minWidth, bwidth)
+ );
if(opt.prompt){
activeTextEl.setWidth(w);
}
if(dlg.isVisible()){
dlg.fixedcenter = false;
}
+ // to big, make it scroll. = But as usual stupid IE does not support
+ // !important..
+
+ if ( bodyEl.getHeight() > (Roo.lib.Dom.getViewHeight() - 100)) {
+ bodyEl.setHeight ( Roo.lib.Dom.getViewHeight() - 100 );
+ bodyEl.dom.style.overflowY = 'auto' + ( Roo.isIE ? '' : ' !important');
+ } else {
+ bodyEl.dom.style.height = '';
+ bodyEl.dom.style.overflowY = '';
+ }
+ if (cw > w) {
+ bodyEl.dom.style.get = 'auto' + ( Roo.isIE ? '' : ' !important');
+ } else {
+ bodyEl.dom.style.overflowX = '';
+ }
+
dlg.setContentSize(w, bodyEl.getHeight());
if(dlg.isVisible()){
dlg.fixedcenter = true;
@@ -285,7 +308,9 @@ Roo.Msg.show({
if(this.isVisible()){
this.hide();
- Roo.log("Old Dialog Message:" + msgEl.innerHTML )
+ Roo.log("[Roo.Messagebox] Show called while message displayed:" );
+ Roo.log("Old Dialog Message:" + msgEl.innerHTML );
+ Roo.log("New Dialog Message:" + options.msg )
//this.alert("ERROR", "Multiple dialogs where displayed at the same time");
//throw "Roo.MessageBox ERROR : Multiple dialogs where displayed at the same time";
@@ -340,6 +365,7 @@ Roo.Msg.show({
d.animateTarget = null;
d.show(options.animEl);
}
+ dlg.toFront();
return this;
},