From 7a1e9744fc9b7ac6ff3d3613158870847cd91524 Mon Sep 17 00:00:00 2001 From: Martin Marosi Date: Mon, 5 Aug 2019 10:49:29 +0200 Subject: [PATCH 1/2] fix(pf3): Removed anonymous component from pf3-mapper. --- .../src/form-fields/button.js | 4 +- .../src/form-fields/form-fields.js | 1 + .../src/form-fields/layout-components.js | 65 ++++++++++++++----- .../src/form-fields/multiple-choice-list.js | 12 +++- .../tests/__snapshots__/wizard.test.js.snap | 48 +++++++------- 5 files changed, 87 insertions(+), 43 deletions(-) diff --git a/packages/pf3-component-mapper/src/form-fields/button.js b/packages/pf3-component-mapper/src/form-fields/button.js index 3f4230671..d48bfa127 100644 --- a/packages/pf3-component-mapper/src/form-fields/button.js +++ b/packages/pf3-component-mapper/src/form-fields/button.js @@ -1,4 +1,6 @@ import React from 'react'; import { Button } from 'patternfly-react'; -export default (props) => ; + +FormButton.propTypes = { + label: PropTypes.oneOfType([ PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]), + variant: PropTypes.string, + children: PropTypes.oneOfType([ PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]), +}; + +const ButtonGroupWrapper = ({ children, ...props }) => ( + + { children } + +); + +ButtonGroupWrapper.propTypes = { + children: PropTypes.oneOfType([ PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]).isRequired, +}; + +const TitleWrapper = ({ children }) =>

{ children }

; + +TitleWrapper.propTypes = { + children: PropTypes.oneOfType([ PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]).isRequired, +}; + +const DescriptionWrapper = ({ children }) =>

{ children }

; + +DescriptionWrapper.propTypes = { + children: PropTypes.oneOfType([ PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]).isRequired, +}; + const layoutMapper = { - [layoutComponents.FORM_WRAPPER]: ({ children, ...props }) =>
{ children }
, - [layoutComponents.BUTTON]: ({ label, variant, children, ...props }) => , - [layoutComponents.COL]: ({ children, xs, ...rest }) =>
{ children }
, + [layoutComponents.FORM_WRAPPER]: FormWapper, + [layoutComponents.BUTTON]: FormButton, + [layoutComponents.COL]: ({ children, xs, ...rest }) =>
{ children }
, // TO BE removed [layoutComponents.FORM_GROUP]: FormGroup, - [layoutComponents.BUTTON_GROUP]: ({ children, ...props }) => ( - - { children } - - ), - [layoutComponents.ICON]: props => , - [layoutComponents.ARRAY_FIELD_WRAPPER]: ArrayFieldWrapper, + [layoutComponents.BUTTON_GROUP]: ButtonGroupWrapper, + [layoutComponents.ICON]: props => , // TO BE removed + [layoutComponents.ARRAY_FIELD_WRAPPER]: ArrayFieldWrapper, // TO BE removed [layoutComponents.HELP_BLOCK]: HelpBlock, - [layoutComponents.TITLE]: ({ children }) =>

{ children }

, - [layoutComponents.DESCRIPTION]: ({ children }) =>

{ children }

, + [layoutComponents.TITLE]: TitleWrapper, + [layoutComponents.DESCRIPTION]: DescriptionWrapper, }; export default layoutMapper; diff --git a/packages/pf3-component-mapper/src/form-fields/multiple-choice-list.js b/packages/pf3-component-mapper/src/form-fields/multiple-choice-list.js index 750e8b0e5..a49e9881a 100644 --- a/packages/pf3-component-mapper/src/form-fields/multiple-choice-list.js +++ b/packages/pf3-component-mapper/src/form-fields/multiple-choice-list.js @@ -1,8 +1,10 @@ import React from 'react'; -import RequiredLabel from './required-label'; -import { Checkbox, Col, FormGroup, ControlLabel } from 'patternfly-react'; +import PropTypes from 'prop-types'; +import { Checkbox, FormGroup, ControlLabel } from 'patternfly-react'; import { composeValidators } from '@data-driven-forms/react-form-renderer'; +import RequiredLabel from './required-label'; + const MultipleChoiceList = ({ validate, FieldProvider, ...props }) => ( { ({ @@ -56,4 +58,10 @@ const MultipleChoiceList = ({ validate, FieldProvider, ...props }) => ( ); +MultipleChoiceList.propTypes = { + validate: PropTypes.func, + FieldProvider: PropTypes.oneOfType([ PropTypes.node, PropTypes.func ]), + name: PropTypes.string.isRequired, +}; + export default MultipleChoiceList; diff --git a/packages/pf3-component-mapper/src/tests/__snapshots__/wizard.test.js.snap b/packages/pf3-component-mapper/src/tests/__snapshots__/wizard.test.js.snap index 19af6e240..f5c1fcb1b 100644 --- a/packages/pf3-component-mapper/src/tests/__snapshots__/wizard.test.js.snap +++ b/packages/pf3-component-mapper/src/tests/__snapshots__/wizard.test.js.snap @@ -141,7 +141,7 @@ exports[` should render Wizard correctly 1`] = `
- <_default + should render Wizard correctly 1`] = ` Cancel - - <_default + + should render Wizard correctly 1`] = ` Back - + should render Wizard correctly 1`] = ` submit={[Function]} valid={true} > - <_default + should render Wizard correctly 1`] = ` - +
@@ -469,7 +469,7 @@ exports[` should render Wizard with conditional steps correctly 1`] =
- <_default + should render Wizard with conditional steps correctly 1`] = Cancel - - <_default + + should render Wizard with conditional steps correctly 1`] = Back - + should render Wizard with conditional steps correctly 1`] = submit={[Function]} valid={true} > - <_default + should render Wizard with conditional steps correctly 1`] = - + @@ -915,7 +915,7 @@ exports[` should render Wizard with stepsInfo correctly 1`] = `
- <_default + should render Wizard with stepsInfo correctly 1`] = ` Cancel - - <_default + + should render Wizard with stepsInfo correctly 1`] = ` Back - + should render Wizard with stepsInfo correctly 1`] = ` submit={[Function]} valid={true} > - <_default + should render Wizard with stepsInfo correctly 1`] = ` - +
@@ -1245,7 +1245,7 @@ exports[` should render Wizard with title correctly 1`] = `
- <_default + should render Wizard with title correctly 1`] = ` Cancel - - <_default + + should render Wizard with title correctly 1`] = ` Back - + should render Wizard with title correctly 1`] = ` submit={[Function]} valid={true} > - <_default + should render Wizard with title correctly 1`] = ` - +
From c02965d99e5d90c458898611ee931ab29ffbb624 Mon Sep 17 00:00:00 2001 From: Martin Marosi Date: Mon, 5 Aug 2019 11:01:44 +0200 Subject: [PATCH 2/2] fix(pf4): fixed-pf4-prop-assignemt --- .../src/form-fields/multiple-choice-list.js | 1 + .../src/form-fields/select/select.js | 9 +++------ packages/pf4-component-mapper/src/form-fields/tabs.js | 3 +++ .../pf4-component-mapper/src/tests/select/select.test.js | 8 +++----- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/pf4-component-mapper/src/form-fields/multiple-choice-list.js b/packages/pf4-component-mapper/src/form-fields/multiple-choice-list.js index fbc97c397..aac04189f 100644 --- a/packages/pf4-component-mapper/src/form-fields/multiple-choice-list.js +++ b/packages/pf4-component-mapper/src/form-fields/multiple-choice-list.js @@ -6,6 +6,7 @@ import { composeValidators } from '@data-driven-forms/react-form-renderer'; const propTypes = { validate: PropTypes.oneOfType([ PropTypes.array, PropTypes.func ]), FieldProvider: PropTypes.oneOfType([ PropTypes.node, PropTypes.func ]), + name: PropTypes.string.isRequired, }; const MultipleChoiceList = ({ validate, FieldProvider, ...props }) => ( diff --git a/packages/pf4-component-mapper/src/form-fields/select/select.js b/packages/pf4-component-mapper/src/form-fields/select/select.js index 9de0dc2b2..1ef8146c3 100644 --- a/packages/pf4-component-mapper/src/form-fields/select/select.js +++ b/packages/pf4-component-mapper/src/form-fields/select/select.js @@ -109,9 +109,8 @@ Select.defaultProps = { loadingMessage: 'Loading...', }; -const DataDrivenSelect = ({ input, multi, ...props }) => ( +const DataDrivenSelect = ({ multi, ...props }) => ( ', () => { const props = { multi: true, options: [{ label: 'a', value: 1 }, { label: 'b', value: 2 }], - input: { - name: 'foo', - onChange: Function, - value: [ 1, 2 ], - }, + name: 'foo', + onChange: Function, + value: [ 1, 2 ], }; const wrapper = mount(); const mappedProps = wrapper.find(Select).props();