@@ -586,7 +586,6 @@ angular.module('schemaForm').provider('schemaForm',
586586 } ;
587587
588588 var fieldset = function ( name , schema , options ) {
589-
590589 if ( schema . type === 'object' ) {
591590 var f = stdFormObj ( name , schema , options ) ;
592591 f . type = 'fieldset' ;
@@ -640,7 +639,8 @@ angular.module('schemaForm').provider('schemaForm',
640639 path : arrPath ,
641640 required : required || false ,
642641 lookup : options . lookup ,
643- ignore : options . ignore
642+ ignore : options . ignore ,
643+ global : options . global
644644 } ) ] ;
645645
646646 return f ;
@@ -769,13 +769,13 @@ angular.module('schemaForm').provider('schemaForm',
769769
770770 //if it's a type with items, merge 'em!
771771 if ( obj . items ) {
772- obj . items = service . merge ( schema , obj . items , ignore ) ;
772+ obj . items = service . merge ( schema , obj . items , ignore , options ) ;
773773 }
774774
775775 //if its has tabs, merge them also!
776776 if ( obj . tabs ) {
777777 angular . forEach ( obj . tabs , function ( tab ) {
778- tab . items = service . merge ( schema , tab . items , ignore ) ;
778+ tab . items = service . merge ( schema , tab . items , ignore , options ) ;
779779 } ) ;
780780 }
781781
@@ -984,8 +984,16 @@ angular.module('schemaForm').directive('sfArray', ['sfSelect', 'schemaForm', 'sf
984984 // section. Unless there is just one.
985985 var subForm = form . items [ 0 ] ;
986986 if ( form . items . length > 1 ) {
987- subForm = { type : 'section' , items : form . items } ;
987+ subForm = {
988+ type : 'section' ,
989+ items : form . items . map ( function ( item ) {
990+ item . ngModelOptions = form . ngModelOptions ;
991+ item . readonly = form . readonly ;
992+ return item ;
993+ } )
994+ } ;
988995 }
996+
989997 }
990998
991999 // We ceate copies of the form on demand, caching them for
0 commit comments