X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F20_ui%2F17_Text.js;h=5dacb25ab330ea477b5257bbc5486b0ea0e3dd55;hb=3d352d8bf476ab57cc333e8d02d0e6ea5efa69b7;hp=10624d7036557691bef8b2da9b9b592756b252bd;hpb=51e22031f9629d4bc32444a0228930642144ee9e;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/20_ui/17_Text.js b/0.6.x/js/20_ui/17_Text.js index 10624d7..5dacb25 100644 --- a/0.6.x/js/20_ui/17_Text.js +++ b/0.6.x/js/20_ui/17_Text.js @@ -1,19 +1,43 @@ -X.UI._Text = X.UI._AbstractUINode.inherits( +var X_UI_Text_SUPPORT_ATTRS = { + content : [ '', XUI_Dirty.CONTENT, XUI_Attr_USER.UINODE, XUI_Attr_Type.STRING ] +}; + +var XUI_Text = XUI_AbstractUINode.inherits( '_Text', - X.Class.PRIVATE_DATA, + X_Class.NONE, { - content : null, + content : '', + + usableAttrs : XUI_Attr_createAttrDef( XUI_AbstractUINode.prototype.usableAttrs, X_UI_Text_SUPPORT_ATTRS ), - Constructor : function( content ){ - if( !( this.User.instanceOf( Text ) ) ){ - //throw new Error( 'Text を継承したインスタンスだけが _Text のオーナーになれます' ); + Constructor : function( user, content ){ + if( !( user[ 'instanceOf' ]( X.UI.Text ) ) ){ + alert( 'Text を継承したインスタンスだけが _Text のオーナーになれます' ); }; - this.xnode = X.Dom.Node.create( 'div' ); + this.User = user; + this.xnode = X_Doc_create( 'div' ); - if( X.Type.isString( content ) && content ){ + if( X_Type_isString( content ) && content ){ this.content = content; - this.xnode.text( this.content ); - this.dirty = X.UI.Dirty.CONTENT; + }; + }, + + creationComplete : function(){ + if( X_Type_isString( this.content ) && this.content ){ + this.xnode[ 'text' ]( this.content ); + this.dirty = XUI_Dirty.CONTENT; + }; + + XUI_AbstractUINode.prototype.creationComplete.apply( this, arguments ); + }, + + setItemData : function( itemData ){ + if( this.itemData === itemData ) return; + + XUI_AbstractUINode.prototype.setItemData.apply( this, arguments ); + + if( X_Type_isObject( itemData = this.itemData ) && this.dataFeild ){ + this.User.content( itemData[ this.dataFeild ] || '' ); }; } } @@ -21,19 +45,19 @@ X.UI._Text = X.UI._AbstractUINode.inherits( X.UI.Text = X.UI.AbstractUINode.inherits( 'Text', - X.Class.SUPER_ACCESS, - X.UI._Text, + X_Class.NONE, { - Constructor : function( opt_content, opt_cssObj ){ - X.Class._newPrivate( this, opt_content ); - X.Type.isObject( opt_cssObj = opt_cssObj || opt_content ) && this.attr( opt_cssObj ); + Constructor : function( opt_content, opt_attrObj ){ + X_Pair_create( this, XUI_Text( this, opt_content ) ); + + X_Type_isObject( opt_attrObj = opt_attrObj || opt_content ) && this[ 'attr' ]( opt_attrObj ); }, content : function( v ){ - var data = X.Class._getPrivate( this ); + var data = X_Pair_get( this ); if( data.content !== v ){ - data.xnode && data.xnode.text( v ); + data.xnode && data.xnode[ 'text' ]( v ); data.rootData.reserveCalc(); - if( data.dirty < X.UI.Dirty.CONTENT ) data.dirty = X.UI.Dirty.CONTENT; + if( data.dirty < XUI_Dirty.CONTENT ) data.dirty = XUI_Dirty.CONTENT; }; } }