From bd26de83e2ba97b2d00848ff730a71a2c850bbff Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Fri, 25 Jan 2019 17:09:14 +0100 Subject: [PATCH] added radio component and used it in permissions --- .../packages/ui-components/src/forms/Radio.js | 45 ++++++++++++++ .../packages/ui-components/src/forms/index.js | 1 + .../components/CreatePermissionForm.js | 61 ++++++++----------- 3 files changed, 72 insertions(+), 35 deletions(-) create mode 100644 scm-ui-components/packages/ui-components/src/forms/Radio.js diff --git a/scm-ui-components/packages/ui-components/src/forms/Radio.js b/scm-ui-components/packages/ui-components/src/forms/Radio.js new file mode 100644 index 0000000000..2b1c626d7b --- /dev/null +++ b/scm-ui-components/packages/ui-components/src/forms/Radio.js @@ -0,0 +1,45 @@ +//@flow +import React from "react"; +import { Help } from "../index"; + +type Props = { + label?: string, + name?: string, + value?: string, + checked: boolean, + onChange?: (value: boolean, name?: string) => void, + disabled?: boolean, + helpText?: string +}; + +class Radio extends React.Component { + renderHelp = () => { + const helpText = this.props.helpText; + if (helpText) { + return ; + } + }; + + render() { + return ( +
+
+ +
+
+ ); + } +} + +export default Radio; diff --git a/scm-ui-components/packages/ui-components/src/forms/index.js b/scm-ui-components/packages/ui-components/src/forms/index.js index 8d27ab05cd..ef4d7a1ae4 100644 --- a/scm-ui-components/packages/ui-components/src/forms/index.js +++ b/scm-ui-components/packages/ui-components/src/forms/index.js @@ -4,6 +4,7 @@ export { default as AddEntryToTableField } from "./AddEntryToTableField.js"; export { default as AutocompleteAddEntryToTableField } from "./AutocompleteAddEntryToTableField.js"; export { default as MemberNameTable } from "./MemberNameTable.js"; export { default as Checkbox } from "./Checkbox.js"; +export { default as Radio } from "./Radio.js"; export { default as InputField } from "./InputField.js"; export { default as Select } from "./Select.js"; export { default as Textarea } from "./Textarea.js"; diff --git a/scm-ui/src/repos/permissions/components/CreatePermissionForm.js b/scm-ui/src/repos/permissions/components/CreatePermissionForm.js index 5fd8224be4..488ed7ce2b 100644 --- a/scm-ui/src/repos/permissions/components/CreatePermissionForm.js +++ b/scm-ui/src/repos/permissions/components/CreatePermissionForm.js @@ -1,7 +1,7 @@ // @flow import React from "react"; import { translate } from "react-i18next"; -import { Autocomplete, SubmitButton } from "@scm-manager/ui-components"; +import { Autocomplete, Radio, SubmitButton } from "@scm-manager/ui-components"; import TypeSelector from "./TypeSelector"; import type { PermissionCollection, @@ -132,43 +132,34 @@ class CreatePermissionForm extends React.Component { {t("permission.add-permission.add-permission-heading")}
-
- - -
- -
+ + +
- {this.renderAutocompletionField()} + {this.renderAutocompletionField()}
- +
-
-
+
+
{ disabled={!this.state.valid || this.state.name === ""} />
-
+
);