diff --git a/scm-ui/src/repos/branches/components/BranchForm.js b/scm-ui/src/repos/branches/components/BranchForm.js index 614a719338..fa14192c07 100644 --- a/scm-ui/src/repos/branches/components/BranchForm.js +++ b/scm-ui/src/repos/branches/components/BranchForm.js @@ -1,16 +1,103 @@ -//@flow +// @flow import React from "react"; +import { translate } from "react-i18next"; +import type { Repository, Branch } from "@scm-manager/ui-types"; +import { + Select, + InputField, + SubmitButton, + validation as validator +} from "@scm-manager/ui-components"; -type Props = {}; +type Props = { + submitForm: Branch => void, + repository: Repository, + branches: Branch[], + loading?: boolean, + t: string => string +}; + +type State = { + source?: string, + name?: string, + nameValidationError: boolean +}; + +class BranchForm extends React.Component { + constructor(props: Props) { + super(props); + + this.state = { + nameValidationError: false + }; + } + + isValid = () => { + return true; //TODO + }; + + submit = (event: Event) => { + event.preventDefault(); + if (this.isValid()) { + this.props.submitForm(this.state.branch); + } + }; -class CreateBranch extends React.Component { render() { + const { t, branches } = this.props; + const { loading } = this.state; + const options = branches.map(branch => ({ + label: branch.name, + value: branch.name + })); + return ( <> -

Form placeholder

+
+
+
+