diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bebe73b..31974469 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 2.4.12 (2020-12-03) +- fix #373: missing schemaprocessor implementation + # 2.4.11 (2020-12-03) - fix #373: add support for array items with different schema definitions diff --git a/projects/schema-form/package.json b/projects/schema-form/package.json index adc88b1d..f96ab00f 100644 --- a/projects/schema-form/package.json +++ b/projects/schema-form/package.json @@ -1,6 +1,6 @@ { "name": "ngx-schema-form", - "version": "2.4.11", + "version": "2.4.12", "repository": { "type": "git", "url": "git+https://github.com/guillotinaweb/ngx-schema-form" diff --git a/projects/schema-form/src/lib/model/schemapreprocessor.ts b/projects/schema-form/src/lib/model/schemapreprocessor.ts index 3cbe28f0..cb842ab4 100644 --- a/projects/schema-form/src/lib/model/schemapreprocessor.ts +++ b/projects/schema-form/src/lib/model/schemapreprocessor.ts @@ -134,7 +134,16 @@ export class SchemaPreprocessor { } } } else if (jsonSchema.type === 'array') { - SchemaPreprocessor.preprocess(jsonSchema.items, path + '*/'); + if (Array.isArray(jsonSchema.items || {})) { + for (let i = 0; i < jsonSchema.items.length; i++) { + SchemaPreprocessor.preprocess(jsonSchema.items[i], path + '*/'); + } + } else { + SchemaPreprocessor.preprocess(jsonSchema.items, path + '*/'); + } + if (jsonSchema.additionalItems) { + SchemaPreprocessor.preprocess(jsonSchema.additionalItems, path + '*/'); + } } }