import React from "react";
import axios from "axios";
function FreeWorkplaces(props) {
return (
Свободных мест: {props.count}
)
}
function WorkersCount(props) {
return (
)
}
class ModelUserTableRow extends React.Component {
render() {
return (
|
{this.props.user.name}
|
{this.props.user.user.email} |
{this.props.user.zendesk_role} |
);
}
}
class ModelUserTableRows extends React.Component {
render() {
return (
this.props.users.map((user, key) => (
))
);
}
}
class ZendeskUserTableRow extends React.Component {
render() {
return (
|
{this.props.user.name}
|
{this.props.user.email}
|
{this.props.user.zendesk_role}
|
);
}
}
class ZendeskUserTableRows extends React.Component {
render() {
return (
this.props.users.map((user, key) => (
))
)
}
}
export class Table extends React.Component {
constructor(props) {
super(props);
this.state = {
users: [],
engineers: null,
light_agents: null,
zendesk_users: [],
max_agents: null,
renderLoad: true
};
}
async getUsers() {
await axios.get("/api/users").then((response) => {
this.setState({
users: response.data.users,
engineers: response.data.engineers,
light_agents: response.data.light_agents,
zendesk_users: response.data.zendesk_users,
max_agents: response.data.max_agents,
renderLoad: false
});
return response
}).catch(reason => {
console.log(reason)
});
}
componentDidMount() {
this.getUsers().then(() => {})
.catch(reason => {
console.log(reason)
});
this.interval = setInterval(() => {
this.getUsers().catch(reason => {
console.log(reason)
})
}, 60000);
}
componentWillUnmount() {
clearInterval(this.interval);
}
render() {
return (
{this.state.renderLoad === true ?
Данные загружаются...
: null}
);
}
}