added extensionpoints + rehang gitplugin config

This commit is contained in:
Florian Scholdei
2019-01-23 15:42:15 +01:00
parent 2e3fcbd860
commit 7d0570e7ee
7 changed files with 92 additions and 35 deletions

View File

@@ -59,7 +59,7 @@ class ConfigurationBinder {
});
// bind navigation link to extension point
binder.bind("repository.navigation", RepoNavLink, repoPredicate);
binder.bind("repository.subnavigation", RepoNavLink, repoPredicate);
// route for global configuration, passes the current repository to component

View File

@@ -57,6 +57,7 @@
}
},
"repositoryForm": {
"subtitle": "Edit Repository",
"submit": "Save"
},
"sources": {

View File

@@ -18,6 +18,7 @@ import {
} from "@scm-manager/ui-components";
import ChangeUserPassword from "./ChangeUserPassword";
import ProfileInfo from "./ProfileInfo";
import {ExtensionPoint} from "@scm-manager/ui-extensions";
type Props = {
me: Me,
@@ -58,6 +59,11 @@ class Profile extends React.Component<Props, State> {
);
}
const extensionProps = {
me,
url
};
return (
<Page title={me.displayName}>
<div className="columns">
@@ -83,6 +89,11 @@ class Profile extends React.Component<Props, State> {
to={`${url}/settings/password`}
label={t("profile.changePasswordNavLink")}
/>
<ExtensionPoint
name="profile.subnavigation"
props={extensionProps}
renderAll={true}
/>
</SubNavigation>
</Section>
</Navigation>

View File

@@ -138,6 +138,7 @@ class SingleGroup extends React.Component<Props> {
group={group}
permissionsUrl={`${url}/settings/permissions`}
/>
<ExtensionPoint name="group.subnavigation" props={extensionProps} renderAll={true} />
</SubNavigation>
</Section>
</Navigation>

View File

@@ -82,7 +82,15 @@ class RepositoryForm extends React.Component<Props, State> {
const { loading, t } = this.props;
const repository = this.state.repository;
let subtitle = null;
if (this.props.repository) {
// edit existing repo
subtitle = <Subtitle subtitle={t("repositoryForm.subtitle")} />;
}
return (
<>
{subtitle}
<form onSubmit={this.submit}>
{this.renderCreateOnlyFields()}
<InputField
@@ -106,6 +114,7 @@ class RepositoryForm extends React.Component<Props, State> {
label={t("repositoryForm.submit")}
/>
</form>
</>
);
}

View File

@@ -1,18 +1,31 @@
//@flow
import React from "react";
import {fetchRepoByName, getFetchRepoFailure, getRepository, isFetchRepoPending} from "../modules/repos";
import {
fetchRepoByName,
getFetchRepoFailure,
getRepository,
isFetchRepoPending
} from "../modules/repos";
import {connect} from "react-redux";
import {Route, Switch} from "react-router-dom";
import type {Repository} from "@scm-manager/ui-types";
import { connect } from "react-redux";
import { Route, Switch } from "react-router-dom";
import type { Repository } from "@scm-manager/ui-types";
import {ErrorPage, Loading, Navigation, SubNavigation, NavLink, Page, Section} from "@scm-manager/ui-components";
import {translate} from "react-i18next";
import {
ErrorPage,
Loading,
Navigation,
SubNavigation,
NavLink,
Page,
Section
} from "@scm-manager/ui-components";
import { translate } from "react-i18next";
import RepositoryDetails from "../components/RepositoryDetails";
import GeneralRepo from "./GeneralRepo";
import Permissions from "../permissions/containers/Permissions";
import type {History} from "history";
import type { History } from "history";
import GeneralRepoNavLink from "../components/GeneralRepoNavLink";
import BranchRoot from "./ChangesetsRoot";
@@ -20,8 +33,8 @@ import ChangesetView from "./ChangesetView";
import PermissionsNavLink from "../components/PermissionsNavLink";
import Sources from "../sources/containers/Sources";
import RepositoryNavLink from "../components/RepositoryNavLink";
import {getRepositoriesLink} from "../../modules/indexResource";
import {ExtensionPoint} from "@scm-manager/ui-extensions";
import { getRepositoriesLink } from "../../modules/indexResource";
import { ExtensionPoint } from "@scm-manager/ui-extensions";
type Props = {
namespace: string,
@@ -159,7 +172,10 @@ class RepositoryRoot extends React.Component<Props> {
<div className="column">
<Navigation>
<Section label={t("repositoryRoot.menu.navigationLabel")}>
<NavLink to={url} label={t("repositoryRoot.menu.informationNavLink")} />
<NavLink
to={url}
label={t("repositoryRoot.menu.informationNavLink")}
/>
<RepositoryNavLink
repository={repository}
linkName="changesets"
@@ -184,11 +200,19 @@ class RepositoryRoot extends React.Component<Props> {
to={`${url}/settings/general`}
label={t("repositoryRoot.menu.settingsNavLink")}
>
<GeneralRepoNavLink repository={repository} editUrl={`${url}/settings/general`} />
<GeneralRepoNavLink
repository={repository}
editUrl={`${url}/settings/general`}
/>
<PermissionsNavLink
permissionUrl={`${url}/settings/permissions`}
repository={repository}
/>
<ExtensionPoint
name="repository.subnavigation"
props={extensionProps}
renderAll={true}
/>
</SubNavigation>
</Section>
</Navigation>

View File

@@ -26,6 +26,7 @@ import { translate } from "react-i18next";
import { getUsersLink } from "../../modules/indexResource";
import SetUserPassword from "../components/SetUserPassword";
import SetPermissions from "../../permissions/components/SetPermissions";
import {ExtensionPoint} from "@scm-manager/ui-extensions";
type Props = {
name: string,
@@ -78,6 +79,11 @@ class SingleUser extends React.Component<Props> {
const url = this.matchedUrl();
const extensionProps = {
user,
url
};
return (
<Page title={user.displayName}>
<div className="columns">
@@ -123,6 +129,11 @@ class SingleUser extends React.Component<Props> {
user={user}
permissionsUrl={`${url}/settings/permissions`}
/>
<ExtensionPoint
name="user.subnavigation"
props={extensionProps}
renderAll={true}
/>
</SubNavigation>
</Section>
</Navigation>