mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-08 14:35:45 +01:00
fix redirect
This commit is contained in:
@@ -77,7 +77,12 @@ class Breadcrumb extends React.Component<Props> {
|
||||
<ButtonGroup>
|
||||
<ExtensionPoint
|
||||
name="repos.sources.actionbar"
|
||||
props={{ baseUrl, branch: branch ? branch : defaultBranch, path, isBranchUrl: branches && branches.filter(b => b.name === revision).length > 0 }}
|
||||
props={{
|
||||
baseUrl,
|
||||
branch: branch ? branch : defaultBranch,
|
||||
path,
|
||||
isBranchUrl: branches &&
|
||||
branches.filter(b => b.name.replace("/", "%2F") === revision).length > 0 }}
|
||||
renderAll={true}
|
||||
/>
|
||||
</ButtonGroup>
|
||||
|
||||
@@ -61,44 +61,36 @@ class Sources extends React.Component<Props, State> {
|
||||
repository,
|
||||
revision,
|
||||
path,
|
||||
branches,
|
||||
baseUrl,
|
||||
fetchSources
|
||||
} = this.props;
|
||||
|
||||
fetchBranches(repository);
|
||||
fetchSources(repository, revision, path);
|
||||
|
||||
if (this.shouldRedirect()) {
|
||||
const defaultBranches = branches.filter(b => b.defaultBranch);
|
||||
|
||||
if (defaultBranches.length > 0)
|
||||
this.setState({ selectedBranch: defaultBranches[0] });
|
||||
this.props.history.push(`${baseUrl}/${defaultBranches[0].name}/`);
|
||||
}
|
||||
this.redirectToDefaultBranch();
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
const {
|
||||
fetchSources,
|
||||
repository,
|
||||
revision,
|
||||
path,
|
||||
branches,
|
||||
baseUrl
|
||||
} = this.props;
|
||||
const { fetchSources, repository, revision, path } = this.props;
|
||||
if (prevProps.revision !== revision || prevProps.path !== path) {
|
||||
fetchSources(repository, revision, path);
|
||||
}
|
||||
|
||||
this.redirectToDefaultBranch();
|
||||
}
|
||||
|
||||
redirectToDefaultBranch = () => {
|
||||
const { branches, baseUrl } = this.props;
|
||||
if (this.shouldRedirect()) {
|
||||
const defaultBranches = branches.filter(b => b.defaultBranch);
|
||||
|
||||
if (defaultBranches.length > 0)
|
||||
this.setState({ selectedBranch: defaultBranches[0] });
|
||||
this.props.history.push(`${baseUrl}/${defaultBranches[0].name}/`);
|
||||
}
|
||||
this.props.history.push(
|
||||
`${baseUrl}/${defaultBranches[0].name.replace("/", "%2F")}/`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
shouldRedirect = () => {
|
||||
const { branches, location } = this.props;
|
||||
|
||||
Reference in New Issue
Block a user