Extension points for information page tables

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>

Reviewed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
This commit is contained in:
Laura Gorzitze
2023-03-28 18:10:18 +02:00
committed by SCM-Manager
parent 31117681e4
commit d4e03c6f70
5 changed files with 24 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
- type: added
description: Extension points for bottom of information table

View File

@@ -665,3 +665,19 @@ export type RepositoryDeleteButton = RenderableExtensionPointDefinition<
"repository.deleteButton", "repository.deleteButton",
{ repository: Repository } { repository: Repository }
>; >;
export type RepositoryInformationTableBottom = RenderableExtensionPointDefinition<
"repository.information.table.bottom",
{ repository: Repository }
>;
export type UserInformationTableBottom = RenderableExtensionPointDefinition<
"user.information.table.bottom",
{ user: User }
>;
export type GroupInformationTableBottom = RenderableExtensionPointDefinition<
"group.information.table.bottom",
{ group: Group }
>;

View File

@@ -26,6 +26,7 @@ import { WithTranslation, withTranslation } from "react-i18next";
import { Group } from "@scm-manager/ui-types"; import { Group } from "@scm-manager/ui-types";
import { Checkbox, DateFromNow, InfoTable } from "@scm-manager/ui-components"; import { Checkbox, DateFromNow, InfoTable } from "@scm-manager/ui-components";
import GroupMember from "./GroupMember"; import GroupMember from "./GroupMember";
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
type Props = WithTranslation & { type Props = WithTranslation & {
group: Group; group: Group;
@@ -68,6 +69,7 @@ class Details extends React.Component<Props> {
</td> </td>
</tr> </tr>
{this.renderMembers()} {this.renderMembers()}
<ExtensionPoint<extensionPoints.GroupInformationTableBottom> name="group.information.table.bottom" props={{group}} renderAll={true} />
</tbody> </tbody>
</InfoTable> </InfoTable>
); );

View File

@@ -25,6 +25,7 @@ import React from "react";
import { WithTranslation, withTranslation } from "react-i18next"; import { WithTranslation, withTranslation } from "react-i18next";
import { Repository } from "@scm-manager/ui-types"; import { Repository } from "@scm-manager/ui-types";
import { DateFromNow, InfoTable, MailLink } from "@scm-manager/ui-components"; import { DateFromNow, InfoTable, MailLink } from "@scm-manager/ui-components";
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
type Props = WithTranslation & { type Props = WithTranslation & {
repository: Repository; repository: Repository;
@@ -66,6 +67,7 @@ class RepositoryDetailTable extends React.Component<Props> {
<DateFromNow date={repository.lastModified} /> <DateFromNow date={repository.lastModified} />
</td> </td>
</tr> </tr>
<ExtensionPoint<extensionPoints.RepositoryInformationTableBottom> name="repository.information.table.bottom" props={{repository}} renderAll={true} />
</tbody> </tbody>
</InfoTable> </InfoTable>
); );

View File

@@ -34,6 +34,7 @@ import {
} from "@scm-manager/ui-components"; } from "@scm-manager/ui-components";
import { Icon } from "@scm-manager/ui-components"; import { Icon } from "@scm-manager/ui-components";
import PermissionOverview from "../PermissionOverview"; import PermissionOverview from "../PermissionOverview";
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
type Props = WithTranslation & { type Props = WithTranslation & {
user: User; user: User;
@@ -102,6 +103,7 @@ const Details: FC<Props> = ({ user }) => {
<DateFromNow date={user.lastModified} /> <DateFromNow date={user.lastModified} />
</td> </td>
</tr> </tr>
<ExtensionPoint<extensionPoints.UserInformationTableBottom> name="user.information.table.bottom" props={{user}} renderAll={true} />
</tbody> </tbody>
</InfoTable> </InfoTable>
{permissionOverview} {permissionOverview}