import React, { Component, lazy, Suspense } from 'react'; import { Bar, Line } from 'react-chartjs-2'; import { Badge, Button, ButtonDropdown, ButtonGroup, ButtonToolbar, Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Dropdown, DropdownItem, DropdownMenu, DropdownToggle, Progress, Row, Table, } from 'reactstrap'; import { CustomTooltips } from '@coreui/coreui-plugin-chartjs-custom-tooltips'; import { getStyle, hexToRgba } from '@coreui/coreui/dist/js/coreui-utilities' // import Widget03 from '../../views/Widgets/Widget03' const Widget03 = lazy(() => import('../../views/Widgets/Widget03')); const Loading = () =>
Loading...
const brandPrimary = getStyle('--primary') const brandSuccess = getStyle('--success') const brandInfo = getStyle('--info') const brandWarning = getStyle('--warning') const brandDanger = getStyle('--danger') // Card Chart 1 const cardChartData1 = { labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], datasets: [ { label: 'My First dataset', backgroundColor: brandPrimary, borderColor: 'rgba(255,255,255,.55)', data: [65, 59, 84, 84, 51, 55, 40], }, ], }; const cardChartOpts1 = { tooltips: { enabled: false, custom: CustomTooltips }, maintainAspectRatio: false, legend: { display: false, }, scales: { xAxes: [ { gridLines: { color: 'transparent', zeroLineColor: 'transparent', }, ticks: { fontSize: 2, fontColor: 'transparent', }, }], yAxes: [ { display: false, ticks: { display: false, min: Math.min.apply(Math, cardChartData1.datasets[0].data) - 5, max: Math.max.apply(Math, cardChartData1.datasets[0].data) + 5, }, }], }, elements: { line: { borderWidth: 1, }, point: { radius: 4, hitRadius: 10, hoverRadius: 4, }, } } // Card Chart 2 const cardChartData2 = { labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], datasets: [ { label: 'My First dataset', backgroundColor: brandInfo, borderColor: 'rgba(255,255,255,.55)', data: [1, 18, 9, 17, 34, 22, 11], }, ], }; const cardChartOpts2 = { tooltips: { enabled: false, custom: CustomTooltips }, maintainAspectRatio: false, legend: { display: false, }, scales: { xAxes: [ { gridLines: { color: 'transparent', zeroLineColor: 'transparent', }, ticks: { fontSize: 2, fontColor: 'transparent', }, }], yAxes: [ { display: false, ticks: { display: false, min: Math.min.apply(Math, cardChartData2.datasets[0].data) - 5, max: Math.max.apply(Math, cardChartData2.datasets[0].data) + 5, }, }], }, elements: { line: { tension: 0.00001, borderWidth: 1, }, point: { radius: 4, hitRadius: 10, hoverRadius: 4, }, }, }; // Card Chart 3 const cardChartData3 = { labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], datasets: [ { label: 'My First dataset', backgroundColor: 'rgba(255,255,255,.2)', borderColor: 'rgba(255,255,255,.55)', data: [78, 81, 80, 45, 34, 12, 40], }, ], }; const cardChartOpts3 = { tooltips: { enabled: false, custom: CustomTooltips }, maintainAspectRatio: false, legend: { display: false, }, scales: { xAxes: [ { display: false, }], yAxes: [ { display: false, }], }, elements: { line: { borderWidth: 2, }, point: { radius: 0, hitRadius: 10, hoverRadius: 4, }, }, }; // Card Chart 4 const cardChartData4 = { labels: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], datasets: [ { label: 'My First dataset', backgroundColor: 'rgba(255,255,255,.3)', borderColor: 'transparent', data: [78, 81, 80, 45, 34, 12, 40, 75, 34, 89, 32, 68, 54, 72, 18, 98], }, ], }; const cardChartOpts4 = { tooltips: { enabled: false, custom: CustomTooltips }, maintainAspectRatio: false, legend: { display: false, }, scales: { xAxes: [ { display: false, barPercentage: 0.6, }], yAxes: [ { display: false, }], }, }; // Social Box Chart const socialBoxData = [ { data: [65, 59, 84, 84, 51, 55, 40], label: 'facebook' }, { data: [1, 13, 9, 17, 34, 41, 38], label: 'twitter' }, { data: [78, 81, 80, 45, 34, 12, 40], label: 'linkedin' }, { data: [35, 23, 56, 22, 97, 23, 64], label: 'google' }, ]; const makeSocialBoxData = (dataSetNo) => { const dataset = socialBoxData[dataSetNo]; const data = { labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], datasets: [ { backgroundColor: 'rgba(255,255,255,.1)', borderColor: 'rgba(255,255,255,.55)', pointHoverBackgroundColor: '#fff', borderWidth: 2, data: dataset.data, label: dataset.label, }, ], }; return () => data; }; const socialChartOpts = { tooltips: { enabled: false, custom: CustomTooltips }, responsive: true, maintainAspectRatio: false, legend: { display: false, }, scales: { xAxes: [ { display: false, }], yAxes: [ { display: false, }], }, elements: { point: { radius: 0, hitRadius: 10, hoverRadius: 4, hoverBorderWidth: 3, }, }, }; // sparkline charts const sparkLineChartData = [ { data: [35, 23, 56, 22, 97, 23, 64], label: 'New Clients', }, { data: [65, 59, 84, 84, 51, 55, 40], label: 'Recurring Clients', }, { data: [35, 23, 56, 22, 97, 23, 64], label: 'Pageviews', }, { data: [65, 59, 84, 84, 51, 55, 40], label: 'Organic', }, { data: [78, 81, 80, 45, 34, 12, 40], label: 'CTR', }, { data: [1, 13, 9, 17, 34, 41, 38], label: 'Bounce Rate', }, ]; const makeSparkLineData = (dataSetNo, variant) => { const dataset = sparkLineChartData[dataSetNo]; const data = { labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], datasets: [ { backgroundColor: 'transparent', borderColor: variant ? variant : '#c2cfd6', data: dataset.data, label: dataset.label, }, ], }; return () => data; }; const sparklineChartOpts = { tooltips: { enabled: false, custom: CustomTooltips }, responsive: true, maintainAspectRatio: true, scales: { xAxes: [ { display: false, }], yAxes: [ { display: false, }], }, elements: { line: { borderWidth: 2, }, point: { radius: 0, hitRadius: 10, hoverRadius: 4, hoverBorderWidth: 3, }, }, legend: { display: false, }, }; // Main Chart //Random Numbers function random(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } var elements = 27; var data1 = []; var data2 = []; var data3 = []; for (var i = 0; i <= elements; i++) { data1.push(random(50, 200)); data2.push(random(80, 100)); data3.push(65); } const mainChart = { labels: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], datasets: [ { label: 'My First dataset', backgroundColor: hexToRgba(brandInfo, 10), borderColor: brandInfo, pointHoverBackgroundColor: '#fff', borderWidth: 2, data: data1, }, { label: 'My Second dataset', backgroundColor: 'transparent', borderColor: brandSuccess, pointHoverBackgroundColor: '#fff', borderWidth: 2, data: data2, }, { label: 'My Third dataset', backgroundColor: 'transparent', borderColor: brandDanger, pointHoverBackgroundColor: '#fff', borderWidth: 1, borderDash: [8, 5], data: data3, }, ], }; const mainChartOpts = { tooltips: { enabled: false, custom: CustomTooltips, intersect: true, mode: 'index', position: 'nearest', callbacks: { labelColor: function(tooltipItem, chart) { return { backgroundColor: chart.data.datasets[tooltipItem.datasetIndex].borderColor } } } }, maintainAspectRatio: false, legend: { display: false, }, scales: { xAxes: [ { gridLines: { drawOnChartArea: false, }, }], yAxes: [ { ticks: { beginAtZero: true, maxTicksLimit: 5, stepSize: Math.ceil(250 / 5), max: 250, }, }], }, elements: { point: { radius: 0, hitRadius: 10, hoverRadius: 4, hoverBorderWidth: 3, }, }, }; class Dashboard extends Component { constructor(props) { super(props); this.toggle = this.toggle.bind(this); this.onRadioBtnClick = this.onRadioBtnClick.bind(this); this.state = { dropdownOpen: false, radioSelected: 2, }; } toggle() { this.setState({ dropdownOpen: !this.state.dropdownOpen, }); } onRadioBtnClick(radioSelected) { this.setState({ radioSelected: radioSelected, }); } render() { return (
{ this.setState({ card1: !this.state.card1 }); }}> Action Another action Disabled action Something else here
9.823
Members online
{ this.setState({ card2: !this.state.card2 }); }}> Action Another action Something else here
9.823
Members online
{ this.setState({ card3: !this.state.card3 }); }}> Action Another action Something else here
9.823
Members online
{ this.setState({ card4: !this.state.card4 }); }}> Action Another action Something else here
9.823
Members online
Traffic
November 2015
Visits
29.703 Users (40%)
Unique
24.093 Users (20%)
Pageviews
78.706 Views (60%)
New Users
22.123 Users (80%)
Bounce Rate
Average Rate (40.15%)
({ variant: 'facebook', friends: '89k', feeds: '459' })} >
({ variant: 'twitter', followers: '973k', tweets: '1.792' })} >
({ variant: 'linkedin', contacts: '500+', feeds: '292' })} >
894
followers
92
circles
Traffic {' & '} Sales
New Clients
9,123
Recurring Clients
22,643

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
  New clients     Recurring clients
Pageviews
78,623
Organic
49,123

    Male 43%
    Female 37%
    Organic Search 191,235 (56%)
    Facebook 51,223 (15%)
    Twitter 37,564 (11%)
    LinkedIn 27,319 (8%)

User Country Usage Payment Method Activity
admin@bootstrapmaster.com
Yiorgos Avraamu
New | Registered: Jan 1, 2015
50%
Jun 11, 2015 - Jul 10, 2015
Last login
10 sec ago
admin@bootstrapmaster.com
Avram Tarasios
Recurring | Registered: Jan 1, 2015
10%
Jun 11, 2015 - Jul 10, 2015
Last login
5 minutes ago
admin@bootstrapmaster.com
Quintin Ed
New | Registered: Jan 1, 2015
74%
Jun 11, 2015 - Jul 10, 2015
Last login
1 hour ago
admin@bootstrapmaster.com
Enéas Kwadwo
New | Registered: Jan 1, 2015
98%
Jun 11, 2015 - Jul 10, 2015
Last login
Last month
admin@bootstrapmaster.com
Agapetus Tadeáš
New | Registered: Jan 1, 2015
22%
Jun 11, 2015 - Jul 10, 2015
Last login
Last week
admin@bootstrapmaster.com
Friderik Dávid
New | Registered: Jan 1, 2015
43%
Jun 11, 2015 - Jul 10, 2015
Last login
Yesterday
); } } export default Dashboard;