X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/adapter/yui-bridge.js diff --git a/src/adapter/yui-bridge.js b/src/adapter/yui-bridge.js deleted file mode 100644 index e790ea31..00000000 --- a/src/adapter/yui-bridge.js +++ /dev/null @@ -1,374 +0,0 @@ -/*! - * Ext JS Library 3.3.1 - * Copyright(c) 2006-2010 Sencha Inc. - * licensing@sencha.com - * http://www.sencha.com/license - */ -if(typeof YAHOO == "undefined"){ - throw "Unable to load Ext, core YUI utilities (yahoo, dom, event) not found."; -} - -(function(){ - var E = YAHOO.util.Event, - D = YAHOO.util.Dom, - CN = YAHOO.util.Connect, - ES = YAHOO.util.Easing, - A = YAHOO.util.Anim, - libFlyweight, - version = YAHOO.env.getVersion('yahoo').version.split('.'), - mouseEnterSupported = parseInt(version[0], 10) >= 3, - mouseCache = {}, - elContains = function(parent, child){ - if(parent && parent.firstChild){ - while(child){ - if(child === parent){ - return true; - } - child = child.parentNode; - if(child && (child.nodeType != 1)){ - child = null; - } - } - } - return false; - }, checkRelatedTarget = function(e){ - return !elContains(e.currentTarget, Ext.lib.Event.getRelatedTarget(e)); - }; - -Ext.lib.Dom = { - getViewWidth : function(full){ - return full ? D.getDocumentWidth() : D.getViewportWidth(); - }, - - getViewHeight : function(full){ - return full ? D.getDocumentHeight() : D.getViewportHeight(); - }, - - isAncestor : function(haystack, needle){ - return D.isAncestor(haystack, needle); - }, - - getRegion : function(el){ - return D.getRegion(el); - }, - - getY : function(el){ - return this.getXY(el)[1]; - }, - - getX : function(el){ - return this.getXY(el)[0]; - }, - - // original version based on YahooUI getXY - // this version fixes several issues in Safari and FF - // and boosts performance by removing the batch overhead, repetitive dom lookups and array index calls - getXY : function(el){ - var p, pe, b, scroll, bd = (document.body || document.documentElement); - el = Ext.getDom(el); - - if(el == bd){ - return [0, 0]; - } - - if (el.getBoundingClientRect) { - b = el.getBoundingClientRect(); - scroll = fly(document).getScroll(); - return [Math.round(b.left + scroll.left), Math.round(b.top + scroll.top)]; - } - var x = 0, y = 0; - - p = el; - - var hasAbsolute = fly(el).getStyle("position") == "absolute"; - - while (p) { - - x += p.offsetLeft; - y += p.offsetTop; - - if (!hasAbsolute && fly(p).getStyle("position") == "absolute") { - hasAbsolute = true; - } - - if (Ext.isGecko) { - pe = fly(p); - - var bt = parseInt(pe.getStyle("borderTopWidth"), 10) || 0; - var bl = parseInt(pe.getStyle("borderLeftWidth"), 10) || 0; - - - x += bl; - y += bt; - - - if (p != el && pe.getStyle('overflow') != 'visible') { - x += bl; - y += bt; - } - } - p = p.offsetParent; - } - - if (Ext.isSafari && hasAbsolute) { - x -= bd.offsetLeft; - y -= bd.offsetTop; - } - - if (Ext.isGecko && !hasAbsolute) { - var dbd = fly(bd); - x += parseInt(dbd.getStyle("borderLeftWidth"), 10) || 0; - y += parseInt(dbd.getStyle("borderTopWidth"), 10) || 0; - } - - p = el.parentNode; - while (p && p != bd) { - if (!Ext.isOpera || (p.tagName != 'TR' && fly(p).getStyle("display") != "inline")) { - x -= p.scrollLeft; - y -= p.scrollTop; - } - p = p.parentNode; - } - return [x, y]; - }, - - setXY : function(el, xy){ - el = Ext.fly(el, '_setXY'); - el.position(); - var pts = el.translatePoints(xy); - if(xy[0] !== false){ - el.dom.style.left = pts.left + "px"; - } - if(xy[1] !== false){ - el.dom.style.top = pts.top + "px"; - } - }, - - setX : function(el, x){ - this.setXY(el, [x, false]); - }, - - setY : function(el, y){ - this.setXY(el, [false, y]); - } -}; - -Ext.lib.Event = { - getPageX : function(e){ - return E.getPageX(e.browserEvent || e); - }, - - getPageY : function(e){ - return E.getPageY(e.browserEvent || e); - }, - - getXY : function(e){ - return E.getXY(e.browserEvent || e); - }, - - getTarget : function(e){ - return E.getTarget(e.browserEvent || e); - }, - - getRelatedTarget : function(e){ - return E.getRelatedTarget(e.browserEvent || e); - }, - - on : function(el, eventName, fn, scope, override){ - if((eventName == 'mouseenter' || eventName == 'mouseleave') && !mouseEnterSupported){ - var item = mouseCache[el.id] || (mouseCache[el.id] = {}); - item[eventName] = fn; - fn = fn.createInterceptor(checkRelatedTarget); - eventName = (eventName == 'mouseenter') ? 'mouseover' : 'mouseout'; - } - E.on(el, eventName, fn, scope, override); - }, - - un : function(el, eventName, fn){ - if((eventName == 'mouseenter' || eventName == 'mouseleave') && !mouseEnterSupported){ - var item = mouseCache[el.id], - ev = item && item[eventName]; - - if(ev){ - fn = ev.fn; - delete item[eventName]; - eventName = (eventName == 'mouseenter') ? 'mouseover' : 'mouseout'; - } - } - E.removeListener(el, eventName, fn);; - }, - - purgeElement : function(el){ - E.purgeElement(el); - }, - - preventDefault : function(e){ - E.preventDefault(e.browserEvent || e); - }, - - stopPropagation : function(e){ - E.stopPropagation(e.browserEvent || e); - }, - - stopEvent : function(e){ - E.stopEvent(e.browserEvent || e); - }, - - onAvailable : function(el, fn, scope, override){ - return E.onAvailable(el, fn, scope, override); - } -}; - -Ext.lib.Ajax = { - request : function(method, uri, cb, data, options){ - if(options){ - var hs = options.headers; - if(hs){ - for(var h in hs){ - if(hs.hasOwnProperty(h)){ - CN.initHeader(h, hs[h], false); - } - } - } - if(options.xmlData){ - if (!hs || !hs['Content-Type']){ - CN.initHeader('Content-Type', 'text/xml', false); - } - method = (method ? method : (options.method ? options.method : 'POST')); - data = options.xmlData; - }else if(options.jsonData){ - if (!hs || !hs['Content-Type']){ - CN.initHeader('Content-Type', 'application/json', false); - } - method = (method ? method : (options.method ? options.method : 'POST')); - data = typeof options.jsonData == 'object' ? Ext.encode(options.jsonData) : options.jsonData; - } - } - return CN.asyncRequest(method, uri, cb, data); - }, - - formRequest : function(form, uri, cb, data, isUpload, sslUri){ - CN.setForm(form, isUpload, sslUri); - return CN.asyncRequest(Ext.getDom(form).method ||'POST', uri, cb, data); - }, - - isCallInProgress : function(trans){ - return CN.isCallInProgress(trans); - }, - - abort : function(trans){ - return CN.abort(trans); - }, - - serializeForm : function(form){ - var d = CN.setForm(form.dom || form); - CN.resetFormState(); - return d; - } -}; - -Ext.lib.Region = YAHOO.util.Region; -Ext.lib.Point = YAHOO.util.Point; - - -Ext.lib.Anim = { - scroll : function(el, args, duration, easing, cb, scope){ - this.run(el, args, duration, easing, cb, scope, YAHOO.util.Scroll); - }, - - motion : function(el, args, duration, easing, cb, scope){ - this.run(el, args, duration, easing, cb, scope, YAHOO.util.Motion); - }, - - color : function(el, args, duration, easing, cb, scope){ - this.run(el, args, duration, easing, cb, scope, YAHOO.util.ColorAnim); - }, - - run : function(el, args, duration, easing, cb, scope, type){ - type = type || YAHOO.util.Anim; - if(typeof easing == "string"){ - easing = YAHOO.util.Easing[easing]; - } - var anim = new type(el, args, duration, easing); - anim.animateX(function(){ - Ext.callback(cb, scope); - }); - return anim; - } -}; - -// all lib flyweight calls use their own flyweight to prevent collisions with developer flyweights -function fly(el){ - if(!libFlyweight){ - libFlyweight = new Ext.Element.Flyweight(); - } - libFlyweight.dom = el; - return libFlyweight; -} - -// prevent IE leaks -if(Ext.isIE) { - function fnCleanUp() { - var p = Function.prototype; - delete p.createSequence; - delete p.defer; - delete p.createDelegate; - delete p.createCallback; - delete p.createInterceptor; - - window.detachEvent("onunload", fnCleanUp); - } - window.attachEvent("onunload", fnCleanUp); -} -// various overrides - -// add ability for callbacks with animations -if(YAHOO.util.Anim){ - YAHOO.util.Anim.prototype.animateX = function(callback, scope){ - var f = function(){ - this.onComplete.unsubscribe(f); - if(typeof callback == "function"){ - callback.call(scope || this, this); - } - }; - this.onComplete.subscribe(f, this, true); - this.animate(); - }; -} - -if(YAHOO.util.DragDrop && Ext.dd.DragDrop){ - YAHOO.util.DragDrop.defaultPadding = Ext.dd.DragDrop.defaultPadding; - YAHOO.util.DragDrop.constrainTo = Ext.dd.DragDrop.constrainTo; -} - -YAHOO.util.Dom.getXY = function(el) { - var f = function(el) { - return Ext.lib.Dom.getXY(el); - }; - return YAHOO.util.Dom.batch(el, f, YAHOO.util.Dom, true); -}; - - -// workaround for Safari anim duration speed problems -if(YAHOO.util.AnimMgr){ - YAHOO.util.AnimMgr.fps = 1000; -} - -YAHOO.util.Region.prototype.adjust = function(t, l, b, r){ - this.top += t; - this.left += l; - this.right += r; - this.bottom += b; - return this; -}; - -YAHOO.util.Region.prototype.constrainTo = function(r) { - this.top = this.top.constrain(r.top, r.bottom); - this.bottom = this.bottom.constrain(r.top, r.bottom); - this.left = this.left.constrain(r.left, r.right); - this.right = this.right.constrain(r.left, r.right); - return this; -}; - - -})(); \ No newline at end of file