]> git.wh0rd.org - tt-rss.git/blame - lib/dojo/robot.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dojo / robot.js
CommitLineData
2f01fe57
AD
1/*
2 Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
5*/
6
7
8if(!dojo._hasResource["dojo.robot"]){
9dojo._hasResource["dojo.robot"]=true;
10dojo.provide("dojo.robot");
11dojo.experimental("dojo.robot");
12dojo.require("doh.robot");
13dojo.require("dojo.window");
14(function(){
15dojo.mixin(doh.robot,{_resolveNode:function(n){
16if(typeof n=="function"){
17n=n();
18}
19return n?dojo.byId(n):null;
20},_scrollIntoView:function(n){
21var d=dojo,dr=doh.robot,p=null;
22d.forEach(dr._getWindowChain(n),function(w){
23d.withGlobal(w,function(){
24var p2=d.position(n,false),b=d._getPadBorderExtents(n),_1=null;
25if(!p){
26p=p2;
27}else{
28_1=p;
29p={x:p.x+p2.x+b.l,y:p.y+p2.y+b.t,w:p.w,h:p.h};
30}
31dojo.window.scrollIntoView(n,p);
32p2=d.position(n,false);
33if(!_1){
34p=p2;
35}else{
36p={x:_1.x+p2.x+b.l,y:_1.y+p2.y+b.t,w:p.w,h:p.h};
37}
38n=w.frameElement;
39});
40});
41},_position:function(n){
42var d=dojo,p=null,M=Math.max,m=Math.min;
43d.forEach(doh.robot._getWindowChain(n),function(w){
44d.withGlobal(w,function(){
45var p2=d.position(n,false),b=d._getPadBorderExtents(n);
46if(!p){
47p=p2;
48}else{
49var _2;
50d.withGlobal(n.contentWindow,function(){
51_2=dojo.window.getBox();
52});
53p2.r=p2.x+_2.w;
54p2.b=p2.y+_2.h;
55p={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};
56p.w=p.r-p.x;
57p.h=p.b-p.y;
58}
59n=w.frameElement;
60});
61});
62return p;
63},_getWindowChain:function(n){
64var cW=dojo.window.get(n.ownerDocument);
65var _3=[cW];
66var f=cW.frameElement;
67return (cW==dojo.global||f==null)?_3:_3.concat(doh.robot._getWindowChain(f));
68},scrollIntoView:function(_4,_5){
69doh.robot.sequence(function(){
70doh.robot._scrollIntoView(doh.robot._resolveNode(_4));
71},_5);
72},mouseMoveAt:function(_6,_7,_8,_9,_a){
73doh.robot._assertRobot();
74_8=_8||100;
75this.sequence(function(){
76_6=doh.robot._resolveNode(_6);
77doh.robot._scrollIntoView(_6);
78var _b=doh.robot._position(_6);
79if(_a===undefined){
80_9=_b.w/2;
81_a=_b.h/2;
82}
83var x=_b.x+_9;
84var y=_b.y+_a;
85doh.robot._mouseMove(x,y,false,_8);
86},_7,_8);
87}});
88})();
89}