@@ -3,7 +3,7 @@ import { defaultForm, createDefaults } from './schema-defaults';
33import canonicalTitleMap from './canonical-title-map' ;
44
55// export function merge(schema, form, schemaDefaultTypes, ignore, options, readonly, asyncTemplates) {
6- export function merge ( lookup , form , ignore , options , readonly , asyncTemplates ) {
6+ export function merge ( lookup , form , typeDefaults = createDefaults ( ) , ignore , options , readonly , asyncTemplates ) {
77 let formItems = [ ] ;
88 let formItemRest = [ ] ;
99 form = form || [ ] ;
@@ -14,7 +14,7 @@ export function merge(lookup, form, ignore, options, readonly, asyncTemplates) {
1414 let idxRest = form . indexOf ( '...' ) ;
1515 if ( typeof lookup === 'object' && lookup . hasOwnProperty ( 'properties' ) ) {
1616 readonly = readonly || lookup . readonly || lookup . readOnly ;
17- stdForm = defaultForm ( lookup , createDefaults ( ) , ignore , options ) ;
17+ stdForm = defaultForm ( lookup , typeDefaults , ignore , options ) ;
1818
1919 let defaultFormLookup = stdForm . lookup ;
2020
@@ -97,14 +97,14 @@ export function merge(lookup, form, ignore, options, readonly, asyncTemplates) {
9797
9898 // if it's a type with items, merge 'em!
9999 if ( obj . items ) {
100- obj . items = merge ( lookup , obj . items , ignore , options , obj . readonly , asyncTemplates ) ;
100+ obj . items = merge ( lookup , obj . items , typeDefaults , ignore , options , obj . readonly , asyncTemplates ) ;
101101 }
102102
103103 // if its has tabs, merge them also!
104104 if ( obj . tabs ) {
105105 obj . tabs . forEach ( ( tab ) => {
106106 if ( tab . items ) {
107- tab . items = merge ( lookup , tab . items , ignore , options , obj . readonly , asyncTemplates ) ;
107+ tab . items = merge ( lookup , tab . items , typeDefaults , ignore , options , obj . readonly , asyncTemplates ) ;
108108 }
109109 } ) ;
110110 }
0 commit comments