diff --git a/scm-plugins/scm-legacy-plugin/package.json b/scm-plugins/scm-legacy-plugin/package.json new file mode 100644 index 0000000000..84f78f419a --- /dev/null +++ b/scm-plugins/scm-legacy-plugin/package.json @@ -0,0 +1,20 @@ +{ + "name": "@scm-manager/legacy-plugin", + "license": "BSD-3-Clause", + "main": "src/main/js/index.js", + "scripts": { + "build": "ui-bundler plugin", + "watch": "ui-bundler plugin -w", + "lint": "ui-bundler lint", + "flow": "flow check" + }, + "dependencies": { + "@scm-manager/ui-components": "latest", + "@scm-manager/ui-extensions": "^0.1.1", + "react-redux": "^5.0.7", + "@scm-manager/ui-types": "latest" + }, + "devDependencies": { + "@scm-manager/ui-bundler": "^0.0.25" + } +} diff --git a/scm-plugins/scm-legacy-plugin/src/main/js/DummyComponent.js b/scm-plugins/scm-legacy-plugin/src/main/js/DummyComponent.js new file mode 100644 index 0000000000..fd87f8e330 --- /dev/null +++ b/scm-plugins/scm-legacy-plugin/src/main/js/DummyComponent.js @@ -0,0 +1,15 @@ +//@flow +import React from "react"; +import { withRouter } from "react-router-dom"; + +class DummyComponent extends React.Component { + + render() { + return ( + <> + + ); + } +} + +export default withRouter(DummyComponent); diff --git a/scm-plugins/scm-legacy-plugin/src/main/js/index.js b/scm-plugins/scm-legacy-plugin/src/main/js/index.js new file mode 100644 index 0000000000..4ddb7a0b04 --- /dev/null +++ b/scm-plugins/scm-legacy-plugin/src/main/js/index.js @@ -0,0 +1,55 @@ +// @flow + +import React from "react"; +import { withRouter } from "react-router-dom"; +import { binder } from "@scm-manager/ui-extensions"; +import { ProtectedRoute, apiClient } from "@scm-manager/ui-components"; +import DummyComponent from "./DummyComponent"; + +type Props = { + authenticated?: boolean, + + //context objects + history: History +}; + +class LegacyRepositoryRedirect extends React.Component { + constructor(props: Props) { + super(props); + } + + redirectLegacyRepository() { + const { history } = this.props; + if (location.href && location.href.includes("#diffPanel;")) { + let splittedUrl = location.href.split(";"); + let repoId = splittedUrl[1]; + let changeSetId = splittedUrl[2]; + + apiClient.get("/legacy/repository/" + repoId) + .then(response => response.json()) + .then(payload => history.push("/repo/" + payload.namespace + "/" + payload.name + "/changesets/" + changeSetId) + ); + } + } + + render() { + const { authenticated } = this.props; + + return ( + <> + { + authenticated? + this.redirectLegacyRepository(): + + } + + ); + } +} + +binder.bind("legacyRepository.redirect", withRouter(LegacyRepositoryRedirect)); + diff --git a/scm-ui/src/containers/Main.js b/scm-ui/src/containers/Main.js index 129b11f5ba..59cd248e07 100644 --- a/scm-ui/src/containers/Main.js +++ b/scm-ui/src/containers/Main.js @@ -38,15 +38,6 @@ class Main extends React.Component { const { authenticated, links } = this.props; const redirectUrlFactory = binder.getExtension("main.redirect", this.props); let url = "/repos"; - if (location.href && location.href.includes("#diffPanel;")) { - let repoId = location.href.substring(location.href.search("#diffPanel;") + 11, location.href.search("#diffPanel;") + 21); - console.log("RepoId:"); - console.log(repoId); - apiClient.get("/legacy/repository/" + repoId).then(response => - console.log(JSON.parse(response)) - // this.props.history.push("/repo/" + response.responseBody.namespace + "/" + response.responseBody.name) - ); - } if (redirectUrlFactory) { url = redirectUrlFactory(this.props); } @@ -134,7 +125,11 @@ class Main extends React.Component { component={Profile} authenticated={authenticated} /> - +