2018-08-16 10:55:39 +02:00
|
|
|
//@flow
|
|
|
|
|
import React from "react";
|
|
|
|
|
import { translate } from "react-i18next";
|
2018-08-30 10:12:01 +02:00
|
|
|
import ArrayConfigTable from "./ArrayConfigTable";
|
2018-08-16 10:55:39 +02:00
|
|
|
|
|
|
|
|
type Props = {
|
|
|
|
|
adminGroups: string[],
|
2018-08-16 12:12:59 +02:00
|
|
|
onChange: (boolean, any, string) => void,
|
2018-08-30 10:12:01 +02:00
|
|
|
disabled: boolean,
|
|
|
|
|
|
|
|
|
|
// context props
|
|
|
|
|
t: string => string
|
2018-08-16 10:55:39 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
type State = {};
|
|
|
|
|
|
|
|
|
|
class AdminGroupTable extends React.Component<Props, State> {
|
|
|
|
|
render() {
|
2018-08-30 10:12:01 +02:00
|
|
|
const { t, disabled, adminGroups } = this.props;
|
2018-08-16 10:55:39 +02:00
|
|
|
return (
|
2018-08-30 10:12:01 +02:00
|
|
|
<ArrayConfigTable
|
|
|
|
|
items={adminGroups}
|
|
|
|
|
label={t("admin-settings.admin-groups")}
|
|
|
|
|
removeLabel={t("admin-settings.remove-group-button")}
|
|
|
|
|
onRemove={this.removeEntry}
|
|
|
|
|
disabled={disabled}
|
2018-10-02 13:34:04 +02:00
|
|
|
helpText={t("help.adminGroupsHelpText")}
|
2018-08-30 10:12:01 +02:00
|
|
|
/>
|
2018-08-16 10:55:39 +02:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2018-08-30 10:12:01 +02:00
|
|
|
removeEntry = (newGroups: string[]) => {
|
2018-08-16 10:55:39 +02:00
|
|
|
this.props.onChange(true, newGroups, "adminGroups");
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default translate("config")(AdminGroupTable);
|