OSDN Git Service

Version 0.6.134, add comments for closure compiler.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 00_XDoc.js
1 /**
2  * document をラップする
3  * @namespace X.Doc
4  * @alias X.Doc
5  */
6 X[ 'Doc' ] = {
7         'listen' : function( type, arg1, arg2, arg3 ){
8                 if( type <= X_ViewPort_readyState && type === 'DOMContentLoaded' ){
9                         /*
10                          * X.Event.XDOM_READY 以後に listen した場合の対策
11                          */
12                         X_ViewPort_document[ 'asyncDispatch' ]( type );
13                 };
14                 type && arg1 && X_ViewPort_document[ 'listen' ]( type, arg1, arg2, arg3 );
15                 return X.Doc;
16         },
17         
18         
19         'listenOnce' : function( type, arg1, arg2, arg3 ){
20                 if( type <= X_ViewPort_readyState && type === 'DOMContentLoaded' ){
21                         /*
22                          * X.Event.XDOM_READY 以後に listen した場合の対策
23                          */
24                         X_ViewPort_document[ 'asyncDispatch' ]( type );
25                 };
26                 type && arg1 && X_ViewPort_document[ 'listenOnce' ]( type, arg1, arg2, arg3 );
27                 return X.Doc;
28         },
29         
30         'unlisten' : function( type, arg1, arg2, arg3 ){
31                 type && arg1 && X_ViewPort_document[ 'unlisten' ]( type, arg1, arg2, arg3 );
32                 return X.Doc;
33         },
34         
35         'listening' : function( type, arg1, arg2, arg3 ){
36                 return X_ViewPort_document[ 'listening' ]( type, arg1, arg2, arg3 );
37         },
38         
39         'create'     : X_Doc_create,
40         
41         'createText' : X_Doc_createText
42         
43         // html
44         // head
45         // body
46         // find
47 };
48
49 /**
50  * X.Node 要素を作成する。この時点でツリーには追加されない。
51  * @alias X.Doc.create
52  * @param {string} tag タグ名
53  * @param {object} opt_attrs 属性
54  * @param {object} opt_css スタイル
55  * @return {Node}
56  */
57 function X_Doc_create( tag, opt_attrs, opt_css ){
58         var list, i;
59         switch( X_Node_getType( tag ) ){
60                 case X_Node_TYPE.STRING :
61                         X_Node_newByTag = true;
62                         return new Node( tag, opt_attrs, opt_css );
63                 case X_Node_TYPE.HTML_STRING :
64                         list = X_HtmlParser_parse( tag, true );
65                         for( i = list.length; 1 < i; ){
66                                 list[ --i ].destroy();
67                         };
68                         return list[ 0 ];
69         };
70 };
71
72 /**
73  * X.Node テキストを作成する。この時点でツリーには追加されない。
74  * @alias X.Doc.createText
75  * @param {string} textContent
76  * @return {Node}
77  */
78 function X_Doc_createText( text ){
79         X_Node_newByText = true;
80         return new Node( text );
81 };