OSDN Git Service

Verison 0.6.198, add jsdoc commnets.
authoritozyun <itozyun@user.sourceforge.jp>
Wed, 2 Dec 2015 02:01:16 +0000 (11:01 +0900)
committeritozyun <itozyun@user.sourceforge.jp>
Wed, 2 Dec 2015 02:01:16 +0000 (11:01 +0900)
0.6.x/js/01_core/13_XClass.js
0.6.x/js/02_dom/01_XDTD.js
0.6.x/js/02_dom/20_XNode.js
0.6.x/js/05_util/04_XXML.js
0.6.x/js/06_net/10_XOAuth2.js

index 9f6b05a..f0dc784 100644 (file)
@@ -351,6 +351,7 @@ X[ 'Class' ] = /** @lends X.Class */ {
      */        \r
        'NONE'         : X_Class.NONE,\r
        \r
+       // TODO この指定、フレームワーク内だけ!\r
     /**\r
      * インスタンスは破棄時(this.kill())に回収され、次回の new MyClass() 時に再利用されます。\r
      * @const\r
index 21e5021..248045f 100644 (file)
@@ -36,7 +36,7 @@
                'href'       : true,\r
                'longdesc'   : true,\r
                'profile'    : true,\r
-               'src'        : true,\r
+               'src'        : true, // lowsrc, dynsrc\r
                'usemap'     : true\r
        },\r
        \r
index 7f125ff..b0c3723 100644 (file)
@@ -8,7 +8,7 @@
  */
 var    Node = X[ 'Node' ] = X_EventDispatcher[ 'inherits' ](
        'X.Node',
-       X_Class.POOL_OBJECT,
+       X_Class.NONE,
        {
                /**
                 * 要素に振られるユニークID
index df77214..5cc2c64 100644 (file)
@@ -9,7 +9,6 @@
  * \r
  * TODO X.Class で作り、kill を強要する\r
  */\r
-\r
 X[ 'XML' ] = XMLWrapper;\r
 \r
 /**\r
@@ -17,12 +16,17 @@ X[ 'XML' ] = XMLWrapper;
  * @alias X.XML\r
  * @class XML 探索用のラッパークラスです\r
  * @constructor\r
- * @param {xml}\r
+ * @param {XMLElement}\r
  */\r
 function XMLWrapper( xml ){\r
        this._rawXML = xml;\r
 };\r
 \r
+/**\r
+ * ラップした xml の数 常に1または0, XMLList の場合2以上\r
+ * @alias X.XML.prototype.length\r
+ * @type {Number}\r
+ */\r
 XMLWrapper.prototype.length      = 1;\r
 XMLWrapper.prototype[ 'parent' ] = XMLWrapper_parent;\r
 XMLWrapper.prototype[ 'has' ]    = XMLWrapper_has;\r
@@ -30,6 +34,11 @@ XMLWrapper.prototype[ 'get' ]    = XMLWrapper_get;
 XMLWrapper.prototype[ 'val' ]    = XMLWrapper_val;\r
 XMLWrapper.prototype[ 'find' ]   = XMLWrapper_find;\r
 \r
+/**\r
+ * 親要素を返す、ルート要素の場合 null を返す\r
+ * @alias X.XML.prototype.parent\r
+ * @return {X.XML} 親要素\r
+ */\r
 function XMLWrapper_parent(){\r
        if( this.length === 1 ) return this._rawXML && this._rawXML.parentNode ? new XMLWrapper( this._rawXML.parentNode ) : null;\r
        if( this.length === 0 ) return null;\r
@@ -37,10 +46,23 @@ function XMLWrapper_parent(){
        return this[ 0 ].parentNode ? ( new XMLWrapper( this[ 0 ].parentNode ) ) : null;\r
 };\r
 \r
+/**\r
+ * セレクターにヒットした要素数を返す\r
+ * @alias X.XML.prototype.has\r
+ * @param {string} queryString XML セレクター文字列\r
+ * @return {number}\r
+ */\r
 function XMLWrapper_has( queryString ){\r
        return !!this.find( queryString ).length;\r
 };\r
 \r
+/**\r
+ * <p>X.XML では常に自信を返す\r
+ * <p>X.XMLList ではラップした xml 群から index のものを返す\r
+ * @alias X.XML.prototype.get\r
+ * @param {number} index\r
+ * @return {X.XML} X.XML では自身、X.XMLList では index の X.XML\r
+ */\r
 function XMLWrapper_get( index ){\r
        if( this.length === 1 ) return this;\r
        if( this.length === 0 ) return null;\r
@@ -52,6 +74,13 @@ function XMLWrapper_get( index ){
                null;\r
 };\r
 \r
+/**\r
+ * セレクターにヒットした要素の内容を指定されたデータ型で返す。複数要素にヒットした場合、0番目の要素の内容を使用する。\r
+ * @alias X.XML.prototype.val\r
+ * @param {string} queryString XML セレクター文字列\r
+ * @param {string} type 'number','int','boolean','string'\r
+ * @return {boolean|number|string} 内容を型変換した値\r
+ */\r
 function XMLWrapper_val( queryString, type ){\r
        var //attr_textContent = X_UA[ 'IE' ] < 9 || X_UA[ 'Opera' ] ? 'innerText' : X_UA[ 'IE9' ] ? 'text' : 'textContent',\r
                wrapper, xml, v;\r
@@ -98,6 +127,12 @@ function XMLWrapper_val( queryString, type ){
        return v || '';\r
 };\r
 \r
+/**\r
+ * セレクターにヒットした要素を返す。0~1個の要素がヒットした場合は X.XML を、それ以上の場合は X.XMLList を返す。\r
+ * @alias X.XML.prototype.find\r
+ * @param {string} queryString セレクター文字列\r
+ * @return {X.XML|X.XMLList} \r
+ */\r
        function XMLWrapper_find( queryString ){\r
 \r
                var scope     = this.constructor === XMLListWrapper ? this : [ this._rawXML ],\r
@@ -576,6 +611,13 @@ var XMLWrapper_filter = {
        }\r
 };\r
 \r
+/**\r
+ * XML配列を扱う XML 探索用のラッパークラスです\r
+ * @alias X.XMLList\r
+ * @class XMLList XML配列を扱う XML 探索用のラッパークラスです\r
+ * @constructor\r
+ * @extends {X.XML}\r
+ */\r
 function XMLListWrapper( xmlList ){\r
        var i = 0, l = xmlList ? xmlList.length : 0;\r
        for( ; i < l; ++i ){\r
index 961d0a2..063cb4a 100644 (file)
@@ -93,23 +93,38 @@ X[ 'OAuth2' ] = X_EventDispatcher[ 'inherits' ](
                        
                        /**
                         * 認可用 window をポップアップする。ポップアップブロックが働かないように必ず pointer event 内で呼ぶこと。
+                        * <dl>
+                        * <dt>1 : <dd>認可用 window がポップアップ中(自身)
+                        * <dt>2 : <dd>コードを認可中
+                        * <dt>3 : <dd>トークンのリフレッシュ中
+                        * <dt>4 : <dd>接続
+                        * <dt>5 : <dd>他のOAuth2サービスの認可用 window がポップアップ中
+                        * </dl>
+                        * @return {number}
                         */
                        'requestAuth' : function(){
-                               var url, w, h;
+                               var e = X_EventDispatcher_CURRENT_EVENTS[ X_EventDispatcher_CURRENT_EVENTS.length - 1 ],
+                                       w, h;
+                               
                                // TODO pointer event 内か?チェック
+                               if( !e || !e[ 'pointerType' ] ){
+                                       alert( 'タッチイベント以外での popup! ' + ( e ? e.type : '' ) );
+                                       return;
+                               };
+                               
                                // 二つ以上の popup を作らない
                                if( X_NET_OAUTH2_authorizationWindow ) return;
                                
                                pair = X_Pair_get( this );
                                
                                if( pair.net || pair.oauth2State ) return;
-                               
-                               url = pair[ 'authorizeEndpoint' ];
+
                                w   = pair[ 'authorizeWindowWidth' ]  || 500;
                                h   = pair[ 'authorizeWindowHeight' ] || 500;
                                
+                               // TODO X.Util.Window
                                X_NET_OAUTH2_authorizationWindow = window.open(
-                                       X_URL_create( url,
+                                       X_URL_create( pair[ 'authorizeEndpoint' ],
                                                {
                                                        'response_type' : 'code',
                                                        'client_id'     : pair[ 'clientID' ],
@@ -356,11 +371,11 @@ function X_NET_OAUTH2_onXHR401Error( oauth2, e ){
        };
        
        // http://d.hatena.ne.jp/ritou/20110402/1301679908
-       if ( bearerParams && bearerParams.indexOf( ' error=' ) === -1 ) { // bearerParams.error == undefined
+       if( bearerParams && bearerParams.indexOf( ' error=' ) === -1 ){ // bearerParams.error == undefined
                pair.oauth2State = 0;
                oauth2[ 'asyncDispatch' ]( X_EVENT_NEED_AUTH );
        } else
-       if ((( bearerParams && bearerParams.indexOf( 'invalid_token' ) !== -1 ) || !headersExposed) && X_OAuth2_getRefreshToken( oauth2 ) ) {
+       if( ( ( bearerParams && bearerParams.indexOf( 'invalid_token' ) !== -1 ) || !headersExposed ) && X_OAuth2_getRefreshToken( oauth2 ) ){
                X_OAuth2_removeAccessToken( oauth2 ); // It doesn't work any more.
                pair.oauth2State = 3;
                oauth2[ 'refreshToken' ]();