import React from "react"
import { Button, Modal } from "react-bootstrap"
import Toggle from "react-bootstrap-toggle";
export default function UserList(props) {
return (
Users
Users
# |
Name |
Activated |
Admin |
Polochon URL |
Polochon token |
Actions |
{props.users.map(function(el, index) {
return (
);
})}
);
}
function User(props) {
const polochonConfig = props.data.get("RawConfig").get("polochon");
const polochonURL = polochonConfig ? polochonConfig.get("url") : "-";
const polochonToken = polochonConfig ? polochonConfig.get("token") : "-";
return (
{props.data.get("id")} |
{props.data.get("Name")} |
|
|
{polochonURL} |
{polochonToken} |
|
);
}
function UserAdminStatus(props) {
const admin = props.data.get("Admin");
const className = admin ? "fa fa-check" : "fa fa-times";
return ();
}
function UserActivationStatus(props) {
const activated = props.data.get("Activated");
const className = activated ? "fa fa-check" : "fa fa-times text-danger";
return ();
}
class UserEdit extends React.PureComponent {
constructor(props) {
super(props);
// User props
const polochonConfig = props.data.get("RawConfig").get("polochon");
const polochonUrl = polochonConfig ? polochonConfig.get("url") : "";
const polochonToken = polochonConfig ? polochonConfig.get("token") : "";
// Functions
this.showModal = this.showModal.bind(this);
this.hideModal = this.hideModal.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
this.handleUrlInput = this.handleUrlInput.bind(this);
this.handleTokenInput = this.handleTokenInput.bind(this);
this.handleActivatedToggle = this.handleActivatedToggle.bind(this);
this.handleAdminToggle = this.handleAdminToggle.bind(this);
this.state = {
showModal: false,
polochonUrl: polochonUrl,
polochonToken: polochonToken,
activated: props.data.get("Activated"),
admin: props.data.get("Admin"),
};
}
showModal() {
this.setState({ showModal: true });
}
hideModal() {
this.setState({ showModal: false });
}
handleSubmit(e) {
if (e) { e.preventDefault(); }
this.props.updateUser({
userId: this.props.data.get("id"),
admin: this.state.admin,
activated: this.state.activated,
polochonUrl: this.state.polochonUrl,
polochonToken: this.state.polochonToken,
});
this.setState({ showModal: false });
}
handleTokenInput() {
this.setState({ polochonToken: this.refs.polochonToken.value });
}
handleUrlInput() {
this.setState({ polochonUrl: this.refs.polochonUrl.value });
}
handleActivatedToggle() {
this.setState({ activated: !this.state.activated });
}
handleAdminToggle() {
this.setState({ admin: !this.state.admin });
}
render() {
return (
Edit user - {this.props.data.get("Name")}
);
}
}