roojs-bootstrap.js
authoredward <edward@roojs.com>
Wed, 29 Nov 2017 11:24:41 +0000 (19:24 +0800)
committeredward <edward@roojs.com>
Wed, 29 Nov 2017 11:24:41 +0000 (19:24 +0800)
roojs-bootstrap-debug.js

roojs-bootstrap-debug.js
roojs-bootstrap.js

index 84a23d9..715b9ec 100644 (file)
@@ -8039,43 +8039,41 @@ Roo.apply(Roo.bootstrap.Form, {
             
             var ot = this.target.el.calcOffsetsTo(scrollable);
             
-            var scrollTo = 0;
-            
-            if(ot[1] <= scrolled.top){
-                scrollTo = ot[1] - 100;
-            } else {
-                scrollTo = ot[1] + Roo.lib.Dom.getViewHeight() - 100;
-            }
+            scrollTo = ot[1] - 100;
             
             scrollable.scrollTo('top', scrollTo);
             
             var box = this.target.el.getBox();
-            
+
             var zIndex = Roo.bootstrap.Modal.zIndex++;
-            
+
+            this.maskEl.top.setStyle('position', 'fixed');
+            this.maskEl.top.setStyle('z-index', zIndex);
             this.maskEl.top.setSize(Roo.lib.Dom.getDocumentWidth(), box.y - this.padding);
             this.maskEl.top.setXY([0, 0]);
-            this.maskEl.top.setStyle('z-index', zIndex);
             this.maskEl.top.show();
-            
+
+            this.maskEl.left.setStyle('position', 'fixed');
+            this.maskEl.left.setStyle('z-index', zIndex);
             this.maskEl.left.setSize(Roo.lib.Dom.getDocumentWidth() - box.right - this.padding, box.height + this.padding * 2);
             this.maskEl.left.setXY([box.right + this.padding, box.y - this.padding]);
-            this.maskEl.left.setStyle('z-index', zIndex);
             this.maskEl.left.show();
-            
+
+            this.maskEl.bottom.setStyle('position', 'fixed');
+            this.maskEl.bottom.setStyle('z-index', zIndex);
             this.maskEl.bottom.setSize(Roo.lib.Dom.getDocumentWidth(), Roo.lib.Dom.getDocumentHeight() - box.bottom - this.padding);
             this.maskEl.bottom.setXY([0, box.bottom + this.padding]);
-            this.maskEl.bottom.setStyle('z-index', zIndex);
             this.maskEl.bottom.show();
-            
+
+            this.maskEl.right.setStyle('position', 'fixed');
+            this.maskEl.right.setStyle('z-index', zIndex);
             this.maskEl.right.setSize(box.x - this.padding, box.height + this.padding * 2);
             this.maskEl.right.setXY([0, box.y - this.padding]);
-            this.maskEl.right.setStyle('z-index', zIndex);
             this.maskEl.right.show();
-            
-            
+
+
             this.toolTip.bindEl = this.target.el;
-        
+
             this.toolTip.el.setStyle('z-index', Roo.bootstrap.Modal.zIndex++);
 
             var tip = this.target.blankText;
@@ -8085,7 +8083,7 @@ Roo.apply(Roo.bootstrap.Form, {
             }
 
             this.toolTip.show(tip);
-            
+
             this.intervalID = window.setInterval(function() {
                 Roo.bootstrap.Form.popover.unmask();
             }, 10000);
@@ -8093,6 +8091,8 @@ Roo.apply(Roo.bootstrap.Form, {
             window.onwheel = function(){ return false;};
             
             (function(){ this.isMasked = true; }).defer(500, this);
+                
+            
             
         },
         
@@ -8102,10 +8102,21 @@ Roo.apply(Roo.bootstrap.Form, {
                 return;
             }
             
-            this.maskEl.top.setSize(0, 0).setXY([0, 0]).hide();
-            this.maskEl.left.setSize(0, 0).setXY([0, 0]).hide();
-            this.maskEl.bottom.setSize(0, 0).setXY([0, 0]).hide();
-            this.maskEl.right.setSize(0, 0).setXY([0, 0]).hide();
+            this.maskEl.top.setStyle('position', 'absolute');
+            this.maskEl.top.setSize(0, 0).setXY([0, 0]);
+            this.maskEl.top.hide();
+
+            this.maskEl.left.setStyle('position', 'absolute');
+            this.maskEl.left.setSize(0, 0).setXY([0, 0]);
+            this.maskEl.left.hide();
+
+            this.maskEl.bottom.setStyle('position', 'absolute');
+            this.maskEl.bottom.setSize(0, 0).setXY([0, 0]);
+            this.maskEl.bottom.hide();
+
+            this.maskEl.right.setStyle('position', 'absolute');
+            this.maskEl.right.setSize(0, 0).setXY([0, 0]);
+            this.maskEl.right.hide();
             
             this.toolTip.hide();
             
index 223f315..db87301 100644 (file)
@@ -319,14 +319,15 @@ sd[C.displayField]=typeof(A[C.name])=='undefined'?'':A[C.name];C.setFromData(sd)
 ,true),right:Roo.DomHelper.append(Roo.get(document.body),{tag:"div",cls:"x-dlg-mask roo-form-right-mask"},true)};this.maskEl.top.enableDisplayMode("block");this.maskEl.left.enableDisplayMode("block");this.maskEl.bottom.enableDisplayMode("block");this.maskEl.right.enableDisplayMode("block");
 this.toolTip=new Roo.bootstrap.Tooltip({cls:'roo-form-error-popover',alignment:{'left':['r-l',[-2,0],'right'],'right':['l-r',[2,0],'left'],'bottom':['tl-bl',[0,2],'top'],'top':['bl-tl',[0,-2],'bottom']}});this.toolTip.render(Roo.get(document.body));this.toolTip.el.enableDisplayMode("block");
 Roo.get(document.body).on('click',function(){this.unmask();},this);this.isApplied=true},mask:function(A,B){this.form=A;this.target=B;if(!this.form.errorMask||!B.el){return;}var C=this.target.el.findScrollableParent()||this.target.el.findParent('div.modal',100,true)||Roo.get(document.body);
-var D=C.getScroll();var ot=this.target.el.calcOffsetsTo(C);var E=0;if(ot[1]<=D.top){E=ot[1]-100;}else{E=ot[1]+Roo.lib.Dom.getViewHeight()-100;}C.scrollTo('top',E);var F=this.target.el.getBox();var G=Roo.bootstrap.Modal.zIndex++;this.maskEl.top.setSize(Roo.lib.Dom.getDocumentWidth(),F.y-this.padding);
-this.maskEl.top.setXY([0,0]);this.maskEl.top.setStyle('z-index',G);this.maskEl.top.show();this.maskEl.left.setSize(Roo.lib.Dom.getDocumentWidth()-F.right-this.padding,F.height+this.padding*2);this.maskEl.left.setXY([F.right+this.padding,F.y-this.padding]);
-this.maskEl.left.setStyle('z-index',G);this.maskEl.left.show();this.maskEl.bottom.setSize(Roo.lib.Dom.getDocumentWidth(),Roo.lib.Dom.getDocumentHeight()-F.bottom-this.padding);this.maskEl.bottom.setXY([0,F.bottom+this.padding]);this.maskEl.bottom.setStyle('z-index',G);
-this.maskEl.bottom.show();this.maskEl.right.setSize(F.x-this.padding,F.height+this.padding*2);this.maskEl.right.setXY([0,F.y-this.padding]);this.maskEl.right.setStyle('z-index',G);this.maskEl.right.show();this.toolTip.bindEl=this.target.el;this.toolTip.el.setStyle('z-index',Roo.bootstrap.Modal.zIndex++);
-var H=this.target.blankText;if(this.target.getValue()!==''&&this.target.regexText.length){H=this.target.regexText;}this.toolTip.show(H);this.intervalID=window.setInterval(function(){Roo.bootstrap.Form.popover.unmask();},10000);window.onwheel=function(){return false;
-};(function(){this.isMasked=true;}).defer(500,this);},unmask:function(){if(!this.isApplied||!this.isMasked||!this.form||!this.target||!this.form.errorMask){return;}this.maskEl.top.setSize(0,0).setXY([0,0]).hide();this.maskEl.left.setSize(0,0).setXY([0,0]).hide();
-this.maskEl.bottom.setSize(0,0).setXY([0,0]).hide();this.maskEl.right.setSize(0,0).setXY([0,0]).hide();this.toolTip.hide();this.toolTip.el.hide();window.onwheel=function(){return true;};if(this.intervalID){window.clearInterval(this.intervalID);this.intervalID=false;
-}this.isMasked=false;}}});
+var D=C.getScroll();var ot=this.target.el.calcOffsetsTo(C);scrollTo=ot[1]-100;C.scrollTo('top',scrollTo);var E=this.target.el.getBox();var F=Roo.bootstrap.Modal.zIndex++;this.maskEl.top.setStyle('position','fixed');this.maskEl.top.setStyle('z-index',F);this.maskEl.top.setSize(Roo.lib.Dom.getDocumentWidth(),E.y-this.padding);
+this.maskEl.top.setXY([0,0]);this.maskEl.top.show();this.maskEl.left.setStyle('position','fixed');this.maskEl.left.setStyle('z-index',F);this.maskEl.left.setSize(Roo.lib.Dom.getDocumentWidth()-E.right-this.padding,E.height+this.padding*2);this.maskEl.left.setXY([E.right+this.padding,E.y-this.padding]);
+this.maskEl.left.show();this.maskEl.bottom.setStyle('position','fixed');this.maskEl.bottom.setStyle('z-index',F);this.maskEl.bottom.setSize(Roo.lib.Dom.getDocumentWidth(),Roo.lib.Dom.getDocumentHeight()-E.bottom-this.padding);this.maskEl.bottom.setXY([0,E.bottom+this.padding]);
+this.maskEl.bottom.show();this.maskEl.right.setStyle('position','fixed');this.maskEl.right.setStyle('z-index',F);this.maskEl.right.setSize(E.x-this.padding,E.height+this.padding*2);this.maskEl.right.setXY([0,E.y-this.padding]);this.maskEl.right.show();this.toolTip.bindEl=this.target.el;
+this.toolTip.el.setStyle('z-index',Roo.bootstrap.Modal.zIndex++);var G=this.target.blankText;if(this.target.getValue()!==''&&this.target.regexText.length){G=this.target.regexText;}this.toolTip.show(G);this.intervalID=window.setInterval(function(){Roo.bootstrap.Form.popover.unmask();
+},10000);window.onwheel=function(){return false;};(function(){this.isMasked=true;}).defer(500,this);},unmask:function(){if(!this.isApplied||!this.isMasked||!this.form||!this.target||!this.form.errorMask){return;}this.maskEl.top.setStyle('position','absolute');
+this.maskEl.top.setSize(0,0).setXY([0,0]);this.maskEl.top.hide();this.maskEl.left.setStyle('position','absolute');this.maskEl.left.setSize(0,0).setXY([0,0]);this.maskEl.left.hide();this.maskEl.bottom.setStyle('position','absolute');this.maskEl.bottom.setSize(0,0).setXY([0,0]);
+this.maskEl.bottom.hide();this.maskEl.right.setStyle('position','absolute');this.maskEl.right.setSize(0,0).setXY([0,0]);this.maskEl.right.hide();this.toolTip.hide();this.toolTip.el.hide();window.onwheel=function(){return true;};if(this.intervalID){window.clearInterval(this.intervalID);
+this.intervalID=false;}this.isMasked=false;}}});
 // Roo/form/VTypes.js
 Roo.form.VTypes=function(){var A=/^[a-zA-Z_]+$/;var B=/^[a-zA-Z0-9_]+$/;var C=/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,24}$/;var D=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return {'email':function(v){return C.test(v);
 },'emailText':'This field should be an e-mail address in the format "user@domain.com"','emailMask':/[a-z0-9_\.\-@]/i,'url':function(v){return D.test(v);},'urlText':'This field should be a URL in the format "http:/'+'/www.domain.com"','alpha':function(v){return A.test(v);