From 30f1ecad22b94183ee52d93eef3f9bdd4f2048a6 Mon Sep 17 00:00:00 2001 From: daniele-pecora Date: Sat, 12 Dec 2020 02:13:29 +0100 Subject: [PATCH] fix #373: missing schemaprocessor implementation --- CHANGELOG.md | 3 +++ projects/schema-form/package.json | 2 +- .../schema-form/src/lib/model/schemapreprocessor.ts | 11 ++++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 563cc121..312e9e52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 2.5.11 (2020-12-03) +- fix #373: missing schemaprocessor implementation + # 2.5.10 (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 906ed03b..65b12e6c 100644 --- a/projects/schema-form/package.json +++ b/projects/schema-form/package.json @@ -1,6 +1,6 @@ { "name": "ngx-schema-form", - "version": "2.5.10", + "version": "2.5.11", "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 d2e33937..c9863f3b 100644 --- a/projects/schema-form/src/lib/model/schemapreprocessor.ts +++ b/projects/schema-form/src/lib/model/schemapreprocessor.ts @@ -138,7 +138,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 + '*/'); + } } }