@@ -214,7 +214,11 @@ define([
214214 let content = '' ;
215215 let value = state [ obj . name ] ;
216216 if ( value == undefined ) {
217- value = '' ;
217+ if ( obj . default != undefined ) {
218+ value = obj . default ;
219+ } else {
220+ value = '' ;
221+ }
218222 } else {
219223 obj . value = value ;
220224 }
@@ -269,6 +273,13 @@ define([
269273 'selected' :'selected'
270274 } ) ;
271275 }
276+ } else {
277+ // set default value
278+ if ( value == opt . default ) {
279+ $ ( option ) . attr ( {
280+ 'selected' :'selected'
281+ } ) ;
282+ }
272283 }
273284 optSlct . append ( option ) ;
274285 } ) ;
@@ -306,27 +317,19 @@ define([
306317 break ;
307318 case 'option_suggest' :
308319 // suggest input tag
309- var tag = $ ( '<input/>' ) . attr ( {
310- 'type' : 'text' ,
311- 'id' : obj . name ,
312- 'class' : 'vp-input vp-state'
313- } ) ;
314320 // 1. Target Variable
315321 var suggestInput = new SuggestInput ( ) ;
316322 suggestInput . setComponentID ( obj . name ) ;
317323 suggestInput . addClass ( 'vp-input vp-state' ) ;
318324 suggestInput . setSuggestList ( function ( ) { return obj . options ; } ) ;
319- suggestInput . setNormalFilter ( false ) ;
325+ suggestInput . setNormalFilter ( true ) ;
320326 suggestInput . setValue ( value ) ;
321327 suggestInput . setSelectEvent ( function ( selectedValue ) {
322328 // trigger change
323329 $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . val ( selectedValue ) ;
324330 $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . trigger ( 'change' ) ;
325331 } ) ;
326- $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . replaceWith ( function ( ) {
327- return suggestInput . toTagString ( ) ;
328- } ) ;
329- content = tag ;
332+ content = $ ( suggestInput . toTagString ( ) ) ;
330333 break ;
331334 case 'var_select' :
332335 // suggest input tag
@@ -419,6 +422,9 @@ define([
419422 var vp_generateVarSuggestInput = function ( divTag , obj ) {
420423 var types = obj . var_type ;
421424 var defaultValue = obj . value ;
425+ if ( obj . value == undefined && obj . default != undefined ) {
426+ defaultValue = obj . default ;
427+ }
422428
423429 if ( types == undefined ) {
424430 types = [ ] ;
@@ -539,7 +545,6 @@ define([
539545 value = value . substr ( 0 , value . length - 1 ) ;
540546 break ;
541547 case 'input_multi' :
542- case 'input_number' :
543548 case 'option_suggest' :
544549 case 'bool_select' :
545550 case 'var_select' :
@@ -551,6 +556,7 @@ define([
551556 case 'table' :
552557 case 'file' :
553558 case 'option_select' :
559+ case 'input_number' :
554560 default :
555561 var input = $ ( pageThis . wrapSelector ( '#' + obj . name ) ) . val ( ) ;
556562 // same as default
@@ -577,7 +583,7 @@ define([
577583 val = vp_getTagValue ( pageThis , v ) ;
578584 }
579585 var id = '${' + v . name + '}' ;
580- if ( val == undefined || val . trim ( ) == '' ) {
586+ if ( val == undefined || val . trim ( ) == '' ) {
581587 if ( v . required == true ) {
582588 // throw new Error("'" + v.label + "' is required.");
583589 }
0 commit comments