MDL-13828 Updated to YUI 2.5.0
@@ -10,3 +10,4 @@ Updated to YUI 0.12.0, 23 November 2006
|
||||
Updated to YUI 0.12.1, 8 January 2007
|
||||
Updated to YUI 0.12.2, 8 Febuary 2007
|
||||
Updated to YUI 2.3.0, 3 August 2007
|
||||
Updated to YUI 2.5.0, 7 March 2008
|
||||
@@ -1,45 +1,51 @@
|
||||
Animation Release Notes
|
||||
|
||||
*** version 2.5.0 ***
|
||||
* replace toString overrides with static NAME property
|
||||
|
||||
*** version 2.4.0 ***
|
||||
* calling stop() on an non-animated Anim no longer fires onComplete
|
||||
|
||||
*** version 2.3.1 ***
|
||||
* no change
|
||||
|
||||
*** version 2.3.0 ***
|
||||
|
||||
* duration of zero now executes 1 frame animation
|
||||
* added setEl() method to enable reuse
|
||||
* fixed stop() for multiple animations
|
||||
|
||||
*** version 2.2.2 **
|
||||
*** version 2.3.0 ***
|
||||
* duration of zero now executes 1 frame animation
|
||||
* added setEl() method to enable reuse
|
||||
* fixed stop() for multiple animations
|
||||
|
||||
*** version 2.2.2 ***
|
||||
* no change
|
||||
|
||||
*** version 2.2.1 **
|
||||
|
||||
*** version 2.2.1 ***
|
||||
* no change
|
||||
|
||||
*** version 2.2.0 **
|
||||
|
||||
*** version 2.2.0 ***
|
||||
* Fixed AnimMgr.stop() when called without tween
|
||||
|
||||
*** version 0.12.2 ***
|
||||
|
||||
* raised AnimMgr.fps to 1000
|
||||
|
||||
*** version 0.12.1 ***
|
||||
* minified version no longer strips line breaks
|
||||
|
||||
*** version 0.12.0 ***
|
||||
|
||||
* added boolean finish argument to Anim.stop()
|
||||
|
||||
*** version 0.11.3 ***
|
||||
|
||||
* no changes
|
||||
|
||||
*** version 0.11.1 ***
|
||||
|
||||
* changed "prototype" shorthand to "proto" (workaround firefox < 1.5 scoping
|
||||
bug)
|
||||
|
||||
*** version 0.11.0 ***
|
||||
|
||||
* ColorAnim subclass added
|
||||
* Motion and Scroll now inherit from ColorAnim
|
||||
* getDefaultUnit method added
|
||||
@@ -47,13 +53,10 @@ bug)
|
||||
* getDefault and setDefault methods deprecated
|
||||
|
||||
*** version 0.10.0 ***
|
||||
|
||||
* Scroll now handles relative ("by") animation correctly
|
||||
|
||||
* Now converts "auto" values of "from" to appropriate initial values
|
||||
|
||||
*** version 0.9.0 ***
|
||||
|
||||
* Initial release
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
(function() {
|
||||
|
||||
var Y = YAHOO.util;
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
@@ -37,23 +41,25 @@ http://developer.yahoo.net/yui/license.txt
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
|
||||
YAHOO.util.Anim = function(el, attributes, duration, method) {
|
||||
var Anim = function(el, attributes, duration, method) {
|
||||
if (!el) {
|
||||
YAHOO.log('element required to create Anim instance', 'error', 'Anim');
|
||||
}
|
||||
this.init(el, attributes, duration, method);
|
||||
};
|
||||
|
||||
YAHOO.util.Anim.prototype = {
|
||||
Anim.NAME = 'Anim';
|
||||
|
||||
Anim.prototype = {
|
||||
/**
|
||||
* Provides a readable name for the Anim instance.
|
||||
* @method toString
|
||||
* @return {String}
|
||||
*/
|
||||
toString: function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName || el;
|
||||
return ("Anim " + id);
|
||||
var el = this.getEl() || {};
|
||||
var id = el.id || el.tagName;
|
||||
return (this.constructor.NAME + ': ' + id);
|
||||
},
|
||||
|
||||
patterns: { // cached for performance
|
||||
@@ -87,7 +93,7 @@ YAHOO.util.Anim.prototype = {
|
||||
val = (val > 0) ? val : 0;
|
||||
}
|
||||
|
||||
YAHOO.util.Dom.setStyle(this.getEl(), attr, val + unit);
|
||||
Y.Dom.setStyle(this.getEl(), attr, val + unit);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -98,7 +104,7 @@ YAHOO.util.Anim.prototype = {
|
||||
*/
|
||||
getAttribute: function(attr) {
|
||||
var el = this.getEl();
|
||||
var val = YAHOO.util.Dom.getStyle(el, attr);
|
||||
var val = Y.Dom.getStyle(el, attr);
|
||||
|
||||
if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) {
|
||||
return parseFloat(val);
|
||||
@@ -109,7 +115,7 @@ YAHOO.util.Anim.prototype = {
|
||||
var box = !!( a[2] ); // width or height
|
||||
|
||||
// use offsets for width/height and abs pos top/left
|
||||
if ( box || (YAHOO.util.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
|
||||
if ( box || (Y.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
|
||||
val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)];
|
||||
} else { // default to zero for other 'auto'
|
||||
val = 0;
|
||||
@@ -220,7 +226,7 @@ YAHOO.util.Anim.prototype = {
|
||||
* @private
|
||||
* @type HTMLElement
|
||||
*/
|
||||
el = YAHOO.util.Dom.get(el);
|
||||
el = Y.Dom.get(el);
|
||||
|
||||
/**
|
||||
* The collection of attributes to be animated.
|
||||
@@ -247,7 +253,7 @@ YAHOO.util.Anim.prototype = {
|
||||
* @property method
|
||||
* @type Function
|
||||
*/
|
||||
this.method = method || YAHOO.util.Easing.easeNone;
|
||||
this.method = method || Y.Easing.easeNone;
|
||||
|
||||
/**
|
||||
* Whether or not the duration should be treated as seconds.
|
||||
@@ -271,14 +277,14 @@ YAHOO.util.Anim.prototype = {
|
||||
* @property totalFrames
|
||||
* @type Int
|
||||
*/
|
||||
this.totalFrames = YAHOO.util.AnimMgr.fps;
|
||||
this.totalFrames = Y.AnimMgr.fps;
|
||||
|
||||
/**
|
||||
* Changes the animated element
|
||||
* @method setEl
|
||||
*/
|
||||
this.setEl = function(element) {
|
||||
el = YAHOO.util.Dom.get(element);
|
||||
el = Y.Dom.get(element);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -324,12 +330,12 @@ YAHOO.util.Anim.prototype = {
|
||||
|
||||
this.currentFrame = 0;
|
||||
|
||||
this.totalFrames = ( this.useSeconds ) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration;
|
||||
this.totalFrames = ( this.useSeconds ) ? Math.ceil(Y.AnimMgr.fps * this.duration) : this.duration;
|
||||
|
||||
if (this.duration === 0 && this.useSeconds) {
|
||||
this.totalFrames = 1; // jump to last frame if no duration
|
||||
if (this.duration === 0 && this.useSeconds) { // jump to last frame if zero second duration
|
||||
this.totalFrames = 1;
|
||||
}
|
||||
YAHOO.util.AnimMgr.registerElement(this);
|
||||
Y.AnimMgr.registerElement(this);
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -339,11 +345,15 @@ YAHOO.util.Anim.prototype = {
|
||||
* @param {Boolean} finish (optional) If true, animation will jump to final frame.
|
||||
*/
|
||||
this.stop = function(finish) {
|
||||
if (!this.isAnimated()) { // nothing to stop
|
||||
return false;
|
||||
}
|
||||
|
||||
if (finish) {
|
||||
this.currentFrame = this.totalFrames;
|
||||
this._onTween.fire();
|
||||
}
|
||||
YAHOO.util.AnimMgr.stop(this);
|
||||
Y.AnimMgr.stop(this);
|
||||
};
|
||||
|
||||
var onStart = function() {
|
||||
@@ -414,39 +424,39 @@ YAHOO.util.Anim.prototype = {
|
||||
* Custom event that fires after onStart, useful in subclassing
|
||||
* @private
|
||||
*/
|
||||
this._onStart = new YAHOO.util.CustomEvent('_start', this, true);
|
||||
this._onStart = new Y.CustomEvent('_start', this, true);
|
||||
|
||||
/**
|
||||
* Custom event that fires when animation begins
|
||||
* Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction)
|
||||
* @event onStart
|
||||
*/
|
||||
this.onStart = new YAHOO.util.CustomEvent('start', this);
|
||||
this.onStart = new Y.CustomEvent('start', this);
|
||||
|
||||
/**
|
||||
* Custom event that fires between each frame
|
||||
* Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction)
|
||||
* @event onTween
|
||||
*/
|
||||
this.onTween = new YAHOO.util.CustomEvent('tween', this);
|
||||
this.onTween = new Y.CustomEvent('tween', this);
|
||||
|
||||
/**
|
||||
* Custom event that fires after onTween
|
||||
* @private
|
||||
*/
|
||||
this._onTween = new YAHOO.util.CustomEvent('_tween', this, true);
|
||||
this._onTween = new Y.CustomEvent('_tween', this, true);
|
||||
|
||||
/**
|
||||
* Custom event that fires when animation ends
|
||||
* Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction)
|
||||
* @event onComplete
|
||||
*/
|
||||
this.onComplete = new YAHOO.util.CustomEvent('complete', this);
|
||||
this.onComplete = new Y.CustomEvent('complete', this);
|
||||
/**
|
||||
* Custom event that fires after onComplete
|
||||
* @private
|
||||
*/
|
||||
this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true);
|
||||
this._onComplete = new Y.CustomEvent('_complete', this, true);
|
||||
|
||||
this._onStart.subscribe(onStart);
|
||||
this._onTween.subscribe(onTween);
|
||||
@@ -454,6 +464,8 @@ YAHOO.util.Anim.prototype = {
|
||||
}
|
||||
};
|
||||
|
||||
Y.Anim = Anim;
|
||||
})();
|
||||
/**
|
||||
* Handles animation queueing and threading.
|
||||
* Used by Anim and subclasses.
|
||||
@@ -524,12 +536,12 @@ YAHOO.util.AnimMgr = new function() {
|
||||
* @private
|
||||
*/
|
||||
this.unRegister = function(tween, index) {
|
||||
tween._onComplete.fire();
|
||||
index = index || getIndex(tween);
|
||||
if (index == -1) {
|
||||
if (!tween.isAnimated() || index == -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
tween._onComplete.fire();
|
||||
queue.splice(index, 1);
|
||||
|
||||
tweenCount -= 1;
|
||||
@@ -562,9 +574,7 @@ YAHOO.util.AnimMgr = new function() {
|
||||
clearInterval(thread);
|
||||
|
||||
for (var i = 0, len = queue.length; i < len; ++i) {
|
||||
if ( queue[0].isAnimated() ) {
|
||||
this.unRegister(queue[0], 0);
|
||||
}
|
||||
this.unRegister(queue[0], 0);
|
||||
}
|
||||
|
||||
queue = [];
|
||||
@@ -694,23 +704,19 @@ YAHOO.util.Bezier = new function() {
|
||||
* @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
YAHOO.util.ColorAnim = function(el, attributes, duration, method) {
|
||||
YAHOO.util.ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
var ColorAnim = function(el, attributes, duration, method) {
|
||||
ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
};
|
||||
|
||||
YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim);
|
||||
|
||||
ColorAnim.NAME = 'ColorAnim';
|
||||
|
||||
// shorthand
|
||||
var Y = YAHOO.util;
|
||||
var superclass = Y.ColorAnim.superclass;
|
||||
var proto = Y.ColorAnim.prototype;
|
||||
|
||||
proto.toString = function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName;
|
||||
return ("ColorAnim " + id);
|
||||
};
|
||||
YAHOO.extend(ColorAnim, Y.Anim);
|
||||
|
||||
var superclass = ColorAnim.superclass;
|
||||
var proto = ColorAnim.prototype;
|
||||
|
||||
proto.patterns.color = /color$/i;
|
||||
proto.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
|
||||
proto.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
|
||||
@@ -806,8 +812,10 @@ YAHOO.util.Bezier = new function() {
|
||||
this.runtimeAttributes[attr].end = end;
|
||||
}
|
||||
};
|
||||
|
||||
Y.ColorAnim = ColorAnim;
|
||||
})();
|
||||
/*
|
||||
/*!
|
||||
TERMS OF USE - EASING EQUATIONS
|
||||
Open source under the BSD License.
|
||||
Copyright 2001 Robert Penner All rights reserved.
|
||||
@@ -1157,7 +1165,7 @@ YAHOO.util.Easing = {
|
||||
* @requires YAHOO.util.Event
|
||||
* @requires YAHOO.util.CustomEvent
|
||||
* @constructor
|
||||
* @extends YAHOO.util.Anim
|
||||
* @extends YAHOO.util.ColorAnim
|
||||
* @param {String | HTMLElement} el Reference to the element that will be animated
|
||||
* @param {Object} attributes The attribute(s) to be animated.
|
||||
* Each attribute is an object with at minimum a "to" or "by" member defined.
|
||||
@@ -1166,25 +1174,22 @@ YAHOO.util.Easing = {
|
||||
* @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
YAHOO.util.Motion = function(el, attributes, duration, method) {
|
||||
var Motion = function(el, attributes, duration, method) {
|
||||
if (el) { // dont break existing subclasses not using YAHOO.extend
|
||||
YAHOO.util.Motion.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
Motion.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
}
|
||||
};
|
||||
|
||||
YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim);
|
||||
|
||||
|
||||
Motion.NAME = 'Motion';
|
||||
|
||||
// shorthand
|
||||
var Y = YAHOO.util;
|
||||
var superclass = Y.Motion.superclass;
|
||||
var proto = Y.Motion.prototype;
|
||||
|
||||
proto.toString = function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName;
|
||||
return ("Motion " + id);
|
||||
};
|
||||
YAHOO.extend(Motion, Y.ColorAnim);
|
||||
|
||||
var superclass = Motion.superclass;
|
||||
var proto = Motion.prototype;
|
||||
|
||||
proto.patterns.points = /^points$/i;
|
||||
|
||||
proto.setAttribute = function(attr, val, unit) {
|
||||
@@ -1293,6 +1298,8 @@ YAHOO.util.Easing = {
|
||||
var isset = function(prop) {
|
||||
return (typeof prop !== 'undefined');
|
||||
};
|
||||
|
||||
Y.Motion = Motion;
|
||||
})();
|
||||
(function() {
|
||||
/**
|
||||
@@ -1308,7 +1315,7 @@ YAHOO.util.Easing = {
|
||||
* @requires YAHOO.util.Dom
|
||||
* @requires YAHOO.util.Event
|
||||
* @requires YAHOO.util.CustomEvent
|
||||
* @extends YAHOO.util.Anim
|
||||
* @extends YAHOO.util.ColorAnim
|
||||
* @constructor
|
||||
* @param {String or HTMLElement} el Reference to the element that will be animated
|
||||
* @param {Object} attributes The attribute(s) to be animated.
|
||||
@@ -1318,24 +1325,20 @@ YAHOO.util.Easing = {
|
||||
* @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
YAHOO.util.Scroll = function(el, attributes, duration, method) {
|
||||
var Scroll = function(el, attributes, duration, method) {
|
||||
if (el) { // dont break existing subclasses not using YAHOO.extend
|
||||
YAHOO.util.Scroll.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
Scroll.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
}
|
||||
};
|
||||
|
||||
YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim);
|
||||
|
||||
Scroll.NAME = 'Scroll';
|
||||
|
||||
// shorthand
|
||||
var Y = YAHOO.util;
|
||||
var superclass = Y.Scroll.superclass;
|
||||
var proto = Y.Scroll.prototype;
|
||||
|
||||
proto.toString = function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName;
|
||||
return ("Scroll " + id);
|
||||
};
|
||||
YAHOO.extend(Scroll, Y.ColorAnim);
|
||||
|
||||
var superclass = Scroll.superclass;
|
||||
var proto = Scroll.prototype;
|
||||
|
||||
proto.doMethod = function(attr, start, end) {
|
||||
var val = null;
|
||||
@@ -1375,5 +1378,7 @@ YAHOO.util.Easing = {
|
||||
superclass.setAttribute.call(this, attr, val, unit);
|
||||
}
|
||||
};
|
||||
|
||||
Y.Scroll = Scroll;
|
||||
})();
|
||||
YAHOO.register("animation", YAHOO.util.Anim, {version: "2.3.0", build: "442"});
|
||||
YAHOO.register("animation", YAHOO.util.Anim, {version: "2.5.0", build: "895"});
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
(function() {
|
||||
|
||||
var Y = YAHOO.util;
|
||||
|
||||
/*
|
||||
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
@@ -37,22 +41,24 @@ http://developer.yahoo.net/yui/license.txt
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
|
||||
YAHOO.util.Anim = function(el, attributes, duration, method) {
|
||||
var Anim = function(el, attributes, duration, method) {
|
||||
if (!el) {
|
||||
}
|
||||
this.init(el, attributes, duration, method);
|
||||
};
|
||||
|
||||
YAHOO.util.Anim.prototype = {
|
||||
Anim.NAME = 'Anim';
|
||||
|
||||
Anim.prototype = {
|
||||
/**
|
||||
* Provides a readable name for the Anim instance.
|
||||
* @method toString
|
||||
* @return {String}
|
||||
*/
|
||||
toString: function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName || el;
|
||||
return ("Anim " + id);
|
||||
var el = this.getEl() || {};
|
||||
var id = el.id || el.tagName;
|
||||
return (this.constructor.NAME + ': ' + id);
|
||||
},
|
||||
|
||||
patterns: { // cached for performance
|
||||
@@ -86,7 +92,7 @@ YAHOO.util.Anim.prototype = {
|
||||
val = (val > 0) ? val : 0;
|
||||
}
|
||||
|
||||
YAHOO.util.Dom.setStyle(this.getEl(), attr, val + unit);
|
||||
Y.Dom.setStyle(this.getEl(), attr, val + unit);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -97,7 +103,7 @@ YAHOO.util.Anim.prototype = {
|
||||
*/
|
||||
getAttribute: function(attr) {
|
||||
var el = this.getEl();
|
||||
var val = YAHOO.util.Dom.getStyle(el, attr);
|
||||
var val = Y.Dom.getStyle(el, attr);
|
||||
|
||||
if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) {
|
||||
return parseFloat(val);
|
||||
@@ -108,7 +114,7 @@ YAHOO.util.Anim.prototype = {
|
||||
var box = !!( a[2] ); // width or height
|
||||
|
||||
// use offsets for width/height and abs pos top/left
|
||||
if ( box || (YAHOO.util.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
|
||||
if ( box || (Y.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
|
||||
val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)];
|
||||
} else { // default to zero for other 'auto'
|
||||
val = 0;
|
||||
@@ -219,7 +225,7 @@ YAHOO.util.Anim.prototype = {
|
||||
* @private
|
||||
* @type HTMLElement
|
||||
*/
|
||||
el = YAHOO.util.Dom.get(el);
|
||||
el = Y.Dom.get(el);
|
||||
|
||||
/**
|
||||
* The collection of attributes to be animated.
|
||||
@@ -246,7 +252,7 @@ YAHOO.util.Anim.prototype = {
|
||||
* @property method
|
||||
* @type Function
|
||||
*/
|
||||
this.method = method || YAHOO.util.Easing.easeNone;
|
||||
this.method = method || Y.Easing.easeNone;
|
||||
|
||||
/**
|
||||
* Whether or not the duration should be treated as seconds.
|
||||
@@ -270,14 +276,14 @@ YAHOO.util.Anim.prototype = {
|
||||
* @property totalFrames
|
||||
* @type Int
|
||||
*/
|
||||
this.totalFrames = YAHOO.util.AnimMgr.fps;
|
||||
this.totalFrames = Y.AnimMgr.fps;
|
||||
|
||||
/**
|
||||
* Changes the animated element
|
||||
* @method setEl
|
||||
*/
|
||||
this.setEl = function(element) {
|
||||
el = YAHOO.util.Dom.get(element);
|
||||
el = Y.Dom.get(element);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -320,12 +326,12 @@ YAHOO.util.Anim.prototype = {
|
||||
|
||||
this.currentFrame = 0;
|
||||
|
||||
this.totalFrames = ( this.useSeconds ) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration;
|
||||
this.totalFrames = ( this.useSeconds ) ? Math.ceil(Y.AnimMgr.fps * this.duration) : this.duration;
|
||||
|
||||
if (this.duration === 0 && this.useSeconds) {
|
||||
this.totalFrames = 1; // jump to last frame if no duration
|
||||
if (this.duration === 0 && this.useSeconds) { // jump to last frame if zero second duration
|
||||
this.totalFrames = 1;
|
||||
}
|
||||
YAHOO.util.AnimMgr.registerElement(this);
|
||||
Y.AnimMgr.registerElement(this);
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -335,11 +341,15 @@ YAHOO.util.Anim.prototype = {
|
||||
* @param {Boolean} finish (optional) If true, animation will jump to final frame.
|
||||
*/
|
||||
this.stop = function(finish) {
|
||||
if (!this.isAnimated()) { // nothing to stop
|
||||
return false;
|
||||
}
|
||||
|
||||
if (finish) {
|
||||
this.currentFrame = this.totalFrames;
|
||||
this._onTween.fire();
|
||||
}
|
||||
YAHOO.util.AnimMgr.stop(this);
|
||||
Y.AnimMgr.stop(this);
|
||||
};
|
||||
|
||||
var onStart = function() {
|
||||
@@ -410,39 +420,39 @@ YAHOO.util.Anim.prototype = {
|
||||
* Custom event that fires after onStart, useful in subclassing
|
||||
* @private
|
||||
*/
|
||||
this._onStart = new YAHOO.util.CustomEvent('_start', this, true);
|
||||
this._onStart = new Y.CustomEvent('_start', this, true);
|
||||
|
||||
/**
|
||||
* Custom event that fires when animation begins
|
||||
* Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction)
|
||||
* @event onStart
|
||||
*/
|
||||
this.onStart = new YAHOO.util.CustomEvent('start', this);
|
||||
this.onStart = new Y.CustomEvent('start', this);
|
||||
|
||||
/**
|
||||
* Custom event that fires between each frame
|
||||
* Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction)
|
||||
* @event onTween
|
||||
*/
|
||||
this.onTween = new YAHOO.util.CustomEvent('tween', this);
|
||||
this.onTween = new Y.CustomEvent('tween', this);
|
||||
|
||||
/**
|
||||
* Custom event that fires after onTween
|
||||
* @private
|
||||
*/
|
||||
this._onTween = new YAHOO.util.CustomEvent('_tween', this, true);
|
||||
this._onTween = new Y.CustomEvent('_tween', this, true);
|
||||
|
||||
/**
|
||||
* Custom event that fires when animation ends
|
||||
* Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction)
|
||||
* @event onComplete
|
||||
*/
|
||||
this.onComplete = new YAHOO.util.CustomEvent('complete', this);
|
||||
this.onComplete = new Y.CustomEvent('complete', this);
|
||||
/**
|
||||
* Custom event that fires after onComplete
|
||||
* @private
|
||||
*/
|
||||
this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true);
|
||||
this._onComplete = new Y.CustomEvent('_complete', this, true);
|
||||
|
||||
this._onStart.subscribe(onStart);
|
||||
this._onTween.subscribe(onTween);
|
||||
@@ -450,6 +460,8 @@ YAHOO.util.Anim.prototype = {
|
||||
}
|
||||
};
|
||||
|
||||
Y.Anim = Anim;
|
||||
})();
|
||||
/**
|
||||
* Handles animation queueing and threading.
|
||||
* Used by Anim and subclasses.
|
||||
@@ -520,12 +532,12 @@ YAHOO.util.AnimMgr = new function() {
|
||||
* @private
|
||||
*/
|
||||
this.unRegister = function(tween, index) {
|
||||
tween._onComplete.fire();
|
||||
index = index || getIndex(tween);
|
||||
if (index == -1) {
|
||||
if (!tween.isAnimated() || index == -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
tween._onComplete.fire();
|
||||
queue.splice(index, 1);
|
||||
|
||||
tweenCount -= 1;
|
||||
@@ -558,9 +570,7 @@ YAHOO.util.AnimMgr = new function() {
|
||||
clearInterval(thread);
|
||||
|
||||
for (var i = 0, len = queue.length; i < len; ++i) {
|
||||
if ( queue[0].isAnimated() ) {
|
||||
this.unRegister(queue[0], 0);
|
||||
}
|
||||
this.unRegister(queue[0], 0);
|
||||
}
|
||||
|
||||
queue = [];
|
||||
@@ -690,23 +700,19 @@ YAHOO.util.Bezier = new function() {
|
||||
* @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
YAHOO.util.ColorAnim = function(el, attributes, duration, method) {
|
||||
YAHOO.util.ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
var ColorAnim = function(el, attributes, duration, method) {
|
||||
ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
};
|
||||
|
||||
YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim);
|
||||
|
||||
ColorAnim.NAME = 'ColorAnim';
|
||||
|
||||
// shorthand
|
||||
var Y = YAHOO.util;
|
||||
var superclass = Y.ColorAnim.superclass;
|
||||
var proto = Y.ColorAnim.prototype;
|
||||
|
||||
proto.toString = function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName;
|
||||
return ("ColorAnim " + id);
|
||||
};
|
||||
YAHOO.extend(ColorAnim, Y.Anim);
|
||||
|
||||
var superclass = ColorAnim.superclass;
|
||||
var proto = ColorAnim.prototype;
|
||||
|
||||
proto.patterns.color = /color$/i;
|
||||
proto.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
|
||||
proto.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
|
||||
@@ -802,8 +808,10 @@ YAHOO.util.Bezier = new function() {
|
||||
this.runtimeAttributes[attr].end = end;
|
||||
}
|
||||
};
|
||||
|
||||
Y.ColorAnim = ColorAnim;
|
||||
})();
|
||||
/*
|
||||
/*!
|
||||
TERMS OF USE - EASING EQUATIONS
|
||||
Open source under the BSD License.
|
||||
Copyright 2001 Robert Penner All rights reserved.
|
||||
@@ -1153,7 +1161,7 @@ YAHOO.util.Easing = {
|
||||
* @requires YAHOO.util.Event
|
||||
* @requires YAHOO.util.CustomEvent
|
||||
* @constructor
|
||||
* @extends YAHOO.util.Anim
|
||||
* @extends YAHOO.util.ColorAnim
|
||||
* @param {String | HTMLElement} el Reference to the element that will be animated
|
||||
* @param {Object} attributes The attribute(s) to be animated.
|
||||
* Each attribute is an object with at minimum a "to" or "by" member defined.
|
||||
@@ -1162,25 +1170,22 @@ YAHOO.util.Easing = {
|
||||
* @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
YAHOO.util.Motion = function(el, attributes, duration, method) {
|
||||
var Motion = function(el, attributes, duration, method) {
|
||||
if (el) { // dont break existing subclasses not using YAHOO.extend
|
||||
YAHOO.util.Motion.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
Motion.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
}
|
||||
};
|
||||
|
||||
YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim);
|
||||
|
||||
|
||||
Motion.NAME = 'Motion';
|
||||
|
||||
// shorthand
|
||||
var Y = YAHOO.util;
|
||||
var superclass = Y.Motion.superclass;
|
||||
var proto = Y.Motion.prototype;
|
||||
|
||||
proto.toString = function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName;
|
||||
return ("Motion " + id);
|
||||
};
|
||||
YAHOO.extend(Motion, Y.ColorAnim);
|
||||
|
||||
var superclass = Motion.superclass;
|
||||
var proto = Motion.prototype;
|
||||
|
||||
proto.patterns.points = /^points$/i;
|
||||
|
||||
proto.setAttribute = function(attr, val, unit) {
|
||||
@@ -1289,6 +1294,8 @@ YAHOO.util.Easing = {
|
||||
var isset = function(prop) {
|
||||
return (typeof prop !== 'undefined');
|
||||
};
|
||||
|
||||
Y.Motion = Motion;
|
||||
})();
|
||||
(function() {
|
||||
/**
|
||||
@@ -1304,7 +1311,7 @@ YAHOO.util.Easing = {
|
||||
* @requires YAHOO.util.Dom
|
||||
* @requires YAHOO.util.Event
|
||||
* @requires YAHOO.util.CustomEvent
|
||||
* @extends YAHOO.util.Anim
|
||||
* @extends YAHOO.util.ColorAnim
|
||||
* @constructor
|
||||
* @param {String or HTMLElement} el Reference to the element that will be animated
|
||||
* @param {Object} attributes The attribute(s) to be animated.
|
||||
@@ -1314,24 +1321,20 @@ YAHOO.util.Easing = {
|
||||
* @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
|
||||
* @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
|
||||
*/
|
||||
YAHOO.util.Scroll = function(el, attributes, duration, method) {
|
||||
var Scroll = function(el, attributes, duration, method) {
|
||||
if (el) { // dont break existing subclasses not using YAHOO.extend
|
||||
YAHOO.util.Scroll.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
Scroll.superclass.constructor.call(this, el, attributes, duration, method);
|
||||
}
|
||||
};
|
||||
|
||||
YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim);
|
||||
|
||||
Scroll.NAME = 'Scroll';
|
||||
|
||||
// shorthand
|
||||
var Y = YAHOO.util;
|
||||
var superclass = Y.Scroll.superclass;
|
||||
var proto = Y.Scroll.prototype;
|
||||
|
||||
proto.toString = function() {
|
||||
var el = this.getEl();
|
||||
var id = el.id || el.tagName;
|
||||
return ("Scroll " + id);
|
||||
};
|
||||
YAHOO.extend(Scroll, Y.ColorAnim);
|
||||
|
||||
var superclass = Scroll.superclass;
|
||||
var proto = Scroll.prototype;
|
||||
|
||||
proto.doMethod = function(attr, start, end) {
|
||||
var val = null;
|
||||
@@ -1371,5 +1374,7 @@ YAHOO.util.Easing = {
|
||||
superclass.setAttribute.call(this, attr, val, unit);
|
||||
}
|
||||
};
|
||||
|
||||
Y.Scroll = Scroll;
|
||||
})();
|
||||
YAHOO.register("animation", YAHOO.util.Anim, {version: "2.3.0", build: "442"});
|
||||
YAHOO.register("animation", YAHOO.util.Anim, {version: "2.5.0", build: "895"});
|
||||
|
||||
|
After Width: | Height: | Size: 177 B |
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-ac{position:relative;font-family:arial;font-size:100%;}.yui-skin-sam .yui-ac-input{position:absolute;width:100%;}.yui-skin-sam .yui-ac-container{position:absolute;top:1.6em;width:100%;}.yui-skin-sam .yui-ac-content{position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;}.yui-skin-sam .yui-ac-shadow{position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity:0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;}.yui-skin-sam .yui-ac-content ul{margin:0;padding:0;width:100%;}.yui-skin-sam .yui-ac-content li{margin:0;padding:2px 5px;cursor:default;white-space:nowrap;}.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight{background:#B3D4FF;}.yui-skin-sam .yui-ac-content li.yui-ac-highlight{background:#426FD9;color:#FFF;}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-button{display:-moz-inline-box;display:inline-block;border-width:1px 0;border-style:solid;border-color:#808080;background:url(sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-skin-sam .yui-button .first-child{display:block;*display:inline-block;border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;*position:relative;*left:-1px;}.yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a{display:block;*display:inline-block;padding:0 10px;border:none;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-button button{*overflow:visible;background-color:transparent;cursor:pointer;cursor:hand;}.yui-skin-sam .yui-button a{text-decoration:none;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-skin-sam .yui-split-button button{background-image:url(split-button-arrow.png);}.yui-skin-sam .yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-focus .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-focus button,.yui-skin-sam .yui-button-focus a{color:#000;}.yui-skin-sam .yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-skin-sam .yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-hover .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-hover button,.yui-skin-sam .yui-button-hover a{color:#000;}.yui-skin-sam .yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-skin-sam .yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-skin-sam .yui-button-active .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-active button,.yui-skin-sam .yui-button-active a{color:#000;}.yui-skin-sam .yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-skin-sam .yui-split-button-activeoption .first-child{border-color:#808080;}.yui-skin-sam .yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button{color:#fff;}.yui-skin-sam .yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-skin-sam .yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-skin-sam .yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);}
|
||||
.yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}.yui-button .first-child{display:block;*display:inline-block;}.yui-button button,.yui-button a{display:block;*display:inline-block;border:none;margin:0;}.yui-button button{background-color:transparent;*overflow:visible;cursor:pointer;}.yui-button a{text-decoration:none;}.yui-skin-sam .yui-button{border-width:1px 0;border-style:solid;border-color:#808080;background:url(sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-skin-sam .yui-button .first-child{border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;*position:relative;*left:-1px;}.yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a{padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-button a{*line-height:2;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-skin-sam .yui-split-button button{background-image:url(split-button-arrow.png);}.yui-skin-sam .yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-focus .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-focus button,.yui-skin-sam .yui-button-focus a{color:#000;}.yui-skin-sam .yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-skin-sam .yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-hover .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-hover button,.yui-skin-sam .yui-button-hover a{color:#000;}.yui-skin-sam .yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-skin-sam .yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-skin-sam .yui-button-active .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-active button,.yui-skin-sam .yui-button-active a{color:#000;}.yui-skin-sam .yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-skin-sam .yui-split-button-activeoption .first-child{border-color:#808080;}.yui-skin-sam .yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button{color:#fff;}.yui-skin-sam .yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-skin-sam .yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-skin-sam .yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0px none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0px none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0px;left:0px;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0px !important;}.yui-picker-controls .bd{height:100px;border-width:0px !important;}.yui-picker-controls ul{float:left;list-style:none;padding:0 2px 0 0;margin:0}.yui-picker-controls li{padding:2px;margin:0}.yui-picker-controls input{font-size:0.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
|
||||
.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0px none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0px none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0px;left:0px;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0px !important;}.yui-picker-controls .bd{height:100px;border-width:0px !important;}.yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0}.yui-picker-controls li{padding:2px;list-style:none;margin:0}.yui-picker-controls input{font-size:0.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:1;}yui-panel-container form{margin:0;}.masked .yui-panel-container{z-index:2;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-tt-shadow{position:absolute;}.yui-skin-sam .mask{background-color:#000;opacity:.25;*filter:alpha(opacity=25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px 3px;}.yui-skin-sam .yui-panel{position:relative;*zoom:1;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{*zoom:1;*position:relative;border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-skin-sam .yui-panel-container.focused .yui-panel .hd{}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(sprite.png) no-repeat 0 -300px;}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 5px 0 3px;}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;right:-3px;bottom:-3px;left:-3px;*top:3px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_right:0;_bottom:0;_left:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yui-skin-sam .yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}.yui-skin-sam .yui-dialog .ft .default{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-dialog .ft .default .first-child{border-color:#304369;}.yui-skin-sam .yui-dialog .ft .default button{color:#fff;}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=12);}
|
||||
.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbars{overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px;}.yui-effect-fade .underlay{display:none;}.yui-tt-shadow{position:absolute;}.yui-skin-sam .mask{background-color:#000;opacity:.25;*filter:alpha(opacity=25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px 3px;}.yui-skin-sam .yui-panel{position:relative;*zoom:1;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{*zoom:1;*position:relative;border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-skin-sam .yui-panel-container.focused .yui-panel .hd{}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 5px 0 3px;}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;right:-3px;bottom:-3px;left:-3px;*top:3px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_right:0;_bottom:0;_left:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yui-skin-sam .yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}.yui-skin-sam .yui-dialog .ft button.default{font-weight:bold;}.yui-skin-sam .yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-dialog .ft span.default .first-child{border-color:#304369;}.yui-skin-sam .yui-dialog .ft span.default button{color:#fff;}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=12);}
|
||||
|
||||
|
After Width: | Height: | Size: 177 B |
|
Before Width: | Height: | Size: 111 B After Width: | Height: | Size: 116 B |
|
Before Width: | Height: | Size: 111 B After Width: | Height: | Size: 116 B |
|
After Width: | Height: | Size: 158 B |
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-crop{position:relative;}.yui-crop .yui-crop-mask{position:absolute;top:0;left:0;height:100%;width:100%;}.yui-crop .yui-resize{position:absolute;top:10px;left:10px;}.yui-crop .yui-crop-resize-mask{position:absolute;top:0;left:0;height:100%;width:100%;background-position:-10px -10px;overflow:hidden;}.yui-skin-sam .yui-crop .yui-crop-mask{background-color:#000;opacity:.5;filter:alpha(opacity=50);}.yui-skin-sam .yui-crop .yui-resize{border:1px dashed #fff;}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-log{padding:1em;width:31em;background-color:#AAA;color:#000;border:1px solid black;font-family:monospace;font-size:77%;text-align:left;z-index:9000;}.yui-skin-sam .yui-log-container{position:absolute;top:1em;right:1em;}.yui-skin-sam .yui-log input{margin:0;padding:0;font-family:arial;font-size:100%;font-weight:normal;}.yui-skin-sam .yui-log .yui-log-btns{position:relative;float:right;bottom:.25em;}.yui-skin-sam .yui-log .yui-log-hd{margin-top:1em;padding:.5em;background-color:#575757;}.yui-skin-sam .yui-log .yui-log-hd h4{margin:0;padding:0;font-size:108%;font-weight:bold;color:#FFF;}.yui-skin-sam .yui-log .yui-log-bd{width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}.yui-skin-sam .yui-log p{margin:1px;padding:.1em;}.yui-skin-sam .yui-log pre{margin:0;padding:0;}.yui-skin-sam .yui-log pre.yui-log-verbose{white-space:pre-wrap;white-space:-moz-pre-wrap !important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.yui-skin-sam .yui-log .yui-log-ft{margin-top:.5em;}.yui-skin-sam .yui-log .yui-log-ft .yui-log-categoryfilters{}.yui-skin-sam .yui-log .yui-log-ft .yui-log-sourcefilters{width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}.yui-skin-sam .yui-log .yui-log-filtergrp{margin-right:.5em;}.yui-skin-sam .yui-log .info{background-color:#A7CC25;}.yui-skin-sam .yui-log .warn{background-color:#F58516;}.yui-skin-sam .yui-log .error{background-color:#E32F0B;}.yui-skin-sam .yui-log .time{background-color:#A6C9D7;}.yui-skin-sam .yui-log .window{background-color:#F2E886;}
|
||||
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-skin-sam .yui-pv .hd{background:url(header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-skin-sam .yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-skin-sam .yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-skin-sam .yui-pv .hd span{display:none;}.yui-skin-sam .yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-skin-sam .yui-pv .hd:after,.yui-pv .bd:after,.yui-skin-sam .yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-skin-sam .yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-skin-sam .yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-skin-sam .yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(asc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(desc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-skin-sam .yui-pv-chartcontainer{padding:0 10px;}.yui-skin-sam .yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-skin-sam .yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-skin-sam .yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-skin-sam .yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-skin-sam .yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-skin-sam .yui-pv-minimized{height:35px;}.yui-skin-sam .yui-pv-minimized .bd{top:-3000px;}.yui-skin-sam .yui-pv-minimized .hd a.yui-pv-refresh{display:none;}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-resize{position:relative;zoom:1;z-index:0;}.yui-resize-wrap{zoom:1;}.yui-draggable{cursor:move;}.yui-resize .yui-resize-handle{position:absolute;z-index:1;font-size:0;margin:0;padding:0;zoom:1;height:1px;width:1px;}.yui-resize .yui-resize-handle-br{height:5px;width:5px;bottom:0;right:0;cursor:se-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-bl{height:5px;width:5px;bottom:0;left:0;cursor:sw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tl{height:5px;width:5px;top:0;left:0;cursor:nw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tr{height:5px;width:5px;top:0;right:0;cursor:ne-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-r{width:5px;height:100%;top:0;right:0;cursor:e-resize;zoom:1;}.yui-resize .yui-resize-handle-l{height:100%;width:5px;top:0;left:0;cursor:w-resize;zoom:1;}.yui-resize .yui-resize-handle-b{width:100%;height:5px;bottom:0;right:0;cursor:s-resize;zoom:1;}.yui-resize .yui-resize-handle-t{width:100%;height:5px;top:0;right:0;cursor:n-resize;zoom:1;}.yui-resize-proxy{position:absolute;border:1px dashed #000;visibility:hidden;z-index:1000;}.yui-resize-hover .yui-resize-handle,.yui-resize-hidden .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-resize-ghost{opacity:.5;filter:alpha(opacity=50);}.yui-resize-knob .yui-resize-handle{height:6px;width:6px;}.yui-resize-knob .yui-resize-handle-tr{right:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-tl{left:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-bl{left:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-br{right:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-t{left:45%;top:-3px;}.yui-resize-knob .yui-resize-handle-r{right:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-l{left:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-b{left:45%;bottom:-3px;}.yui-resize-status{position:absolute;top:-999px;left:-999px;padding:2px;font-size:80%;display:none;zoom:1;z-index:9999;}.yui-resize-status strong,.yui-resize-status em{font-weight:normal;font-style:normal;padding:1px;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle{background-color:#F2F2F2;}.yui-skin-sam .yui-resize .yui-resize-handle-active{background-color:#7D98B8;zoom:1;}.yui-skin-sam .yui-resize-knob .yui-resize-handle{border:1px solid #808080;}.yui-skin-sam .yui-resize-hover .yui-resize-handle-active{opacity:1;filter:alpha(opacity=100);}.yui-skin-sam .yui-resize-proxy{border:1px dashed #426FD9;}.yui-skin-sam .yui-resize-status{border:1px solid #A6982B;border-top:1px solid #D4C237;background-color:#FFEE69}.yui-skin-sam .yui-resize-status strong,.yui-skin-sam .yui-resize-status em{float:left;display:block;clear:both;padding:1px;text-align:center;}.yui-skin-sam .yui-resize .yui-resize-handle-inner-r,.yui-skin-sam .yui-resize .yui-resize-handle-inner-l{background:transparent url( layout_sprite.png) no-repeat 0 -5px;height:16px;width:5px;position:absolute;top:45%;}.yui-skin-sam .yui-resize .yui-resize-handle-inner-t,.yui-skin-sam .yui-resize .yui-resize-handle-inner-b{background:transparent url(layout_sprite.png) no-repeat -20px 0;height:5px;width:16px;position:absolute;left:50%;}.yui-skin-sam .yui-resize .yui-resize-handle-br{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -62px;}.yui-skin-sam .yui-resize .yui-resize-handle-tr{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -42px;}.yui-skin-sam .yui-resize .yui-resize-handle-tl{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -82px;}.yui-skin-sam .yui-resize .yui-resize-handle-bl{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -23px;}.yui-skin-sam .yui-resize-knob .yui-resize-handle-t,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-b,.yui-skin-sam .yui-resize-knob .yui-resize-handle-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-tl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-tr,.yui-skin-sam .yui-resize-knob .yui-resize-handle-bl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-br,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-t,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-b,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-tl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-tr,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-bl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-br{background-image:none;}
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0px no-repeat;}.ygtvlmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}.ygtvitem{}.ygtvchildren{*zoom:1;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;}.ygtvspacer{height:22px;width:18px;}
|
||||
.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0px no-repeat;}.ygtvlmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}.ygtvitem{}.ygtvchildren{*zoom:1;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;}.ygtvspacer{height:22px;width:12px;}
|
||||
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,8 +1,48 @@
|
||||
AutoComplete Release Notes
|
||||
|
||||
*** version 2.5.0 ***
|
||||
|
||||
* Fixed bug where Mac users were not able to input "&" or "(" characters.
|
||||
|
||||
|
||||
|
||||
*** version 2.4.0 ***
|
||||
|
||||
* Support for YUI JSON Utility.
|
||||
|
||||
* The allowBrowserAutocomplete property now supports cases when the user navigates
|
||||
away from page via mean other than a form submission.
|
||||
|
||||
* Added support for integration with the Get Utility, for proxyless data
|
||||
retrieval from dynamically loaded script nodes.
|
||||
|
||||
* Typing 'Enter' to select item no longer causes automatic form submission on
|
||||
Mac browsers.
|
||||
|
||||
|
||||
|
||||
*** version 2.3.1 ***
|
||||
|
||||
* AutoComplete no longer throw a JavaScript error due to an invalid or
|
||||
non-existent parent container. While a wrapper DIV element is still expected in
|
||||
order to enable skinning (see 2.3.0 release note), a lack of such will not
|
||||
cause an error.
|
||||
|
||||
* When suggestion container is collapsed, Mac users no longer need to type
|
||||
Enter twice to submit input.
|
||||
|
||||
|
||||
|
||||
*** version 2.3.0 ***
|
||||
|
||||
* Applied new skinning model.
|
||||
* Applied new skinning model. Please note that in order to enable skinning,
|
||||
AutoComplete now expects a wrapper DIV element around the INPUT element and the
|
||||
container DIV element, in this fashion:
|
||||
|
||||
<div id="myAutoComplete">
|
||||
<input type="text" id="myInput">
|
||||
<div id="myContainer"></div>
|
||||
</div>
|
||||
|
||||
* The default queryDelay value has been changed to 0.2. In low-latency
|
||||
implementations (e.g., when queryDelay is set to 0 against a local
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/* This file intentionally left blank */
|
||||
/* This file intentionally left blank */
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/* styles for entire widget */
|
||||
.yui-skin-sam .yui-ac {
|
||||
position:relative;font-family:arial;font-size:100%;
|
||||
}
|
||||
|
||||
/* styles for input field */
|
||||
.yui-skin-sam .yui-ac-input {
|
||||
position:absolute;width:100%;
|
||||
}
|
||||
|
||||
/* styles for results container */
|
||||
.yui-skin-sam .yui-ac-container {
|
||||
position:absolute;top:1.6em;width:100%;
|
||||
}
|
||||
|
||||
/* styles for header/body/footer wrapper within container */
|
||||
.yui-skin-sam .yui-ac-content {
|
||||
position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;
|
||||
}
|
||||
|
||||
/* styles for container shadow */
|
||||
.yui-skin-sam .yui-ac-shadow {
|
||||
position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity: 0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;
|
||||
}
|
||||
|
||||
/* styles for results list */
|
||||
.yui-skin-sam .yui-ac-content ul{
|
||||
margin:0;padding:0;width:100%;
|
||||
}
|
||||
|
||||
/* styles for result item */
|
||||
.yui-skin-sam .yui-ac-content li {
|
||||
margin:0;padding:2px 5px;cursor:default;white-space:nowrap;
|
||||
}
|
||||
|
||||
/* styles for prehighlighted result item */
|
||||
.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight {
|
||||
background:#B3D4FF;
|
||||
}
|
||||
|
||||
/* styles for highlighted result item */
|
||||
.yui-skin-sam .yui-ac-content li.yui-ac-highlight {
|
||||
background:#426FD9;color:#FFF;
|
||||
}
|
||||
/* styles for entire widget */
|
||||
.yui-skin-sam .yui-ac {
|
||||
position:relative;font-family:arial;font-size:100%;
|
||||
}
|
||||
|
||||
/* styles for input field */
|
||||
.yui-skin-sam .yui-ac-input {
|
||||
position:absolute;width:100%;
|
||||
}
|
||||
|
||||
/* styles for results container */
|
||||
.yui-skin-sam .yui-ac-container {
|
||||
position:absolute;top:1.6em;width:100%;
|
||||
}
|
||||
|
||||
/* styles for header/body/footer wrapper within container */
|
||||
.yui-skin-sam .yui-ac-content {
|
||||
position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;
|
||||
}
|
||||
|
||||
/* styles for container shadow */
|
||||
.yui-skin-sam .yui-ac-shadow {
|
||||
position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity: 0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;
|
||||
}
|
||||
|
||||
/* styles for results list */
|
||||
.yui-skin-sam .yui-ac-content ul{
|
||||
margin:0;padding:0;width:100%;
|
||||
}
|
||||
|
||||
/* styles for result item */
|
||||
.yui-skin-sam .yui-ac-content li {
|
||||
margin:0;padding:2px 5px;cursor:default;white-space:nowrap;
|
||||
}
|
||||
|
||||
/* styles for prehighlighted result item */
|
||||
.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight {
|
||||
background:#B3D4FF;
|
||||
}
|
||||
|
||||
/* styles for highlighted result item */
|
||||
.yui-skin-sam .yui-ac-content li.yui-ac-highlight {
|
||||
background:#426FD9;color:#FFF;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-ac{position:relative;font-family:arial;font-size:100%;}.yui-skin-sam .yui-ac-input{position:absolute;width:100%;}.yui-skin-sam .yui-ac-container{position:absolute;top:1.6em;width:100%;}.yui-skin-sam .yui-ac-content{position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;}.yui-skin-sam .yui-ac-shadow{position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity:0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;}.yui-skin-sam .yui-ac-content ul{margin:0;padding:0;width:100%;}.yui-skin-sam .yui-ac-content li{margin:0;padding:2px 5px;cursor:default;white-space:nowrap;}.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight{background:#B3D4FF;}.yui-skin-sam .yui-ac-content li.yui-ac-highlight{background:#426FD9;color:#FFF;}
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
YUI Library - Base - Release Notes
|
||||
|
||||
Version 2.5.0
|
||||
|
||||
* No changes.
|
||||
|
||||
Version 2.4.0
|
||||
|
||||
* Fixed typo in comments.
|
||||
* Added margin-bottom:1em; for PRE element to match P
|
||||
* Added color:#000 for legend element, accomodation for IE
|
||||
* Added set width (equivilant to 160px but set in EMs) for input's
|
||||
width type = text or password, and for textareas.
|
||||
|
||||
Version 2.3.0
|
||||
|
||||
* Initial release.
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style: decimal outside;}ul li{list-style: disc outside;}dl dd{margin-left:1em;}th,td {border:1px solid #000;padding:.5em;}th {font-weight:bold;text-align:center;}caption {margin-bottom:.5em;text-align:center;}p,fieldset,table {margin-bottom:1em;}
|
||||
h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;} em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/* base.css, part of YUI's CSS Foundation */
|
||||
h1 {
|
||||
@@ -65,12 +65,15 @@ th {
|
||||
text-align:center;
|
||||
}
|
||||
caption {
|
||||
/*coordinated marking to match cell's padding*/
|
||||
/*coordinated margin to match cell's padding*/
|
||||
margin-bottom:.5em;
|
||||
/*centered so it doesn't blend in to other content*/
|
||||
text-align:center;
|
||||
}
|
||||
p,fieldset,table {
|
||||
p,fieldset,table,pre {
|
||||
/*so things don't run into each other*/
|
||||
margin-bottom:1em;
|
||||
}
|
||||
}
|
||||
/* setting a consistent width, 160px;
|
||||
control of type=file still not possible */
|
||||
input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;}
|
||||
|
||||
@@ -1,4 +1,75 @@
|
||||
*** Version 2.3.0 ***
|
||||
*** Version 2.5.0 ***
|
||||
|
||||
+ Fixed issue where returning false inside the scope of a listener for attribute "before"
|
||||
events (i.e "beforeCheckedChange") would not cancel the attribute's default setter.
|
||||
|
||||
|
||||
|
||||
*** Version 2.4.1 ***
|
||||
|
||||
+ No changes.
|
||||
|
||||
|
||||
|
||||
*** Version 2.4.0 ***
|
||||
|
||||
Added the following features:
|
||||
-----------------------------
|
||||
|
||||
+ Added a static method "YAHOO.widget.Button.getButton" that returns a Button
|
||||
instance with the specified HTML element id.
|
||||
|
||||
|
||||
Fixed the following bugs:
|
||||
-------------------------
|
||||
|
||||
+ Removed the ".yui-skin-sam" CSS class name from style rules in the core
|
||||
stylesheet so that it is now truly skin agnostic.
|
||||
|
||||
+ Updated the default text for tooltips for Buttons of type "radio" so that
|
||||
they offer the correct instructional text.
|
||||
|
||||
+ Menus with grouped YAHOO.widget.MenuItem instances will now highlight
|
||||
correctly when used with Button.
|
||||
|
||||
+ Buttons of type "link" now have the same default height as other Button
|
||||
types in Internet Explorer.
|
||||
|
||||
+ Buttons of various types now line up correctly on the same line.
|
||||
|
||||
+ Menu is now truly an optional dependancy of Button.
|
||||
|
||||
+ Menus now render with the correct width when the "yui-skin-sam" CSS class
|
||||
name is applied to an element other than the <BODY>.
|
||||
|
||||
|
||||
|
||||
*** Version 2.3.1 ***
|
||||
|
||||
Fixed the following bugs:
|
||||
-------------------------
|
||||
+ Purged the old 2.2.2 Button stylesheet and related image assets that was
|
||||
mistakenly included in the 2.3.0 build.
|
||||
|
||||
+ Fixed an issue in Gecko where changing a Button instance's "label" attribute
|
||||
after the Button had been created would not result in the Button redrawing at
|
||||
a width to fit its content.
|
||||
|
||||
+ Fixed an issue where the singleton keypress event handler
|
||||
(YAHOO.widget.Button.onFormKeyPress) registered for forms containing
|
||||
Button instances of type "submit" was not removed from the form once all of
|
||||
its child Button instances are destroyed.
|
||||
|
||||
+ Submitting a form by clicking on a MenuItem of a SplitButton's or MenuButton's
|
||||
Menu will no longer result in a JavaScript error.
|
||||
|
||||
+ Modified how element tag names are compared to support XHTML applications.
|
||||
|
||||
+ Added code to remove the CSS class names representing the "hover," "focus,"
|
||||
and "active" states when a Button instance is disabled.
|
||||
|
||||
|
||||
*** Version 2.3 ***
|
||||
|
||||
Added the following features:
|
||||
-----------------------------
|
||||
|
||||
@@ -1,6 +1,44 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-button {
|
||||
|
||||
display: -moz-inline-box; /* Gecko */
|
||||
display: inline-block; /* IE, Opera and Safari */
|
||||
vertical-align: text-bottom;
|
||||
|
||||
}
|
||||
|
||||
.yui-button .first-child {
|
||||
|
||||
display: block;
|
||||
*display: inline-block; /* IE */
|
||||
|
||||
}
|
||||
|
||||
.yui-button button,
|
||||
.yui-button a {
|
||||
|
||||
display: block;
|
||||
*display: inline-block; /* IE */
|
||||
border: none;
|
||||
margin: 0;
|
||||
|
||||
}
|
||||
|
||||
.yui-button button {
|
||||
|
||||
background-color: transparent;
|
||||
*overflow: visible; /* Remove superfluous padding for IE */
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
|
||||
.yui-button a {
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
}
|
||||
@@ -1,13 +1,11 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-button {
|
||||
|
||||
display: -moz-inline-box; /* Gecko */
|
||||
display: inline-block; /* IE, Opera and Safari */
|
||||
border-width: 1px 0;
|
||||
border-style: solid;
|
||||
border-color: #808080;
|
||||
@@ -18,13 +16,11 @@ version: 2.3.0
|
||||
|
||||
.yui-skin-sam .yui-button .first-child {
|
||||
|
||||
display: block;
|
||||
*display: inline-block; /* IE */
|
||||
border-width: 0 1px;
|
||||
border-style: solid;
|
||||
border-color: #808080;
|
||||
margin: 0 -1px;
|
||||
*position: relative;
|
||||
*position: relative; /* Necessary to get negative margins working in IE */
|
||||
*left: -1px;
|
||||
|
||||
}
|
||||
@@ -32,10 +28,7 @@ version: 2.3.0
|
||||
.yui-skin-sam .yui-button button,
|
||||
.yui-skin-sam .yui-button a {
|
||||
|
||||
display: block;
|
||||
*display: inline-block; /* IE */
|
||||
padding: 0 10px;
|
||||
border: none;
|
||||
font-size: 93%; /* 12px */
|
||||
line-height: 2; /* ~24px */
|
||||
*line-height: 1.7; /* For IE */
|
||||
@@ -45,22 +38,16 @@ version: 2.3.0
|
||||
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-button button {
|
||||
|
||||
*overflow: visible; /* Remove superfluous padding for IE */
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
cursor: hand;
|
||||
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-button a {
|
||||
|
||||
text-decoration: none;
|
||||
/*
|
||||
Necessary to get Button's of type "link" to be the correct
|
||||
height in IE.
|
||||
*/
|
||||
*line-height: 2;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.yui-skin-sam .yui-split-button button,
|
||||
.yui-skin-sam .yui-menu-button button {
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-skin-sam .yui-button{display:-moz-inline-box;display:inline-block;border-width:1px 0;border-style:solid;border-color:#808080;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-skin-sam .yui-button .first-child{display:block;*display:inline-block;border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;*position:relative;*left:-1px;}.yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a{display:block;*display:inline-block;padding:0 10px;border:none;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-button button{*overflow:visible;background-color:transparent;cursor:pointer;cursor:hand;}.yui-skin-sam .yui-button a{text-decoration:none;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-skin-sam .yui-split-button button{background-image:url(split-button-arrow.png);}.yui-skin-sam .yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-focus .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-focus button,.yui-skin-sam .yui-button-focus a{color:#000;}.yui-skin-sam .yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-skin-sam .yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-hover .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-hover button,.yui-skin-sam .yui-button-hover a{color:#000;}.yui-skin-sam .yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-skin-sam .yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-skin-sam .yui-button-active .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-active button,.yui-skin-sam .yui-button-active a{color:#000;}.yui-skin-sam .yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-skin-sam .yui-split-button-activeoption .first-child{border-color:#808080;}.yui-skin-sam .yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button{color:#fff;}.yui-skin-sam .yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-skin-sam .yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-skin-sam .yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);}
|
||||
.yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}.yui-button .first-child{display:block;*display:inline-block;}.yui-button button,.yui-button a{display:block;*display:inline-block;border:none;margin:0;}.yui-button button{background-color:transparent;*overflow:visible;cursor:pointer;}.yui-button a{text-decoration:none;}.yui-skin-sam .yui-button{border-width:1px 0;border-style:solid;border-color:#808080;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-skin-sam .yui-button .first-child{border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;*position:relative;*left:-1px;}.yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a{padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-button a{*line-height:2;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-skin-sam .yui-split-button button{background-image:url(split-button-arrow.png);}.yui-skin-sam .yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-focus .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-focus button,.yui-skin-sam .yui-button-focus a{color:#000;}.yui-skin-sam .yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-skin-sam .yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-hover .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-hover button,.yui-skin-sam .yui-button-hover a{color:#000;}.yui-skin-sam .yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-skin-sam .yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-skin-sam .yui-button-active .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-button-active button,.yui-skin-sam .yui-button-active a{color:#000;}.yui-skin-sam .yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-skin-sam .yui-split-button-activeoption .first-child{border-color:#808080;}.yui-skin-sam .yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button{color:#fff;}.yui-skin-sam .yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-skin-sam .yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-skin-sam .yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);}
|
||||
|
||||
@@ -1,110 +1,357 @@
|
||||
Calendar Release Notes
|
||||
|
||||
*** version 2.3.0 ***
|
||||
*** version 2.5.0 ***
|
||||
|
||||
- Added checks to select, selectCell, deselect and deselectCell methods to ensure the Calendar/Calendar group was not set to an invalid state by programmatically selecting unselectable dates or cells.
|
||||
- Added new locale configuration properties for the Month/Year label used in the Calendar header (MY_LABEL_MONTH_POSITION, MY_LABEL_YEAR_POSITION, MY_LABEL_YEAR_SUFFIX, MY_LABEL_MONTH_SUFFIX). Japan is an example locale, where customization of the Month/Year label is required.
|
||||
- Changed "first", "last" class names to "first-of-type", "last-of-type", to avoid collision with YUI Grids' use of the "first" class name.
|
||||
- Added public isDateOOB method, to check if a given date is outside of the minimum/maximum configuration dates of the Calendar.
|
||||
- Deprecated YAHOO.widget.Calendar.browser, refactored to use YAHOO.env.ua instead.
|
||||
- Removed overflow:hidden from default Calendar/CalendarGroup container for non-IE6 browsers to fix clipping issue with IE7 when CalendarGroup was inside a box with a specific width. overflow:hidden is still required for IE6 with an iframe shim.
|
||||
- Added Opera container width calculation fix to CalendarGroup.show method, to fix incorrect wrapping when using a CalendarGroup which is initially rendered hidden (display:none). Previously this fix was only applied on render.
|
||||
+ Prevent default event handling in CalendarNavigator enter key
|
||||
listener, to prevent automatic form submission when using Calendar
|
||||
inside a form.
|
||||
|
||||
*** version 2.2.2 ***
|
||||
+ Added workaround to DateMath.add and subtract for Safari 2 (webkit)
|
||||
bug in Date.setDate(n) which doesn't handle value of n less than -128
|
||||
or greater than 127 correctly.
|
||||
|
||||
- Fixed problem with selected dates being shared across instances, when more than one Calendar/CalendarGroup was on the page
|
||||
See: http://brianary.blogspot.com/2006/03/safari-date-bug.html
|
||||
|
||||
*** version 2.2.1 ***
|
||||
+ Added border, padding and margin rules to Calendar Sam Skin to
|
||||
protect Sam Skin's look and feel when Calendar is used with
|
||||
YUI base.css
|
||||
|
||||
- Fixed problem with selectCell adding duplicate selected date entries for dates which were already selected
|
||||
- Fixed problem with CalendarGroup iframe shim not covering the CalendarGroup title area
|
||||
- Removed javascript:void(null) from close button and cell links which was interrupting form submission and firing onbeforeunload in IE
|
||||
- Fixed problem with CalendarGroup getSelectedDates returning invalid results, when used in conjunction with the "selected" Config property (either passed in the constructor config argument or set seperately after construction)
|
||||
- Refactored Calendar and CalendarGroup to improve performance, especially when working with a large number of instances in IE6
|
||||
*** version 2.4.0 ***
|
||||
|
||||
*** version 2.2.0 ***
|
||||
+ Added CalendarNavigator (year selector) feature to allow the user to
|
||||
jump to a year/month directly without having to scroll through months
|
||||
sequentially.
|
||||
|
||||
- Image customization can now be done through CSS. Images for Close, Left and Right Arrows are now pulled in using CSS defined in calendar.css and by default use relative paths to the images in the same directory as calendar.css.
|
||||
- Deprecated Calendar.IMG_ROOT and NAV_ARROW_LEFT, NAV_ARROW_RIGHT configuration properties. Customizations based on older releases which set these properties will still function as expected.
|
||||
- Deprecated CalendarGroup.CSS_2UPCLOSE. Calendar's Style.CSS_CLOSE property now represents the new default CSS class (calclose) for the close button. CSS_2UPCLOSE is still applied along with CSS_CLOSE to the new markup for the close button to support existing customizations of the CSS_2UPCLOSE CSS class (close-icon)
|
||||
- Fixed problem with Safari setting Calendar pages to incorrect dates if the pages spanned a year boundary in CalendarGroups with 3 or more pages, due to a bug in Safari's implementation of Date setMonth
|
||||
- Fixed problem with CalendarGroup setMonth rendering Calendar pages with incorrect dates in all browsers if current pages spanned year boundary
|
||||
- Fixed incorrect CalendarGroup logging statement in calendar-debug.js
|
||||
- Fixed domEventMap support for Safari versions prior to 2.0.2, caused by hasOwnProperty not being supported
|
||||
- Removed unused private property : _pageDate from Calendar class
|
||||
The feature is enabled/configured using the "navigator" configuration
|
||||
property.
|
||||
|
||||
*** version 0.12.2 ***
|
||||
+ Added Custom Events:
|
||||
|
||||
- Corrected documentation for clearTime function to reflect the change from midnight to noon
|
||||
showNav/beforeShowNav
|
||||
hideNav/beforeHideNav,
|
||||
renderNav/beforeRenderNav
|
||||
|
||||
*** version 0.12.1 ***
|
||||
To Calendar/CalendarGroup, in support of the CalendarNavigator
|
||||
functionality.
|
||||
|
||||
- Calendar and CalendarGroup now automatically parse the argument passed to setMonth and setYear into an integer, eliminating potential concatenation bugs.
|
||||
+ Added Custom Events:
|
||||
|
||||
*** version 0.12 ***
|
||||
show/beforeShow
|
||||
hide/beforeHide
|
||||
|
||||
- New documentation format implemented
|
||||
- Calendar2up and Calendar_Core are now deprecated. Now, Calendar alone represents the single Calendar instance, and CalendarGroup represents an n-up instance, defaulting to 2up
|
||||
- Added semantic style classes to Calendar elements to allow for custom styling solely using CSS.
|
||||
- Remapped all configuration properties to use the Config object (familiar to those who use the Container collection of controls). Property names are the same as their previous counterparts, but wrapped into Calendar.cfg, allowing for runtime reconfiguration of most properties
|
||||
- Added "title" property for setting the Calendar title
|
||||
- Added "close" property for enabling and disabling the close icon
|
||||
- Added "iframe" property for enabling an iframe shim in Internet Explorer 6 and below to fix the select bleed-through bug
|
||||
- pageDate moved to property: "pagedate"
|
||||
- selectedDates moved to property: "selected"
|
||||
- minDate moved to property : "mindate", which accepts a JavaScript Date object like its predecessor, but also supports string dates
|
||||
- maxDate moved to property : "maxdate", which accepts a JavaScript Date object like its predecessor, but also supports string dates
|
||||
- Moved style declarations to initStyles function
|
||||
- Optimized event handling in doSelectCell/doCellMouseOver/doCellMouseOut by only attaching the listener to the outer Calendar container, and only reacting to events on cells with the "selectable" CSS class.
|
||||
- Added domEventMap field for applying DOM event listeners to cells containing specific class and tag combinations.
|
||||
- Moved all cell DOM event attachment to applyListeners function
|
||||
- Added getDateByCellId / getDateFieldsByCellId helper functions
|
||||
- Corrected DateMath.getWeekNumber to comply with ISO week number handling
|
||||
- Separated renderCellDefault style portions into styleCellDefault function for easy extension
|
||||
- Deprecated onBeforeSelect. Created beforeSelectEvent which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onSelect. Created selectEvent, which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onBeforeDeselect. Created beforeSelectEvent which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onDeselect. Created beforeDeselectEvent, which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onChangePage. Created changePageEvent, which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onRender. Created renderEvent, which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onReset. Created resetEvent, which automatically subscribes to its deprecated predecessor.
|
||||
- Deprecated onClear. Created clearEvent, which automatically subscribes to its deprecated predecessor.
|
||||
- Corrected setMonth documentation to refer to 0-11 indexed months.
|
||||
- Added show and hide methods to Calendar for setting the Calendar's display property.
|
||||
- Optimized internal render classes to use innerHTML and string buffers
|
||||
- Removed wireCustomEvents function
|
||||
- Removed wireDefaultEvents function
|
||||
- Removed doNextMonth / doPreviousMonth
|
||||
- Removed all buildShell (header, body, footer) functions, since the Calendar shell is now built dynamically on each render
|
||||
- Wired all CalendarGroup events and configuration properties to be properly delegated to Calendar
|
||||
- Augmented CalendarGroup with all built-in renderers, label functions, hide, show, and initStyles, creating API transparency between Calendar and CalendarGroup.
|
||||
- Made all tagName, createElement, and entity references XHTML compliant
|
||||
- Fixed Daylight Saving Time bug for Brazilian time zone
|
||||
To Calendar and CalendarGroup. Returning false from a
|
||||
beforeShow/beforeHide listener can be used to prevent the Calendar
|
||||
from being shown/hidden respectively.
|
||||
|
||||
*** version 0.11.3 ***
|
||||
+ Added Public Methods:
|
||||
|
||||
- Calendar_Core: Added arguments for selected/deselected dates to onSelect/onDeselect
|
||||
- CalendarGroup: Fixed bug where selected dates passed to constructor were not represented in selectedDates
|
||||
- Calendar2up: Now displays correctly in Opera 9
|
||||
getCellIndex(date) [ Calendar ]
|
||||
getCalendarPage(date) [ CalendarGroup ]
|
||||
toDate(dateArray) [ Calendar/CalendarGroup ]
|
||||
removeRenderers() [ Calendar/CalendarGroup ]
|
||||
|
||||
+ The Calendar/CalendarGroup constructor is now more flexible:
|
||||
|
||||
*** version 0.11.0 ***
|
||||
* It no longer requires an "id" argument.
|
||||
|
||||
- DateMath: DateMath.add now properly adds weeks
|
||||
- DateMath: between() function added
|
||||
- DateMath: getWeekNumber() fixed to take starting day of week into account
|
||||
- All references to Calendar's built in CSS class handlers are removed, replaced with calls to Dom utility (addClass, removeClass)
|
||||
- Several CSS class constants now have clearer names
|
||||
- All CSS classes are now properly namespaced to avoid CSS conflicts
|
||||
- Fixed table:hover bug in CSS
|
||||
- Calendar no longer requires the container ID and variable name to match in order for month navigation to function properly
|
||||
- Calendar month navigation arrows are now represented as background images
|
||||
In it's simplest form, a Calendar/CalendarGroup can be
|
||||
constructed by simply providing a container id or reference.
|
||||
|
||||
*** version 0.10.0 ***
|
||||
var cal = new YAHOO.widget.Calendar("container");
|
||||
-or-
|
||||
var containerDiv = YAHOO.util.Dom.get("container");
|
||||
var cal = new YAHOO.widget.Calendar(containerDiv);
|
||||
|
||||
- Major performance improvements from attaching DOM events to associated table cells only once, when the Calendar shell is built
|
||||
- DOM events for mouseover/mouseout are now fired for all browsers (not just Internet Explorer)
|
||||
- Reset functionality bug fixed for 2-up Calendar view
|
||||
An id for the Calendar does not need to be provided, and will be
|
||||
generated from the container id by appending an "_t" suffix to the
|
||||
container id if only the container is provided.
|
||||
|
||||
*** version 0.9.0 ***
|
||||
* The container argument can be either a string, representing the
|
||||
id of the container, or an HTMLElement referring to the container
|
||||
element itself, as suggested in the example above.
|
||||
|
||||
* Initial release
|
||||
* If an HTMLElement is provided for the container argument and the
|
||||
element does not have an id, one will be generated for it using
|
||||
YAHOO.util.Dom.generateId().
|
||||
|
||||
* The older form of Calendar/CalendarGroup signature, expecting
|
||||
both an id and containerId is still supported and works as it did
|
||||
prior to 2.4.0.
|
||||
|
||||
+ Fixed performance issue, where the same custom renderer was being
|
||||
applied multiple times to the same cell.
|
||||
|
||||
+ Added getDate(year, month, date) factory method to the DateMath utility,
|
||||
which can be used to create JavaScript Date instances for years less
|
||||
than 100.
|
||||
|
||||
The default Date(year, month, date) constructor implementations across
|
||||
browsers, assume that if year < 100, the caller is referring to the
|
||||
nineteen hundreds, and the year is set to 19xx instead of xx (as with
|
||||
the deprecated setYear method). However Date.setFullYear(xx) can
|
||||
be used to set dates below 100. The above factory method provides a
|
||||
construction mechanism consistent with setFullYear.
|
||||
|
||||
+ Changed Calendar/CalendarGroup/DateMath code to use the DateMath.getDate
|
||||
method, so that 2 digit years are not assumed to be in the 1900's.
|
||||
|
||||
NOTE: Calendar's API already expects 4 digit date strings when referring
|
||||
to years after 999.
|
||||
|
||||
*** version 2.3.1 ***
|
||||
|
||||
+ Changed Calendar/CalendarGroup to render an empty title bar element
|
||||
when "close" is set to true, but "title" has not been set, to allow Sam
|
||||
Skin to render a title bar correctly.
|
||||
|
||||
*** version 2.3.0 ***
|
||||
|
||||
+ Added checks to select, selectCell, deselect and deselectCell methods
|
||||
to ensure the Calendar/Calendar group was not set to an invalid state
|
||||
by programmatically selecting unselectable dates or cells.
|
||||
|
||||
+ Added new locale configuration properties for the Month/Year label
|
||||
used in the Calendar header (MY_LABEL_MONTH_POSITION,
|
||||
MY_LABEL_YEAR_POSITION, MY_LABEL_YEAR_SUFFIX, MY_LABEL_MONTH_SUFFIX).
|
||||
Japan is an example locale, where customization of the Month/Year
|
||||
label is required.
|
||||
|
||||
+ Changed "first", "last" class names to "first-of-type", "last-of-type",
|
||||
to avoid collision with YUI Grids' use of the "first" class name.
|
||||
|
||||
+ Added public isDateOOB method, to check if a given date is outside of
|
||||
the minimum/maximum configuration dates of the Calendar.
|
||||
|
||||
+ Deprecated YAHOO.widget.Calendar.browser, refactored to use
|
||||
YAHOO.env.ua instead.
|
||||
|
||||
+ Removed overflow:hidden from default Calendar/CalendarGroup container
|
||||
for non-IE6 browsers to fix clipping issue with IE7 when CalendarGroup
|
||||
was inside a box with a specific width. overflow:hidden is still
|
||||
required for IE6 with an iframe shim.
|
||||
|
||||
+ Added Opera container width calculation fix to CalendarGroup.show
|
||||
method, to fix incorrect wrapping when using a CalendarGroup which is
|
||||
initially rendered hidden (display:none). Previously this fix was
|
||||
only applied on render.
|
||||
|
||||
*** version 2.2.2 ***
|
||||
|
||||
+ Fixed problem with selected dates being shared across instances, when
|
||||
more than one Calendar/CalendarGroup was on the page
|
||||
|
||||
*** version 2.2.1 ***
|
||||
|
||||
+ Fixed problem with selectCell adding duplicate selected date entries
|
||||
for dates which were already selected
|
||||
|
||||
+ Fixed problem with CalendarGroup iframe shim not covering the
|
||||
CalendarGroup title area
|
||||
|
||||
+ Removed javascript:void(null) from close button and cell links which
|
||||
was interrupting form submission and firing onbeforeunload in IE
|
||||
|
||||
+ Fixed problem with CalendarGroup getSelectedDates returning invalid
|
||||
results, when used in conjunction with the "selected" Config property
|
||||
(either passed in the constructor config argument or set seperately
|
||||
after construction)
|
||||
|
||||
+ Refactored Calendar and CalendarGroup to improve performance,
|
||||
especially when working with a large number of instances in
|
||||
IE6
|
||||
|
||||
*** version 2.2.0 ***
|
||||
|
||||
+ Image customization can now be done through CSS. Images for Close,
|
||||
Left and Right Arrows are now pulled in using CSS defined in
|
||||
calendar.css and by default use relative paths to the images in
|
||||
the same directory as calendar.css.
|
||||
|
||||
+ Deprecated Calendar.IMG_ROOT and NAV_ARROW_LEFT, NAV_ARROW_RIGHT
|
||||
configuration properties. Customizations based on older releases
|
||||
which set these properties will still function as expected.
|
||||
|
||||
+ Deprecated CalendarGroup.CSS_2UPCLOSE. Calendar's Style.CSS_CLOSE
|
||||
property now represents the new default CSS class (calclose) for
|
||||
the close button. CSS_2UPCLOSE is still applied along with
|
||||
CSS_CLOSE to the new markup for the close button to support existing
|
||||
customizations of the CSS_2UPCLOSE CSS class (close-icon)
|
||||
|
||||
+ Fixed problem with Safari setting Calendar pages to incorrect dates
|
||||
if the pages spanned a year boundary in CalendarGroups with 3 or more
|
||||
pages, due to a bug in Safari's implementation of Date setMonth
|
||||
|
||||
+ Fixed problem with CalendarGroup setMonth rendering Calendar pages
|
||||
with incorrect dates in all browsers if current pages spanned year
|
||||
boundary
|
||||
|
||||
+ Fixed incorrect CalendarGroup logging statement in calendar-debug.js
|
||||
|
||||
+ Fixed domEventMap support for Safari versions prior to 2.0.2,
|
||||
caused by hasOwnProperty not being supported
|
||||
|
||||
+ Removed unused private property : _pageDate from Calendar class
|
||||
|
||||
*** version 0.12.2 ***
|
||||
|
||||
+ Corrected documentation for clearTime function to reflect the
|
||||
change from midnight to noon
|
||||
|
||||
*** version 0.12.1 ***
|
||||
|
||||
+ Calendar and CalendarGroup now automatically parse the argument
|
||||
passed to setMonth and setYear into an integer, eliminating
|
||||
potential concatenation bugs.
|
||||
|
||||
*** version 0.12 ***
|
||||
|
||||
+ New documentation format implemented
|
||||
|
||||
+ Calendar2up and Calendar_Core are now deprecated. Now, Calendar alone
|
||||
represents the single Calendar instance, and CalendarGroup represents
|
||||
an n-up instance, defaulting to 2up
|
||||
|
||||
+ Added semantic style classes to Calendar elements to allow for
|
||||
custom styling solely using CSS.
|
||||
|
||||
+ Remapped all configuration properties to use the Config object
|
||||
(familiar to those who use the Container collection of controls).
|
||||
Property names are the same as their previous counterparts, but
|
||||
wrapped into Calendar.cfg, allowing for runtime reconfiguration of
|
||||
most properties
|
||||
|
||||
+ Added "title" property for setting the Calendar title
|
||||
|
||||
+ Added "close" property for enabling and disabling the close icon
|
||||
|
||||
+ Added "iframe" property for enabling an iframe shim in Internet
|
||||
Explorer 6 and below to fix the select bleed-through bug
|
||||
|
||||
+ pageDate moved to property: "pagedate"
|
||||
|
||||
+ selectedDates moved to property: "selected"
|
||||
|
||||
+ minDate moved to property : "mindate", which accepts a JavaScript
|
||||
Date object like its predecessor, but also supports string dates
|
||||
|
||||
+ maxDate moved to property : "maxdate", which accepts a JavaScript
|
||||
Date object like its predecessor, but also supports string dates
|
||||
|
||||
+ Moved style declarations to initStyles function
|
||||
|
||||
+ Optimized event handling in doSelectCell/doCellMouseOver/
|
||||
doCellMouseOut by only attaching the listener to the outer
|
||||
Calendar container, and only reacting to events on cells with
|
||||
the "selectable" CSS class.
|
||||
|
||||
+ Added domEventMap field for applying DOM event listeners to cells
|
||||
containing specific class and tag combinations.
|
||||
|
||||
+ Moved all cell DOM event attachment to applyListeners function
|
||||
|
||||
+ Added getDateByCellId / getDateFieldsByCellId helper functions
|
||||
|
||||
+ Corrected DateMath.getWeekNumber to comply with ISO week number
|
||||
handling
|
||||
|
||||
+ Separated renderCellDefault style portions into styleCellDefault
|
||||
function for easy extension
|
||||
|
||||
+ Deprecated onBeforeSelect. Created beforeSelectEvent which
|
||||
automatically subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onSelect. Created selectEvent, which automatically
|
||||
subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onBeforeDeselect. Created beforeSelectEvent which
|
||||
automatically subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onDeselect. Created beforeDeselectEvent, which
|
||||
automatically subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onChangePage. Created changePageEvent, which automatically
|
||||
subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onRender. Created renderEvent, which automatically
|
||||
subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onReset. Created resetEvent, which automatically
|
||||
subscribes to its deprecated predecessor.
|
||||
|
||||
+ Deprecated onClear. Created clearEvent, which automatically
|
||||
subscribes to its deprecated predecessor.
|
||||
|
||||
+ Corrected setMonth documentation to refer to 0-11 indexed months.
|
||||
|
||||
+ Added show and hide methods to Calendar for setting the Calendar's
|
||||
display property.
|
||||
|
||||
+ Optimized internal render classes to use innerHTML and string buffers
|
||||
|
||||
+ Removed wireCustomEvents function
|
||||
|
||||
+ Removed wireDefaultEvents function
|
||||
|
||||
+ Removed doNextMonth / doPreviousMonth
|
||||
|
||||
+ Removed all buildShell (header, body, footer) functions, since
|
||||
the Calendar shell is now built dynamically on each render
|
||||
|
||||
+ Wired all CalendarGroup events and configuration properties to
|
||||
be properly delegated to Calendar
|
||||
|
||||
+ Augmented CalendarGroup with all built-in renderers, label functions,
|
||||
hide, show, and initStyles, creating API transparency between Calendar
|
||||
and CalendarGroup.
|
||||
|
||||
+ Made all tagName, createElement, and entity references XHTML compliant
|
||||
|
||||
+ Fixed Daylight Saving Time bug for Brazilian time zone
|
||||
|
||||
*** version 0.11.3 ***
|
||||
|
||||
+ Calendar_Core: Added arguments for selected/deselected dates to
|
||||
onSelect/onDeselect
|
||||
|
||||
+ CalendarGroup: Fixed bug where selected dates passed to constructor
|
||||
were not represented in selectedDates
|
||||
|
||||
+ Calendar2up: Now displays correctly in Opera 9
|
||||
|
||||
*** version 0.11.0 ***
|
||||
|
||||
+ DateMath: DateMath.add now properly adds weeks
|
||||
|
||||
+ DateMath: between() function added
|
||||
|
||||
+ DateMath: getWeekNumber() fixed to take starting day of week into
|
||||
account
|
||||
|
||||
+ All references to Calendar's built in CSS class handlers are
|
||||
removed, replaced with calls to Dom utility (addClass, removeClass)
|
||||
|
||||
+ Several CSS class constants now have clearer names
|
||||
|
||||
+ All CSS classes are now properly namespaced to avoid CSS conflicts
|
||||
|
||||
+ Fixed table:hover bug in CSS
|
||||
|
||||
+ Calendar no longer requires the container ID and variable name to
|
||||
match in order for month navigation to function properly
|
||||
|
||||
+ Calendar month navigation arrows are now represented as
|
||||
background images
|
||||
|
||||
*** version 0.10.0 ***
|
||||
|
||||
+ Major performance improvements from attaching DOM events to
|
||||
associated table cells only once, when the Calendar shell is built
|
||||
|
||||
+ DOM events for mouseover/mouseout are now fired for all browsers
|
||||
(not just Internet Explorer)
|
||||
|
||||
+ Reset functionality bug fixed for 2-up Calendar view
|
||||
|
||||
*** version 0.9.0 ***
|
||||
|
||||
* Initial release
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/**
|
||||
* CORE
|
||||
@@ -83,6 +83,44 @@ version: 2.3.0
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/* CalendarNavigator */
|
||||
.yui-calcontainer .yui-cal-nav-mask {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
margin:0;
|
||||
padding:0;
|
||||
width:100%;
|
||||
height:100%;
|
||||
_width:0; /* IE6, IE7 quirks - width/height set programmatically to match container */
|
||||
_height:0;
|
||||
left:0;
|
||||
top:0;
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* NAVIGATOR BOUNDING BOX */
|
||||
.yui-calcontainer .yui-cal-nav {
|
||||
position:absolute;
|
||||
z-index:3;
|
||||
top:0;
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* NAVIGATOR BUTTONS (based on button-core.css) */
|
||||
.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn {
|
||||
display: -moz-inline-box; /* Gecko */
|
||||
display: inline-block; /* IE, Opera and Safari */
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button {
|
||||
display: block;
|
||||
*display: inline-block; /* IE */
|
||||
*overflow: visible; /* Remove superfluous padding for IE */
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Specific changes for calendar running under fonts/reset */
|
||||
.yui-calendar .calbody a:hover {background:inherit;}
|
||||
p#clear {clear:left; padding-top:10px;}
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-calcontainer {
|
||||
position:relative;
|
||||
@@ -91,7 +91,7 @@ version: 2.3.0
|
||||
top:2px;
|
||||
bottom:0;
|
||||
width:9px;
|
||||
height:12px;
|
||||
height:12px;
|
||||
left:2px;
|
||||
z-index:1;
|
||||
background: url("callt.gif") no-repeat;
|
||||
@@ -200,6 +200,115 @@ version: 2.3.0
|
||||
border-right-width:2px;
|
||||
}
|
||||
|
||||
/* CalendarNavigator */
|
||||
.yui-calendar a.calnav {
|
||||
_position:relative;
|
||||
padding-left:2px;
|
||||
padding-right:2px;
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.yui-calendar a.calnav:hover {
|
||||
border:1px solid #003366;
|
||||
background-color:#6699cc;
|
||||
background: url(calgrad.png) repeat-x;
|
||||
color:#fff;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-mask {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
display:none;
|
||||
|
||||
margin:0;
|
||||
padding:0;
|
||||
|
||||
left:0;
|
||||
top:0;
|
||||
width:100%;
|
||||
height:100%;
|
||||
_width:0; /* IE6, IE7 Quirks - width/height set programmatically to match container */
|
||||
_height:0;
|
||||
|
||||
background-color:#000;
|
||||
opacity:0.25;
|
||||
*filter:alpha(opacity=25);
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav {
|
||||
position:absolute;
|
||||
z-index:3;
|
||||
display:none;
|
||||
|
||||
padding:0;
|
||||
top:1.5em;
|
||||
left:50%;
|
||||
width:12em;
|
||||
margin-left:-6em;
|
||||
|
||||
border:1px solid #7B9EBD;
|
||||
background-color:#F7F9FB;
|
||||
font-size:93%;
|
||||
}
|
||||
|
||||
.yui-calcontainer.withtitle .yui-cal-nav {
|
||||
top:3.5em;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-y,
|
||||
.yui-calcontainer .yui-cal-nav-m,
|
||||
.yui-calcontainer .yui-cal-nav-b {
|
||||
padding:2px 5px 2px 5px;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-b {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-e {
|
||||
margin-top:2px;
|
||||
padding:2px;
|
||||
background-color:#EDF5FF;
|
||||
border-top:1px solid black;
|
||||
display:none;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav label {
|
||||
display:block;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-mc {
|
||||
width:100%;
|
||||
_width:auto; /* IE6 doesn't like width 100% */
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-y input.yui-invalid {
|
||||
background-color:#FFEE69;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-yc {
|
||||
width:3em;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-b button {
|
||||
font-size:93%;
|
||||
text-decoration:none;
|
||||
cursor: pointer;
|
||||
background-color: #79b2ea;
|
||||
border: 1px solid #003366;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
margin:1px;
|
||||
}
|
||||
|
||||
.yui-calcontainer .yui-cal-nav-b .yui-default button {
|
||||
/* not implemented */
|
||||
}
|
||||
|
||||
/* Specific changes for calendar running under fonts/reset */
|
||||
.yui-calendar .calbody a:hover {background:inherit;}
|
||||
p#clear {clear:left; padding-top:10px;}
|
||||
|
||||
|
After Width: | Height: | Size: 497 B |
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/**
|
||||
* SAM
|
||||
@@ -79,6 +79,7 @@ version: 2.3.0
|
||||
border-collapse:collapse;
|
||||
font:100% sans-serif;
|
||||
text-align:center;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* NAVBAR BOUNDING BOX */
|
||||
@@ -86,6 +87,7 @@ version: 2.3.0
|
||||
background:transparent;
|
||||
border:none;
|
||||
vertical-align:middle;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* NAVBAR TEXT CONTAINER */
|
||||
@@ -129,6 +131,11 @@ version: 2.3.0
|
||||
height:2em;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calendar .calweekdayrow th {
|
||||
padding:0;
|
||||
border:none;
|
||||
}
|
||||
|
||||
/* WEEKDAY (Su, Mo, Tu...) HEADER CELLS */
|
||||
.yui-skin-sam .yui-calendar .calweekdaycell {
|
||||
color:#000;
|
||||
@@ -148,16 +155,17 @@ version: 2.3.0
|
||||
font-size:85%;
|
||||
font-style:normal;
|
||||
font-weight:normal;
|
||||
border:none;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calendar .calrowhead {
|
||||
text-align:right;
|
||||
padding-right:2px;
|
||||
padding:0 2px 0 0;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calendar .calrowfoot {
|
||||
text-align:left;
|
||||
padding-left:2px;
|
||||
padding:0 0 0 2px;
|
||||
}
|
||||
|
||||
/* NORMAL CELLS */
|
||||
@@ -228,4 +236,126 @@ version: 2.3.0
|
||||
.yui-skin-sam .yui-calendar td.calcell.highlight1 { background-color:#ccff99; }
|
||||
.yui-skin-sam .yui-calendar td.calcell.highlight2 { background-color:#99ccff; }
|
||||
.yui-skin-sam .yui-calendar td.calcell.highlight3 { background-color:#ffcccc; }
|
||||
.yui-skin-sam .yui-calendar td.calcell.highlight4 { background-color:#ccff99; }
|
||||
.yui-skin-sam .yui-calendar td.calcell.highlight4 { background-color:#ccff99; }
|
||||
|
||||
/* CalendarNavigator */
|
||||
|
||||
/* MONTH/YEAR LABEL */
|
||||
.yui-skin-sam .yui-calendar a.calnav {
|
||||
border: 1px solid #f2f2f2;
|
||||
padding:0 4px;
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
zoom:1;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calendar a.calnav:hover {
|
||||
background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;
|
||||
border-color:#A0A0A0;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
/* NAVIGATOR MASK */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-mask {
|
||||
background-color:#000;
|
||||
opacity:0.25;
|
||||
*filter:alpha(opacity=25); /* IE */
|
||||
}
|
||||
|
||||
/* NAVIGATOR BOUNDING BOX */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav {
|
||||
font-family:arial,helvetica,clean,sans-serif;
|
||||
font-size:93%;
|
||||
border:1px solid #808080;
|
||||
left:50%;
|
||||
margin-left:-7em;
|
||||
width:14em;
|
||||
padding:0;
|
||||
top:2.5em;
|
||||
background-color:#f2f2f2;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calcontainer.withtitle .yui-cal-nav {
|
||||
top:4.5em;
|
||||
}
|
||||
|
||||
/* NAVIGATOR BOUNDING BOX */
|
||||
.yui-skin-sam .yui-calcontainer.multi .yui-cal-nav {
|
||||
width:16em;
|
||||
margin-left:-8em;
|
||||
}
|
||||
|
||||
/* NAVIGATOR YEAR/MONTH/BUTTON/ERROR BOUNDING BLOCKS */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-y,
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-m,
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-b {
|
||||
padding:5px 10px 5px 10px;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-b {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-e {
|
||||
margin-top:5px;
|
||||
padding:5px;
|
||||
background-color:#EDF5FF;
|
||||
border-top:1px solid black;
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* NAVIGATOR LABELS */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav label {
|
||||
display:block;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* NAVIGATOR MONTH CONTROL */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-mc {
|
||||
width:100%;
|
||||
_width:auto; /* IE6, IE7 Quirks don't handle 100% well */
|
||||
}
|
||||
|
||||
/* NAVIGATOR MONTH CONTROL, VALIDATION ERROR */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-y input.yui-invalid {
|
||||
background-color:#FFEE69;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
/* NAVIGATOR YEAR CONTROL */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav-yc {
|
||||
width:4em;
|
||||
}
|
||||
|
||||
/* NAVIGATOR BUTTONS */
|
||||
|
||||
/* BUTTON WRAPPER */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn {
|
||||
border:1px solid #808080;
|
||||
background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;
|
||||
background-color:#ccc;
|
||||
margin: auto .15em;
|
||||
}
|
||||
|
||||
/* BUTTON (based on button-skin.css) */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button {
|
||||
padding:0 8px;
|
||||
font-size:93%;
|
||||
line-height: 2; /* ~24px */
|
||||
*line-height: 1.7; /* For IE */
|
||||
min-height: 2em; /* For Gecko */
|
||||
*min-height: auto; /* For IE */
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* DEFAULT BUTTONS */
|
||||
/* NOTE: IE6 will only pickup the yui-default specifier from the multiple class specifier */
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default {
|
||||
border:1px solid #304369;
|
||||
background-color: #426fd9;
|
||||
background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -1400px;
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button {
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
YUI Library - Charts - Release Notes
|
||||
|
||||
2.5.0
|
||||
* Added lineSize style to series styles
|
||||
* Added showLabels substyle to xAxis and yAxis styles
|
||||
* Added more descriptive local content warning for ExternalInterface failure
|
||||
* Improved minor unit calculation
|
||||
* Fixed animation and marker positioning bugs
|
||||
* Fixed bug that caused series definition update to fail
|
||||
* Fixed bug that caused setting hex color values with # symbol to fail
|
||||
* Added initialization flag to ensure DataSource doesn't receive multiple requests during initialization.
|
||||
|
||||
2.4.0
|
||||
* Experimental release
|
||||
@@ -1,4 +1,15 @@
|
||||
ColorPicker - Release Notes
|
||||
|
||||
2.5.0
|
||||
* No change
|
||||
|
||||
2.4.0
|
||||
* Initialization values assigned to showcontrols, showrgbcontrols,
|
||||
showwebsafe, showhexsummary, animate, red, green, and blue in the
|
||||
constructor configuration are now honored.
|
||||
|
||||
2.3.1
|
||||
* No change (bug fixes were inherited from slider)
|
||||
|
||||
2.3.0
|
||||
* Initial release
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
|
||||
.yui-picker-panel {
|
||||
@@ -81,8 +81,8 @@ left: -2px;
|
||||
.yui-picker-controls { position:absolute; top: 72px; left:226px; font:1em monospace;}
|
||||
.yui-picker-controls .hd { background: transparent; border-width: 0px !important;}
|
||||
.yui-picker-controls .bd { height: 100px; border-width: 0px !important;}
|
||||
.yui-picker-controls ul {float:left;list-style:none;padding:0 2px 0 0;margin:0}
|
||||
.yui-picker-controls li {padding:2px;margin:0}
|
||||
.yui-picker-controls ul {float:left;padding:0 2px 0 0;margin:0}
|
||||
.yui-picker-controls li {padding:2px;list-style:none;margin:0}
|
||||
.yui-picker-controls input {
|
||||
font-size: 0.85em;
|
||||
width: 2.4em;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0px none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0px none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0px;left:0px;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0px !important;}.yui-picker-controls .bd{height:100px;border-width:0px !important;}.yui-picker-controls ul{float:left;list-style:none;padding:0 2px 0 0;margin:0}.yui-picker-controls li{padding:2px;margin:0}.yui-picker-controls input{font-size:0.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
|
||||
.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0px none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0px none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0px;left:0px;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0px !important;}.yui-picker-controls .bd{height:100px;border-width:0px !important;}.yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0}.yui-picker-controls li{padding:2px;list-style:none;margin:0}.yui-picker-controls input{font-size:0.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
|
||||
|
||||
@@ -1,5 +1,54 @@
|
||||
Connection Manager Release Notes
|
||||
|
||||
*** version 2.5.0 ***
|
||||
|
||||
* setForm() can now detects HTTPS in the URI for file upload transactions. The
|
||||
third, boolean argument for HTTPS when using IE is no longer necessary.
|
||||
|
||||
* [FIXED] SF1882101. POST transactions without a message will now have a
|
||||
Content-Length value set to 0 for FF 2.x. This is accomplished by passing a
|
||||
value of empty string instead of null to XHR's send(). All other A-Grade
|
||||
browsers remain unaffected and perform correctly.
|
||||
|
||||
*** version 2.4.0 ***
|
||||
|
||||
* [FIXED] SF1804153. Transactions initialized with setForm() now properly clear
|
||||
the POST data field after each transaction.
|
||||
|
||||
* The callback object can accept a new member, cache, defined with a boolean
|
||||
value. If set to false (e.g., var callback = { cache:false };), a timestamp
|
||||
will be appended to the URI to override HTTP GET caching. This timestamp value
|
||||
will appear as rnd=timestamp in the request querystring.
|
||||
|
||||
* Custom Events startEvent, completeEvent, and abortEvent now receive
|
||||
callback.argument, if defined, in addition to the transaction ID. Each Custom
|
||||
Event's function handler receives two arguments -- the event type as the first
|
||||
argument, and an array as the second argument. The first element in the array
|
||||
is the transaction ID, and the second element are any arguments defined in the
|
||||
callback object.
|
||||
|
||||
*** version 2.3.1 ***
|
||||
|
||||
* setDefaultPostHeader() can now be overloaded with a boolean, string, or
|
||||
number. By default, POST transactions send the following Content-Type header:
|
||||
'application/x-www-form-urlencoded; charset=UTF-8'.
|
||||
|
||||
A custom Content-Type header can now be set by passing its value to
|
||||
setDefaultPostHeader().
|
||||
|
||||
* HTML form submissions now send a Content-Type header of "application/x-www-
|
||||
form-urlencoded", omitting the charset=UTF-8 value.
|
||||
|
||||
* setDefaultXhrHeader() can now be overloaded with a boolean, string, or number.
|
||||
By default, all transactions send a custom header of "X-Requested-
|
||||
With:XMLHttpRequest".
|
||||
|
||||
This default header value can be overridden by passing the desired value as an
|
||||
argument to setDefaultPostHeader().
|
||||
|
||||
* The file upload iframe's event listener is now explicitly removed before the
|
||||
iframe is destroyed.
|
||||
|
||||
*** version 2.3.0 ***
|
||||
|
||||
* Custom Events are introduced in Connection Manager. These events -- for a
|
||||
@@ -23,7 +72,7 @@ For transactions involving file upload with an HTML form, the events are:
|
||||
* abort() and isCallInProgress() are now functional for file upload
|
||||
transactions.
|
||||
|
||||
* NOTE: The XHR implementation in Safari 2.0.4 has been confirmed to leak
|
||||
* NOTE: The native XHR implementation in Safari 2.0.4 has been confirmed to leak
|
||||
memory.
|
||||
|
||||
* UPDATE: The XHR implementation in Safari 3.0 beta(and WebKit builds) now
|
||||
@@ -216,25 +265,3 @@ and returns false if the connection object is no longer available.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/**
|
||||
* The Connection Manager provides a simplified interface to the XMLHttpRequest
|
||||
@@ -33,9 +33,9 @@ YAHOO.util.Connect =
|
||||
* @type array
|
||||
*/
|
||||
_msxml_progid:[
|
||||
'Microsoft.XMLHTTP',
|
||||
'MSXML2.XMLHTTP.3.0',
|
||||
'MSXML2.XMLHTTP',
|
||||
'Microsoft.XMLHTTP'
|
||||
'MSXML2.XMLHTTP'
|
||||
],
|
||||
|
||||
/**
|
||||
@@ -69,10 +69,7 @@ YAHOO.util.Connect =
|
||||
_use_default_post_header:true,
|
||||
|
||||
/**
|
||||
* @description Determines if a default header of
|
||||
* Content-Type of 'application/x-www-form-urlencoded'
|
||||
* will be added to client HTTP headers sent for POST
|
||||
* transactions.
|
||||
* @description The default header used for POST transactions.
|
||||
* @property _default_post_header
|
||||
* @private
|
||||
* @static
|
||||
@@ -80,6 +77,16 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
_default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
|
||||
/**
|
||||
* @description The default header used for transactions involving the
|
||||
* use of HTML forms.
|
||||
* @property _default_form_header
|
||||
* @private
|
||||
* @static
|
||||
* @type boolean
|
||||
*/
|
||||
_default_form_header:'application/x-www-form-urlencoded',
|
||||
|
||||
/**
|
||||
* @description Determines if a default header of
|
||||
* 'X-Requested-With: XMLHttpRequest'
|
||||
@@ -228,7 +235,7 @@ YAHOO.util.Connect =
|
||||
'click',
|
||||
function(e){
|
||||
var obj = YAHOO.util.Event.getTarget(e);
|
||||
if(obj.type == 'submit'){
|
||||
if(obj.nodeName.toLowerCase() == 'input' && (obj.type && obj.type.toLowerCase() == 'submit')){
|
||||
YAHOO.util.Connect._submitElementValue = encodeURIComponent(obj.name) + "=" + encodeURIComponent(obj.value);
|
||||
}
|
||||
});
|
||||
@@ -329,7 +336,7 @@ YAHOO.util.Connect =
|
||||
},
|
||||
|
||||
/**
|
||||
* @description Member to enable or disable the default POST header.
|
||||
* @description Member to override the default POST header.
|
||||
* @method setDefaultPostHeader
|
||||
* @public
|
||||
* @static
|
||||
@@ -338,12 +345,17 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
setDefaultPostHeader:function(b)
|
||||
{
|
||||
this._use_default_post_header = b;
|
||||
YAHOO.log('Use default POST header set to ' + b, 'info', 'Connection');
|
||||
if(typeof b == 'string'){
|
||||
this._default_post_header = b;
|
||||
YAHOO.log('Default POST header set to ' + b, 'info', 'Connection');
|
||||
}
|
||||
else if(typeof b == 'boolean'){
|
||||
this._use_default_post_header = b;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description Member to enable or disable the default POST header.
|
||||
* @description Member to override the default transaction header..
|
||||
* @method setDefaultXhrHeader
|
||||
* @public
|
||||
* @static
|
||||
@@ -352,8 +364,13 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
setDefaultXhrHeader:function(b)
|
||||
{
|
||||
this._use_default_xhr_header = b;
|
||||
YAHOO.log('Use default transaction header set to ' + b, 'info', 'Connection');
|
||||
if(typeof b == 'string'){
|
||||
this._default_xhr_header = b;
|
||||
YAHOO.log('Default XHR header set to ' + b, 'info', 'Connection');
|
||||
}
|
||||
else{
|
||||
this._use_default_xhr_header = b;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -397,7 +414,7 @@ YAHOO.util.Connect =
|
||||
for(var i=0; i<this._msxml_progid.length; ++i){
|
||||
try
|
||||
{
|
||||
// Instantiates XMLHttpRequest for IE and assign to http.
|
||||
// Instantiates XMLHttpRequest for IE and assign to http
|
||||
http = new ActiveXObject(this._msxml_progid[i]);
|
||||
// Object literal with conn and tId properties
|
||||
obj = { conn:http, tId:transactionId };
|
||||
@@ -463,6 +480,7 @@ YAHOO.util.Connect =
|
||||
asyncRequest:function(method, uri, callback, postData)
|
||||
{
|
||||
var o = (this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
if(!o){
|
||||
YAHOO.log('Unable to create connection object.', 'error', 'Connection');
|
||||
@@ -490,9 +508,6 @@ YAHOO.util.Connect =
|
||||
// and then concatenate _sFormData to the URI.
|
||||
uri += ((uri.indexOf('?') == -1)?'?':'&') + this._sFormData;
|
||||
}
|
||||
else{
|
||||
uri += "?" + this._sFormData;
|
||||
}
|
||||
}
|
||||
else if(method.toUpperCase() == 'POST'){
|
||||
// If POST data exist in addition to the HTML form data,
|
||||
@@ -501,8 +516,13 @@ YAHOO.util.Connect =
|
||||
}
|
||||
}
|
||||
|
||||
if(method.toUpperCase() == 'GET' && (callback && callback.cache === false)){
|
||||
// If callback.cache is defined and set to false, a
|
||||
// timestamp value will be added to the querystring.
|
||||
uri += ((uri.indexOf('?') == -1)?'?':'&') + "rnd=" + new Date().valueOf().toString();
|
||||
}
|
||||
|
||||
o.conn.open(method, uri, true);
|
||||
//this.processTransactionHeaders(o);
|
||||
|
||||
// Each transaction will automatically include a custom header of
|
||||
// "X-Requested-With: XMLHttpRequest" to identify the request as
|
||||
@@ -514,27 +534,35 @@ YAHOO.util.Connect =
|
||||
}
|
||||
}
|
||||
|
||||
if(this._isFormSubmit || (postData && this._use_default_post_header)){
|
||||
//If the transaction method is POST and the POST header value is set to true
|
||||
//or a custom value, initalize the Content-Type header to this value.
|
||||
if((method.toUpperCase() == 'POST' && this._use_default_post_header) && this._isFormSubmit === false){
|
||||
this.initHeader('Content-Type', this._default_post_header);
|
||||
YAHOO.log('Initialize header Content-Type to application/x-www-form-urlencoded for POST transaction.', 'info', 'Connection');
|
||||
if(this._isFormSubmit){
|
||||
this.resetFormState();
|
||||
}
|
||||
YAHOO.log('Initialize header Content-Type to application/x-www-form-urlencoded; UTF-8 for POST transaction.', 'info', 'Connection');
|
||||
}
|
||||
|
||||
//Initialize all default and custom HTTP headers,
|
||||
if(this._has_default_headers || this._has_http_headers){
|
||||
this.setHeader(o);
|
||||
}
|
||||
|
||||
this.handleReadyState(o, callback);
|
||||
o.conn.send(postData || null);
|
||||
o.conn.send(postData || '');
|
||||
YAHOO.log('Transaction ' + o.tId + ' sent.', 'info', 'Connection');
|
||||
|
||||
|
||||
// Reset the HTML form data and state properties as
|
||||
// soon as the data are submitted.
|
||||
if(this._isFormSubmit === true){
|
||||
this.resetFormState();
|
||||
}
|
||||
|
||||
// Fire global custom event -- startEvent
|
||||
this.startEvent.fire(o);
|
||||
this.startEvent.fire(o, args);
|
||||
|
||||
if(o.startEvent){
|
||||
// Fire transaction custom event -- startEvent
|
||||
o.startEvent.fire(o);
|
||||
o.startEvent.fire(o, args);
|
||||
}
|
||||
|
||||
return o;
|
||||
@@ -585,6 +613,7 @@ YAHOO.util.Connect =
|
||||
|
||||
{
|
||||
var oConn = this;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
if(callback && callback.timeout){
|
||||
this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
|
||||
@@ -605,11 +634,11 @@ YAHOO.util.Connect =
|
||||
}
|
||||
|
||||
// Fire global custom event -- completeEvent
|
||||
oConn.completeEvent.fire(o);
|
||||
oConn.completeEvent.fire(o, args);
|
||||
|
||||
if(o.completeEvent){
|
||||
// Fire transaction custom event -- completeEvent
|
||||
o.completeEvent.fire(o);
|
||||
o.completeEvent.fire(o, args);
|
||||
}
|
||||
|
||||
oConn.handleTransactionResponse(o, callback);
|
||||
@@ -632,14 +661,8 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
handleTransactionResponse:function(o, callback, isAbort)
|
||||
{
|
||||
// If no valid callback is provided, then do not process any callback handling.
|
||||
if(!callback){
|
||||
this.releaseObject(o);
|
||||
YAHOO.log('No callback object to process. Transaction complete.', 'info', 'Connection');
|
||||
return;
|
||||
}
|
||||
|
||||
var httpStatus, responseObject;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -652,15 +675,15 @@ YAHOO.util.Connect =
|
||||
}
|
||||
catch(e){
|
||||
|
||||
// 13030 is the custom code to indicate the condition -- in Mozilla/FF --
|
||||
// when the o object's status and statusText properties are
|
||||
// 13030 is a custom code to indicate the condition -- in Mozilla/FF --
|
||||
// when the XHR object's status and statusText properties are
|
||||
// unavailable, and a query attempt throws an exception.
|
||||
httpStatus = 13030;
|
||||
}
|
||||
|
||||
if(httpStatus >= 200 && httpStatus < 300 || httpStatus === 1223){
|
||||
responseObject = this.createResponseObject(o, callback.argument);
|
||||
if(callback.success){
|
||||
responseObject = this.createResponseObject(o, args);
|
||||
if(callback && callback.success){
|
||||
if(!callback.scope){
|
||||
callback.success(responseObject);
|
||||
YAHOO.log('Success callback. HTTP code is ' + httpStatus, 'info', 'Connection');
|
||||
@@ -690,8 +713,8 @@ YAHOO.util.Connect =
|
||||
case 12031:
|
||||
case 12152: // Connection closed by server.
|
||||
case 13030: // See above comments for variable status.
|
||||
responseObject = this.createExceptionObject(o.tId, callback.argument, (isAbort?isAbort:false));
|
||||
if(callback.failure){
|
||||
responseObject = this.createExceptionObject(o.tId, args, (isAbort?isAbort:false));
|
||||
if(callback && callback.failure){
|
||||
if(!callback.scope){
|
||||
callback.failure(responseObject);
|
||||
YAHOO.log('Failure callback. Exception detected. Status code is ' + httpStatus, 'warn', 'Connection');
|
||||
@@ -701,10 +724,11 @@ YAHOO.util.Connect =
|
||||
YAHOO.log('Failure callback with scope. Exception detected. Status code is ' + httpStatus, 'warn', 'Connection');
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
responseObject = this.createResponseObject(o, callback.argument);
|
||||
if(callback.failure){
|
||||
responseObject = this.createResponseObject(o, args);
|
||||
if(callback && callback.failure){
|
||||
if(!callback.scope){
|
||||
callback.failure(responseObject);
|
||||
YAHOO.log('Failure callback. HTTP status code is ' + httpStatus, 'warn', 'Connection');
|
||||
@@ -769,7 +793,7 @@ YAHOO.util.Connect =
|
||||
obj.responseText = o.conn.responseText;
|
||||
obj.responseXML = o.conn.responseXML;
|
||||
|
||||
if(typeof callbackArg !== undefined){
|
||||
if(callbackArg){
|
||||
obj.argument = callbackArg;
|
||||
}
|
||||
|
||||
@@ -829,18 +853,10 @@ YAHOO.util.Connect =
|
||||
* automatically sent with each transaction.
|
||||
* @return {void}
|
||||
*/
|
||||
initHeader:function(label,value,isDefault)
|
||||
initHeader:function(label, value, isDefault)
|
||||
{
|
||||
var headerObj = (isDefault)?this._default_headers:this._http_headers;
|
||||
|
||||
if(headerObj[label] === undefined){
|
||||
headerObj[label] = value;
|
||||
}
|
||||
else{
|
||||
// Concatenate multiple values, comma-delimited,
|
||||
// for the same header label,
|
||||
headerObj[label] = value + "," + headerObj[label];
|
||||
}
|
||||
headerObj[label] = value;
|
||||
|
||||
if(isDefault){
|
||||
this._has_default_headers = true;
|
||||
@@ -912,12 +928,14 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
setForm:function(formId, isUpload, secureUri)
|
||||
{
|
||||
// reset the HTML form data and state properties
|
||||
this.resetFormState();
|
||||
|
||||
var oForm;
|
||||
if(typeof formId == 'string'){
|
||||
// Determine if the argument is a form id or a form name.
|
||||
// Note form name usage is deprecated by supported
|
||||
// here for legacy reasons.
|
||||
// Note form name usage is deprecated, but supported
|
||||
// here for backward compatibility.
|
||||
oForm = (document.getElementById(formId) || document.forms[formId]);
|
||||
}
|
||||
else if(typeof formId == 'object'){
|
||||
@@ -938,7 +956,7 @@ YAHOO.util.Connect =
|
||||
if(isUpload){
|
||||
|
||||
// Create iframe in preparation for file upload.
|
||||
var io = this.createFrame(secureUri?secureUri:null);
|
||||
var io = this.createFrame((window.location.href.toLowerCase().indexOf("https") === 0 || secureUri)?true:false);
|
||||
// Set form reference and file upload properties to true.
|
||||
this._isFormSubmit = true;
|
||||
this._isFileUpload = true;
|
||||
@@ -955,9 +973,9 @@ YAHOO.util.Connect =
|
||||
// label-value pairs.
|
||||
for (var i=0; i<oForm.elements.length; i++){
|
||||
oElement = oForm.elements[i];
|
||||
oDisabled = oForm.elements[i].disabled;
|
||||
oName = oForm.elements[i].name;
|
||||
oValue = oForm.elements[i].value;
|
||||
oDisabled = oElement.disabled;
|
||||
oName = oElement.name;
|
||||
oValue = oElement.value;
|
||||
|
||||
// Do not submit fields that are disabled or
|
||||
// do not have a name attribute value.
|
||||
@@ -1016,6 +1034,9 @@ YAHOO.util.Connect =
|
||||
|
||||
YAHOO.log('Form initialized for transaction. HTML form POST message is: ' + this._sFormData, 'info', 'Connection');
|
||||
|
||||
this.initHeader('Content-Type', this._default_form_header);
|
||||
YAHOO.log('Initialize header Content-Type to application/x-www-form-urlencoded for setForm() transaction.', 'info', 'Connection');
|
||||
|
||||
return this._sFormData;
|
||||
},
|
||||
|
||||
@@ -1058,10 +1079,6 @@ YAHOO.util.Connect =
|
||||
if(typeof secureUri == 'boolean'){
|
||||
io.src = 'javascript:false';
|
||||
}
|
||||
else if(typeof secureURI == 'string'){
|
||||
// Deprecated
|
||||
io.src = secureUri;
|
||||
}
|
||||
}
|
||||
else{
|
||||
io = document.createElement('iframe');
|
||||
@@ -1120,10 +1137,11 @@ YAHOO.util.Connect =
|
||||
|
||||
// Each iframe has an id prefix of "yuiIO" followed
|
||||
// by the unique transaction id.
|
||||
var oConn = this;
|
||||
var frameId = 'yuiIO' + o.tId;
|
||||
var uploadEncoding = 'multipart/form-data';
|
||||
var io = document.getElementById(frameId);
|
||||
var oConn = this;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
// Track original HTML form attribute values.
|
||||
var rawFormAttributes =
|
||||
@@ -1156,11 +1174,11 @@ YAHOO.util.Connect =
|
||||
this._formNode.submit();
|
||||
|
||||
// Fire global custom event -- startEvent
|
||||
this.startEvent.fire(o);
|
||||
this.startEvent.fire(o, args);
|
||||
|
||||
if(o.startEvent){
|
||||
// Fire transaction custom event -- startEvent
|
||||
o.startEvent.fire(o);
|
||||
o.startEvent.fire(o, args);
|
||||
}
|
||||
|
||||
// Start polling if a callback is present and the timeout
|
||||
@@ -1203,11 +1221,11 @@ YAHOO.util.Connect =
|
||||
}
|
||||
|
||||
// Fire global custom event -- completeEvent
|
||||
oConn.completeEvent.fire(o);
|
||||
oConn.completeEvent.fire(o, args);
|
||||
|
||||
if(o.completeEvent){
|
||||
// Fire transaction custom event -- completeEvent
|
||||
o.completeEvent.fire(o);
|
||||
o.completeEvent.fire(o, args);
|
||||
}
|
||||
|
||||
var obj = {};
|
||||
@@ -1234,23 +1252,16 @@ YAHOO.util.Connect =
|
||||
}
|
||||
}
|
||||
|
||||
// Fire global custom event -- completeEvent
|
||||
// Fire global custom event -- uploadEvent
|
||||
oConn.uploadEvent.fire(obj);
|
||||
|
||||
if(o.uploadEvent){
|
||||
// Fire transaction custom event -- completeEvent
|
||||
// Fire transaction custom event -- uploadEvent
|
||||
o.uploadEvent.fire(obj);
|
||||
}
|
||||
|
||||
if(YAHOO.util.Event){
|
||||
YAHOO.util.Event.removeListener(io, "load", uploadCallback);
|
||||
}
|
||||
else if(window.detachEvent){
|
||||
io.detachEvent('onload', uploadCallback);
|
||||
}
|
||||
else{
|
||||
io.removeEventListener('load', uploadCallback, false);
|
||||
}
|
||||
YAHOO.util.Event.removeListener(io, "load", uploadCallback);
|
||||
|
||||
setTimeout(
|
||||
function(){
|
||||
document.body.removeChild(io);
|
||||
@@ -1260,15 +1271,7 @@ YAHOO.util.Connect =
|
||||
};
|
||||
|
||||
// Bind the onload handler to the iframe to detect the file upload response.
|
||||
if(YAHOO.util.Event){
|
||||
YAHOO.util.Event.addListener(io, "load", uploadCallback);
|
||||
}
|
||||
else if(window.attachEvent){
|
||||
io.attachEvent('onload', uploadCallback);
|
||||
}
|
||||
else{
|
||||
io.addEventListener('load', uploadCallback, false);
|
||||
}
|
||||
YAHOO.util.Event.addListener(io, "load", uploadCallback);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -1284,8 +1287,10 @@ YAHOO.util.Connect =
|
||||
abort:function(o, callback, isTimeout)
|
||||
{
|
||||
var abortStatus;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
if(o.conn){
|
||||
|
||||
if(o && o.conn){
|
||||
if(this.isCallInProgress(o)){
|
||||
// Issue abort request
|
||||
o.conn.abort();
|
||||
@@ -1301,11 +1306,14 @@ YAHOO.util.Connect =
|
||||
abortStatus = true;
|
||||
}
|
||||
}
|
||||
else if(o.isUpload === true){
|
||||
else if(o && o.isUpload === true){
|
||||
var frameId = 'yuiIO' + o.tId;
|
||||
var io = document.getElementById(frameId);
|
||||
|
||||
if(io){
|
||||
// Remove all listeners on the iframe prior to
|
||||
// its destruction.
|
||||
YAHOO.util.Event.removeListener(io, "load");
|
||||
// Destroy the iframe facilitating the transaction.
|
||||
document.body.removeChild(io);
|
||||
YAHOO.log('File upload iframe destroyed. Id is:' + frameId, 'info', 'Connection');
|
||||
@@ -1324,26 +1332,22 @@ YAHOO.util.Connect =
|
||||
|
||||
if(abortStatus === true){
|
||||
// Fire global custom event -- abortEvent
|
||||
this.abortEvent.fire(o);
|
||||
this.abortEvent.fire(o, args);
|
||||
|
||||
if(o.abortEvent){
|
||||
// Fire transaction custom event -- abortEvent
|
||||
o.abortEvent.fire(o);
|
||||
o.abortEvent.fire(o, args);
|
||||
}
|
||||
|
||||
this.handleTransactionResponse(o, callback, true);
|
||||
YAHOO.log('Transaction ' + o.tId + ' aborted.', 'info', 'Connection');
|
||||
}
|
||||
else{
|
||||
YAHOO.log('Transaction ' + o.tId + ' abort call failed. Connection object no longer exists.', 'warn', 'Connection');
|
||||
}
|
||||
|
||||
return abortStatus;
|
||||
},
|
||||
|
||||
/**
|
||||
* Public method to check if the transaction is still being processed.
|
||||
*
|
||||
* @description Determines if the transaction is still being processed.
|
||||
* @method isCallInProgress
|
||||
* @public
|
||||
* @static
|
||||
@@ -1376,14 +1380,16 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
releaseObject:function(o)
|
||||
{
|
||||
//dereference the XHR instance.
|
||||
if(o.conn){
|
||||
if(o && o.conn){
|
||||
//dereference the XHR instance.
|
||||
o.conn = null;
|
||||
|
||||
YAHOO.log('Connection object for transaction ' + o.tId + ' destroyed.', 'info', 'Connection');
|
||||
|
||||
//dereference the connection object.
|
||||
o = null;
|
||||
}
|
||||
YAHOO.log('Connection object for transaction ' + o.tId + ' destroyed.', 'info', 'Connection');
|
||||
//dereference the connection object.
|
||||
o = null;
|
||||
}
|
||||
};
|
||||
|
||||
YAHOO.register("connection", YAHOO.util.Connect, {version: "2.3.0", build: "442"});
|
||||
YAHOO.register("connection", YAHOO.util.Connect, {version: "2.5.0", build: "895"});
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/**
|
||||
* The Connection Manager provides a simplified interface to the XMLHttpRequest
|
||||
@@ -33,9 +33,9 @@ YAHOO.util.Connect =
|
||||
* @type array
|
||||
*/
|
||||
_msxml_progid:[
|
||||
'Microsoft.XMLHTTP',
|
||||
'MSXML2.XMLHTTP.3.0',
|
||||
'MSXML2.XMLHTTP',
|
||||
'Microsoft.XMLHTTP'
|
||||
'MSXML2.XMLHTTP'
|
||||
],
|
||||
|
||||
/**
|
||||
@@ -69,10 +69,7 @@ YAHOO.util.Connect =
|
||||
_use_default_post_header:true,
|
||||
|
||||
/**
|
||||
* @description Determines if a default header of
|
||||
* Content-Type of 'application/x-www-form-urlencoded'
|
||||
* will be added to client HTTP headers sent for POST
|
||||
* transactions.
|
||||
* @description The default header used for POST transactions.
|
||||
* @property _default_post_header
|
||||
* @private
|
||||
* @static
|
||||
@@ -80,6 +77,16 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
_default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
|
||||
/**
|
||||
* @description The default header used for transactions involving the
|
||||
* use of HTML forms.
|
||||
* @property _default_form_header
|
||||
* @private
|
||||
* @static
|
||||
* @type boolean
|
||||
*/
|
||||
_default_form_header:'application/x-www-form-urlencoded',
|
||||
|
||||
/**
|
||||
* @description Determines if a default header of
|
||||
* 'X-Requested-With: XMLHttpRequest'
|
||||
@@ -228,7 +235,7 @@ YAHOO.util.Connect =
|
||||
'click',
|
||||
function(e){
|
||||
var obj = YAHOO.util.Event.getTarget(e);
|
||||
if(obj.type == 'submit'){
|
||||
if(obj.nodeName.toLowerCase() == 'input' && (obj.type && obj.type.toLowerCase() == 'submit')){
|
||||
YAHOO.util.Connect._submitElementValue = encodeURIComponent(obj.name) + "=" + encodeURIComponent(obj.value);
|
||||
}
|
||||
});
|
||||
@@ -328,7 +335,7 @@ YAHOO.util.Connect =
|
||||
},
|
||||
|
||||
/**
|
||||
* @description Member to enable or disable the default POST header.
|
||||
* @description Member to override the default POST header.
|
||||
* @method setDefaultPostHeader
|
||||
* @public
|
||||
* @static
|
||||
@@ -337,11 +344,16 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
setDefaultPostHeader:function(b)
|
||||
{
|
||||
this._use_default_post_header = b;
|
||||
if(typeof b == 'string'){
|
||||
this._default_post_header = b;
|
||||
}
|
||||
else if(typeof b == 'boolean'){
|
||||
this._use_default_post_header = b;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description Member to enable or disable the default POST header.
|
||||
* @description Member to override the default transaction header..
|
||||
* @method setDefaultXhrHeader
|
||||
* @public
|
||||
* @static
|
||||
@@ -350,7 +362,12 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
setDefaultXhrHeader:function(b)
|
||||
{
|
||||
this._use_default_xhr_header = b;
|
||||
if(typeof b == 'string'){
|
||||
this._default_xhr_header = b;
|
||||
}
|
||||
else{
|
||||
this._use_default_xhr_header = b;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -392,7 +409,7 @@ YAHOO.util.Connect =
|
||||
for(var i=0; i<this._msxml_progid.length; ++i){
|
||||
try
|
||||
{
|
||||
// Instantiates XMLHttpRequest for IE and assign to http.
|
||||
// Instantiates XMLHttpRequest for IE and assign to http
|
||||
http = new ActiveXObject(this._msxml_progid[i]);
|
||||
// Object literal with conn and tId properties
|
||||
obj = { conn:http, tId:transactionId };
|
||||
@@ -457,6 +474,7 @@ YAHOO.util.Connect =
|
||||
asyncRequest:function(method, uri, callback, postData)
|
||||
{
|
||||
var o = (this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
if(!o){
|
||||
return null;
|
||||
@@ -483,9 +501,6 @@ YAHOO.util.Connect =
|
||||
// and then concatenate _sFormData to the URI.
|
||||
uri += ((uri.indexOf('?') == -1)?'?':'&') + this._sFormData;
|
||||
}
|
||||
else{
|
||||
uri += "?" + this._sFormData;
|
||||
}
|
||||
}
|
||||
else if(method.toUpperCase() == 'POST'){
|
||||
// If POST data exist in addition to the HTML form data,
|
||||
@@ -494,8 +509,13 @@ YAHOO.util.Connect =
|
||||
}
|
||||
}
|
||||
|
||||
if(method.toUpperCase() == 'GET' && (callback && callback.cache === false)){
|
||||
// If callback.cache is defined and set to false, a
|
||||
// timestamp value will be added to the querystring.
|
||||
uri += ((uri.indexOf('?') == -1)?'?':'&') + "rnd=" + new Date().valueOf().toString();
|
||||
}
|
||||
|
||||
o.conn.open(method, uri, true);
|
||||
//this.processTransactionHeaders(o);
|
||||
|
||||
// Each transaction will automatically include a custom header of
|
||||
// "X-Requested-With: XMLHttpRequest" to identify the request as
|
||||
@@ -506,26 +526,33 @@ YAHOO.util.Connect =
|
||||
}
|
||||
}
|
||||
|
||||
if(this._isFormSubmit || (postData && this._use_default_post_header)){
|
||||
//If the transaction method is POST and the POST header value is set to true
|
||||
//or a custom value, initalize the Content-Type header to this value.
|
||||
if((method.toUpperCase() == 'POST' && this._use_default_post_header) && this._isFormSubmit === false){
|
||||
this.initHeader('Content-Type', this._default_post_header);
|
||||
if(this._isFormSubmit){
|
||||
this.resetFormState();
|
||||
}
|
||||
}
|
||||
|
||||
//Initialize all default and custom HTTP headers,
|
||||
if(this._has_default_headers || this._has_http_headers){
|
||||
this.setHeader(o);
|
||||
}
|
||||
|
||||
this.handleReadyState(o, callback);
|
||||
o.conn.send(postData || null);
|
||||
o.conn.send(postData || '');
|
||||
|
||||
|
||||
// Reset the HTML form data and state properties as
|
||||
// soon as the data are submitted.
|
||||
if(this._isFormSubmit === true){
|
||||
this.resetFormState();
|
||||
}
|
||||
|
||||
// Fire global custom event -- startEvent
|
||||
this.startEvent.fire(o);
|
||||
this.startEvent.fire(o, args);
|
||||
|
||||
if(o.startEvent){
|
||||
// Fire transaction custom event -- startEvent
|
||||
o.startEvent.fire(o);
|
||||
o.startEvent.fire(o, args);
|
||||
}
|
||||
|
||||
return o;
|
||||
@@ -574,6 +601,7 @@ YAHOO.util.Connect =
|
||||
|
||||
{
|
||||
var oConn = this;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
if(callback && callback.timeout){
|
||||
this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
|
||||
@@ -594,11 +622,11 @@ YAHOO.util.Connect =
|
||||
}
|
||||
|
||||
// Fire global custom event -- completeEvent
|
||||
oConn.completeEvent.fire(o);
|
||||
oConn.completeEvent.fire(o, args);
|
||||
|
||||
if(o.completeEvent){
|
||||
// Fire transaction custom event -- completeEvent
|
||||
o.completeEvent.fire(o);
|
||||
o.completeEvent.fire(o, args);
|
||||
}
|
||||
|
||||
oConn.handleTransactionResponse(o, callback);
|
||||
@@ -621,13 +649,8 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
handleTransactionResponse:function(o, callback, isAbort)
|
||||
{
|
||||
// If no valid callback is provided, then do not process any callback handling.
|
||||
if(!callback){
|
||||
this.releaseObject(o);
|
||||
return;
|
||||
}
|
||||
|
||||
var httpStatus, responseObject;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -640,15 +663,15 @@ YAHOO.util.Connect =
|
||||
}
|
||||
catch(e){
|
||||
|
||||
// 13030 is the custom code to indicate the condition -- in Mozilla/FF --
|
||||
// when the o object's status and statusText properties are
|
||||
// 13030 is a custom code to indicate the condition -- in Mozilla/FF --
|
||||
// when the XHR object's status and statusText properties are
|
||||
// unavailable, and a query attempt throws an exception.
|
||||
httpStatus = 13030;
|
||||
}
|
||||
|
||||
if(httpStatus >= 200 && httpStatus < 300 || httpStatus === 1223){
|
||||
responseObject = this.createResponseObject(o, callback.argument);
|
||||
if(callback.success){
|
||||
responseObject = this.createResponseObject(o, args);
|
||||
if(callback && callback.success){
|
||||
if(!callback.scope){
|
||||
callback.success(responseObject);
|
||||
}
|
||||
@@ -676,8 +699,8 @@ YAHOO.util.Connect =
|
||||
case 12031:
|
||||
case 12152: // Connection closed by server.
|
||||
case 13030: // See above comments for variable status.
|
||||
responseObject = this.createExceptionObject(o.tId, callback.argument, (isAbort?isAbort:false));
|
||||
if(callback.failure){
|
||||
responseObject = this.createExceptionObject(o.tId, args, (isAbort?isAbort:false));
|
||||
if(callback && callback.failure){
|
||||
if(!callback.scope){
|
||||
callback.failure(responseObject);
|
||||
}
|
||||
@@ -685,10 +708,11 @@ YAHOO.util.Connect =
|
||||
callback.failure.apply(callback.scope, [responseObject]);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
responseObject = this.createResponseObject(o, callback.argument);
|
||||
if(callback.failure){
|
||||
responseObject = this.createResponseObject(o, args);
|
||||
if(callback && callback.failure){
|
||||
if(!callback.scope){
|
||||
callback.failure(responseObject);
|
||||
}
|
||||
@@ -751,7 +775,7 @@ YAHOO.util.Connect =
|
||||
obj.responseText = o.conn.responseText;
|
||||
obj.responseXML = o.conn.responseXML;
|
||||
|
||||
if(typeof callbackArg !== undefined){
|
||||
if(callbackArg){
|
||||
obj.argument = callbackArg;
|
||||
}
|
||||
|
||||
@@ -811,18 +835,10 @@ YAHOO.util.Connect =
|
||||
* automatically sent with each transaction.
|
||||
* @return {void}
|
||||
*/
|
||||
initHeader:function(label,value,isDefault)
|
||||
initHeader:function(label, value, isDefault)
|
||||
{
|
||||
var headerObj = (isDefault)?this._default_headers:this._http_headers;
|
||||
|
||||
if(headerObj[label] === undefined){
|
||||
headerObj[label] = value;
|
||||
}
|
||||
else{
|
||||
// Concatenate multiple values, comma-delimited,
|
||||
// for the same header label,
|
||||
headerObj[label] = value + "," + headerObj[label];
|
||||
}
|
||||
headerObj[label] = value;
|
||||
|
||||
if(isDefault){
|
||||
this._has_default_headers = true;
|
||||
@@ -892,12 +908,14 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
setForm:function(formId, isUpload, secureUri)
|
||||
{
|
||||
// reset the HTML form data and state properties
|
||||
this.resetFormState();
|
||||
|
||||
var oForm;
|
||||
if(typeof formId == 'string'){
|
||||
// Determine if the argument is a form id or a form name.
|
||||
// Note form name usage is deprecated by supported
|
||||
// here for legacy reasons.
|
||||
// Note form name usage is deprecated, but supported
|
||||
// here for backward compatibility.
|
||||
oForm = (document.getElementById(formId) || document.forms[formId]);
|
||||
}
|
||||
else if(typeof formId == 'object'){
|
||||
@@ -917,7 +935,7 @@ YAHOO.util.Connect =
|
||||
if(isUpload){
|
||||
|
||||
// Create iframe in preparation for file upload.
|
||||
var io = this.createFrame(secureUri?secureUri:null);
|
||||
var io = this.createFrame((window.location.href.toLowerCase().indexOf("https") === 0 || secureUri)?true:false);
|
||||
// Set form reference and file upload properties to true.
|
||||
this._isFormSubmit = true;
|
||||
this._isFileUpload = true;
|
||||
@@ -934,9 +952,9 @@ YAHOO.util.Connect =
|
||||
// label-value pairs.
|
||||
for (var i=0; i<oForm.elements.length; i++){
|
||||
oElement = oForm.elements[i];
|
||||
oDisabled = oForm.elements[i].disabled;
|
||||
oName = oForm.elements[i].name;
|
||||
oValue = oForm.elements[i].value;
|
||||
oDisabled = oElement.disabled;
|
||||
oName = oElement.name;
|
||||
oValue = oElement.value;
|
||||
|
||||
// Do not submit fields that are disabled or
|
||||
// do not have a name attribute value.
|
||||
@@ -994,6 +1012,8 @@ YAHOO.util.Connect =
|
||||
this._sFormData = this._sFormData.substr(0, this._sFormData.length - 1);
|
||||
|
||||
|
||||
this.initHeader('Content-Type', this._default_form_header);
|
||||
|
||||
return this._sFormData;
|
||||
},
|
||||
|
||||
@@ -1036,10 +1056,6 @@ YAHOO.util.Connect =
|
||||
if(typeof secureUri == 'boolean'){
|
||||
io.src = 'javascript:false';
|
||||
}
|
||||
else if(typeof secureURI == 'string'){
|
||||
// Deprecated
|
||||
io.src = secureUri;
|
||||
}
|
||||
}
|
||||
else{
|
||||
io = document.createElement('iframe');
|
||||
@@ -1097,10 +1113,11 @@ YAHOO.util.Connect =
|
||||
|
||||
// Each iframe has an id prefix of "yuiIO" followed
|
||||
// by the unique transaction id.
|
||||
var oConn = this;
|
||||
var frameId = 'yuiIO' + o.tId;
|
||||
var uploadEncoding = 'multipart/form-data';
|
||||
var io = document.getElementById(frameId);
|
||||
var oConn = this;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
// Track original HTML form attribute values.
|
||||
var rawFormAttributes =
|
||||
@@ -1133,11 +1150,11 @@ YAHOO.util.Connect =
|
||||
this._formNode.submit();
|
||||
|
||||
// Fire global custom event -- startEvent
|
||||
this.startEvent.fire(o);
|
||||
this.startEvent.fire(o, args);
|
||||
|
||||
if(o.startEvent){
|
||||
// Fire transaction custom event -- startEvent
|
||||
o.startEvent.fire(o);
|
||||
o.startEvent.fire(o, args);
|
||||
}
|
||||
|
||||
// Start polling if a callback is present and the timeout
|
||||
@@ -1180,11 +1197,11 @@ YAHOO.util.Connect =
|
||||
}
|
||||
|
||||
// Fire global custom event -- completeEvent
|
||||
oConn.completeEvent.fire(o);
|
||||
oConn.completeEvent.fire(o, args);
|
||||
|
||||
if(o.completeEvent){
|
||||
// Fire transaction custom event -- completeEvent
|
||||
o.completeEvent.fire(o);
|
||||
o.completeEvent.fire(o, args);
|
||||
}
|
||||
|
||||
var obj = {};
|
||||
@@ -1209,23 +1226,16 @@ YAHOO.util.Connect =
|
||||
}
|
||||
}
|
||||
|
||||
// Fire global custom event -- completeEvent
|
||||
// Fire global custom event -- uploadEvent
|
||||
oConn.uploadEvent.fire(obj);
|
||||
|
||||
if(o.uploadEvent){
|
||||
// Fire transaction custom event -- completeEvent
|
||||
// Fire transaction custom event -- uploadEvent
|
||||
o.uploadEvent.fire(obj);
|
||||
}
|
||||
|
||||
if(YAHOO.util.Event){
|
||||
YAHOO.util.Event.removeListener(io, "load", uploadCallback);
|
||||
}
|
||||
else if(window.detachEvent){
|
||||
io.detachEvent('onload', uploadCallback);
|
||||
}
|
||||
else{
|
||||
io.removeEventListener('load', uploadCallback, false);
|
||||
}
|
||||
YAHOO.util.Event.removeListener(io, "load", uploadCallback);
|
||||
|
||||
setTimeout(
|
||||
function(){
|
||||
document.body.removeChild(io);
|
||||
@@ -1234,15 +1244,7 @@ YAHOO.util.Connect =
|
||||
};
|
||||
|
||||
// Bind the onload handler to the iframe to detect the file upload response.
|
||||
if(YAHOO.util.Event){
|
||||
YAHOO.util.Event.addListener(io, "load", uploadCallback);
|
||||
}
|
||||
else if(window.attachEvent){
|
||||
io.attachEvent('onload', uploadCallback);
|
||||
}
|
||||
else{
|
||||
io.addEventListener('load', uploadCallback, false);
|
||||
}
|
||||
YAHOO.util.Event.addListener(io, "load", uploadCallback);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -1258,8 +1260,10 @@ YAHOO.util.Connect =
|
||||
abort:function(o, callback, isTimeout)
|
||||
{
|
||||
var abortStatus;
|
||||
var args = (callback && callback.argument)?callback.argument:null;
|
||||
|
||||
if(o.conn){
|
||||
|
||||
if(o && o.conn){
|
||||
if(this.isCallInProgress(o)){
|
||||
// Issue abort request
|
||||
o.conn.abort();
|
||||
@@ -1275,11 +1279,14 @@ YAHOO.util.Connect =
|
||||
abortStatus = true;
|
||||
}
|
||||
}
|
||||
else if(o.isUpload === true){
|
||||
else if(o && o.isUpload === true){
|
||||
var frameId = 'yuiIO' + o.tId;
|
||||
var io = document.getElementById(frameId);
|
||||
|
||||
if(io){
|
||||
// Remove all listeners on the iframe prior to
|
||||
// its destruction.
|
||||
YAHOO.util.Event.removeListener(io, "load");
|
||||
// Destroy the iframe facilitating the transaction.
|
||||
document.body.removeChild(io);
|
||||
|
||||
@@ -1297,24 +1304,21 @@ YAHOO.util.Connect =
|
||||
|
||||
if(abortStatus === true){
|
||||
// Fire global custom event -- abortEvent
|
||||
this.abortEvent.fire(o);
|
||||
this.abortEvent.fire(o, args);
|
||||
|
||||
if(o.abortEvent){
|
||||
// Fire transaction custom event -- abortEvent
|
||||
o.abortEvent.fire(o);
|
||||
o.abortEvent.fire(o, args);
|
||||
}
|
||||
|
||||
this.handleTransactionResponse(o, callback, true);
|
||||
}
|
||||
else{
|
||||
}
|
||||
|
||||
return abortStatus;
|
||||
},
|
||||
|
||||
/**
|
||||
* Public method to check if the transaction is still being processed.
|
||||
*
|
||||
* @description Determines if the transaction is still being processed.
|
||||
* @method isCallInProgress
|
||||
* @public
|
||||
* @static
|
||||
@@ -1347,13 +1351,15 @@ YAHOO.util.Connect =
|
||||
*/
|
||||
releaseObject:function(o)
|
||||
{
|
||||
//dereference the XHR instance.
|
||||
if(o.conn){
|
||||
if(o && o.conn){
|
||||
//dereference the XHR instance.
|
||||
o.conn = null;
|
||||
|
||||
|
||||
//dereference the connection object.
|
||||
o = null;
|
||||
}
|
||||
//dereference the connection object.
|
||||
o = null;
|
||||
}
|
||||
};
|
||||
|
||||
YAHOO.register("connection", YAHOO.util.Connect, {version: "2.3.0", build: "442"});
|
||||
YAHOO.register("connection", YAHOO.util.Connect, {version: "2.5.0", build: "895"});
|
||||
|
||||
@@ -1,5 +1,281 @@
|
||||
Container Release Notes
|
||||
|
||||
*** version 2.5.0 ***
|
||||
|
||||
Fixed the following bugs:
|
||||
-------------------------
|
||||
|
||||
+ We now add the text resize monitor iframe to the DOM in a timeout,
|
||||
to help alleviate the perpetual loading indicator seen in
|
||||
Firefox 2.0.0.8 (Gecko 1.8.1.8) and above on Windows.
|
||||
|
||||
+ Changed the closing script tag string used in the resize monitor, to
|
||||
allow container-min.js, container_core-min.js content to be used inline.
|
||||
|
||||
+ Fixed problem with underlay size being too short in IE6 when setting up
|
||||
an initially visible Dialog with buttons.
|
||||
|
||||
+ Removed overflow:auto applied to the modal mask for all browsers other
|
||||
than gecko/MacOS to help avoid the "missing text cursor" Gecko bug.
|
||||
Overflow:auto is still applied to for Gecko/MacOS to help avoid
|
||||
scrollbar bleedthrough, another Gecko bug (discussed in Container's
|
||||
known issues section).
|
||||
|
||||
Added the following features:
|
||||
-----------------------------
|
||||
|
||||
+ Added a "hideaftersubmit" config property to Dialog, to allow the end
|
||||
user to configure whether or not the Dialog should be hidden after
|
||||
it has been submitted. By default it is set to false, to provide
|
||||
backwards compatibility.
|
||||
|
||||
+ Added contextMouseOverEvent, contextMouseOutEvent and
|
||||
contextTriggerEvent events to Tooltip, which provide access to the
|
||||
context element when the user mouses over a context element, mouses
|
||||
out of a context element, and before a tooltip is about to be
|
||||
triggered (displayed) for a context element. See the API docs for
|
||||
these events for futher details.
|
||||
|
||||
+ Added a "disabled" config property to Tooltip, to allow the user
|
||||
to dynamically disable a tooltip.
|
||||
|
||||
Changes:
|
||||
--------
|
||||
|
||||
+ Optimized constraintoviewport handling for Overlays which haven't
|
||||
been specifically positioned, so that the constraint checks aren't
|
||||
made before every show.
|
||||
|
||||
*** version 2.4.0 ***
|
||||
|
||||
Fixed the following bugs:
|
||||
-------------------------
|
||||
|
||||
+ constraintoviewport and fixedcenter now handle Overlays which are
|
||||
larger than the viewport. The Overlay will be positioned such that
|
||||
it's top, left corner is in the viewport. Panel's draggable
|
||||
behavior now also honors constraintoviewport, if the panel is
|
||||
larger than the viewport.
|
||||
|
||||
+ constrainToViewport will now correctly constrain Overlays which
|
||||
haven't been specifically positioned (don't have an XY value set).
|
||||
|
||||
+ Overlay/OverlayManager bringToTop methods will bring Overlays to
|
||||
the top of the stack, even if their current zindex is the same as
|
||||
other Overlays on the page.
|
||||
|
||||
+ Fixed double textResizeEvents fired on gecko based browsers (e.g
|
||||
Firefox 2.x).
|
||||
|
||||
+ Panel underlay now resizes correctly in Safari 2.x, when the
|
||||
content of the Panel is modified (e.g. when setBody() is called).
|
||||
|
||||
+ Tooltip "text" configuration property is no longer overridden by
|
||||
the "title" attribute value on the context element if both are
|
||||
set. The "text" configuration property takes precedence
|
||||
(as indicated in the Tooltip documentation).
|
||||
|
||||
+ Transparent shadows no longer become opaque (black) in IE6/IE7
|
||||
when a Panel with ContainerEffect.FADE is hidden and then
|
||||
shown again. Also on IE6/IE7 transparent shadows no longer
|
||||
appear opaque while animation is in progress.
|
||||
|
||||
+ An empty header is no longer created for non-draggable
|
||||
Dialogs/SimpleDialogs which don't provide their own headers.
|
||||
By design, an empty header is still created for draggable
|
||||
Dialogs/SimpleDialogs which don't provide a header, in order
|
||||
to provide a drag handle.
|
||||
|
||||
+ Select boxes inside Modal Panels on IE6 are no longer hidden.
|
||||
|
||||
+ In Sam Skin, Dialog/SimpleDialog default and non-default HTML
|
||||
buttons (used when YUI Button is not included on the page) now
|
||||
have a consistent look. Previously style properties intended
|
||||
for default YUI Buttons, were being incorrectly applied to
|
||||
default HTML buttons, giving them a look inconsistent with
|
||||
non-default buttons.
|
||||
|
||||
Added the following features:
|
||||
-----------------------------
|
||||
|
||||
+ Added "dragOnly" configuration property to Panel, to leverage
|
||||
the "dragOnly" configuration property added to the DragDrop
|
||||
utility for 2.4.0.
|
||||
|
||||
When the "dragOnly" configuration property is set to true,
|
||||
the DD instance created for the Panel will not check for drop
|
||||
targets on the page, improving performance during drag operations
|
||||
which don't require drop target interaction.
|
||||
|
||||
The property is set to "false" by default to maintain backwards
|
||||
compatibility with older 2.x releases, but should be set to "true"
|
||||
if no drop targets for the Panel exist on the page.
|
||||
|
||||
See the DragDrop utilities 2.4.0 README for additional information.
|
||||
|
||||
*** version 2.3.1 ***
|
||||
|
||||
Fixed the following bugs:
|
||||
-------------------------
|
||||
|
||||
+ To help reduce the occurrence of "Operation Aborted" errors in IE,
|
||||
containers which are rendered to the document's BODY element (e.g.
|
||||
myOverlay.render(document.body)) are now inserted before the first
|
||||
child of the BODY element. This applies to both the container
|
||||
element as well as the iframe shim if enabled.
|
||||
|
||||
Prior to 2.3.1, these two elements were appended as the last
|
||||
children of the BODY element.
|
||||
|
||||
When rendering to any other element on the page, the behavior is
|
||||
unchanged and both the container and shim are appended as the last
|
||||
children of the element.
|
||||
|
||||
Upgrade Impact For Containers Rendered To Document.Body
|
||||
-------------------------------------------------------
|
||||
If you have an xy coordinate and non-zero z-index specified for
|
||||
your container there should be no negative impact.
|
||||
|
||||
If you haven't specified an xy position, the fix could result
|
||||
in a shift in your container position, depending on other elements
|
||||
on the page.
|
||||
|
||||
If you haven't specified a z-index and are relying on DOM order to
|
||||
stack the container, you may see a change in stacking order of
|
||||
the container or iframe shim.
|
||||
|
||||
Both these changes can be resolved by setting a specific z-index
|
||||
and position based on the layout of other elements on your page.
|
||||
|
||||
If you do need to revert to 2.3.0 behavior, a configuration property
|
||||
"appendtodocumentbody" has been added to Module, which can be set to
|
||||
true.
|
||||
|
||||
The change to stacking order is discussed in detail below in
|
||||
relation to other z-index fixes made for 2.3.1.
|
||||
|
||||
+ Z-index is now applied correctly for Overlay/Panel elements, their
|
||||
corresponding iframe shims, and modal masks (for Panels).
|
||||
This fix applies to both the default z-index based on the CSS
|
||||
for the Overlay/Panel and specific z-indices set using the
|
||||
"zindex" configuration parameter.
|
||||
|
||||
Default z-index values are:
|
||||
|
||||
Overlay/Panel element: 2
|
||||
Iframe shim: 1
|
||||
Mask: 1
|
||||
|
||||
The iframe shim and modal mask z-index will always be set to one less
|
||||
than the Overlay/Panel z-index.
|
||||
|
||||
PLEASE NOTE:
|
||||
|
||||
As a result of the fix to reduce "Operation Aborted" errors,
|
||||
setting a z-index of 1 on an Overlay/Panel rendered to document.body
|
||||
will result in its iframe shim and modal mask (which will have a
|
||||
z-index of 0) being rendered behind other positioned elements in the
|
||||
document.
|
||||
|
||||
This is because the Overlay/Panel, iframe shim and mask are
|
||||
inserted as the first children of the BODY element and hence any
|
||||
positioned elements with a z-index of 0 or auto which occur after
|
||||
them in the document will be stacked on top of them as per W3C spec.
|
||||
|
||||
If you need to keep the Overlay/Panel above positioned elements on your
|
||||
page, it's z-index needs to be set to 2 or more.
|
||||
|
||||
In general it's advisable to manage the z-index of positioned elements
|
||||
on your page deliberately by setting a z-index, to avoid having their
|
||||
order in the document define their stacking order.
|
||||
|
||||
For detailed stacking order information see:
|
||||
- http://www.w3.org/TR/CSS21/visuren.html#layers
|
||||
- http://developer.mozilla.org/en/docs/Understanding_CSS_z-index:The_st
|
||||
acking_context
|
||||
|
||||
+ Module now correctly recognizes standard module header, body and footer
|
||||
DIVs when they have extra CSS classes applied in addition to the
|
||||
required hd, bd, and ft classes. e.g. <div class="bd news"></div>.
|
||||
|
||||
+ An empty header (set to $#160;) is created for draggable Panels which
|
||||
don't have a header specified, to provide a drag handle. This fixes a
|
||||
regression introduced in 2.3.0 so that 2.2.2 behavior is restored.
|
||||
|
||||
+ Dialog.destroy has been fixed to account for Dialog form elements which
|
||||
may not be direct children of the standard module body ("bd") element.
|
||||
|
||||
+ SimpleDialog.destory now completes successfully if the optional
|
||||
button-beta.js dependancy is not included on the page.
|
||||
|
||||
+ Destroying Overlays registered with the OverlayManager no longer results in a
|
||||
JavaScript error. The Overlay is destroyed and removed from the
|
||||
OverlayManager correctly.
|
||||
|
||||
+ Submitting a Dialog form directly (e.g. using a "submit" button, hitting
|
||||
enter on a single text field form) no longer throws a JavaScript error.
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
+ IE: Borders for tables with border-collapse:collapse remain visible
|
||||
-------------------------------------------------------------------
|
||||
If an Overlay, or any of its subclasses, contains a table with its
|
||||
border-collapse CSS property set to "collapse" instead of the default
|
||||
value of "separate", the borders of the table will remain visible, when
|
||||
the Overlay is configured to be hidden initially. The table contents
|
||||
will be hidden correctly.
|
||||
|
||||
This is due to an IE bug, reproducible by the basic test case below:
|
||||
|
||||
<style type="text/css">
|
||||
.box {visibility:hidden;}
|
||||
td {border:1px solid red;}
|
||||
table {border-collapse:collapse;}
|
||||
</style>
|
||||
|
||||
<div class="box">
|
||||
<table>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Setting the DIV elements "style.visibility" JS property fixes the
|
||||
problem with the simple test case. NOTE: Setting the style in markup
|
||||
using the DIV's style attribute does not.
|
||||
|
||||
Extending this to Container, the simplest workaround if you're not
|
||||
using effects, is to use Overlay's hide() method to setup visibility.
|
||||
This will set the Overlay's element "style.visibility" property. e.g.
|
||||
|
||||
// Start visible, then hide.
|
||||
var ovr = YAHOO.widget.Overlay("ovr");
|
||||
ovr.render();
|
||||
ovr.hide();
|
||||
|
||||
You can also apply this workaround if you want to use effects by
|
||||
setting the effect up after you hide. e.g.
|
||||
|
||||
// Start visible, but don't apply effects,
|
||||
// to avoid initial animation.
|
||||
var ovr = YAHOO.widget.Overlay("ovr");
|
||||
ovr.render();
|
||||
ovr.hide();
|
||||
ovr.cfg.setProperty("effect", {effect:.....});
|
||||
|
||||
If initial flicker is a problem with the above, you can set the
|
||||
visibility directly on the Overlay element after rendering e.g.
|
||||
|
||||
var ovr = YAHOO.widget.Overlay("ovr", {visible:false});
|
||||
ovr.render();
|
||||
YAHOO.util.Dom.setStyle(ovr.element, "visibility", "hidden");
|
||||
|
||||
but if possible one of the previous methods should be used since
|
||||
they use the public API as opposed to manipulating the DOM directly.
|
||||
|
||||
*** version 2.3.0 ***
|
||||
|
||||
Fixed the following bugs:
|
||||
@@ -495,204 +771,204 @@ Known Issues
|
||||
|
||||
*** version 2.2.0 ***
|
||||
|
||||
Module
|
||||
- Removed hardcoded file paths for image roots. Affected properties
|
||||
include:
|
||||
- YAHOO.widget.Module.IMG_ROOT
|
||||
- YAHOO.widget.Module.IMG_ROOT_SSL
|
||||
- HTML elements, created via createElement, now use lowercase.
|
||||
Module
|
||||
- Removed hardcoded file paths for image roots. Affected properties
|
||||
include:
|
||||
- YAHOO.widget.Module.IMG_ROOT
|
||||
- YAHOO.widget.Module.IMG_ROOT_SSL
|
||||
- HTML elements, created via createElement, now use lowercase.
|
||||
|
||||
Panel
|
||||
- To shield against CSS class collision, the following references now
|
||||
have a "yui-" prefix:
|
||||
- YAHOO.widget.Panel.CSS_PANEL now references CSS class "yui-
|
||||
panel".
|
||||
- YAHOO.widget.Panel.CSS_PANEL_CONTAINER now references CSS class
|
||||
"yui-panel-container".
|
||||
- Close button can now be configured via the CSS class "container-
|
||||
close".
|
||||
- HTML elements, created via createElement, now use lowercase.
|
||||
Panel
|
||||
- To shield against CSS class collision, the following references now
|
||||
have a "yui-" prefix:
|
||||
- YAHOO.widget.Panel.CSS_PANEL now references CSS class "yui-
|
||||
panel".
|
||||
- YAHOO.widget.Panel.CSS_PANEL_CONTAINER now references CSS class
|
||||
"yui-panel-container".
|
||||
- Close button can now be configured via the CSS class "container-
|
||||
close".
|
||||
- HTML elements, created via createElement, now use lowercase.
|
||||
|
||||
Dialog
|
||||
- To shield against CSS class collision, the following references now
|
||||
have a "yui-" prefix:
|
||||
- YAHOO.widget.Dialog.CSS_DIALOG now references CSS class "yui-
|
||||
dialog".
|
||||
- HTML elements, created via createElement, now use lowercase.
|
||||
Dialog
|
||||
- To shield against CSS class collision, the following references now
|
||||
have a "yui-" prefix:
|
||||
- YAHOO.widget.Dialog.CSS_DIALOG now references CSS class "yui-
|
||||
dialog".
|
||||
- HTML elements, created via createElement, now use lowercase.
|
||||
|
||||
SimpleDialog
|
||||
- Removed hardcoded file paths for SimpleDialog icons, which are now
|
||||
configurable in CSS:
|
||||
- YAHOO.widget.SimpleDialog.ICON_BLOCK now references CSS class
|
||||
"blckicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_ALARM now references CSS class
|
||||
"alrticon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_HELP now references CSS class
|
||||
"hlpicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_INFO now references CSS class
|
||||
"infoicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_WARN now references CSS class
|
||||
"warnicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_TIP now references CSS class
|
||||
"tipicon".
|
||||
- To provide shield against CSS class collision the following
|
||||
references now have a "yui-" prefix:
|
||||
- YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG now references CSS
|
||||
class "yui-simple-dialog";
|
||||
SimpleDialog
|
||||
- Removed hardcoded file paths for SimpleDialog icons, which are now
|
||||
configurable in CSS:
|
||||
- YAHOO.widget.SimpleDialog.ICON_BLOCK now references CSS class
|
||||
"blckicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_ALARM now references CSS class
|
||||
"alrticon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_HELP now references CSS class
|
||||
"hlpicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_INFO now references CSS class
|
||||
"infoicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_WARN now references CSS class
|
||||
"warnicon".
|
||||
- YAHOO.widget.SimpleDialog.ICON_TIP now references CSS class
|
||||
"tipicon".
|
||||
- To provide shield against CSS class collision the following
|
||||
references now have a "yui-" prefix:
|
||||
- YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG now references CSS
|
||||
class "yui-simple-dialog";
|
||||
|
||||
Tooltip
|
||||
- To shield against CSS class collision, the following references now
|
||||
have a "yui-" prefix:
|
||||
- YAHOO.widget.Tooltip.CSS_TOOLTIP now references CSS class "yui-
|
||||
tipicon" "yui-tt";
|
||||
Tooltip
|
||||
- To shield against CSS class collision, the following references now
|
||||
have a "yui-" prefix:
|
||||
- YAHOO.widget.Tooltip.CSS_TOOLTIP now references CSS class "yui-
|
||||
tipicon" "yui-tt";
|
||||
|
||||
*** version 0.12.2 ***
|
||||
|
||||
Module
|
||||
- Corrected issue where listener was not properly removed from resize
|
||||
monitor element when "monitorresize" is disabled
|
||||
Module
|
||||
- Corrected issue where listener was not properly removed from resize
|
||||
monitor element when "monitorresize" is disabled
|
||||
|
||||
Panel
|
||||
- Fixed issue that would sometimes prevent select lists from working
|
||||
properly in Firefox
|
||||
Panel
|
||||
- Fixed issue that would sometimes prevent select lists from working
|
||||
properly in Firefox
|
||||
|
||||
Dialog
|
||||
- Fixed error that would occur when trying to create a Dialog where
|
||||
the first form element is set to "disabled"
|
||||
- Modified "close" property handler for Dialog/SimpleDialog to call
|
||||
"cancel" instead of "hide"
|
||||
Dialog
|
||||
- Fixed error that would occur when trying to create a Dialog where
|
||||
the first form element is set to "disabled"
|
||||
- Modified "close" property handler for Dialog/SimpleDialog to call
|
||||
"cancel" instead of "hide"
|
||||
|
||||
*** version 0.12.1 ***
|
||||
|
||||
All Classes
|
||||
- "monitorresize" property now functions in situations where
|
||||
document.domain has been modified.
|
||||
- YAHOO.widget.Module.textResizeEvent now fires when the font size is
|
||||
changed (except for Opera, which uses "zoom" functionality that
|
||||
prevents this)
|
||||
- Event listeners attached to container elements are now properly
|
||||
purged on destroy using YAHOO.util.Event.purgeElement
|
||||
All Classes
|
||||
- "monitorresize" property now functions in situations where
|
||||
document.domain has been modified.
|
||||
- YAHOO.widget.Module.textResizeEvent now fires when the font size is
|
||||
changed (except for Opera, which uses "zoom" functionality that
|
||||
prevents this)
|
||||
- Event listeners attached to container elements are now properly
|
||||
purged on destroy using YAHOO.util.Event.purgeElement
|
||||
|
||||
Panel
|
||||
- Fixed issue where focus events were broken on the page when a modal
|
||||
Panel was created
|
||||
Panel
|
||||
- Fixed issue where focus events were broken on the page when a modal
|
||||
Panel was created
|
||||
|
||||
Dialog
|
||||
- Fixed bug where hitting "enter" on a Dialog was forcing the default
|
||||
submission behavior of the form's action to execute
|
||||
- Dialog no longer tries to give focus to hidden form elements.
|
||||
- Replaced references in Panel with   for XHTML
|
||||
compliance.
|
||||
- Fixed issue that was preventing Safari from successfully using the
|
||||
getData() function
|
||||
Dialog
|
||||
- Fixed bug where hitting "enter" on a Dialog was forcing the default
|
||||
submission behavior of the form's action to execute
|
||||
- Dialog no longer tries to give focus to hidden form elements.
|
||||
- Replaced references in Panel with   for XHTML
|
||||
compliance.
|
||||
- Fixed issue that was preventing Safari from successfully using the
|
||||
getData() function
|
||||
|
||||
*** version 0.12 ***
|
||||
|
||||
All Classes
|
||||
- New documentation format implemented, and removed unnecessary
|
||||
prototype null references previously used for generating
|
||||
documentation
|
||||
All Classes
|
||||
- New documentation format implemented, and removed unnecessary
|
||||
prototype null references previously used for generating
|
||||
documentation
|
||||
|
||||
Config
|
||||
- Added 'undefined' check when reading initial properties for
|
||||
.reset()
|
||||
- Fixed Firefox warning on .resetProperty()
|
||||
- Fixed issue preventing resetProperty() from resetting values
|
||||
correctly
|
||||
Config
|
||||
- Added 'undefined' check when reading initial properties for
|
||||
.reset()
|
||||
- Fixed Firefox warning on .resetProperty()
|
||||
- Fixed issue preventing resetProperty() from resetting values
|
||||
correctly
|
||||
|
||||
Module
|
||||
- Removed unused "childNodesInDom" property
|
||||
Module
|
||||
- Removed unused "childNodesInDom" property
|
||||
|
||||
Overlay
|
||||
- Converted center() to use Dom utility
|
||||
- Fixed configVisible() to properly detect actual visible/hidden
|
||||
status in Internet Explorer, which reports "inherit" for all elements
|
||||
by default.
|
||||
- Updated onDomResize to properly reapply "context" property
|
||||
- Unified scroll/resize handlers so that they fire properly (when the
|
||||
event has completed) as opposed to constantly (as seen in Mozilla-
|
||||
based browsers)
|
||||
Overlay
|
||||
- Converted center() to use Dom utility
|
||||
- Fixed configVisible() to properly detect actual visible/hidden
|
||||
status in Internet Explorer, which reports "inherit" for all elements
|
||||
by default.
|
||||
- Updated onDomResize to properly reapply "context" property
|
||||
- Unified scroll/resize handlers so that they fire properly (when the
|
||||
event has completed) as opposed to constantly (as seen in Mozilla-
|
||||
based browsers)
|
||||
|
||||
Panel
|
||||
- Modified modality mask to show before Panel is shown (prior to any
|
||||
animation)
|
||||
- Modified buildWrapper to eliminate cloning of the initial markup
|
||||
module, which fixes issues with select options not maintaining their
|
||||
default selections in IE
|
||||
- Modality mask is now z-indexed properly so that the mask z-index is
|
||||
always one less than the Panel z-index
|
||||
Panel
|
||||
- Modified modality mask to show before Panel is shown (prior to any
|
||||
animation)
|
||||
- Modified buildWrapper to eliminate cloning of the initial markup
|
||||
module, which fixes issues with select options not maintaining their
|
||||
default selections in IE
|
||||
- Modality mask is now z-indexed properly so that the mask z-index is
|
||||
always one less than the Panel z-index
|
||||
|
||||
Dialog
|
||||
- Fixed Connection to get "action" attribute using getAttribute, to
|
||||
allow for form fields named "action"
|
||||
- Added support for "GET" by retrieving the form "method" rather than
|
||||
always defaulting to "POST"
|
||||
Dialog
|
||||
- Fixed Connection to get "action" attribute using getAttribute, to
|
||||
allow for form fields named "action"
|
||||
- Added support for "GET" by retrieving the form "method" rather than
|
||||
always defaulting to "POST"
|
||||
|
||||
KeyListener
|
||||
- Fixed to work properly with Safari 2.0 by matching against keyCode
|
||||
or charCode
|
||||
KeyListener
|
||||
- Fixed to work properly with Safari 2.0 by matching against keyCode
|
||||
or charCode
|
||||
|
||||
*** version 0.11.4 ***
|
||||
|
||||
- Panel: Modality mask is now properly removed from DOM on Panel
|
||||
destroy.
|
||||
- Panel: Modality mask is now properly removed from DOM on Panel
|
||||
destroy.
|
||||
|
||||
*** version 0.11.3 ***
|
||||
|
||||
- Module: Fixed SSL warning issue in IE
|
||||
- Overlay: Fixed memory leak related to iframe shim in IE
|
||||
- Panel: No focusable elements under the mask can now be tabbed to
|
||||
- Panel: Set Panel container overflow to hidden to fix scrolling issue
|
||||
in Opera 9
|
||||
- Module: Fixed SSL warning issue in IE
|
||||
- Overlay: Fixed memory leak related to iframe shim in IE
|
||||
- Panel: No focusable elements under the mask can now be tabbed to
|
||||
- Panel: Set Panel container overflow to hidden to fix scrolling issue
|
||||
in Opera 9
|
||||
|
||||
*** version 0.11.2 ***
|
||||
|
||||
- All: JsLint optimization
|
||||
- Overlay: Fixed SSL issues with monitorresize property
|
||||
- OverlayManager: Fixed z-index incrementing issues
|
||||
- Dialog: Form elements called "name" will now function properly
|
||||
- Dialog: Removed unnecessary scope:this reference
|
||||
- All: JsLint optimization
|
||||
- Overlay: Fixed SSL issues with monitorresize property
|
||||
- OverlayManager: Fixed z-index incrementing issues
|
||||
- Dialog: Form elements called "name" will now function properly
|
||||
- Dialog: Removed unnecessary scope:this reference
|
||||
|
||||
*** version 0.11.1 ***
|
||||
|
||||
- Tooltip: Removed incorrect logger statement
|
||||
- Dialog: Corrected logic that was causing browser lockup in IE for
|
||||
SimpleDialog
|
||||
- Dialog: Fixed "firstButtom" typo
|
||||
- Tooltip: Removed incorrect logger statement
|
||||
- Dialog: Corrected logic that was causing browser lockup in IE for
|
||||
SimpleDialog
|
||||
- Dialog: Fixed "firstButtom" typo
|
||||
|
||||
*** version 0.11.0 ***
|
||||
|
||||
- toString function added to all classes for easy logging
|
||||
- YAHOO.extend is now being used for inheritance on all container
|
||||
classes
|
||||
- Module: monitorresize feature now works on all browsers
|
||||
- Module: Fixed bug with image root and isSecure
|
||||
- Overlay: Fixed bugs related to IFRAME shim positioning
|
||||
- Overlay: center() now works in quirks mode
|
||||
- Overlay: Overlay now has a custom destroy() method that also removes
|
||||
the IFRAME shim
|
||||
- OverlayManager: Fixed bug in the prototype that was preventing
|
||||
multiple Managers on one page
|
||||
- OverlayManager: focusEvent now fires at all appropriate times
|
||||
- Tooltip: context can now be specified as an array, so Tooltips can be
|
||||
reused across multiple context elements
|
||||
- Tooltip: preventoverlap now functions properly for large context
|
||||
elements (i.e, images)
|
||||
- Tooltip: fixed bugs regarding setTimeout
|
||||
- Tooltip: added mousemove event to allow for more accurate Tooltip
|
||||
positioning
|
||||
- Panel: added dragEvent for monitoring all event handlers for drag and
|
||||
drop
|
||||
- Panel: modality mask is now resized on scroll
|
||||
- Panel: KeyListeners are now properly destroyed when the Panel is
|
||||
destroyed
|
||||
- Panel: Header is now sized properly in quirks mode
|
||||
- Dialog: Blinking cursor issue is fixed for Firefox
|
||||
- Dialog: callback object for Connection is now public (this.callback)
|
||||
- Dialog: onsuccess/onfailure properties removed (as a result of the
|
||||
public callback object)
|
||||
- Dialog: Dialog is now invisible by default
|
||||
- Dialog: Buttons are now properly cleaned up on destroy
|
||||
- toString function added to all classes for easy logging
|
||||
- YAHOO.extend is now being used for inheritance on all container
|
||||
classes
|
||||
- Module: monitorresize feature now works on all browsers
|
||||
- Module: Fixed bug with image root and isSecure
|
||||
- Overlay: Fixed bugs related to IFRAME shim positioning
|
||||
- Overlay: center() now works in quirks mode
|
||||
- Overlay: Overlay now has a custom destroy() method that also removes
|
||||
the IFRAME shim
|
||||
- OverlayManager: Fixed bug in the prototype that was preventing
|
||||
multiple Managers on one page
|
||||
- OverlayManager: focusEvent now fires at all appropriate times
|
||||
- Tooltip: context can now be specified as an array, so Tooltips can be
|
||||
reused across multiple context elements
|
||||
- Tooltip: preventoverlap now functions properly for large context
|
||||
elements (i.e, images)
|
||||
- Tooltip: fixed bugs regarding setTimeout
|
||||
- Tooltip: added mousemove event to allow for more accurate Tooltip
|
||||
positioning
|
||||
- Panel: added dragEvent for monitoring all event handlers for drag and
|
||||
drop
|
||||
- Panel: modality mask is now resized on scroll
|
||||
- Panel: KeyListeners are now properly destroyed when the Panel is
|
||||
destroyed
|
||||
- Panel: Header is now sized properly in quirks mode
|
||||
- Dialog: Blinking cursor issue is fixed for Firefox
|
||||
- Dialog: callback object for Connection is now public (this.callback)
|
||||
- Dialog: onsuccess/onfailure properties removed (as a result of the
|
||||
public callback object)
|
||||
- Dialog: Dialog is now invisible by default
|
||||
- Dialog: Buttons are now properly cleaned up on destroy
|
||||
|
||||
*** version 0.10.0 ***
|
||||
|
||||
|
||||
@@ -1,59 +1,38 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-overlay,
|
||||
.yui-panel-container {
|
||||
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
yui-panel-container form {
|
||||
|
||||
margin: 0;
|
||||
|
||||
}
|
||||
|
||||
.masked .yui-panel-container {
|
||||
|
||||
/*
|
||||
Default to a z-index 1 higher than default if the Panel is modal
|
||||
to make sure the panel is above its modality mask.
|
||||
*/
|
||||
|
||||
z-index: 2;
|
||||
|
||||
.yui-panel-container form {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.mask {
|
||||
|
||||
/*
|
||||
Default to a z-index of 1 less than the default defined
|
||||
by ".masked .yui-panel-container"
|
||||
*/
|
||||
|
||||
z-index: 1;
|
||||
z-index: 1;
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
|
||||
/*
|
||||
Application of "overflow:auto" prevents Mac scrollbars from bleeding
|
||||
through the modality mask in Gecko.
|
||||
*/
|
||||
|
||||
overflow: auto;
|
||||
|
||||
}
|
||||
|
||||
.mask.block-scrollbars {
|
||||
/*
|
||||
Application of "overflow:auto" prevents Mac scrollbars from bleeding
|
||||
through the modality mask in Gecko. The block-scollbars class is only
|
||||
added for Gecko on MacOS
|
||||
*/
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
PLEASE NOTE:
|
||||
@@ -62,28 +41,26 @@ yui-panel-container form {
|
||||
the modality mask in IE 6.
|
||||
|
||||
2) ".drag select" is used to hide <SELECT> elements when dragging a
|
||||
Panel in IE 6.
|
||||
Panel in IE 6. This is necessary to prevent some redraw problems with
|
||||
the <SELECT> elements when a Panel instance is dragged.
|
||||
|
||||
3) "hide-select select" is appended to an Overlay instance's root HTML
|
||||
element when it is being annimated by YAHOO.widget.ContainerEffect
|
||||
3) ".hide-select select" is appended to an Overlay instance's root HTML
|
||||
element when it is being annimated by YAHOO.widget.ContainerEffect.
|
||||
This is necessary because <SELECT> elements don't inherit their parent
|
||||
element's opacity in IE 6.
|
||||
|
||||
*/
|
||||
|
||||
.masked select,
|
||||
.drag select,
|
||||
.masked select,
|
||||
.drag select,
|
||||
.hide-select select {
|
||||
|
||||
_visibility: hidden;
|
||||
|
||||
_visibility: hidden;
|
||||
}
|
||||
|
||||
.yui-panel-container select {
|
||||
|
||||
_visibility: inherit;
|
||||
|
||||
_visibility: inherit;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
There are two known issues with YAHOO.widget.Overlay (and its subclasses) that
|
||||
@@ -129,27 +106,21 @@ PLEASE NOTE:
|
||||
.hide-scrollbars,
|
||||
.hide-scrollbars * {
|
||||
|
||||
overflow: hidden;
|
||||
overflow: hidden;
|
||||
|
||||
}
|
||||
|
||||
.hide-scrollbars select {
|
||||
|
||||
display: none;
|
||||
|
||||
display: none;
|
||||
}
|
||||
|
||||
.show-scrollbars {
|
||||
|
||||
overflow: auto;
|
||||
|
||||
}
|
||||
|
||||
.yui-panel-container.show-scrollbars,
|
||||
.yui-tt.show-scrollbars {
|
||||
|
||||
overflow: visible;
|
||||
|
||||
}
|
||||
|
||||
.yui-panel-container.show-scrollbars .underlay,
|
||||
@@ -159,6 +130,19 @@ PLEASE NOTE:
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Workaround for Safari 2.x - the yui-force-redraw class is applied, and then removed when
|
||||
the Panel's content changes, to force Safari 2.x to redraw the underlay.
|
||||
We attempt to choose a CSS property which has no visual impact when added,
|
||||
removed.
|
||||
*/
|
||||
.yui-panel-container.shadow .underlay.yui-force-redraw {
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
.yui-effect-fade .underlay {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/*
|
||||
PLEASE NOTE: The <DIV> element used for a Tooltip's shadow is appended
|
||||
|
||||
@@ -1,37 +1,26 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-overlay,
|
||||
.yui-panel-container {
|
||||
visibility:hidden;
|
||||
position:absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.masked .yui-panel-container {
|
||||
|
||||
/*
|
||||
Default to a z-index 1 higher than default if the Panel is modal
|
||||
to make sure the panel is above its modality mask.
|
||||
*/
|
||||
|
||||
z-index: 2;
|
||||
|
||||
position:absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.yui-tt {
|
||||
visibility:hidden;
|
||||
position:absolute;
|
||||
color:#333;
|
||||
background-color:#FDFFB4;
|
||||
font-family:arial,helvetica,verdana,sans-serif;
|
||||
padding:2px;
|
||||
border:1px solid #FCC90D;
|
||||
font:100% sans-serif;
|
||||
width:auto;
|
||||
visibility:hidden;
|
||||
position:absolute;
|
||||
color:#333;
|
||||
background-color:#FDFFB4;
|
||||
font-family:arial,helvetica,verdana,sans-serif;
|
||||
padding:2px;
|
||||
border:1px solid #FCC90D;
|
||||
font:100% sans-serif;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -44,33 +33,26 @@ version: 2.3.0
|
||||
*/
|
||||
|
||||
.yui-tt-shadow {
|
||||
|
||||
display: none;
|
||||
|
||||
}
|
||||
|
||||
* html body.masked select {
|
||||
visibility:hidden;
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
* html div.yui-panel-container select {
|
||||
visibility:inherit;
|
||||
visibility:inherit;
|
||||
}
|
||||
|
||||
* html div.drag select {
|
||||
visibility:hidden;
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
* html div.hide-select select {
|
||||
visibility:hidden;
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
.mask {
|
||||
/*
|
||||
Default to a z-index of 1 less than the default defined
|
||||
by ".masked .yui-panel-container"
|
||||
*/
|
||||
|
||||
z-index: 1;
|
||||
display:none;
|
||||
position:absolute;
|
||||
@@ -127,13 +109,13 @@ PLEASE NOTE:
|
||||
.hide-scrollbars,
|
||||
.hide-scrollbars * {
|
||||
|
||||
overflow: hidden;
|
||||
overflow: hidden;
|
||||
|
||||
}
|
||||
|
||||
.hide-scrollbars select {
|
||||
|
||||
display: none;
|
||||
display: none;
|
||||
|
||||
}
|
||||
|
||||
@@ -174,8 +156,8 @@ PLEASE NOTE:
|
||||
|
||||
.yui-panel-container.matte {
|
||||
|
||||
padding: 3px;
|
||||
background-color: #fff;
|
||||
padding: 3px;
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
|
||||
@@ -191,132 +173,146 @@ PLEASE NOTE:
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Workaround for Safari 2.x - the yui-force-redraw class is applied, and then removed when
|
||||
the Panel's content changes, to force Safari 2.x to redraw the underlay.
|
||||
We attempt to choose a CSS property which has no visual impact when added,
|
||||
removed, but still causes Safari to redraw
|
||||
*/
|
||||
.yui-panel-container.shadow .underlay.yui-force-redraw {
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
.yui-effect-fade .underlay {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.yui-panel {
|
||||
visibility:hidden;
|
||||
border-collapse:separate;
|
||||
position:relative;
|
||||
left:0;
|
||||
top:0;
|
||||
font:1em Arial;
|
||||
background-color:#FFF;
|
||||
border:1px solid #000;
|
||||
z-index:1;
|
||||
overflow:hidden;
|
||||
visibility:hidden;
|
||||
border-collapse:separate;
|
||||
position:relative;
|
||||
left:0;
|
||||
top:0;
|
||||
font:1em Arial;
|
||||
background-color:#FFF;
|
||||
border:1px solid #000;
|
||||
z-index:1;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.yui-panel .hd {
|
||||
background-color:#3d77cb;
|
||||
color:#FFF;
|
||||
font-size:100%;
|
||||
line-height:100%;
|
||||
border:1px solid #FFF;
|
||||
border-bottom:1px solid #000;
|
||||
font-weight:bold;
|
||||
padding:4px;
|
||||
background-color:#3d77cb;
|
||||
color:#FFF;
|
||||
font-size:100%;
|
||||
line-height:100%;
|
||||
border:1px solid #FFF;
|
||||
border-bottom:1px solid #000;
|
||||
font-weight:bold;
|
||||
padding:4px;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.yui-panel .bd {
|
||||
overflow:hidden;
|
||||
padding:4px;
|
||||
overflow:hidden;
|
||||
padding:4px;
|
||||
}
|
||||
|
||||
.yui-panel .bd p {
|
||||
margin:0 0 1em;
|
||||
margin:0 0 1em;
|
||||
}
|
||||
|
||||
.yui-panel .container-close {
|
||||
position:absolute;
|
||||
top:5px;
|
||||
right:4px;
|
||||
z-index:6;
|
||||
height:12px;
|
||||
width:12px;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
background:url(close12_1.gif) no-repeat;
|
||||
cursor:pointer;
|
||||
visibility:inherit;
|
||||
position:absolute;
|
||||
top:5px;
|
||||
right:4px;
|
||||
z-index:6;
|
||||
height:12px;
|
||||
width:12px;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
background:url(close12_1.gif) no-repeat;
|
||||
cursor:pointer;
|
||||
visibility:inherit;
|
||||
}
|
||||
|
||||
.yui-panel .ft {
|
||||
padding:4px;
|
||||
overflow:hidden;
|
||||
padding:4px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd .yui-icon {
|
||||
background-repeat:no-repeat;
|
||||
width:16px;
|
||||
height:16px;
|
||||
margin-right:10px;
|
||||
float:left;
|
||||
background-repeat:no-repeat;
|
||||
width:16px;
|
||||
height:16px;
|
||||
margin-right:10px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd span.blckicon {
|
||||
background: url("blck16_1.gif") no-repeat;
|
||||
background: url("blck16_1.gif") no-repeat;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd span.alrticon {
|
||||
background: url("alrt16_1.gif") no-repeat;
|
||||
background: url("alrt16_1.gif") no-repeat;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd span.hlpicon {
|
||||
background: url("hlp16_1.gif") no-repeat;
|
||||
background: url("hlp16_1.gif") no-repeat;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd span.infoicon {
|
||||
background: url("info16_1.gif") no-repeat;
|
||||
background: url("info16_1.gif") no-repeat;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd span.warnicon {
|
||||
background: url("warn16_1.gif") no-repeat;
|
||||
background: url("warn16_1.gif") no-repeat;
|
||||
}
|
||||
|
||||
.yui-simple-dialog .bd span.tipicon {
|
||||
background: url("tip16_1.gif") no-repeat;
|
||||
background: url("tip16_1.gif") no-repeat;
|
||||
}
|
||||
|
||||
.yui-dialog .ft,
|
||||
.yui-simple-dialog .ft {
|
||||
padding-bottom:5px;
|
||||
padding-right:5px;
|
||||
text-align:right;
|
||||
padding-bottom:5px;
|
||||
padding-right:5px;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.yui-dialog form,
|
||||
.yui-simple-dialog form {
|
||||
margin:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.button-group button {
|
||||
font:100 76% verdana;
|
||||
text-decoration:none;
|
||||
background-color: #E4E4E4;
|
||||
color: #333;
|
||||
cursor: hand;
|
||||
vertical-align: middle;
|
||||
border: 2px solid #797979;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
margin:2px;
|
||||
padding:2px;
|
||||
font:100 76% verdana;
|
||||
text-decoration:none;
|
||||
background-color: #E4E4E4;
|
||||
color: #333;
|
||||
cursor: hand;
|
||||
vertical-align: middle;
|
||||
border: 2px solid #797979;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
margin:2px;
|
||||
padding:2px;
|
||||
}
|
||||
|
||||
.button-group button.default {
|
||||
font-weight:bold;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.button-group button:hover,
|
||||
.button-group button.hover {
|
||||
border:2px solid #90A029;
|
||||
background-color:#EBF09E;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
border:2px solid #90A029;
|
||||
background-color:#EBF09E;
|
||||
border-top-color:#FFF;
|
||||
border-left-color:#FFF;
|
||||
}
|
||||
|
||||
.button-group button:active {
|
||||
border:2px solid #E4E4E4;
|
||||
background-color:#BBB;
|
||||
border-top-color:#333;
|
||||
border-left-color:#333;
|
||||
border:2px solid #E4E4E4;
|
||||
background-color:#BBB;
|
||||
border-top-color:#333;
|
||||
border-left-color:#333;
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/* Panel modality mask styles */
|
||||
|
||||
@@ -113,6 +113,7 @@ version: 2.3.0
|
||||
width: 25px;
|
||||
height: 15px;
|
||||
background: url(../../../../assets/skins/sam/sprite.png) no-repeat 0 -300px;
|
||||
cursor:pointer;
|
||||
|
||||
}
|
||||
|
||||
@@ -189,29 +190,25 @@ version: 2.3.0
|
||||
|
||||
}
|
||||
|
||||
/* Dialog default button style */
|
||||
.yui-skin-sam .yui-dialog .ft button.default {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* Dialog default button styles */
|
||||
|
||||
.yui-skin-sam .yui-dialog .ft .default {
|
||||
|
||||
/* Dialog default YUI Button style */
|
||||
.yui-skin-sam .yui-dialog .ft span.default {
|
||||
border-color: #304369;
|
||||
background-position: 0 -1400px;
|
||||
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-dialog .ft .default .first-child {
|
||||
|
||||
.yui-skin-sam .yui-dialog .ft span.default .first-child {
|
||||
border-color: #304369;
|
||||
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-dialog .ft .default button {
|
||||
|
||||
.yui-skin-sam .yui-dialog .ft span.default button {
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* SimpleDialog icon styles */
|
||||
|
||||
.yui-skin-sam .yui-simple-dialog .bd .yui-icon {
|
||||
@@ -285,18 +282,16 @@ version: 2.3.0
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-tt-shadow {
|
||||
|
||||
top: 2px;
|
||||
right: -3px;
|
||||
left: -3px;
|
||||
bottom: -3px;
|
||||
background-color: #000;
|
||||
|
||||
}
|
||||
|
||||
.yui-skin-sam .yui-tt-shadow-visible {
|
||||
|
||||
opacity: .12;
|
||||
*filter: alpha(opacity=12); /* For IE */
|
||||
*filter: alpha(opacity=12); /* For IE */
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:1;}yui-panel-container form{margin:0;}.masked .yui-panel-container{z-index:2;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-tt-shadow{position:absolute;}.yui-skin-sam .mask{background-color:#000;opacity:.25;*filter:alpha(opacity=25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px 3px;}.yui-skin-sam .yui-panel{position:relative;*zoom:1;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{*zoom:1;*position:relative;border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-skin-sam .yui-panel-container.focused .yui-panel .hd{}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 -300px;}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 5px 0 3px;}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;right:-3px;bottom:-3px;left:-3px;*top:3px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_right:0;_bottom:0;_left:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yui-skin-sam .yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}.yui-skin-sam .yui-dialog .ft .default{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-dialog .ft .default .first-child{border-color:#304369;}.yui-skin-sam .yui-dialog .ft .default button{color:#fff;}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=12);}
|
||||
.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbars{overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px;}.yui-effect-fade .underlay{display:none;}.yui-tt-shadow{position:absolute;}.yui-skin-sam .mask{background-color:#000;opacity:.25;*filter:alpha(opacity=25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px 3px;}.yui-skin-sam .yui-panel{position:relative;*zoom:1;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{*zoom:1;*position:relative;border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-skin-sam .yui-panel-container.focused .yui-panel .hd{}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 5px 0 3px;}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;right:-3px;bottom:-3px;left:-3px;*top:3px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_right:0;_bottom:0;_left:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yui-skin-sam .yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}.yui-skin-sam .yui-dialog .ft button.default{font-weight:bold;}.yui-skin-sam .yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-dialog .ft span.default .first-child{border-color:#304369;}.yui-skin-sam .yui-dialog .ft span.default button{color:#fff;}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=12);}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
YUI Library - Cookie Utility - Release Notes
|
||||
|
||||
2.5.0
|
||||
|
||||
* Beta release
|
||||
@@ -0,0 +1,361 @@
|
||||
/*
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.5.0
|
||||
*/
|
||||
/**
|
||||
* Utilities for cookie management
|
||||
* @namespace YAHOO.util
|
||||
* @module cookie
|
||||
* @beta
|
||||
*/
|
||||
YAHOO.namespace("util");
|
||||
|
||||
/**
|
||||
* Cookie utility.
|
||||
* @class Cookie
|
||||
* @static
|
||||
*/
|
||||
YAHOO.util.Cookie = {
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Private Methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Creates a cookie string that can be assigned into document.cookie.
|
||||
* @param {String} name The name of the cookie.
|
||||
* @param {String} value The value of the cookie.
|
||||
* @param {encodeValue} encodeValue True to encode the value, false to leave as-is.
|
||||
* @param {Object} options (Optional) Options for the cookie.
|
||||
* @return {String} The formatted cookie string.
|
||||
* @method _createCookieString
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_createCookieString : function (name /*:String*/, value /*:Variant*/, encodeValue /*:Boolean*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
//shortcut
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
var text /*:String*/ = encodeURIComponent(name) + "=" + (encodeValue ? encodeURIComponent(value) : value);
|
||||
|
||||
|
||||
if (lang.isObject(options)){
|
||||
//expiration date
|
||||
if (options.expires instanceof Date){
|
||||
text += "; expires=" + options.expires.toGMTString();
|
||||
}
|
||||
|
||||
//path
|
||||
if (lang.isString(options.path) && options.path != ""){
|
||||
text += "; path=" + options.path;
|
||||
}
|
||||
|
||||
//domain
|
||||
if (lang.isString(options.domain) && options.domain != ""){
|
||||
text += "; domain=" + options.domain;
|
||||
}
|
||||
|
||||
//secure
|
||||
if (options.secure === true){
|
||||
text += "; secure";
|
||||
}
|
||||
}
|
||||
|
||||
return text;
|
||||
},
|
||||
|
||||
/**
|
||||
* Formats a cookie value for an object containing multiple values.
|
||||
* @param {Object} hash An object of key-value pairs to create a string for.
|
||||
* @return {String} A string suitable for use as a cookie value.
|
||||
* @method _createCookieHash
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_createCookieHashString : function (hash /*:Object*/) /*:String*/ {
|
||||
|
||||
//shortcuts
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isObject(hash)){
|
||||
throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.");
|
||||
}
|
||||
|
||||
var text /*:Array*/ = new Array();
|
||||
|
||||
for (var key in hash){
|
||||
if (lang.hasOwnProperty(hash, key) && !lang.isFunction(hash[key]) && !lang.isUndefined(hash[key])){
|
||||
text.push(encodeURIComponent(key) + "=" + encodeURIComponent(String(hash[key])));
|
||||
}
|
||||
}
|
||||
|
||||
return text.join("&");
|
||||
},
|
||||
|
||||
/**
|
||||
* Parses a cookie hash string into an object.
|
||||
* @param {String} text The cookie hash string to parse. The string should already be URL-decoded.
|
||||
* @return {Object} An object containing entries for each cookie value.
|
||||
* @method _parseCookieHash
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_parseCookieHash : function (text /*:String*/) /*:Object*/ {
|
||||
|
||||
var hashParts /*:Array*/ = text.split("&");
|
||||
var hashPart /*:Array*/ = null;
|
||||
var hash /*:Object*/ = new Object();
|
||||
|
||||
for (var i=0, len=hashParts.length; i < len; i++){
|
||||
hashPart = hashParts[i].split("=");
|
||||
hash[hashPart[0]] = hashPart[1];
|
||||
}
|
||||
|
||||
return hash;
|
||||
},
|
||||
|
||||
/**
|
||||
* Parses a cookie string into an object representing all accessible cookies.
|
||||
* @param {String} text The cookie string to parse.
|
||||
* @return {Object} An object containing entries for each accessible cookie.
|
||||
* @method _parseCookieString
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_parseCookieString : function (text /*:String*/) /*:Object*/ {
|
||||
|
||||
var cookies /*:Object*/ = new Object();
|
||||
|
||||
if (YAHOO.lang.isString(text) && text.length > 0) {
|
||||
|
||||
if (/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(text)){
|
||||
var cookieParts /*:Array*/ = text.split(/;\s/g);
|
||||
var cookieName /*:String*/ = null;
|
||||
var cookieValue /*:String*/ = null;
|
||||
|
||||
for (var i=0, len=cookieParts.length; i < len; i++){
|
||||
cookieName = decodeURIComponent(cookieParts[i].match(/([a-z]+)=/i)[1]);
|
||||
cookieValue = decodeURIComponent(cookieParts[i].substring(cookieName.length+1));
|
||||
cookies[cookieName] = cookieValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return cookies;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Public Methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns the cookie value for the given name.
|
||||
* @param {String} name The name of the cookie to retrieve.
|
||||
* @param {Function} converter (Optional) A function to run on the value before returning
|
||||
* it. The function is not used if the cookie doesn't exist.
|
||||
* @return {Variant} If no converter is specified, returns a string or null if
|
||||
* the cookie doesn't exist. If the converter is specified, returns the value
|
||||
* returned from the converter or null if the cookie doesn't exist.
|
||||
* @method get
|
||||
* @static
|
||||
*/
|
||||
get : function (name /*:String*/, converter /*:Function*/) /*:Variant*/{
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
var cookies /*:Object*/ = this._parseCookieString(document.cookie);
|
||||
|
||||
if (!lang.isString(name) || name === ""){
|
||||
throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(cookies[name])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!lang.isFunction(converter)){
|
||||
return cookies[name];
|
||||
} else {
|
||||
return converter(cookies[name]);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the value of a subcookie.
|
||||
* @param {String} name The name of the cookie to retrieve.
|
||||
* @param {String} subName The name of the subcookie to retrieve.
|
||||
* @param {Function} converter (Optional) A function to run on the value before returning
|
||||
* it. The function is not used if the cookie doesn't exist.
|
||||
* @return {Variant} If the cookie doesn't exist, null is returned. If the subcookie
|
||||
* doesn't exist, null if also returned. If no converter is specified and the
|
||||
* subcookie exists, a string is returned. If a converter is specified and the
|
||||
* subcookie exists, the value returned from the converter is returned.
|
||||
* @method getSub
|
||||
* @static
|
||||
*/
|
||||
getSub : function (name /*:String*/, subName /*:String*/, converter /*:Function*/) /*:Variant*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
var hash /*:Variant*/ = this.getSubs(name);
|
||||
|
||||
if (hash !== null) {
|
||||
|
||||
if (!lang.isString(subName) || subName === ""){
|
||||
throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(hash[subName])){
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!lang.isFunction(converter)){
|
||||
return hash[subName];
|
||||
} else {
|
||||
return converter(hash[subName]);
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns an object containing name-value pairs stored in the cookie with the given name.
|
||||
* @param {String} name The name of the cookie to retrieve.
|
||||
* @return {Object} An object of name-value pairs if the cookie with the given name
|
||||
* exists, null if it does not.
|
||||
* @method getHash
|
||||
* @static
|
||||
*/
|
||||
getSubs : function (name /*:String*/) /*:Object*/ {
|
||||
return this.get(name, this._parseCookieHash);
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes a cookie from the machine by setting its expiration date to
|
||||
* sometime in the past.
|
||||
* @param {String} name The name of the cookie to remove.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string),
|
||||
* and secure (true/false). The expires option will be overwritten
|
||||
* by the method.
|
||||
* @return {String} The created cookie string.
|
||||
* @method remove
|
||||
* @static
|
||||
*/
|
||||
remove : function (name /*:String*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
//check cookie name
|
||||
if (!YAHOO.lang.isString(name) || name === ""){
|
||||
throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
//set options
|
||||
options = options || {};
|
||||
options.expires = new Date(0);
|
||||
|
||||
//set cookie
|
||||
return this.set(name, "", options);
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets a cookie with a given name and value.
|
||||
* @param {String} name The name of the cookie to set.
|
||||
* @param {Variant} value The value to set for the cookie.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string), expires (a Date object),
|
||||
* and secure (true/false).
|
||||
* @return {String} The created cookie string.
|
||||
* @method set
|
||||
* @static
|
||||
*/
|
||||
set : function (name /*:String*/, value /*:Variant*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isString(name)){
|
||||
throw new TypeError("Cookie.set(): Cookie name must be a string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(value)){
|
||||
throw new TypeError("Cookie.set(): Value cannot be undefined.");
|
||||
}
|
||||
|
||||
|
||||
var text /*:String*/ = this._createCookieString(name, value, true, options);
|
||||
document.cookie = text;
|
||||
return text;
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets a sub cookie with a given name to a particular value.
|
||||
* @param {String} name The name of the cookie to set.
|
||||
* @param {String} subName The name of the subcookie to set.
|
||||
* @param {Variant} value The value to set.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string), expires (a Date object),
|
||||
* and secure (true/false).
|
||||
* @return {String} The created cookie string.
|
||||
* @method setSub
|
||||
* @static
|
||||
*/
|
||||
setSub : function (name /*:String*/, subName /*:String*/, value /*:Variant*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isString(name) || name === ""){
|
||||
throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (!lang.isString(subName) || subName === ""){
|
||||
throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(value)){
|
||||
throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.");
|
||||
}
|
||||
|
||||
var hash /*:Object*/ = this.getSubs(name);
|
||||
|
||||
if (!lang.isObject(hash)){
|
||||
hash = new Object();
|
||||
}
|
||||
|
||||
hash[subName] = value;
|
||||
|
||||
return this.setSubs(name, hash, options);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets a cookie with a given name to contain a hash of name-value pairs.
|
||||
* @param {String} name The name of the cookie to set.
|
||||
* @param {Object} value An object containing name-value pairs.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string), expires (a Date object),
|
||||
* and secure (true/false).
|
||||
* @return {String} The created cookie string.
|
||||
* @method setSubs
|
||||
* @static
|
||||
*/
|
||||
setSubs : function (name /*:String*/, value /*:Object*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isString(name)){
|
||||
throw new TypeError("Cookie.setSubs(): Cookie name must be a string.");
|
||||
}
|
||||
|
||||
if (!lang.isObject(value)){
|
||||
throw new TypeError("Cookie.setSubs(): Cookie value must be an object.");
|
||||
}
|
||||
|
||||
var text /*:String*/ = this._createCookieString(name, this._createCookieHashString(value), false, options);
|
||||
document.cookie = text;
|
||||
return text;
|
||||
}
|
||||
|
||||
};
|
||||
YAHOO.register("cookie", YAHOO.util.Cookie, {version: "2.5.0", build: "895"});
|
||||
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.5.0
|
||||
*/
|
||||
YAHOO.namespace("util");YAHOO.util.Cookie={_createCookieString:function(B,D,C,A){var F=YAHOO.lang;var E=encodeURIComponent(B)+"="+(C?encodeURIComponent(D):D);if(F.isObject(A)){if(A.expires instanceof Date){E+="; expires="+A.expires.toGMTString();}if(F.isString(A.path)&&A.path!=""){E+="; path="+A.path;}if(F.isString(A.domain)&&A.domain!=""){E+="; domain="+A.domain;}if(A.secure===true){E+="; secure";}}return E;},_createCookieHashString:function(B){var D=YAHOO.lang;if(!D.isObject(B)){throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.");}var C=new Array();for(var A in B){if(D.hasOwnProperty(B,A)&&!D.isFunction(B[A])&&!D.isUndefined(B[A])){C.push(encodeURIComponent(A)+"="+encodeURIComponent(String(B[A])));}}return C.join("&");},_parseCookieHash:function(E){var D=E.split("&");var F=null;var C=new Object();for(var B=0,A=D.length;B<A;B++){F=D[B].split("=");C[F[0]]=F[1];}return C;},_parseCookieString:function(E){var C=new Object();if(YAHOO.lang.isString(E)&&E.length>0){if(/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(E)){var G=E.split(/;\s/g);var F=null;var D=null;for(var B=0,A=G.length;B<A;B++){F=decodeURIComponent(G[B].match(/([a-z]+)=/i)[1]);D=decodeURIComponent(G[B].substring(F.length+1));C[F]=D;}}}return C;},get:function(A,B){var D=YAHOO.lang;var C=this._parseCookieString(document.cookie);if(!D.isString(A)||A===""){throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.");}if(D.isUndefined(C[A])){return null;}if(!D.isFunction(B)){return C[A];}else{return B(C[A]);}},getSub:function(A,C,B){var E=YAHOO.lang;var D=this.getSubs(A);if(D!==null){if(!E.isString(C)||C===""){throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.");}if(E.isUndefined(D[C])){return null;}if(!E.isFunction(B)){return D[C];}else{return B(D[C]);}}else{return null;}},getSubs:function(A){return this.get(A,this._parseCookieHash);},remove:function(B,A){if(!YAHOO.lang.isString(B)||B===""){throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.");}A=A||{};A.expires=new Date(0);return this.set(B,"",A);},set:function(B,C,A){var E=YAHOO.lang;if(!E.isString(B)){throw new TypeError("Cookie.set(): Cookie name must be a string.");}if(E.isUndefined(C)){throw new TypeError("Cookie.set(): Value cannot be undefined.");}var D=this._createCookieString(B,C,true,A);document.cookie=D;return D;},setSub:function(B,D,C,A){var F=YAHOO.lang;if(!F.isString(B)||B===""){throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.");}if(!F.isString(D)||D===""){throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.");}if(F.isUndefined(C)){throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.");}var E=this.getSubs(B);if(!F.isObject(E)){E=new Object();}E[D]=C;return this.setSubs(B,E,A);},setSubs:function(B,C,A){var E=YAHOO.lang;if(!E.isString(B)){throw new TypeError("Cookie.setSubs(): Cookie name must be a string.");}if(!E.isObject(C)){throw new TypeError("Cookie.setSubs(): Cookie value must be an object.");}var D=this._createCookieString(B,this._createCookieHashString(C),false,A);document.cookie=D;return D;}};YAHOO.register("cookie",YAHOO.util.Cookie,{version:"2.5.0",build:"895"});
|
||||
@@ -0,0 +1,361 @@
|
||||
/*
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.5.0
|
||||
*/
|
||||
/**
|
||||
* Utilities for cookie management
|
||||
* @namespace YAHOO.util
|
||||
* @module cookie
|
||||
* @beta
|
||||
*/
|
||||
YAHOO.namespace("util");
|
||||
|
||||
/**
|
||||
* Cookie utility.
|
||||
* @class Cookie
|
||||
* @static
|
||||
*/
|
||||
YAHOO.util.Cookie = {
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Private Methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Creates a cookie string that can be assigned into document.cookie.
|
||||
* @param {String} name The name of the cookie.
|
||||
* @param {String} value The value of the cookie.
|
||||
* @param {encodeValue} encodeValue True to encode the value, false to leave as-is.
|
||||
* @param {Object} options (Optional) Options for the cookie.
|
||||
* @return {String} The formatted cookie string.
|
||||
* @method _createCookieString
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_createCookieString : function (name /*:String*/, value /*:Variant*/, encodeValue /*:Boolean*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
//shortcut
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
var text /*:String*/ = encodeURIComponent(name) + "=" + (encodeValue ? encodeURIComponent(value) : value);
|
||||
|
||||
|
||||
if (lang.isObject(options)){
|
||||
//expiration date
|
||||
if (options.expires instanceof Date){
|
||||
text += "; expires=" + options.expires.toGMTString();
|
||||
}
|
||||
|
||||
//path
|
||||
if (lang.isString(options.path) && options.path != ""){
|
||||
text += "; path=" + options.path;
|
||||
}
|
||||
|
||||
//domain
|
||||
if (lang.isString(options.domain) && options.domain != ""){
|
||||
text += "; domain=" + options.domain;
|
||||
}
|
||||
|
||||
//secure
|
||||
if (options.secure === true){
|
||||
text += "; secure";
|
||||
}
|
||||
}
|
||||
|
||||
return text;
|
||||
},
|
||||
|
||||
/**
|
||||
* Formats a cookie value for an object containing multiple values.
|
||||
* @param {Object} hash An object of key-value pairs to create a string for.
|
||||
* @return {String} A string suitable for use as a cookie value.
|
||||
* @method _createCookieHash
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_createCookieHashString : function (hash /*:Object*/) /*:String*/ {
|
||||
|
||||
//shortcuts
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isObject(hash)){
|
||||
throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.");
|
||||
}
|
||||
|
||||
var text /*:Array*/ = new Array();
|
||||
|
||||
for (var key in hash){
|
||||
if (lang.hasOwnProperty(hash, key) && !lang.isFunction(hash[key]) && !lang.isUndefined(hash[key])){
|
||||
text.push(encodeURIComponent(key) + "=" + encodeURIComponent(String(hash[key])));
|
||||
}
|
||||
}
|
||||
|
||||
return text.join("&");
|
||||
},
|
||||
|
||||
/**
|
||||
* Parses a cookie hash string into an object.
|
||||
* @param {String} text The cookie hash string to parse. The string should already be URL-decoded.
|
||||
* @return {Object} An object containing entries for each cookie value.
|
||||
* @method _parseCookieHash
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_parseCookieHash : function (text /*:String*/) /*:Object*/ {
|
||||
|
||||
var hashParts /*:Array*/ = text.split("&");
|
||||
var hashPart /*:Array*/ = null;
|
||||
var hash /*:Object*/ = new Object();
|
||||
|
||||
for (var i=0, len=hashParts.length; i < len; i++){
|
||||
hashPart = hashParts[i].split("=");
|
||||
hash[hashPart[0]] = hashPart[1];
|
||||
}
|
||||
|
||||
return hash;
|
||||
},
|
||||
|
||||
/**
|
||||
* Parses a cookie string into an object representing all accessible cookies.
|
||||
* @param {String} text The cookie string to parse.
|
||||
* @return {Object} An object containing entries for each accessible cookie.
|
||||
* @method _parseCookieString
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
_parseCookieString : function (text /*:String*/) /*:Object*/ {
|
||||
|
||||
var cookies /*:Object*/ = new Object();
|
||||
|
||||
if (YAHOO.lang.isString(text) && text.length > 0) {
|
||||
|
||||
if (/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(text)){
|
||||
var cookieParts /*:Array*/ = text.split(/;\s/g);
|
||||
var cookieName /*:String*/ = null;
|
||||
var cookieValue /*:String*/ = null;
|
||||
|
||||
for (var i=0, len=cookieParts.length; i < len; i++){
|
||||
cookieName = decodeURIComponent(cookieParts[i].match(/([a-z]+)=/i)[1]);
|
||||
cookieValue = decodeURIComponent(cookieParts[i].substring(cookieName.length+1));
|
||||
cookies[cookieName] = cookieValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return cookies;
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Public Methods
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns the cookie value for the given name.
|
||||
* @param {String} name The name of the cookie to retrieve.
|
||||
* @param {Function} converter (Optional) A function to run on the value before returning
|
||||
* it. The function is not used if the cookie doesn't exist.
|
||||
* @return {Variant} If no converter is specified, returns a string or null if
|
||||
* the cookie doesn't exist. If the converter is specified, returns the value
|
||||
* returned from the converter or null if the cookie doesn't exist.
|
||||
* @method get
|
||||
* @static
|
||||
*/
|
||||
get : function (name /*:String*/, converter /*:Function*/) /*:Variant*/{
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
var cookies /*:Object*/ = this._parseCookieString(document.cookie);
|
||||
|
||||
if (!lang.isString(name) || name === ""){
|
||||
throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(cookies[name])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!lang.isFunction(converter)){
|
||||
return cookies[name];
|
||||
} else {
|
||||
return converter(cookies[name]);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the value of a subcookie.
|
||||
* @param {String} name The name of the cookie to retrieve.
|
||||
* @param {String} subName The name of the subcookie to retrieve.
|
||||
* @param {Function} converter (Optional) A function to run on the value before returning
|
||||
* it. The function is not used if the cookie doesn't exist.
|
||||
* @return {Variant} If the cookie doesn't exist, null is returned. If the subcookie
|
||||
* doesn't exist, null if also returned. If no converter is specified and the
|
||||
* subcookie exists, a string is returned. If a converter is specified and the
|
||||
* subcookie exists, the value returned from the converter is returned.
|
||||
* @method getSub
|
||||
* @static
|
||||
*/
|
||||
getSub : function (name /*:String*/, subName /*:String*/, converter /*:Function*/) /*:Variant*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
var hash /*:Variant*/ = this.getSubs(name);
|
||||
|
||||
if (hash !== null) {
|
||||
|
||||
if (!lang.isString(subName) || subName === ""){
|
||||
throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(hash[subName])){
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!lang.isFunction(converter)){
|
||||
return hash[subName];
|
||||
} else {
|
||||
return converter(hash[subName]);
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns an object containing name-value pairs stored in the cookie with the given name.
|
||||
* @param {String} name The name of the cookie to retrieve.
|
||||
* @return {Object} An object of name-value pairs if the cookie with the given name
|
||||
* exists, null if it does not.
|
||||
* @method getHash
|
||||
* @static
|
||||
*/
|
||||
getSubs : function (name /*:String*/) /*:Object*/ {
|
||||
return this.get(name, this._parseCookieHash);
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes a cookie from the machine by setting its expiration date to
|
||||
* sometime in the past.
|
||||
* @param {String} name The name of the cookie to remove.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string),
|
||||
* and secure (true/false). The expires option will be overwritten
|
||||
* by the method.
|
||||
* @return {String} The created cookie string.
|
||||
* @method remove
|
||||
* @static
|
||||
*/
|
||||
remove : function (name /*:String*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
//check cookie name
|
||||
if (!YAHOO.lang.isString(name) || name === ""){
|
||||
throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
//set options
|
||||
options = options || {};
|
||||
options.expires = new Date(0);
|
||||
|
||||
//set cookie
|
||||
return this.set(name, "", options);
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets a cookie with a given name and value.
|
||||
* @param {String} name The name of the cookie to set.
|
||||
* @param {Variant} value The value to set for the cookie.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string), expires (a Date object),
|
||||
* and secure (true/false).
|
||||
* @return {String} The created cookie string.
|
||||
* @method set
|
||||
* @static
|
||||
*/
|
||||
set : function (name /*:String*/, value /*:Variant*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isString(name)){
|
||||
throw new TypeError("Cookie.set(): Cookie name must be a string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(value)){
|
||||
throw new TypeError("Cookie.set(): Value cannot be undefined.");
|
||||
}
|
||||
|
||||
|
||||
var text /*:String*/ = this._createCookieString(name, value, true, options);
|
||||
document.cookie = text;
|
||||
return text;
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets a sub cookie with a given name to a particular value.
|
||||
* @param {String} name The name of the cookie to set.
|
||||
* @param {String} subName The name of the subcookie to set.
|
||||
* @param {Variant} value The value to set.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string), expires (a Date object),
|
||||
* and secure (true/false).
|
||||
* @return {String} The created cookie string.
|
||||
* @method setSub
|
||||
* @static
|
||||
*/
|
||||
setSub : function (name /*:String*/, subName /*:String*/, value /*:Variant*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isString(name) || name === ""){
|
||||
throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (!lang.isString(subName) || subName === ""){
|
||||
throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.");
|
||||
}
|
||||
|
||||
if (lang.isUndefined(value)){
|
||||
throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.");
|
||||
}
|
||||
|
||||
var hash /*:Object*/ = this.getSubs(name);
|
||||
|
||||
if (!lang.isObject(hash)){
|
||||
hash = new Object();
|
||||
}
|
||||
|
||||
hash[subName] = value;
|
||||
|
||||
return this.setSubs(name, hash, options);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets a cookie with a given name to contain a hash of name-value pairs.
|
||||
* @param {String} name The name of the cookie to set.
|
||||
* @param {Object} value An object containing name-value pairs.
|
||||
* @param {Object} options (Optional) An object containing one or more
|
||||
* cookie options: path (a string), domain (a string), expires (a Date object),
|
||||
* and secure (true/false).
|
||||
* @return {String} The created cookie string.
|
||||
* @method setSubs
|
||||
* @static
|
||||
*/
|
||||
setSubs : function (name /*:String*/, value /*:Object*/, options /*:Object*/) /*:String*/ {
|
||||
|
||||
var lang = YAHOO.lang;
|
||||
|
||||
if (!lang.isString(name)){
|
||||
throw new TypeError("Cookie.setSubs(): Cookie name must be a string.");
|
||||
}
|
||||
|
||||
if (!lang.isObject(value)){
|
||||
throw new TypeError("Cookie.setSubs(): Cookie value must be an object.");
|
||||
}
|
||||
|
||||
var text /*:String*/ = this._createCookieString(name, this._createCookieHashString(value), false, options);
|
||||
document.cookie = text;
|
||||
return text;
|
||||
}
|
||||
|
||||
};
|
||||
YAHOO.register("cookie", YAHOO.util.Cookie, {version: "2.5.0", build: "895"});
|
||||
@@ -1,5 +1,61 @@
|
||||
DataSource Release Notes
|
||||
|
||||
**** version 2.5.0 ****
|
||||
|
||||
* doBeforeCallback() - The second argument is now oFullResponse rather than oRawResponse.
|
||||
* handleResponse() -
|
||||
o oCallback is now an object literal pointing to success and failure
|
||||
handlers and can contain scope and argument values.
|
||||
o The oCaller argument is now deprecated.
|
||||
o When callback function is passed oRequest and oParsedResponse values,
|
||||
the oParsedResponse object now consistently returns the following values:
|
||||
+ tId (Number)
|
||||
+ results (Array)
|
||||
+ error (Boolean)
|
||||
+ totalResults (Number) (when available)
|
||||
* makeConnection() -
|
||||
o oCallback is now an object literal pointing to success and failure
|
||||
handlers and can contain scope and argument values.
|
||||
o The oCaller argument is now deprecated.
|
||||
* parseArrayData() - The second argument is now oFullResponse rather than oRawResponse.
|
||||
* parseHTMLTableData() - The second argument is now oFullResponse rather than oRawResponse.
|
||||
* parseJsonData() - The second argument is now oFullResponse rather than oRawResponse.
|
||||
* parseTextData() - The second argument is now oFullResponse rather than oRawResponse.
|
||||
* parseXMLData() - The second argument is now oFullResponse rather than oRawResponse.
|
||||
* sendRequest() -
|
||||
o oCallback is now an object literal pointing to success and failure
|
||||
handlers and can contain scope and argument values.
|
||||
o The oCaller argument is now deprecated.
|
||||
* setInterval() -
|
||||
o oCallback is now an object literal pointing to success and failure
|
||||
handlers and can contain scope and argument values.
|
||||
o The oCaller argument is now deprecated.
|
||||
* cacheRequestEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
* dataErrorEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
* getCachedResponseEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
* requestEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
* responseCacheEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
* responseEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
* responseParseEvent - oArgs.caller is now deprecated in favor of oCallback object literal.
|
||||
|
||||
|
||||
|
||||
**** version 2.4.0 ****
|
||||
|
||||
* Support for YUI JSON Utility.
|
||||
|
||||
* Implemented setInterval(), clearInterval(), and clearAllIntervals() for polling.
|
||||
|
||||
* Text data parsing algorithm now tolerates newlines within and at the end of data.
|
||||
|
||||
|
||||
|
||||
**** version 2.3.1 ****
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
|
||||
**** version 2.3.0 ****
|
||||
|
||||
* DataSource requests over XHR no longer automatically insert a "?" in the URIs
|
||||
@@ -17,6 +73,13 @@ These are executed in the scope of the DataSource instance.
|
||||
"cancelStaleRequests"
|
||||
"ignoreStaleResponses"
|
||||
|
||||
* Added property connMethodPost to support POST requests.
|
||||
|
||||
* The parsed response object passed to the callback function now has the
|
||||
following properties:
|
||||
tId {Number} Unique transaction ID
|
||||
results {Array} Array of parsed data results
|
||||
error {Boolean} True if there was an error
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,101 @@
|
||||
DataTable Release Notes
|
||||
|
||||
*** version 2.5.0 ***
|
||||
|
||||
* Introduced YAHOO.widget.Paginator to manage pagination.
|
||||
* Introduced YAHOO.util.Chain to allow for progressive rendering.
|
||||
|
||||
Removed APIs
|
||||
|
||||
* CLASS_SCROLLBODY
|
||||
* CLASS_TABLE
|
||||
* getTableEl()
|
||||
|
||||
Changed APIs
|
||||
|
||||
* doBeforeLoadData(sRequest, oResponse, oPayload) - oResponse is now the converted full response (typed JSON or XML as appropriate). oPayload is now an optional data payload implementer can pass in to DataSource.sendRequest via the callback object literal.
|
||||
* formatCell() - The first argument, elCell, is now a reference to the cell liner element rather than the TD itself.
|
||||
* onDataReturnAppendRows(sRequest, oResponse, oPayload) - oResponse is now the converted full response (typed JSON or XML as appropriate). oPayload is now an optional data payload implementer can pass in to DataSource.sendRequest via the callback object literal.
|
||||
* onDataReturnInitializeTable(sRequest, oResponse, oPayload) - oResponse is now the converted full response (typed JSON or XML as appropriate). oPayload is now an optional data payload implementer can pass in to DataSource.sendRequest via the callback object literal.
|
||||
* onDataReturnInsertRows(sRequest, oResponse, oPayload) - oResponse is now the converted full response (typed JSON or XML as appropriate). oPayload is now an optional data payload implementer can pass in to DataSource.sendRequest via the callback object literal.
|
||||
* paginator - Should now be an instance of YAHOO.widget.Paginator.
|
||||
* sortedBy.dir - Use CLASS_ASC or CLASS_DESC instead of "asc" and "desc" strings.
|
||||
* Scrolling must be enabled via the configs "scrollable", "width", and "height". CSS should no longer be used to set width or height on scrollable tables.
|
||||
|
||||
Deprecated APIs
|
||||
|
||||
* formatPaginatorDropdown() - Use new Paginator class.
|
||||
* formatPaginatorLinks() - Use new Paginator class.
|
||||
* formatPaginators() - Use new Paginator class.
|
||||
* refreshView() - Use render().
|
||||
* showPage() - Use new Paginator class.
|
||||
* updatePaginator() - Use new Paginator class.
|
||||
* headerCellClickEvent - Use theadCellClickEvent.
|
||||
* headerCellDblclickEvent - Use theadCellDblclickEvent.
|
||||
* headerCellMousedownEvent - Use theadCellMousedownEvent.
|
||||
* headerCellMouseoutEvent - Use theadCellMouseoutEvent.
|
||||
* headerCellMouseoverEvent - Use theadCellMouseoverEvent.
|
||||
* headerLabelClickEvent - Use theadLabelClickEvent.
|
||||
* headerLabelDblclickEvent - Use theadLabelDblclickEvent.
|
||||
* headerLabelMousedownEvent - Use theadLabelMousedownEvent.
|
||||
* headerLabelMouseoutEvent - Use theadLabelMouseoutEvent.
|
||||
* headerLabelMouseoverEvent - Use theadLabelMouseoverEvent.
|
||||
* headerRowClickEvent - Use theadRowClickEvent.
|
||||
* headerRowDblclickEvent - Use theadRowDblclickEvent.
|
||||
* headerRowMousedownEvent - Use theadRowMousedownEvent.
|
||||
* headerRowMouseoutEvent - Use theadRowMouseoutEvent.
|
||||
* headerRowMouseoverEvent - Use theadRowMouseoverEvent.
|
||||
* refreshEvent - Use renderEvent.
|
||||
* paginated - No longer used, as long as "paginator" value is an instance of Paginator class.
|
||||
|
||||
|
||||
RecordSet
|
||||
|
||||
* updateKey() - Use updateRecordValue().
|
||||
* keyUpdateEvent - Use recordValueUpdateEvent.
|
||||
|
||||
Column
|
||||
|
||||
* width - Must now be a number. Strings will be ignored.
|
||||
* sortOptions.defaultOrder - Use sortOptions.defaultDir, and use CLASS_ASC or CLASS_DESC instead of "asc" and "desc" strings.
|
||||
|
||||
|
||||
|
||||
*** version 2.4.0 ***
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
|
||||
*** version 2.3.1 ***
|
||||
|
||||
* For better support of resizeable Columns, the following core CSS changes have been
|
||||
made:
|
||||
|
||||
- applied "table-layout:fixed" to TABLE elements
|
||||
- removed "overflow:hidden" from TH and TD elements
|
||||
- removed "white-space:nowrap" from TD elements
|
||||
|
||||
As a result, implementers may notice a change in the widths of their rendered
|
||||
DataTables, which should be resolved by setting widths explicitly via CSS or
|
||||
your Column definitions.
|
||||
|
||||
* Selection model issues have been addressed by clearing up ambiguous ID and
|
||||
index usage. Record instances are now assigned globally unique and immutable ID
|
||||
strings (no longer numbers). Record indexes are numbers that are mutable in order
|
||||
to represent Record order within a RecordSet instance. TR elements are assigned
|
||||
DOM ID strings that are *unrelated* to Record instance IDs and Record indexes. Be
|
||||
aware that DOM element IDs will get reused when sorting and paginating. Furthermore,
|
||||
Column instances are assigned globally unique and immutable ID strings
|
||||
(no longer numbers). Column indexes are numbers that are mutable and represent
|
||||
Column order within a ColumnSet instance. Please refer to the API documentation
|
||||
for details on when to use Record/Column instance IDs, DOM element IDs, and
|
||||
Record/Column index numbers.
|
||||
|
||||
* Enabling row or cell selection no longer breaks clicks on links and form elements.
|
||||
|
||||
|
||||
|
||||
*** version 2.3.0 ***
|
||||
|
||||
* DataSource requests over XHR no longer automatically insert a "?" in the URIs
|
||||
|
||||
@@ -1,48 +1,77 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/*foundational css*/
|
||||
.yui-dt-table th, .yui-dt-table td {
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
th .yui-dt-header {
|
||||
position:relative;
|
||||
}
|
||||
|
||||
th .yui-dt-label {
|
||||
position:relative;
|
||||
}
|
||||
|
||||
th .yui-dt-resizer {
|
||||
position:absolute;
|
||||
margin-right:-6px;
|
||||
right:0;
|
||||
bottom:0;
|
||||
width:6px;
|
||||
height:100%;
|
||||
cursor:w-resize;
|
||||
cursor:col-resize;
|
||||
}
|
||||
|
||||
/* foundational scrolling css */
|
||||
.yui-dt-scrollable {
|
||||
*overflow-y:auto; /* for ie */
|
||||
}
|
||||
.yui-dt-scrollable thead {
|
||||
display:block; /* for safari and opera */
|
||||
}
|
||||
.yui-dt-scrollable thead tr {
|
||||
position:relative; /* for ie */
|
||||
}
|
||||
.yui-dt-scrollbody {
|
||||
display:block; /* for safari and opera */
|
||||
overflow:auto; /* for gecko */
|
||||
}
|
||||
|
||||
.yui-dt-editor {
|
||||
position:absolute;z-index:9000;
|
||||
}
|
||||
/* foundational CSS */
|
||||
.yui-dt {
|
||||
border:1px solid transparent;
|
||||
}
|
||||
|
||||
.yui-dt-noop {
|
||||
border:none;
|
||||
}
|
||||
|
||||
.yui-dt-liner {
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
/* a11y headers */
|
||||
.yui-dt-bd thead tr, .yui-dt-bd thead th {
|
||||
position:absolute;
|
||||
left:-1500px;
|
||||
}
|
||||
|
||||
/* draggable columns */
|
||||
.yui-dt-draggable {
|
||||
cursor: move;
|
||||
}
|
||||
.yui-dt-coltarget {
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
/* resizeable columns */
|
||||
.yui-dt-hd {
|
||||
zoom:1;
|
||||
}
|
||||
th.yui-dt-resizeable .yui-dt-liner {
|
||||
position:relative;
|
||||
}
|
||||
.yui-dt-resizer {
|
||||
position:absolute;
|
||||
right:0;
|
||||
bottom:0;
|
||||
height:100%;
|
||||
cursor:e-resize;
|
||||
cursor:col-resize;
|
||||
}
|
||||
.yui-dt-resizerproxy {
|
||||
visibility:hidden;
|
||||
position:absolute;
|
||||
z-index:9000;
|
||||
}
|
||||
|
||||
/* hidden columns */
|
||||
.yui-skin-sam th.yui-dt-hidden .yui-dt-liner,
|
||||
.yui-skin-sam td.yui-dt-hidden .yui-dt-liner {
|
||||
margin:0;
|
||||
padding:0;
|
||||
overflow:hidden;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
/* vertical and horizontal scrolling */
|
||||
.yui-dt-scrollable .yui-dt-bd {
|
||||
overflow:auto;
|
||||
}
|
||||
.yui-dt-scrollable .yui-dt-hd {
|
||||
overflow:hidden;
|
||||
position:relative; /* for ie overflow bug http://rowanw.com/bugs/overflow_relative.htm */
|
||||
}
|
||||
|
||||
/* editing */
|
||||
.yui-dt-editor {
|
||||
position:absolute;z-index:9000;
|
||||
}
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
/*
|
||||
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
|
||||
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 2.3.0
|
||||
version: 2.5.0
|
||||
*/
|
||||
/*foundational css*/
|
||||
.yui-dt-table th, .yui-dt-table td {
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
th .yui-dt-header {
|
||||
position:relative;
|
||||
}
|
||||
|
||||
th .yui-dt-label {
|
||||
position:relative;
|
||||
border-right:10px;
|
||||
}
|
||||
|
||||
th .yui-dt-resizer {
|
||||
position:absolute;
|
||||
margin-right:-6px;
|
||||
right:0;
|
||||
bottom:0;
|
||||
width:6px;
|
||||
height:100%;
|
||||
cursor:w-resize;
|
||||
cursor:col-resize;
|
||||
}
|
||||
|
||||
/* foundational scrolling css */
|
||||
.yui-dt-scrollable {
|
||||
*overflow-y:auto; /* for ie */
|
||||
}
|
||||
.yui-dt-scrollable thead {
|
||||
display:block; /* for safari and opera */
|
||||
}
|
||||
.yui-dt-scrollable thead tr {
|
||||
position:relative; /* for ie */
|
||||
}
|
||||
.yui-dt-scrollbody {
|
||||
display:block; /* for safari and opera */
|
||||
overflow:auto; /* for gecko */
|
||||
}
|
||||
|
||||
.yui-dt-editor {
|
||||
position:absolute;
|
||||
}
|
||||
/*foundational css*/
|
||||
.yui-dt-table th, .yui-dt-table td {
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
th .yui-dt-header {
|
||||
position:relative;
|
||||
}
|
||||
|
||||
th .yui-dt-label {
|
||||
position:relative;
|
||||
border-right:10px;
|
||||
}
|
||||
|
||||
th .yui-dt-resizer {
|
||||
position:absolute;
|
||||
margin-right:-6px;
|
||||
right:0;
|
||||
bottom:0;
|
||||
width:6px;
|
||||
height:100%;
|
||||
cursor:w-resize;
|
||||
cursor:col-resize;
|
||||
}
|
||||
|
||||
/* foundational scrolling css */
|
||||
.yui-dt-scrollable {
|
||||
*overflow-y:auto; /* for ie */
|
||||
}
|
||||
.yui-dt-scrollable thead {
|
||||
display:block; /* for safari and opera */
|
||||
}
|
||||
.yui-dt-scrollable thead tr {
|
||||
position:relative; /* for ie */
|
||||
}
|
||||
.yui-dt-scrollbody {
|
||||
display:block; /* for safari and opera */
|
||||
overflow:auto; /* for gecko */
|
||||
}
|
||||
|
||||
.yui-dt-editor {
|
||||
position:absolute;
|
||||
}
|
||||
|
||||