@@ -139,7 +139,7 @@ export class PropertyResolver {
139139 value = ValueTransformersProvider . transform ( value , propertyName , widget . type ) ;
140140 }
141141
142- if ( this . isUnNamedParamaeter ( propertyName , ownerWidget . type ) ) {
142+ if ( this . isUnNamedParameter ( propertyName , ownerWidget . type ) ) {
143143 propertyName = '' ;
144144 }
145145
@@ -152,25 +152,29 @@ export class PropertyResolver {
152152
153153 if ( propertyName === 'controller' ) {
154154 property . controller = this . createController ( propertyValue ) ;
155- property . value = ' ctrl.' + property . controller . name ;
156- property . name = 'controller' ;
155+ property . value = ( property . controller . name . indexOf ( '.' ) > - 1 ? '' : ' ctrl.') + property . controller . name ;
156+ // property.name = 'controller';
157157 }
158158
159159 return { property, wrapperWidget, handled } ;
160160 }
161161
162162 private createController ( propertyValue : string ) : VariableModel {
163+ let skipGenerate = false ;
163164 const eqSegments = propertyValue . split ( '=' ) ;
164-
165- // e.g. controller="ScrollController myController"
166- let name = eqSegments [ 0 ] . split ( ' ' ) [ 1 ] ;
167- let type = eqSegments [ 0 ] . split ( ' ' ) [ 0 ] ;
165+
166+ let name = eqSegments [ 0 ] . split ( ' ' ) [ 1 ] ; // e.g. get the name from "ScrollController myController"
167+ let type = eqSegments [ 0 ] . split ( ' ' ) [ 0 ] ; // e.g. get the type from "ScrollController myController"
168168 let value ;
169169
170170 // there is a name with out type e.g. controller="myController"
171171 if ( ! name ) {
172172 name = type ;
173173 type = '' ;
174+ // e.g. controller="ctrl.myController"
175+ if ( name . indexOf ( '.' ) > - 1 ) {
176+ skipGenerate = true ;
177+ }
174178 }
175179
176180 // controller="TabController myController = TabController(initialIndex: 0, length: 4, vsync: this)"
@@ -191,10 +195,15 @@ export class PropertyResolver {
191195 value = value . trim ( ) ;
192196 }
193197
194- return { type, name, value, skipGenerate : ! type && ! value } ;
198+ return { type, name, value, skipGenerate : ! type && ! value || skipGenerate } ;
195199 }
196200
197- isUnNamedParamaeter ( name : string , widgetType : string ) : boolean {
201+ isUnNamedParameter ( name : string , widgetType : string ) : boolean {
202+ let result = this . getUnNamedParameter ( widgetType ) === name ;
203+ return result ;
204+ }
205+
206+ getUnNamedParameter ( widgetType : string ) : string {
198207 widgetType = widgetType . split ( '.' ) [ 0 ] ;
199208
200209 let unnamed : any = {
@@ -207,7 +216,6 @@ export class PropertyResolver {
207216 unnamed = Object . assign ( unnamed , this . config . unnamedProperties ) ;
208217 }
209218
210- let result = unnamed [ widgetType ] === name ;
211- return result ;
219+ return unnamed [ widgetType ] ;
212220 }
213221}
0 commit comments