From 2f69d82734a5fbb92cfb9c61041c355a48bae967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maren=20S=C3=BCwer?= Date: Tue, 2 Oct 2018 13:34:04 +0200 Subject: [PATCH] refactoring --- .../ui-components/src/LabelWithHelpIcon.js | 54 +++++++++++++++++++ .../ui-components/src/forms/InputField.js | 36 +++---------- .../ui-components/src/forms/Select.js | 32 +++-------- .../ui-components/src/forms/Textarea.js | 34 +++--------- .../packages/ui-components/src/index.js | 1 + .../config/components/form/AdminSettings.js | 2 - .../components/table/AdminGroupTable.js | 1 + .../config/components/table/AdminUserTable.js | 1 + .../components/table/ArrayConfigTable.js | 9 ++-- scm-ui/src/groups/components/GroupForm.js | 1 - .../src/groups/components/MemberNameTable.js | 10 +++- 11 files changed, 90 insertions(+), 91 deletions(-) create mode 100644 scm-ui-components/packages/ui-components/src/LabelWithHelpIcon.js diff --git a/scm-ui-components/packages/ui-components/src/LabelWithHelpIcon.js b/scm-ui-components/packages/ui-components/src/LabelWithHelpIcon.js new file mode 100644 index 0000000000..f83f57b519 --- /dev/null +++ b/scm-ui-components/packages/ui-components/src/LabelWithHelpIcon.js @@ -0,0 +1,54 @@ +//@flow +import React from "react"; +import {Help} from "./index"; + +type Props = { + label: string, + helpText?: string +}; + +class LabelWithHelpIcon extends React.Component { + + renderLabel = () => { + const label = this.props.label; + if (label) { + return ; + } + return ""; + }; + + renderHelp = () => { + const helpText = this.props.helpText; + if(helpText){ + return ( +
+ +
); + } + else + return null; + }; + + renderLabelWithHelpIcon = () => { + if(this.props.label){ + return( +
+
+ {this.renderLabel()} +
+ {this.renderHelp()} +
+ ) + } + else + return null; + }; + + render() { + return ( + this.renderLabelWithHelpIcon() + ); + } +} + +export default LabelWithHelpIcon; diff --git a/scm-ui-components/packages/ui-components/src/forms/InputField.js b/scm-ui-components/packages/ui-components/src/forms/InputField.js index 83d79ce43b..4d9208d41f 100644 --- a/scm-ui-components/packages/ui-components/src/forms/InputField.js +++ b/scm-ui-components/packages/ui-components/src/forms/InputField.js @@ -1,7 +1,7 @@ //@flow import React from "react"; import classNames from "classnames"; -import {Help, Page} from "../index"; +import {LabelWithHelpIcon} from "../index"; type Props = { label?: string, @@ -35,26 +35,6 @@ class InputField extends React.Component { this.props.onChange(event.target.value); }; - renderLabel = () => { - const label = this.props.label; - if (label) { - return ; - } - return ""; - }; - - renderHelp = () => { - const helpText = this.props.helpText; - if(helpText){ - return ( -
- -
); - } - else - return null; - }; - handleKeyPress = (event: SyntheticKeyboardEvent) => { const onReturnPressed = this.props.onReturnPressed; if (!onReturnPressed) { @@ -73,7 +53,9 @@ class InputField extends React.Component { value, validationError, errorMessage, - disabled + disabled, + label, + helpText } = this.props; const errorView = validationError ? "is-danger" : ""; const helper = validationError ? ( @@ -83,12 +65,10 @@ class InputField extends React.Component { ); return (
-
-
- {this.renderLabel()} -
- {this.renderHelp()} -
+
{ diff --git a/scm-ui-components/packages/ui-components/src/forms/Select.js b/scm-ui-components/packages/ui-components/src/forms/Select.js index ad8077d5bf..902d9c36dd 100644 --- a/scm-ui-components/packages/ui-components/src/forms/Select.js +++ b/scm-ui-components/packages/ui-components/src/forms/Select.js @@ -1,6 +1,6 @@ //@flow import React from "react"; -import {Help} from "../index"; +import {LabelWithHelpIcon} from "../index"; export type SelectItem = { value: string, @@ -30,33 +30,15 @@ class Select extends React.Component { this.props.onChange(event.target.value); }; - renderLabel = () => { - const label = this.props.label; - if (label) { - return ; - } - return ""; - }; - - renderHelp = () => { - const helpText = this.props.helpText; - if(helpText){ - return ( -
- -
); - } - else - return null; - }; - render() { - const { options, value } = this.props; + const { options, value, label, helpText } = this.props; return (
- {this.renderLabel()} -
+
- {this.renderHelp()} -
); } diff --git a/scm-ui-components/packages/ui-components/src/forms/Textarea.js b/scm-ui-components/packages/ui-components/src/forms/Textarea.js index 2239581f0e..f1bb773813 100644 --- a/scm-ui-components/packages/ui-components/src/forms/Textarea.js +++ b/scm-ui-components/packages/ui-components/src/forms/Textarea.js @@ -1,6 +1,6 @@ //@flow import React from "react"; -import {Help} from "../index"; +import {LabelWithHelpIcon} from "../index"; export type SelectItem = { value: string, @@ -22,37 +22,15 @@ class Textarea extends React.Component { this.props.onChange(event.target.value); }; - renderLabel = () => { - const label = this.props.label; - if (label) { - return ; - } - return ""; - }; - - renderHelp = () => { - const helpText = this.props.helpText; - if(helpText){ - return ( -
- -
); - } - else - return null; - }; - render() { - const { placeholder, value } = this.props; + const { placeholder, value, label, helpText } = this.props; return (
-
-
- {this.renderLabel()} -
- {this.renderHelp()} -
+