From f406dc8b3fdaa040045a7355874aca255bd1df22 Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Tue, 26 Sep 2017 11:47:13 +0200 Subject: [PATCH] Remove all required props in settings-manager and change input select design --- packages/strapi-helper-plugin/package.json | 2 +- .../admin/src/components/EditForm/index.js | 10 ++--- .../src/components/EditFormSection/index.js | 8 ++-- .../components/EditFormSectionNested/index.js | 6 +-- .../EditFormSectionSubNested/index.js | 4 +- .../admin/src/components/HeaderNav/index.js | 6 +-- .../admin/src/components/InputEnum/index.js | 12 +++--- .../admin/src/components/InputNumber/index.js | 10 ++--- .../src/components/InputPassword/index.js | 28 +++++++------- .../admin/src/components/InputSelect/index.js | 38 ++++++++++--------- .../src/components/InputSelect/styles.scss | 31 +++++++++++++++ .../admin/src/components/InputText/index.js | 8 ++-- .../admin/src/components/InputToggle/index.js | 10 ++--- .../admin/src/components/List/index.js | 14 +++---- .../components/PluginLeftMenuSection/index.js | 4 +- .../admin/src/components/PopUpForm/index.js | 8 ++-- .../src/components/PopUpWarning/index.js | 6 +-- .../admin/src/components/RowDatabase/index.js | 12 +++--- .../admin/src/components/RowLanguage/index.js | 10 ++--- .../components/SelectOptionLanguage/index.js | 8 ++-- .../src/components/WithFormSection/index.js | 6 +-- .../admin/src/components/WithInput/index.js | 2 - 22 files changed, 137 insertions(+), 106 deletions(-) diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index 0560528caa..e7f874a450 100755 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -114,4 +114,4 @@ "whatwg-fetch": "^2.0.3" }, "devDependencies": {} -} +} \ No newline at end of file diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/EditForm/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/EditForm/index.js index 1963c3f4f1..2bb519a0d8 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/EditForm/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/EditForm/index.js @@ -58,11 +58,11 @@ class EditForm extends React.Component { // eslint-disable-line react/prefer-sta EditForm.propTypes = { cancelAction: PropTypes.bool, formErrors: PropTypes.array, - handleCancel: PropTypes.func.isRequired, - handleChange: PropTypes.func.isRequired, - handleSubmit: PropTypes.func.isRequired, - sections: PropTypes.array.isRequired, - values: PropTypes.object.isRequired, + handleCancel: PropTypes.func, + handleChange: PropTypes.func, + handleSubmit: PropTypes.func, + sections: PropTypes.array, + values: PropTypes.object, }; export default EditForm; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js index b5d7e7f94f..207d66f7ce 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSection/index.js @@ -56,13 +56,13 @@ class EditFormSection extends React.Component { // eslint-disable-line react/pre } EditFormSection.propTypes = { - formErrors: PropTypes.array.isRequired, - handleChange: PropTypes.func.isRequired, + formErrors: PropTypes.array, + handleChange: PropTypes.func, renderInput: PropTypes.func, - section: PropTypes.object.isRequired, + section: PropTypes.object, showNestedForm: PropTypes.bool, styles: PropTypes.object, - values: PropTypes.object.isRequired, + values: PropTypes.object, }; export default WithFormSection(EditFormSection); // eslint-disable-line new-cap diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionNested/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionNested/index.js index c9bbe7b6b6..46db6ecedc 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionNested/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionNested/index.js @@ -81,13 +81,13 @@ class EditFormSectionNested extends React.Component { // eslint-disable-line rea } EditFormSectionNested.propTypes = { - formErrors: PropTypes.array.isRequired, - handleChange: PropTypes.func.isRequired, + formErrors: PropTypes.array, + handleChange: PropTypes.func, renderInput: PropTypes.func, section: PropTypes.oneOfType([ PropTypes.array, PropTypes.object, - ]).isRequired, + ]), styles: PropTypes.object, value: PropTypes.object, values: PropTypes.object, diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js index 8f4656a0ce..e8f6e22e01 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/EditFormSectionSubNested/index.js @@ -24,11 +24,11 @@ class EditFormSectionSubNested extends React.Component { // eslint-disable-line } EditFormSectionSubNested.propTypes = { - renderInput: PropTypes.func.isRequired, + renderInput: PropTypes.func, section: PropTypes.oneOfType([ PropTypes.array, PropTypes.object, - ]).isRequired, + ]), styles: PropTypes.object, }; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/HeaderNav/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/HeaderNav/index.js index a68ee88ba8..36081b9f4d 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/HeaderNav/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/HeaderNav/index.js @@ -49,8 +49,8 @@ class HeaderNav extends React.Component { // eslint-disable-line react/prefer-st } HeaderNav.propTypes = { - links: PropTypes.array.isRequired, - path: PropTypes.string.isRequired, - renderListComponent: PropTypes.bool.isRequired, + links: PropTypes.array, + path: PropTypes.string, + renderListComponent: PropTypes.bool, } export default HeaderNav; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputEnum/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputEnum/index.js index 2458b6926b..1f8240e0e9 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputEnum/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputEnum/index.js @@ -44,12 +44,12 @@ class InputEnum extends React.Component { // eslint-disable-line react/prefer-st } InputEnum.propTypes = { - customBootstrapClass: PropTypes.string.isRequired, - handleChange: PropTypes.func.isRequired, - name: PropTypes.string.isRequired, - selectOptions: PropTypes.array.isRequired, - target: PropTypes.string.isRequired, - value: PropTypes.any.isRequired, + customBootstrapClass: PropTypes.string, + handleChange: PropTypes.func, + name: PropTypes.string, + selectOptions: PropTypes.array, + target: PropTypes.string, + value: PropTypes.any, } export default InputEnum; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputNumber/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputNumber/index.js index 5f98ab5a73..b1fa747872 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputNumber/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputNumber/index.js @@ -169,19 +169,19 @@ InputNumber.propTypes = { PropTypes.array, ]).isRequired, handleBlur: PropTypes.func, - handleChange: PropTypes.func.isRequired, + handleChange: PropTypes.func, handleFocus: PropTypes.func, inputDescription: PropTypes.string, - name: PropTypes.string.isRequired, + name: PropTypes.string, noErrorsDescription: PropTypes.bool, placeholder: PropTypes.string, styles: PropTypes.object, - target: PropTypes.string.isRequired, - validations: PropTypes.object.isRequired, + target: PropTypes.string, + validations: PropTypes.object, value: PropTypes.oneOfType([ PropTypes.number, PropTypes.string, - ]).isRequired, + ]), } export default WithInput(InputNumber); // eslint-disable-line new-cap diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputPassword/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputPassword/index.js index 5ffd0b4120..fa6949e329 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputPassword/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputPassword/index.js @@ -144,20 +144,20 @@ class InputPassword extends React.Component { // eslint-disable-line react/prefe } InputPassword.propTypes = { - customBootstrapClass: PropTypes.string.isRequired, - deactivateErrorHighlight: PropTypes.bool.isRequired, - errors: PropTypes.array.isRequired, - handleBlur: PropTypes.func.isRequired, - handleChange: PropTypes.func.isRequired, - handleFocus: PropTypes.func.isRequired, - inputDescription: PropTypes.string.isRequired, - name: PropTypes.string.isRequired, - noErrorsDescription: PropTypes.bool.isRequired, - placeholder: PropTypes.string.isRequired, - styles: PropTypes.object.isRequired, - target: PropTypes.string.isRequired, - validations: PropTypes.object.isRequired, - value: PropTypes.string.isRequired, + customBootstrapClass: PropTypes.string, + deactivateErrorHighlight: PropTypes.bool, + errors: PropTypes.array, + handleBlur: PropTypes.func, + handleChange: PropTypes.func, + handleFocus: PropTypes.func, + inputDescription: PropTypes.string, + name: PropTypes.string, + noErrorsDescription: PropTypes.bool, + placeholder: PropTypes.string, + styles: PropTypes.object, + target: PropTypes.string, + validations: PropTypes.object, + value: PropTypes.string, }; export default WithInput(InputPassword); // eslint-disable-line new-cap diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/index.js index c805c33b93..4150a3d2c6 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/index.js @@ -23,7 +23,7 @@ class InputSelect extends React.Component { // eslint-disable-line react/prefer- const requiredClass = this.props.validations.required && this.props.addRequiredInputDesign ? styles.requiredClass : ''; return ( -
+
@@ -35,13 +35,15 @@ class InputSelect extends React.Component { // eslint-disable-line react/prefer- value={this.props.value} > {map(this.props.selectOptions, (option, key) => ( - - {(message) => ( - - )} - + option.name ? + + {(message) => ( + + )} + : + ))}
@@ -50,17 +52,17 @@ class InputSelect extends React.Component { // eslint-disable-line react/prefer- } InputSelect.propTypes = { - addRequiredInputDesign: PropTypes.bool.isRequired, - customBootstrapClass: PropTypes.string.isRequired, - handleChange: PropTypes.func.isRequired, - name: PropTypes.string.isRequired, + addRequiredInputDesign: PropTypes.bool, + customBootstrapClass: PropTypes.string, + handleChange: PropTypes.func, + name: PropTypes.string, selectOptions: PropTypes.oneOfType([ - PropTypes.array.isRequired, - PropTypes.object.isRequired, // TODO remove - ]).isRequired, - target: PropTypes.string.isRequired, - validations: PropTypes.object.isRequired, - value: PropTypes.string.isRequired, + PropTypes.array, + PropTypes.object, + ]), + target: PropTypes.string, + validations: PropTypes.object, + value: PropTypes.string, }; export default InputSelect; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/styles.scss b/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/styles.scss index c14962b371..f5f0dc4667 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/styles.scss +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputSelect/styles.scss @@ -27,3 +27,34 @@ content: "*"; } } + + +.input { + margin-bottom: 1.5rem; + font-size: 1.3rem; + font-family: Lato; + -webkit-font-smoothing: antialiased; + > label { + margin-bottom: 0; + font-weight: 500; + text-transform: capitalize; + } + + > select { + margin-top: .9rem; + padding-top: 0rem; + padding-left: 1rem; + height: 3.4rem !important; + line-height: 3.2rem; + border: 1px solid #E3E9F3; + border-radius: 0.25rem; + -moz-appearance: none; + -webkit-appearance: none; + font-size: 1.3rem; + font-family: Lato !important; + background-position: right -1px center; + background-repeat: no-repeat; + background-image: url('../../assets/images/background_input.svg'); + } + +} diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js index 1c1d922308..7d0cbf1f82 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js @@ -193,15 +193,15 @@ InputText.propTypes = { deactivateErrorHighlight: PropTypes.bool, errors: PropTypes.array, handleBlur: PropTypes.func, - handleChange: PropTypes.func.isRequired, + handleChange: PropTypes.func, handleFocus: PropTypes.func, inputDescription: PropTypes.string, - name: PropTypes.string.isRequired, + name: PropTypes.string, noErrorsDescription: PropTypes.bool, placeholder: PropTypes.string, styles: PropTypes.object, - target: PropTypes.string.isRequired, - validations: PropTypes.object.isRequired, + target: PropTypes.string, + validations: PropTypes.object, value: PropTypes.string, } diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputToggle/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputToggle/index.js index 6493f0e828..de088edfbd 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/InputToggle/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputToggle/index.js @@ -72,12 +72,12 @@ class InputToggle extends React.Component { // eslint-disable-line react/prefer- } InputToggle.propTypes = { - customBootstrapClass: PropTypes.string.isRequired, - handleChange: PropTypes.func.isRequired, - hiddenLabel: PropTypes.bool.isRequired, + customBootstrapClass: PropTypes.string, + handleChange: PropTypes.func, + hiddenLabel: PropTypes.bool, isChecked: PropTypes.bool, - name: PropTypes.string.isRequired, - target: PropTypes.string.isRequired, + name: PropTypes.string, + target: PropTypes.string, } export default InputToggle; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/List/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/List/index.js index 4fd80f1404..d43109f175 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/List/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/List/index.js @@ -147,17 +147,17 @@ List.propTypes = { formErrors: PropTypes.array, handlei18n: PropTypes.bool, handleListPopUpSubmit: PropTypes.func, - listButtonLabel: PropTypes.string.isRequired, + listButtonLabel: PropTypes.string, listItems: PropTypes.array, listTitle: PropTypes.oneOfType([ - PropTypes.string.isRequired, - PropTypes.object.isRequired, - ]).isRequired, + PropTypes.string, + PropTypes.object, + ]), noListButtonPopUp: PropTypes.bool, renderRow: PropTypes.oneOfType([ - PropTypes.bool.isRequired, - PropTypes.func.isRequired, - ]).isRequired, + PropTypes.bool, + PropTypes.func, + ]), } export default List; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/PluginLeftMenuSection/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/PluginLeftMenuSection/index.js index 959ea9d2df..98ec7a3ff0 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/PluginLeftMenuSection/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/PluginLeftMenuSection/index.js @@ -38,9 +38,9 @@ class PluginLeftMenuSection extends React.Component { // eslint-disable-line rea } PluginLeftMenuSection.propTypes = { - environments: PropTypes.array.isRequired, + environments: PropTypes.array, envParams: PropTypes.string, - section: PropTypes.object.isRequired, + section: PropTypes.object, }; export default PluginLeftMenuSection; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/PopUpForm/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpForm/index.js index b9d7a46bd4..21974d2c1e 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/PopUpForm/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpForm/index.js @@ -45,13 +45,13 @@ class PopUpForm extends React.Component { // eslint-disable-line react/prefer-st } PopUpForm.propTypes = { - renderInput: PropTypes.func.isRequired, + renderInput: PropTypes.func, renderPopUpForm: PropTypes.oneOfType([ PropTypes.func, PropTypes.bool, - ]).isRequired, - resetToggleDefaultConnection: PropTypes.func.isRequired, - sections: PropTypes.array.isRequired, + ]), + resetToggleDefaultConnection: PropTypes.func, + sections: PropTypes.array, }; export default WithFormSection(PopUpForm); // eslint-disable-line new-cap diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/index.js index 43b56f9eb3..46b9d58880 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/index.js @@ -69,11 +69,11 @@ class PopUpWarning extends React.Component { // eslint-disable-line react/prefer PopUpWarning.propTypes = { dangerMessage: PropTypes.string, - handleConfirm: PropTypes.func.isRequired, + handleConfirm: PropTypes.func, handleConfirmDanger: PropTypes.func, - isOpen: PropTypes.bool.isRequired, + isOpen: PropTypes.bool, showDanger: PropTypes.bool, - toggleModal: PropTypes.func.isRequired, + toggleModal: PropTypes.func, warningMessage: PropTypes.string, } diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js index 4468318093..8817714c4a 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js @@ -131,12 +131,12 @@ class RowDatabase extends React.Component { // eslint-disable-line react/prefer- } RowDatabase.propTypes = { - data: PropTypes.object.isRequired, - error: PropTypes.bool.isRequired, - formErrors: PropTypes.array.isRequired, - getDatabase: PropTypes.func.isRequired, - handleDatabaseDelete: PropTypes.func.isRequired, - handleSubmit: PropTypes.func.isRequired, + data: PropTypes.object, + error: PropTypes.bool, + formErrors: PropTypes.array, + getDatabase: PropTypes.func, + handleDatabaseDelete: PropTypes.func, + handleSubmit: PropTypes.func, }; export default RowDatabase; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/RowLanguage/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/RowLanguage/index.js index 666ac7f8fd..995c946ed7 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/RowLanguage/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/RowLanguage/index.js @@ -92,11 +92,11 @@ class RowLanguage extends React.Component { // eslint-disable-line react/prefer- RowLanguage.propTypes = { active: PropTypes.bool, - changeDefaultLanguage: PropTypes.func.isRequired, - handleLanguageDelete: PropTypes.func.isRequired, - listLanguages: PropTypes.object.isRequired, - liStyles: PropTypes.object.isRequired, - name: PropTypes.string.isRequired, + changeDefaultLanguage: PropTypes.func, + handleLanguageDelete: PropTypes.func, + listLanguages: PropTypes.object, + liStyles: PropTypes.object, + name: PropTypes.string, }; export default RowLanguage; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/SelectOptionLanguage/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/SelectOptionLanguage/index.js index 5cc0ad081a..4e77ff5d4f 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/components/SelectOptionLanguage/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/SelectOptionLanguage/index.js @@ -39,10 +39,10 @@ class SelectOptionLanguage extends React.Component { // eslint-disable-line reac } SelectOptionLanguage.propTypes = { - isFocused: PropTypes.bool.isRequired, - onFocus: PropTypes.func.isRequired, - onSelect: PropTypes.func.isRequired, - option: PropTypes.object.isRequired, + isFocused: PropTypes.bool, + onFocus: PropTypes.func, + onSelect: PropTypes.func, + option: PropTypes.object, }; export default SelectOptionLanguage; diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js index cac121a9a8..cb3ef39560 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/WithFormSection/index.js @@ -21,13 +21,13 @@ const WithFormSection = (InnerComponent) => class extends React.Component { static propTypes = { addRequiredInputDesign: PropTypes.bool, cancelAction: PropTypes.bool, - formErrors: PropTypes.array.isRequired, - handleChange: PropTypes.func.isRequired, + formErrors: PropTypes.array, + handleChange: PropTypes.func, section: PropTypes.oneOfType([ PropTypes.object, PropTypes.array, ]), - values: PropTypes.object.isRequired, + values: PropTypes.object, } constructor(props) { diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/WithInput/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/WithInput/index.js index 59b92288a5..54c32b168a 100755 --- a/packages/strapi-plugin-settings-manager/admin/src/components/WithInput/index.js +++ b/packages/strapi-plugin-settings-manager/admin/src/components/WithInput/index.js @@ -7,8 +7,6 @@ import styles from './styles.scss'; const WithInput = (InnerInput) => class extends React.Component { // eslint-disable-line react/prefer-stateless-function - - // TODO handle state and props render() { return (