From 2f01fe57a8d37767827d6db42850aef86a767c53 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 15 Nov 2010 10:39:52 +0300 Subject: add dijit/dojo stuff; initial ui mockup --- lib/dojo/robot.js | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 lib/dojo/robot.js (limited to 'lib/dojo/robot.js') diff --git a/lib/dojo/robot.js b/lib/dojo/robot.js new file mode 100644 index 000000000..88af37cef --- /dev/null +++ b/lib/dojo/robot.js @@ -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); +}}); +})(); +} -- cgit v1.2.3