Preview: http://dashboards.webkom.co/react/airframe
This commit is contained in:
Tomasz Owczarczyk
2019-08-15 00:54:44 +02:00
parent f975443095
commit 37092d1d6c
626 changed files with 56691 additions and 0 deletions

48
app/routes/Apps/Users/Users.js Executable file
View File

@@ -0,0 +1,48 @@
import React from 'react';
import PropTypes from 'prop-types';
import {
Container,
Row,
Col
} from './../../../components';
import { HeaderMain } from "../../components/HeaderMain";
import UsersList from './UsersList';
import UsersGrid from './UsersGrid';
import { UsersLeftNav } from "../../components/Users/UsersLeftNav";
import { ProjectsSmHeader } from "../../components/Projects/ProjectsSmHeader";
const Users = (props) => (
<React.Fragment>
<Container>
<HeaderMain
title="Users"
className="mb-5 mt-4"
/>
<Row>
<Col lg={ 3 }>
<UsersLeftNav />
</Col>
<Col lg={ 9 }>
<ProjectsSmHeader
subTitle={props.match.params.type === "list"?"Users List":"Users Grid"}
linkList="/apps/users/list"
linkGrid="/apps/users/grid"
/>
{
props.match.params.type === "list" ?
<UsersList /> :
<UsersGrid />
}
</Col>
</Row>
</Container>
</React.Fragment>
);
Users.propTypes = {
match: PropTypes.object.isRequired
};
export default Users;

View File

@@ -0,0 +1,51 @@
import React from 'react';
import { CardColumns } from './../../../components';
import { UsersCardGrid } from "../../components/Users/UsersCardGrid";
import { Paginations } from "../../components/Paginations";
const UsersGrid = () => (
<React.Fragment>
<CardColumns>
<UsersCardGrid />
<UsersCardGrid
id="2"
/>
<UsersCardGrid
id="3"
/>
<UsersCardGrid
id="4"
/>
<UsersCardGrid
id="5"
/>
<UsersCardGrid
id="6"
/>
<UsersCardGrid
id="7"
/>
<UsersCardGrid
id="8"
/>
<UsersCardGrid
id="9"
/>
<UsersCardGrid
id="10"
/>
<UsersCardGrid
id="11"
/>
<UsersCardGrid
id="12"
/>
</CardColumns>
<div className="d-flex justify-content-center">
<Paginations />
</div>
</React.Fragment>
);
export default UsersGrid;

View File

@@ -0,0 +1,71 @@
import React from 'react';
import {
Card,
CardFooter,
Table,
} from './../../../components';
import {
TrTableUsersList
} from "./components/TrTableUsersList";
import {
Paginations
} from "../../components/Paginations";
const UsersList = () => (
<Card className="mb-3">
{ /* START Table */}
<div className="table-responsive-xl">
<Table className="mb-0" hover>
<thead>
<tr>
<th className="align-middle bt-0"></th>
<th className="align-middle bt-0"></th>
<th className="align-middle bt-0">Name</th>
<th className="align-middle bt-0">Email</th>
<th className="align-middle bt-0">Phone</th>
<th className="align-middle bt-0 text-right">
Actions
</th>
</tr>
</thead>
<tbody>
<TrTableUsersList />
<TrTableUsersList
id="2"
/>
<TrTableUsersList
id="3"
/>
<TrTableUsersList
id="4"
/>
<TrTableUsersList
id="5"
/>
<TrTableUsersList
id="6"
/>
<TrTableUsersList
id="7"
/>
<TrTableUsersList
id="8"
/>
<TrTableUsersList
id="9"
/>
</tbody>
</Table>
</div>
{ /* END Table */}
<CardFooter className="d-flex justify-content-center pb-0">
<Paginations />
</CardFooter>
</Card>
);
export default UsersList;

View File

@@ -0,0 +1,176 @@
import React from 'react';
import faker from 'faker/locale/en_US';
import PropTypes from 'prop-types';
import {
Media,
Avatar,
AvatarAddOn,
CustomInput,
UncontrolledButtonDropdown,
DropdownToggle,
DropdownMenu,
DropdownItem
} from './../../../../components';
import { randomArray, randomAvatar } from './../../../../utilities';
const TrTableUsersList = (props) => {
const avatar = [
[
<AvatarAddOn.Icon
className="fa fa-circle"
color="facebook"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-facebook"
color="white"
key="avatar-icon-fg"
small
/>
],
[
<AvatarAddOn.Icon
className="fa fa-circle"
color="twitter"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-twitter"
color="white"
key="avatar-icon-fg"
small
/>
],
[
<AvatarAddOn.Icon
className="fa fa-circle"
color="linkedin"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-linkedin"
color="white"
key="avatar-icon-fg"
small
/>
],
[
<AvatarAddOn.Icon
className="fa fa-circle"
color="foursquare"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-foursquare"
color="white"
key="avatar-icon-fg"
small
/>
],
[
<AvatarAddOn.Icon
className="fa fa-circle"
color="paypal"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-paypal"
color="white"
key="avatar-icon-fg"
small
/>
],
];
return (
<React.Fragment>
<tr>
<td className="align-middle">
<CustomInput type="checkbox" id={`TrTableUsersList-${ props.id }` } label="" inline />
</td>
<td className="align-middle">
<a href="#">
<i className="fa fa-fw fa-star-o"></i>
</a>
</td>
<td>
<Media>
<Media left className="d-flex align-self-center mr-3">
<Avatar.Image
size="md"
src={ randomAvatar() }
className="align-self-center"
addOns={[
<AvatarAddOn.Icon
className="fa fa-circle"
color="white"
key="avatar-icon-white-bg"
/>,
...randomArray(avatar)
]}
/>
</Media>
<Media body>
<a className="mt-0 d-flex text-decoration-none" href="#">
{ faker.name.firstName() } { faker.name.lastName() }
</a>
<span>
{ faker.name.jobTitle() }
</span>
</Media>
</Media>
</td>
<td className="align-middle">
{ faker.internet.email() }
</td>
<td className="align-middle">
{ faker.phone.phoneNumberFormat() }
</td>
<td className="align-middle text-right">
<UncontrolledButtonDropdown>
<DropdownToggle color="link" className="pr-0">
<i className="fa fa-bars"></i><i className="fa fa-angle-down ml-2" />
</DropdownToggle>
<DropdownMenu right>
<DropdownItem>
<i className="fa fa-fw fa-phone mr-2"></i>
Call
</DropdownItem>
<DropdownItem>
<i className="fa fa-fw fa-comment mr-2"></i>
Chat
</DropdownItem>
<DropdownItem>
<i className="fa fa-fw fa-video-camera mr-2"></i>
Video
</DropdownItem>
<DropdownItem>
<i className="fa fa-fw fa-user mr-2"></i>
Profile
</DropdownItem>
<DropdownItem>
<i className="fa fa-fw fa-pencil mr-2"></i>
Edit
</DropdownItem>
<DropdownItem divider />
<DropdownItem>
<i className="fa fa-fw fa-trash mr-2"></i>
Delete
</DropdownItem>
</DropdownMenu>
</UncontrolledButtonDropdown>
</td>
</tr>
</React.Fragment>
)
}
TrTableUsersList.propTypes = {
id: PropTypes.node
};
TrTableUsersList.defaultProps = {
id: "1"
};
export { TrTableUsersList };

3
app/routes/Apps/Users/index.js Executable file
View File

@@ -0,0 +1,3 @@
import Users from './Users';
export default Users;