From ab79b94bc0aaa23ee3becd8dfdad49708fe92e25 Mon Sep 17 00:00:00 2001 From: Mohamed Karray Date: Wed, 6 Mar 2019 17:24:50 +0100 Subject: [PATCH] add extension points to - redirect the repo route - add a repo top level navigation --- .../ui-components/src/forms/MarkdownView.js | 20 +++++++++++++++++++ .../packages/ui-components/src/forms/index.js | 1 + scm-ui/src/repos/containers/RepositoryRoot.js | 20 +++++++++++++++---- 3 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 scm-ui-components/packages/ui-components/src/forms/MarkdownView.js diff --git a/scm-ui-components/packages/ui-components/src/forms/MarkdownView.js b/scm-ui-components/packages/ui-components/src/forms/MarkdownView.js new file mode 100644 index 0000000000..c1f46f7881 --- /dev/null +++ b/scm-ui-components/packages/ui-components/src/forms/MarkdownView.js @@ -0,0 +1,20 @@ +//@flow +import React from "react"; + +type Props = { + content: string +}; + +class MarkdownView extends React.Component { + + render() { + const {content } = this.props; + return ( +
+ {content} +
+ ); + } +} + +export default MarkdownView; diff --git a/scm-ui-components/packages/ui-components/src/forms/index.js b/scm-ui-components/packages/ui-components/src/forms/index.js index ef4d7a1ae4..ae983cb147 100644 --- a/scm-ui-components/packages/ui-components/src/forms/index.js +++ b/scm-ui-components/packages/ui-components/src/forms/index.js @@ -11,4 +11,5 @@ export { default as Textarea } from "./Textarea.js"; export { default as PasswordConfirmation } from "./PasswordConfirmation.js"; export { default as LabelWithHelpIcon } from "./LabelWithHelpIcon.js"; export { default as DropDown } from "./DropDown.js"; +export { default as MarkdownView } from "./MarkdownView.js"; diff --git a/scm-ui/src/repos/containers/RepositoryRoot.js b/scm-ui/src/repos/containers/RepositoryRoot.js index 08d6aa9380..c0d3d919cd 100644 --- a/scm-ui/src/repos/containers/RepositoryRoot.js +++ b/scm-ui/src/repos/containers/RepositoryRoot.js @@ -8,7 +8,7 @@ import { } from "../modules/repos"; import { connect } from "react-redux"; -import { Route, Switch } from "react-router-dom"; +import {Redirect, Route, Switch} from "react-router-dom"; import type { Repository } from "@scm-manager/ui-types"; import { @@ -34,7 +34,7 @@ import PermissionsNavLink from "../components/PermissionsNavLink"; import Sources from "../sources/containers/Sources"; import RepositoryNavLink from "../components/RepositoryNavLink"; import {getLinks, getRepositoriesLink} from "../../modules/indexResource"; -import {ExtensionPoint} from "@scm-manager/ui-extensions"; +import {binder, ExtensionPoint} from "@scm-manager/ui-extensions"; type Props = { namespace: string, @@ -101,13 +101,20 @@ class RepositoryRoot extends React.Component { indexLinks }; + const redirectUrlFactory = binder.getExtension("repository.redirect", this.props); + let redirectedUrl =url+"/info"; + if (redirectUrlFactory){ + redirectedUrl = url + redirectUrlFactory(this.props); + } + return (
+ } /> @@ -172,8 +179,13 @@ class RepositoryRoot extends React.Component {
+