From b2121789f63943e037a25a8825276fefd06cd535 Mon Sep 17 00:00:00 2001 From: Edgar Mueller Date: Fri, 15 Feb 2019 23:21:01 +0100 Subject: [PATCH] Fix path prop usage of DispatchField --- packages/core/src/util/renderer.ts | 3 ++- packages/material/src/complex/MaterialTableControl.tsx | 6 ++++-- packages/vanilla/src/complex/TableArrayControl.tsx | 2 +- packages/vanilla/src/controls/InputControl.tsx | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/core/src/util/renderer.ts b/packages/core/src/util/renderer.ts index 1f45de9c6c..d90b4de96a 100644 --- a/packages/core/src/util/renderer.ts +++ b/packages/core/src/util/renderer.ts @@ -23,6 +23,7 @@ THE SOFTWARE. */ import get from 'lodash/get'; +import isEmpty from 'lodash/isEmpty'; import has from 'lodash/has'; import cloneDeep from 'lodash/cloneDeep'; import merge from 'lodash/merge'; @@ -461,7 +462,7 @@ export const mapDispatchToArrayControlProps = ( addItem: (path: string, value: any) => () => { dispatch( update(path, array => { - if (array === undefined || array === null) { + if (isEmpty(array)) { return [value]; } diff --git a/packages/material/src/complex/MaterialTableControl.tsx b/packages/material/src/complex/MaterialTableControl.tsx index 5f35266ae0..f966a604a9 100644 --- a/packages/material/src/complex/MaterialTableControl.tsx +++ b/packages/material/src/complex/MaterialTableControl.tsx @@ -141,9 +141,11 @@ const NonEmptyCell = ({ scopedSchema, errors }: NonEmptyCellProps) => { + const path = rowPath + (scopedSchema.type === 'object' ? '.' + propName : ''); + console.log('path', path); const errorsPerEntry: any[] = filter( errors, - error => error.dataPath === rowPath + '.' + propName + error => error.dataPath === path ).map(e => e.message); const isValid = isEmpty(errorsPerEntry); return ( @@ -155,7 +157,7 @@ const NonEmptyCell = ({ undefined, scopedSchema.type === 'object' ? `#/properties/${propName}` : '#' )} - path={rowPath} + path={path} /> {!isValid && formatErrorMessage(errorsPerEntry)} diff --git a/packages/vanilla/src/complex/TableArrayControl.tsx b/packages/vanilla/src/complex/TableArrayControl.tsx index 8238a30ba5..fbbab8c617 100644 --- a/packages/vanilla/src/complex/TableArrayControl.tsx +++ b/packages/vanilla/src/complex/TableArrayControl.tsx @@ -162,7 +162,7 @@ class TableArrayControl extends React.Component< ); diff --git a/packages/vanilla/src/controls/InputControl.tsx b/packages/vanilla/src/controls/InputControl.tsx index 74a1ffd8c4..ec9d389879 100644 --- a/packages/vanilla/src/controls/InputControl.tsx +++ b/packages/vanilla/src/controls/InputControl.tsx @@ -57,7 +57,7 @@ export class InputControl extends Control< schema, visible, required, - parentPath, + path, fields } = this.props; @@ -93,7 +93,7 @@ export class InputControl extends Control<