@@ -156,18 +156,32 @@ export class BuilderHandler extends CustomPropertyHandler {
156156 const originalWidget = widget . wrappedWidgets [ 0 ] ;
157157 const buildersData : any [ ] = tempData . buildersData ;
158158 let code = '' ;
159+
160+ // generate builders code (builder that have no names)
161+ let codes = buildersData . filter ( a => ! a . builderName ) . map ( data => this . generateBuilderCode ( data , generateChildWidgetCode , tabsLevel ) ) ;
162+ code += codes . join ( ',\n' ) ;
163+
164+ if ( codes . length ) {
165+ code += ',\n' ;
166+ }
159167
160168 // generate other user-defined properties
161- originalWidget . properties . sort ( sortProperties )
169+ let propCode = originalWidget . properties . sort ( sortProperties )
162170 . filter ( a => ! a . skipGeneratingCode && [ 'children' , 'builder' ] . indexOf ( a . name ) === - 1 )
163- . forEach ( p => {
164- code += generatePropertyCode ( originalWidget , p , tabsLevel ) + `,\n` ;
165- } ) ;
171+ . map ( p => {
172+ return generatePropertyCode ( originalWidget , p , tabsLevel ) ;
173+ } )
174+ . join ( `,\n` ) ;
175+ code += propCode ;
166176
167- // generate builders code
168- let codes = buildersData . map ( data => this . generateBuilderCode ( data , generateChildWidgetCode , tabsLevel ) ) ;
169- code += codes . join ( ',\n' ) ;
177+ // generate builders code (builder that have names)
178+ let codes2 = buildersData . filter ( a => ! ! a . builderName ) . map ( data => this . generateBuilderCode ( data , generateChildWidgetCode , tabsLevel ) ) ;
170179
180+ if ( propCode . length && codes2 . length ) {
181+ code += ',\n' ;
182+ }
183+ code += codes2 . join ( ',\n' ) ;
184+
171185 return code ;
172186 }
173187
0 commit comments