From d18c0bc47831a68aab7ed8c007c577a8e41e7593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Maro=C5=A1i?= Date: Tue, 31 Mar 2020 14:14:14 +0200 Subject: [PATCH 1/2] Enable linter in docs. --- .eslintignore | 2 -- packages/react-renderer-demo/.eslintrc.json | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/react-renderer-demo/.eslintrc.json diff --git a/.eslintignore b/.eslintignore index eb0e2377f..b79c447ea 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,5 +4,3 @@ /**/coverage /**/vendor.js /**/*.config.js -/**/doc-components/ -/**/examples-texts/ diff --git a/packages/react-renderer-demo/.eslintrc.json b/packages/react-renderer-demo/.eslintrc.json new file mode 100644 index 000000000..d5ba8f9d9 --- /dev/null +++ b/packages/react-renderer-demo/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "rules": { + "no-console": "off" + } +} From 99ea4af2191379604a67e0ef9d44d35cd34f0a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Maro=C5=A1i?= Date: Tue, 31 Mar 2020 14:14:25 +0200 Subject: [PATCH 2/2] Fix linting issues in docs. --- .../examples-texts/custom-component.js | 5 +- .../examples-texts/dual-list-select.js | 9 ++- .../examples-texts/generic-mui-component.js | 57 ++++++++++++------- .../navigation/examples-texts/select.js | 9 ++- .../navigation/examples-texts/tabs.js | 39 +++++++------ .../navigation/examples-texts/wizard.js | 10 +++- .../app/src/doc-components/custom-buttons.js | 15 +++-- .../doc-components/get-started/get-started.js | 10 ++-- 8 files changed, 98 insertions(+), 56 deletions(-) diff --git a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/custom-component.js b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/custom-component.js index cd4849f22..dad20ea23 100644 --- a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/custom-component.js +++ b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/custom-component.js @@ -1,7 +1,4 @@ import React from 'react'; import Typography from '@material-ui/core/Typography'; -export default () => - - This is a custom component. - ; +export default () => This is a custom component.; diff --git a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/dual-list-select.js b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/dual-list-select.js index b00ada949..196dc08fc 100644 --- a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/dual-list-select.js +++ b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/dual-list-select.js @@ -1,4 +1,11 @@ import React from 'react'; import Pf4 from '@docs/doc-components/pf4-dual-list.md'; +import PropTypes from 'prop-types'; -export default ({ activeMapper }) => activeMapper === 'pf4' ? : 'Not implemented yet'; +const DualListSelect = ({ activeMapper }) => (activeMapper === 'pf4' ? : 'Not implemented yet'); + +DualListSelect.propTypes = { + activeMapper: PropTypes.string +}; + +export default DualListSelect; diff --git a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/generic-mui-component.js b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/generic-mui-component.js index 5c9b24854..e422e0e38 100644 --- a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/generic-mui-component.js +++ b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/generic-mui-component.js @@ -1,16 +1,18 @@ import React from 'react'; import Typography from '@material-ui/core/Typography'; +import PropTypes from 'prop-types'; + export const docsLinks = { mui: 'https://material-ui.com/api/', pf4: 'http://patternfly-react.surge.sh/patternfly-4/components/', - pf3: 'http://patternfly-react.surge.sh/patternfly-3/index.html', + pf3: 'http://patternfly-react.surge.sh/patternfly-3/index.html' }; -export default ({ activeMapper, component }) => { +const GenericMuiComponent = ({ activeMapper, component }) => { const originalComponent = component; - if (activeMapper === 'pf4'){ - switch (component){ + if (activeMapper === 'pf4') { + switch (component) { case 'date-picker': component = 'textinput'; break; @@ -32,9 +34,11 @@ export default ({ activeMapper, component }) => { case 'checkbox-multiple': component = 'checkbox'; break; + default: + break; } - } else if (activeMapper === 'mui'){ - switch (component){ + } else if (activeMapper === 'mui') { + switch (component) { case 'date-picker': component = 'text-field'; break; @@ -53,22 +57,33 @@ export default ({ activeMapper, component }) => { case 'checkbox-multiple': component = 'checkbox'; break; + default: + break; } } - return - - This component also accepts all other original props, please see - here! - - - { activeMapper === 'mui' ? - (originalComponent === 'date-picker' || originalComponent === 'time-picker') && - - This component also use API from material-ui-pickers, please see - here! + return ( + + + This component also accepts all other original props, please see{' '} + here! - : '' } - ;}; + + {activeMapper === 'mui' + ? (originalComponent === 'date-picker' || originalComponent === 'time-picker') && ( + + This component also use API from material-ui-pickers, please see{' '} + here! + + ) + : ''} + + ); +}; + +GenericMuiComponent.propTypes = { + activeMapper: PropTypes.string, + component: PropTypes.string +}; + +export default GenericMuiComponent; diff --git a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/select.js b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/select.js index be2e24ebf..3db3c0263 100644 --- a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/select.js +++ b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/select.js @@ -2,5 +2,12 @@ import React from 'react'; import GenericComponentText from './generic-mui-component'; import Pf3Select from '@docs/doc-components/pf3-select.md'; import Pf4Select from '@docs/doc-components/pf4-select.md'; +import PropTypes from 'prop-types'; -export default ({ activeMapper }) => activeMapper === 'pf3' ? : activeMapper === 'pf4' ? : ; +const Select = ({ activeMapper }) => (activeMapper === 'pf3' ? : activeMapper === 'pf4' ? : ); + +Select.propTypes = { + activeMapper: PropTypes.string +}; + +export default Select; diff --git a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/tabs.js b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/tabs.js index f8250fa0a..d31973592 100644 --- a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/tabs.js +++ b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/tabs.js @@ -2,32 +2,35 @@ import React, { Fragment } from 'react'; import Typography from '@material-ui/core/Typography'; import { docsLinks } from './generic-mui-component'; -export default ({ activeMapper }) => +import PropTypes from 'prop-types'; + +const Tabs = ({ activeMapper }) => ( - { activeMapper === 'pf4' && - - This component also accepts all other original props, please see - here! - } + {activeMapper === 'pf4' && ( + + This component also accepts all other original props, please see here! + + )} - For using this component, you have to append TabItem component (containing form fields) to fields property. - - - Component constant + For using this component, you have to append TabItem component (containing form fields) to fields property. + Component constant
TAB_ITEM
as an import from componentTypes
tab-item
as a string - { activeMapper === 'pf3' && - ( + {activeMapper === 'pf3' && ( - - Validation - + Validation Because of schema flexibility there is no simple and efficient way to signal invalid tab content. If you want to add some visual feedback for this case, please specify field names to validateFields attribute. - ) } -
; + )} + +); + +Tabs.propTypes = { + activeMapper: PropTypes.string +}; + +export default Tabs; diff --git a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/wizard.js b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/wizard.js index 82ad2cfae..80d3cf0b9 100644 --- a/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/wizard.js +++ b/packages/react-renderer-demo/src/app/src/components/navigation/examples-texts/wizard.js @@ -3,4 +3,12 @@ import Wizard from '@docs/doc-components/wizard.md'; import Pf3Wizard from '@docs/doc-components/pf3-wizard.md'; import Pf4Wizard from '@docs/doc-components/pf4-wizard.md'; -export default ({ activeMapper }) => activeMapper === 'pf3' ? : activeMapper === 'pf4' ? : ; +import PropTypes from 'prop-types'; + +const DocWizard = ({ activeMapper }) => (activeMapper === 'pf3' ? : activeMapper === 'pf4' ? : ); + +DocWizard.propTypes = { + activeMapper: PropTypes.string +}; + +export default DocWizard; diff --git a/packages/react-renderer-demo/src/app/src/doc-components/custom-buttons.js b/packages/react-renderer-demo/src/app/src/doc-components/custom-buttons.js index da2f89377..0a7b48a22 100644 --- a/packages/react-renderer-demo/src/app/src/doc-components/custom-buttons.js +++ b/packages/react-renderer-demo/src/app/src/doc-components/custom-buttons.js @@ -47,7 +47,9 @@ const FormTemplate = ({ formFields, schema }) => { - + )} @@ -55,10 +57,13 @@ const FormTemplate = ({ formFields, schema }) => { ); }; -const asyncSubmit = (values, api) => new Promise((resolve) => setTimeout(() => { - console.log('FormValues', values); - resolve('Yay'); -}, 1500)); +const asyncSubmit = (values, api) => + new Promise((resolve) => + setTimeout(() => { + console.log('FormValues', values); + resolve('Yay'); + }, 1500) + ); const FormControls = () => (
diff --git a/packages/react-renderer-demo/src/app/src/doc-components/get-started/get-started.js b/packages/react-renderer-demo/src/app/src/doc-components/get-started/get-started.js index 6932b4323..d9d239164 100644 --- a/packages/react-renderer-demo/src/app/src/doc-components/get-started/get-started.js +++ b/packages/react-renderer-demo/src/app/src/doc-components/get-started/get-started.js @@ -45,11 +45,11 @@ const schema = { const GetStartedForm = () => (
console.log('Cancel action') } + componentMapper={componentMapper} + FormTemplate={FormTemplate} + schema={schema} + onSubmit={console.log} + onCancel={() => console.log('Cancel action')} canReset />