Files
SCM-Manager/scm-ui-components/packages/ui-components/src/repos/changesets/ChangesetId.js

48 lines
940 B
JavaScript
Raw Normal View History

//@flow
2018-10-19 08:44:03 +02:00
import {Link} from "react-router-dom";
import React from "react";
2018-10-19 08:44:03 +02:00
import type {Changeset, Repository} from "@scm-manager/ui-types";
type Props = {
repository: Repository,
2018-10-18 14:40:35 +02:00
changeset: Changeset,
link: boolean
};
export default class ChangesetId extends React.Component<Props> {
2018-10-18 14:40:35 +02:00
static defaultProps = {
link: true
};
shortId = (changeset: Changeset) => {
return changeset.id.substr(0, 7);
};
renderLink = () => {
const { changeset, repository } = this.props;
return (
<Link
to={`/repo/${repository.namespace}/${repository.name}/changeset/${
changeset.id
}`}
>
2018-10-18 14:40:35 +02:00
{this.shortId(changeset)}
</Link>
);
2018-10-18 14:40:35 +02:00
};
renderText = () => {
const { changeset } = this.props;
return this.shortId(changeset);
};
render() {
const { link } = this.props;
if (link) {
return this.renderLink();
}
return this.renderText();
}
}