mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 01:15:44 +01:00
add systemRoleTag for systemRoles
This commit is contained in:
35
scm-ui/src/config/components/SystemRoleTag.js
Normal file
35
scm-ui/src/config/components/SystemRoleTag.js
Normal file
@@ -0,0 +1,35 @@
|
||||
//@flow
|
||||
import React from "react";
|
||||
import injectSheet from "react-jss";
|
||||
import classNames from "classnames";
|
||||
import { translate } from "react-i18next";
|
||||
|
||||
type Props = {
|
||||
system?: boolean,
|
||||
classes: any,
|
||||
t: string => string
|
||||
};
|
||||
|
||||
const styles = {
|
||||
tag: {
|
||||
marginLeft: "0.75rem",
|
||||
verticalAlign: "inherit"
|
||||
}
|
||||
};
|
||||
|
||||
class SystemRoleTag extends React.Component<Props> {
|
||||
render() {
|
||||
const { system, classes, t } = this.props;
|
||||
|
||||
if (system) {
|
||||
return (
|
||||
<span className={classNames("tag is-dark", classes.tag)}>
|
||||
{t("roles.system")}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export default injectSheet(styles)(translate("config")(SystemRoleTag));
|
||||
@@ -2,6 +2,7 @@
|
||||
import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import type { Role } from "@scm-manager/ui-types";
|
||||
import SystemRoleTag from "../SystemRoleTag";
|
||||
|
||||
type Props = {
|
||||
baseUrl: string,
|
||||
@@ -9,8 +10,15 @@ type Props = {
|
||||
};
|
||||
|
||||
class PermissionRoleRow extends React.Component<Props> {
|
||||
renderLink(to: string, label: string) {
|
||||
return <Link to={to}>{label}</Link>;
|
||||
renderLink(to: string, label: string, system?: boolean) {
|
||||
if (!system) {
|
||||
return <Link to={to}>{label}</Link>;
|
||||
}
|
||||
return (
|
||||
<>
|
||||
{label} <SystemRoleTag system={system} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
render() {
|
||||
@@ -18,7 +26,7 @@ class PermissionRoleRow extends React.Component<Props> {
|
||||
const to = `${baseUrl}/${encodeURIComponent(role.name)}/edit`;
|
||||
return (
|
||||
<tr>
|
||||
<td>{this.renderLink(to, role.name)}</td>
|
||||
<td>{this.renderLink(to, role.name, !role._links.update)}</td>
|
||||
</tr>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user