changed BranchView component to container and simplified BranchTable with new BranchRow

This commit is contained in:
Florian Scholdei
2019-03-29 10:02:53 +01:00
parent fe510d592a
commit 07948b51a8
4 changed files with 62 additions and 23 deletions

View File

@@ -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<Props> {
renderLink(to: string, label: string) {
return <Link to={to}>{label} <span className="tag is-dark">Default</span></Link>;
}
render() {
const { baseUrl, branch } = this.props;
const to = `${baseUrl}/${encodeURIComponent(branch.name)}/info`;
return (
<tr>
<td>{this.renderLink(to, branch.name)}</td>
</tr>
);
}
}

View File

@@ -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<Props> {
class BranchTable extends React.Component<Props> {
render() {
const { baseUrl, branches, t } = this.props;
const { t } = this.props;
return (
<table className="card-table table is-hoverable is-fullwidth">
<thead>
<tr>
<th>{t("branches.table.branches")}</th>
</tr>
<tr>
<th>{t("branches.table.branches")}</th>
</tr>
</thead>
<tbody>
{branches.map((branch, index) => {
const to = `${baseUrl}/${encodeURIComponent(branch.name)}/info`;
return (
<tr>
<td key={index}>
<Link to={to}>{branch.name}</Link>
</td>
</tr>
);
})}
</tbody>
<tbody>{this.renderRow()}</tbody>
</table>
);
}
renderRow() {
const { baseUrl, branches } = this.props;
let rowContent = null;
if (branches) {
rowContent = branches.map((branch, index) => {
return <BranchRow key={index} baseUrl={baseUrl} branch={branch} />;
});
}
return rowContent;
}
}
export default translate("users")(UserTable);
export default translate("users")(BranchTable);

View File

@@ -1,31 +0,0 @@
// @flow
import React from "react";
import BranchDetailTable from "./BranchDetailTable";
import { ExtensionPoint } from "@scm-manager/ui-extensions";
import type { Repository, Branch } from "@scm-manager/ui-types";
type Props = {
repository: Repository,
branch?: Branch // TODO: get branch from props
};
class BranchView extends React.Component<Props> {
render() {
const { repository, branch } = this.props;
return (
<div>
<BranchDetailTable repository={repository} branch={branch} />
<hr />
<div className="content">
<ExtensionPoint
name="repos.branch-details.information"
renderAll={true}
props={{ branch }}
/>
</div>
</div>
);
}
}
export default BranchView;