@@ -77,38 +77,52 @@ export module ad {
7777 }
7878 }
7979
80- export function setTextTransform ( view : android . widget . TextView , value : string ) {
80+ export function setTextTransform ( v , value : string ) {
81+ let view = v . _nativeView ;
8182 let str = view . getText ( ) + "" ;
83+ let result = getTransformedString ( value , view , str ) ;
84+
85+ if ( v . formattedText ) {
86+ for ( var i = 0 ; i < v . formattedText . spans . length ; i ++ ) {
87+ var span = v . formattedText . spans . getItem ( i ) ;
88+ span . text = getTransformedString ( value , view , span . text ) ;
89+ }
90+ } else {
91+ view . setText ( result ) ;
92+ }
93+ }
94+
95+ function getTransformedString ( textTransform : string , view , stringToTransform : string ) : string {
8296 let result : string ;
8397
84- switch ( value ) {
98+ switch ( textTransform ) {
8599 case enums . TextTransform . none :
86100 default :
87- result = view [ "originalString" ] || str ;
101+ result = view [ "originalString" ] || stringToTransform ;
88102 if ( view [ "transformationMethod" ] ) {
89103 view . setTransformationMethod ( view [ "transformationMethod" ] ) ;
90104 }
91105 break ;
92106 case enums . TextTransform . uppercase :
93107 view . setTransformationMethod ( null ) ;
94- result = str . toUpperCase ( ) ;
108+ result = stringToTransform . toUpperCase ( ) ;
95109 break ;
96110 case enums . TextTransform . lowercase :
97111 view . setTransformationMethod ( null ) ;
98- result = str . toLowerCase ( ) ;
112+ result = stringToTransform . toLowerCase ( ) ;
99113 break ;
100114 case enums . TextTransform . capitalize :
101115 view . setTransformationMethod ( null ) ;
102- result = getCapitalizedString ( str ) ;
116+ result = getCapitalizedString ( stringToTransform ) ;
103117 break ;
104118 }
105119
106120 if ( ! view [ "originalString" ] ) {
107- view [ "originalString" ] = str ;
121+ view [ "originalString" ] = stringToTransform ;
108122 view [ "transformationMethod" ] = view . getTransformationMethod ( ) ;
109123 }
110124
111- view . setText ( result ) ;
125+ return result ;
112126 }
113127
114128 function getCapitalizedString ( str : string ) : string {
0 commit comments