fixed the resizable text area with IE problem fixed the ad space with IE problem merged the 7.2.0 and 7.1.4 change logs
218 lines
10 KiB
HTML
218 lines
10 KiB
HTML
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
|
|
<html>
|
|
<head>
|
|
<title>
|
|
Overview
|
|
</title>
|
|
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
|
<script>
|
|
function asd() {
|
|
|
|
parent.document.title="State.js Overview";
|
|
|
|
}
|
|
</script>
|
|
</head>
|
|
<body bgcolor="white" onload="asd();" style="margin:15px;">
|
|
<center>
|
|
|
|
<h2>State.js</h2>
|
|
|
|
</center>
|
|
|
|
|
|
|
|
|
|
<h4>Summary</h4>
|
|
<p>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<!-- ========== METHOD SUMMARY =========== -->
|
|
|
|
<!-- ========== END METHOD SUMMARY =========== -->
|
|
|
|
|
|
<pre class="sourceview">YAHOO.namespace(<span class="literal">'ext.state'</span>);
|
|
|
|
YAHOO.ext.state.Provider = <span class="reserved">function</span>(){
|
|
YAHOO.ext.state.Provider.superclass.constructor.call(<span class="reserved">this</span>);
|
|
<span class="reserved">this</span>.events = {
|
|
<span class="literal">'statechange'</span>: new YAHOO.util.CustomEvent(<span class="literal">'statechange'</span>)
|
|
};
|
|
<span class="reserved">this</span>.state = {};
|
|
};
|
|
YAHOO.extendX(YAHOO.ext.state.Provider, YAHOO.ext.util.Observable, {
|
|
get : <span class="reserved">function</span>(name){
|
|
<span class="reserved">return</span> <span class="reserved">this</span>.state[name];
|
|
},
|
|
|
|
clear : <span class="reserved">function</span>(name){
|
|
delete <span class="reserved">this</span>.state[name];
|
|
<span class="reserved">this</span>.fireEvent(<span class="literal">'statechange'</span>, <span class="reserved">this</span>, name, null);
|
|
},
|
|
|
|
set : <span class="reserved">function</span>(name, value){
|
|
<span class="reserved">this</span>.state[name] = value;
|
|
<span class="reserved">this</span>.fireEvent(<span class="literal">'statechange'</span>, <span class="reserved">this</span>, name, value);
|
|
}
|
|
});
|
|
|
|
YAHOO.ext.state.Manager = new <span class="reserved">function</span>(){
|
|
var provider = new YAHOO.ext.state.Provider();
|
|
|
|
<span class="reserved">return</span> {
|
|
setProvider : <span class="reserved">function</span>(stateProvider){
|
|
provider = stateProvider;
|
|
},
|
|
|
|
get : <span class="reserved">function</span>(key){
|
|
<span class="reserved">return</span> provider.get(key);
|
|
},
|
|
|
|
set : <span class="reserved">function</span>(key, value){
|
|
provider.set(key, value);
|
|
},
|
|
|
|
clear : <span class="reserved">function</span>(key){
|
|
provider.clear(key);
|
|
},
|
|
|
|
getProvider : <span class="reserved">function</span>(){
|
|
<span class="reserved">return</span> provider;
|
|
}
|
|
};
|
|
}();
|
|
|
|
YAHOO.ext.state.CookieProvider = <span class="reserved">function</span>(config){
|
|
YAHOO.ext.state.CookieProvider.superclass.constructor.call(<span class="reserved">this</span>);
|
|
<span class="reserved">this</span>.path = <span class="literal">'/'</span>;
|
|
<span class="reserved">this</span>.expires = new Date(new Date().getTime()+(1000*60*60*24*7)); <span class="comment">//7 days</span>
|
|
<span class="reserved">this</span>.domain = null;
|
|
<span class="reserved">this</span>.secure = false;
|
|
YAHOO.ext.util.Config.apply(<span class="reserved">this</span>, config);
|
|
<span class="reserved">this</span>.state = <span class="reserved">this</span>.readCookies();
|
|
};
|
|
|
|
YAHOO.extendX(YAHOO.ext.state.CookieProvider, YAHOO.ext.state.Provider, {
|
|
set : <span class="reserved">function</span>(name, value){
|
|
<span class="reserved">if</span>(typeof value == <span class="literal">'undefined'</span> || value === null){
|
|
<span class="reserved">this</span>.clear(name);
|
|
<span class="reserved">return</span>;
|
|
}
|
|
<span class="reserved">this</span>.setCookie(name, value);
|
|
YAHOO.ext.state.CookieProvider.superclass.set.call(<span class="reserved">this</span>, name, value);
|
|
},
|
|
|
|
clear : <span class="reserved">function</span>(name){
|
|
<span class="reserved">this</span>.clearCookie(name);
|
|
YAHOO.ext.state.CookieProvider.superclass.clear.call(<span class="reserved">this</span>, name);
|
|
},
|
|
|
|
readCookies : <span class="reserved">function</span>(){
|
|
var cookies = {};
|
|
var c = document.cookie + <span class="literal">';'</span>;
|
|
var re = /\s?(.*?)=(.*?);/g;
|
|
var matches;
|
|
<span class="reserved">while</span>((matches = re.exec(c)) != null){
|
|
var name = matches[1];
|
|
var value = matches[2];
|
|
<span class="reserved">if</span>(name && name.substring(0,3) == <span class="literal">'ys-'</span>){
|
|
cookies[name.substr(3)] = <span class="reserved">this</span>.decodeValue(value);
|
|
}
|
|
}
|
|
<span class="reserved">return</span> cookies;
|
|
},
|
|
|
|
decodeValue : <span class="reserved">function</span>(cookie){
|
|
var re = /^(a|n|d|b|s|o)\:(.*)$/;
|
|
var matches = re.exec(unescape(cookie));
|
|
<span class="reserved">if</span>(!matches || !matches[1]) <span class="reserved">return</span>; <span class="comment">// non state cookie</span>
|
|
var type = matches[1];
|
|
var v = matches[2];
|
|
switch(type){
|
|
case <span class="literal">'n'</span>:
|
|
<span class="reserved">return</span> parseFloat(v);
|
|
case <span class="literal">'d'</span>:
|
|
<span class="reserved">return</span> new Date(Date.parse(v));
|
|
case <span class="literal">'b'</span>:
|
|
<span class="reserved">return</span> (v == <span class="literal">'1'</span>);
|
|
case <span class="literal">'a'</span>:
|
|
var all = [];
|
|
var values = v.split(<span class="literal">'^'</span>);
|
|
<span class="reserved">for</span>(var i = 0, len = values.length; i < len; i++){
|
|
all.push(<span class="reserved">this</span>.decodeValue(values[i]))
|
|
}
|
|
<span class="reserved">return</span> all;
|
|
case <span class="literal">'o'</span>:
|
|
var all = {};
|
|
var values = v.split(<span class="literal">'^'</span>);
|
|
<span class="reserved">for</span>(var i = 0, len = values.length; i < len; i++){
|
|
var kv = values[i].split(<span class="literal">'='</span>);
|
|
all[kv[0]] = <span class="reserved">this</span>.decodeValue(kv[1]);
|
|
}
|
|
<span class="reserved">return</span> all;
|
|
default:
|
|
<span class="reserved">return</span> v;
|
|
}
|
|
},
|
|
|
|
encodeValue : <span class="reserved">function</span>(v){
|
|
var enc;
|
|
<span class="reserved">if</span>(typeof v == <span class="literal">'number'</span>){
|
|
enc = <span class="literal">'n:'</span> + v;
|
|
}<span class="reserved">else</span> <span class="reserved">if</span>(typeof v == <span class="literal">'boolean'</span>){
|
|
enc = <span class="literal">'b:'</span> + (v ? <span class="literal">'1'</span> : <span class="literal">'0'</span>);
|
|
}<span class="reserved">else</span> <span class="reserved">if</span>(v instanceof Date){
|
|
enc = <span class="literal">'d:'</span> + v.toGMTString();
|
|
}<span class="reserved">else</span> <span class="reserved">if</span>(v instanceof Array){
|
|
var flat = <span class="literal">''</span>;
|
|
<span class="reserved">for</span>(var i = 0, len = v.length; i < len; i++){
|
|
flat += <span class="reserved">this</span>.encodeValue(v[i]);
|
|
<span class="reserved">if</span>(i != len-1) flat += <span class="literal">'^'</span>;
|
|
}
|
|
enc = <span class="literal">'a:'</span> + flat;
|
|
}<span class="reserved">else</span> <span class="reserved">if</span>(typeof v == <span class="literal">'object'</span>){
|
|
var flat = <span class="literal">''</span>;
|
|
<span class="reserved">for</span>(var key in v){
|
|
<span class="reserved">if</span>(typeof v[key] != <span class="literal">'function'</span>){
|
|
flat += key + <span class="literal">'='</span> + <span class="reserved">this</span>.encodeValue(v[key]) + <span class="literal">'^'</span>;
|
|
}
|
|
}
|
|
enc = <span class="literal">'o:'</span> + flat.substring(0, flat.length-1);
|
|
}<span class="reserved">else</span>{
|
|
enc = <span class="literal">'s:'</span> + v;
|
|
}
|
|
<span class="reserved">return</span> escape(enc);
|
|
},
|
|
|
|
setCookie : <span class="reserved">function</span>(name, value){
|
|
document.cookie = <span class="literal">"ys-"</span>+ name + <span class="literal">"="</span> + <span class="reserved">this</span>.encodeValue(value) +
|
|
((<span class="reserved">this</span>.expires == null) ? <span class="literal">""</span> : (<span class="literal">"; expires="</span> + <span class="reserved">this</span>.expires.toGMTString())) +
|
|
((<span class="reserved">this</span>.path == null) ? <span class="literal">""</span> : (<span class="literal">"; path="</span> + <span class="reserved">this</span>.path)) +
|
|
((<span class="reserved">this</span>.domain == null) ? <span class="literal">""</span> : (<span class="literal">"; domain="</span> + <span class="reserved">this</span>.domain)) +
|
|
((<span class="reserved">this</span>.secure == true) ? <span class="literal">"; secure"</span> : <span class="literal">""</span>);
|
|
},
|
|
|
|
clearCookie : <span class="reserved">function</span>(name){
|
|
document.cookie = <span class="literal">"ys-"</span> + name + <span class="literal">"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"</span> +
|
|
((<span class="reserved">this</span>.path == null) ? <span class="literal">""</span> : (<span class="literal">"; path="</span> + <span class="reserved">this</span>.path)) +
|
|
((<span class="reserved">this</span>.domain == null) ? <span class="literal">""</span> : (<span class="literal">"; domain="</span> + <span class="reserved">this</span>.domain)) +
|
|
((<span class="reserved">this</span>.secure == true) ? <span class="literal">"; secure"</span> : <span class="literal">""</span>);
|
|
}
|
|
});
|
|
</pre>
|
|
<hr>
|
|
|
|
|
|
<hr>
|
|
<font size="-1">
|
|
|
|
</font>
|
|
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Sat Oct 14 06:07:10 2006</div>
|
|
</body>
|
|
</html>
|