X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FMessageBox.js;h=5f640f075b12c0db5b0fcaa91c8a0c5039dfa5eb;hb=refs%2Fheads%2Fwip_leon_T7094_logo_image_upload_in_boilerplate;hp=51107a1c7199e8bea3a7418b977db5458c6410bf;hpb=7f67b4d936c392d59339b93ffb11499d4bd9d149;p=roojs1 diff --git a/Roo/MessageBox.js b/Roo/MessageBox.js index 51107a1c71..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,8 +308,11 @@ Roo.Msg.show({ if(this.isVisible()){ this.hide(); - this.alert("ERROR", "Multiple dialogs where displayed at the same time"); - throw "Roo.MessageBox ERROR : Multiple dialogs where displayed at the same time"; + 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"; } var d = this.getDialog(); @@ -339,6 +365,7 @@ Roo.Msg.show({ d.animateTarget = null; d.show(options.animEl); } + dlg.toFront(); return this; },