mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 03:45:56 +00:00
add dijit/dojo stuff; initial ui mockup
This commit is contained in:
89
lib/dojo/robot.js
Normal file
89
lib/dojo/robot.js
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
||||
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||||
see: http://dojotoolkit.org/license for details
|
||||
*/
|
||||
|
||||
|
||||
if(!dojo._hasResource["dojo.robot"]){
|
||||
dojo._hasResource["dojo.robot"]=true;
|
||||
dojo.provide("dojo.robot");
|
||||
dojo.experimental("dojo.robot");
|
||||
dojo.require("doh.robot");
|
||||
dojo.require("dojo.window");
|
||||
(function(){
|
||||
dojo.mixin(doh.robot,{_resolveNode:function(n){
|
||||
if(typeof n=="function"){
|
||||
n=n();
|
||||
}
|
||||
return n?dojo.byId(n):null;
|
||||
},_scrollIntoView:function(n){
|
||||
var d=dojo,dr=doh.robot,p=null;
|
||||
d.forEach(dr._getWindowChain(n),function(w){
|
||||
d.withGlobal(w,function(){
|
||||
var p2=d.position(n,false),b=d._getPadBorderExtents(n),_1=null;
|
||||
if(!p){
|
||||
p=p2;
|
||||
}else{
|
||||
_1=p;
|
||||
p={x:p.x+p2.x+b.l,y:p.y+p2.y+b.t,w:p.w,h:p.h};
|
||||
}
|
||||
dojo.window.scrollIntoView(n,p);
|
||||
p2=d.position(n,false);
|
||||
if(!_1){
|
||||
p=p2;
|
||||
}else{
|
||||
p={x:_1.x+p2.x+b.l,y:_1.y+p2.y+b.t,w:p.w,h:p.h};
|
||||
}
|
||||
n=w.frameElement;
|
||||
});
|
||||
});
|
||||
},_position:function(n){
|
||||
var d=dojo,p=null,M=Math.max,m=Math.min;
|
||||
d.forEach(doh.robot._getWindowChain(n),function(w){
|
||||
d.withGlobal(w,function(){
|
||||
var p2=d.position(n,false),b=d._getPadBorderExtents(n);
|
||||
if(!p){
|
||||
p=p2;
|
||||
}else{
|
||||
var _2;
|
||||
d.withGlobal(n.contentWindow,function(){
|
||||
_2=dojo.window.getBox();
|
||||
});
|
||||
p2.r=p2.x+_2.w;
|
||||
p2.b=p2.y+_2.h;
|
||||
p={x:M(p.x+p2.x,p2.x)+b.l,y:M(p.y+p2.y,p2.y)+b.t,r:m(p.x+p2.x+p.w,p2.r)+b.l,b:m(p.y+p2.y+p.h,p2.b)+b.t};
|
||||
p.w=p.r-p.x;
|
||||
p.h=p.b-p.y;
|
||||
}
|
||||
n=w.frameElement;
|
||||
});
|
||||
});
|
||||
return p;
|
||||
},_getWindowChain:function(n){
|
||||
var cW=dojo.window.get(n.ownerDocument);
|
||||
var _3=[cW];
|
||||
var f=cW.frameElement;
|
||||
return (cW==dojo.global||f==null)?_3:_3.concat(doh.robot._getWindowChain(f));
|
||||
},scrollIntoView:function(_4,_5){
|
||||
doh.robot.sequence(function(){
|
||||
doh.robot._scrollIntoView(doh.robot._resolveNode(_4));
|
||||
},_5);
|
||||
},mouseMoveAt:function(_6,_7,_8,_9,_a){
|
||||
doh.robot._assertRobot();
|
||||
_8=_8||100;
|
||||
this.sequence(function(){
|
||||
_6=doh.robot._resolveNode(_6);
|
||||
doh.robot._scrollIntoView(_6);
|
||||
var _b=doh.robot._position(_6);
|
||||
if(_a===undefined){
|
||||
_9=_b.w/2;
|
||||
_a=_b.h/2;
|
||||
}
|
||||
var x=_b.x+_9;
|
||||
var y=_b.y+_a;
|
||||
doh.robot._mouseMove(x,y,false,_8);
|
||||
},_7,_8);
|
||||
}});
|
||||
})();
|
||||
}
|
||||
Reference in New Issue
Block a user