From 07948b51a8a663f372ef3f8dd3b481632e0e0722 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Fri, 29 Mar 2019 10:02:53 +0100 Subject: [PATCH] changed BranchView component to container and simplified BranchTable with new BranchRow --- .../repos/branches/components/BranchRow.js | 25 ++++++++++++ .../repos/branches/components/BranchTable.js | 38 +++++++++---------- .../{components => containers}/BranchView.js | 20 ++++++++-- scm-ui/src/repos/containers/RepositoryRoot.js | 2 +- 4 files changed, 62 insertions(+), 23 deletions(-) create mode 100644 scm-ui/src/repos/branches/components/BranchRow.js rename scm-ui/src/repos/branches/{components => containers}/BranchView.js (55%) diff --git a/scm-ui/src/repos/branches/components/BranchRow.js b/scm-ui/src/repos/branches/components/BranchRow.js new file mode 100644 index 0000000000..2a12e64c9e --- /dev/null +++ b/scm-ui/src/repos/branches/components/BranchRow.js @@ -0,0 +1,25 @@ +// @flow +import React from "react"; +import { Link } from "react-router-dom"; +import type { Branch } from "@scm-manager/ui-types"; + +type Props = { + baseUrl: string, + branch: Branch +}; + +export default class BranchRow extends React.Component { + renderLink(to: string, label: string) { + return {label} Default; + } + + render() { + const { baseUrl, branch } = this.props; + const to = `${baseUrl}/${encodeURIComponent(branch.name)}/info`; + return ( + + {this.renderLink(to, branch.name)} + + ); + } +} diff --git a/scm-ui/src/repos/branches/components/BranchTable.js b/scm-ui/src/repos/branches/components/BranchTable.js index 7ccd09290a..e85fa0d625 100644 --- a/scm-ui/src/repos/branches/components/BranchTable.js +++ b/scm-ui/src/repos/branches/components/BranchTable.js @@ -1,8 +1,8 @@ // @flow import React from "react"; import { translate } from "react-i18next"; +import BranchRow from "./BranchRow"; import type { Branch } from "@scm-manager/ui-types"; -import { Link } from "react-router-dom"; type Props = { baseUrl: string, @@ -10,31 +10,31 @@ type Props = { branches: Branch[] }; -class UserTable extends React.Component { +class BranchTable extends React.Component { render() { - const { baseUrl, branches, t } = this.props; + const { t } = this.props; return ( - - - + + + - - {branches.map((branch, index) => { - const to = `${baseUrl}/${encodeURIComponent(branch.name)}/info`; - return ( - - - - ); - })} - + {this.renderRow()}
{t("branches.table.branches")}
{t("branches.table.branches")}
- {branch.name} -
); } + + renderRow() { + const { baseUrl, branches } = this.props; + let rowContent = null; + if (branches) { + rowContent = branches.map((branch, index) => { + return ; + }); + } + return rowContent; + } } -export default translate("users")(UserTable); +export default translate("users")(BranchTable); diff --git a/scm-ui/src/repos/branches/components/BranchView.js b/scm-ui/src/repos/branches/containers/BranchView.js similarity index 55% rename from scm-ui/src/repos/branches/components/BranchView.js rename to scm-ui/src/repos/branches/containers/BranchView.js index ebaa779be4..a225f0c7fb 100644 --- a/scm-ui/src/repos/branches/components/BranchView.js +++ b/scm-ui/src/repos/branches/containers/BranchView.js @@ -1,12 +1,15 @@ // @flow import React from "react"; -import BranchDetailTable from "./BranchDetailTable"; +import BranchDetailTable from "../components/BranchDetailTable"; import { ExtensionPoint } from "@scm-manager/ui-extensions"; import type { Repository, Branch } from "@scm-manager/ui-types"; +import {connect} from "react-redux"; +import {translate} from "react-i18next"; +import {getBranch} from "../../modules/branches"; type Props = { repository: Repository, - branch?: Branch // TODO: get branch from props + branch: Branch // TODO: get branch from props }; class BranchView extends React.Component { @@ -28,4 +31,15 @@ class BranchView extends React.Component { } } -export default BranchView; +const mapStateToProps = (state, ownProps) => { + const { repository } = ownProps; + const branch = getBranch(state, repository, "VisualStudio"); // TODO: !!! + return { + repository, + branch + }; +}; + +export default connect( + mapStateToProps +)(translate("repos")(BranchView)); diff --git a/scm-ui/src/repos/containers/RepositoryRoot.js b/scm-ui/src/repos/containers/RepositoryRoot.js index 817dc7baa2..538f6f4eee 100644 --- a/scm-ui/src/repos/containers/RepositoryRoot.js +++ b/scm-ui/src/repos/containers/RepositoryRoot.js @@ -24,7 +24,7 @@ import { translate } from "react-i18next"; import RepositoryDetails from "../components/RepositoryDetails"; import EditRepo from "./EditRepo"; import BranchesOverview from "../branches/containers/BranchesOverview"; -import BranchView from "../branches/components/BranchView"; +import BranchView from "../branches/containers/BranchView"; import CreateBranch from "../branches/containers/CreateBranch"; import Permissions from "../permissions/containers/Permissions";