@@ -26,6 +26,7 @@ import {
26
26
const brandPrimary = '#20a8d8' ;
27
27
const brandSuccess = '#4dbd74' ;
28
28
const brandInfo = '#63c2de' ;
29
+ const brandWarning = '#f8cb00' ;
29
30
const brandDanger = '#f86c6b' ;
30
31
31
32
// Card Chart 1
@@ -198,6 +199,127 @@ const cardChartOpts4 = {
198
199
}
199
200
}
200
201
202
+ // Social Box Chart
203
+ const socialBoxData = [
204
+ { data : [ 65 , 59 , 84 , 84 , 51 , 55 , 40 ] , label : 'facebook' } ,
205
+ { data : [ 1 , 13 , 9 , 17 , 34 , 41 , 38 ] , label : 'twitter' } ,
206
+ { data : [ 78 , 81 , 80 , 45 , 34 , 12 , 40 ] , label : 'linkedin' } ,
207
+ { data : [ 35 , 23 , 56 , 22 , 97 , 23 , 64 ] , label : 'google' }
208
+ ] ;
209
+
210
+ const makeSocialBoxData = ( dataSetNo ) => {
211
+ const dataset = socialBoxData [ dataSetNo ] ;
212
+ const data = {
213
+ labels : [ 'January' , 'February' , 'March' , 'April' , 'May' , 'June' , 'July' ] ,
214
+ datasets : [
215
+ {
216
+ backgroundColor : 'rgba(255,255,255,.1)' ,
217
+ borderColor : 'rgba(255,255,255,.55)' ,
218
+ pointHoverBackgroundColor : '#fff' ,
219
+ borderWidth : 2 ,
220
+ data : dataset . data ,
221
+ label : dataset . label ,
222
+ }
223
+ ]
224
+ } ;
225
+ return ( ) => data ;
226
+ } ;
227
+
228
+ const socialChartOpts = {
229
+ responsive : true ,
230
+ maintainAspectRatio : false ,
231
+ legend : {
232
+ display : false
233
+ } ,
234
+ scales : {
235
+ xAxes : [ {
236
+ display : false
237
+ } ] ,
238
+ yAxes : [ {
239
+ display : false
240
+ } ]
241
+ } ,
242
+ elements : {
243
+ point : {
244
+ radius : 0 ,
245
+ hitRadius : 10 ,
246
+ hoverRadius : 4 ,
247
+ hoverBorderWidth : 3
248
+ }
249
+ }
250
+ } ;
251
+
252
+ // sparkline charts
253
+ const sparkLineChartData = [
254
+ {
255
+ data : [ 35 , 23 , 56 , 22 , 97 , 23 , 64 ] ,
256
+ label : 'New Clients'
257
+ } ,
258
+ {
259
+ data : [ 65 , 59 , 84 , 84 , 51 , 55 , 40 ] ,
260
+ label : 'Recurring Clients'
261
+ } ,
262
+ {
263
+ data : [ 35 , 23 , 56 , 22 , 97 , 23 , 64 ] ,
264
+ label : 'Pageviews'
265
+ } ,
266
+ {
267
+ data : [ 65 , 59 , 84 , 84 , 51 , 55 , 40 ] ,
268
+ label : 'Organic'
269
+ } ,
270
+ {
271
+ data : [ 78 , 81 , 80 , 45 , 34 , 12 , 40 ] ,
272
+ label : 'CTR'
273
+ } ,
274
+ {
275
+ data : [ 1 , 13 , 9 , 17 , 34 , 41 , 38 ] ,
276
+ label : 'Bounce Rate'
277
+ }
278
+ ] ;
279
+
280
+ const makeSparkLineData = ( dataSetNo , variant ) => {
281
+ const dataset = sparkLineChartData [ dataSetNo ] ;
282
+ const data = {
283
+ labels : [ 'Monday' , 'Tuesday' , 'Wednesday' , 'Thursday' , 'Friday' , 'Saturday' , 'Sunday' ] ,
284
+ datasets : [
285
+ {
286
+ backgroundColor : 'transparent' ,
287
+ borderColor : variant ? variant : '#c2cfd6' ,
288
+ data : dataset . data ,
289
+ label : dataset . label
290
+ }
291
+ ] ,
292
+ } ;
293
+ return ( ) => data ;
294
+ } ;
295
+
296
+ const sparklineChartOpts = {
297
+ responsive : true ,
298
+ maintainAspectRatio : true ,
299
+ scales : {
300
+ xAxes : [ {
301
+ display : false ,
302
+ } ] ,
303
+ yAxes : [ {
304
+ display : false ,
305
+ } ]
306
+ } ,
307
+ elements : {
308
+ line : {
309
+ borderWidth : 2
310
+ } ,
311
+ point : {
312
+ radius : 0 ,
313
+ hitRadius : 10 ,
314
+ hoverRadius : 4 ,
315
+ hoverBorderWidth : 3 ,
316
+ }
317
+ } ,
318
+ legend : {
319
+ display : false
320
+ }
321
+ } ;
322
+
201
323
// Main Chart
202
324
203
325
// convert Hex to RGBA
@@ -305,7 +427,9 @@ class Dashboard extends Component {
305
427
} ) ;
306
428
}
307
429
430
+
308
431
render ( ) {
432
+
309
433
return (
310
434
< div className = "animated fadeIn" >
311
435
< Row >
@@ -329,7 +453,7 @@ class Dashboard extends Component {
329
453
< h4 className = "mb-0" > 9.823</ h4 >
330
454
< p > Members online</ p >
331
455
</ CardBlock >
332
- < div className = "chart-wrapper px-3" style = { { height :'82px ' } } >
456
+ < div className = "chart-wrapper px-3" style = { { height :'70px ' } } >
333
457
< Line data = { cardChartData1 } options = { cardChartOpts1 } height = { 70 } />
334
458
</ div >
335
459
</ Card >
@@ -354,7 +478,7 @@ class Dashboard extends Component {
354
478
< h4 className = "mb-0" > 9.823</ h4 >
355
479
< p > Members online</ p >
356
480
</ CardBlock >
357
- < div className = "chart-wrapper px-3" style = { { height :'82px ' } } >
481
+ < div className = "chart-wrapper px-3" style = { { height :'70px ' } } >
358
482
< Line data = { cardChartData2 } options = { cardChartOpts2 } height = { 70 } />
359
483
</ div >
360
484
</ Card >
@@ -379,7 +503,7 @@ class Dashboard extends Component {
379
503
< h4 className = "mb-0" > 9.823</ h4 >
380
504
< p > Members online</ p >
381
505
</ CardBlock >
382
- < div className = "chart-wrapper px-0" style = { { height :'82px ' } } >
506
+ < div className = "chart-wrapper px-0" style = { { height :'70px ' } } >
383
507
< Line data = { cardChartData3 } options = { cardChartOpts3 } height = { 70 } />
384
508
</ div >
385
509
</ Card >
@@ -404,7 +528,7 @@ class Dashboard extends Component {
404
528
< h4 className = "mb-0" > 9.823</ h4 >
405
529
< p > Members online</ p >
406
530
</ CardBlock >
407
- < div className = "chart-wrapper px-3" style = { { height :'82px ' } } >
531
+ < div className = "chart-wrapper px-3" style = { { height :'70px ' } } >
408
532
< Bar data = { cardChartData4 } options = { cardChartOpts4 } height = { 70 } />
409
533
</ div >
410
534
</ Card >
@@ -478,7 +602,7 @@ class Dashboard extends Component {
478
602
< div className = "social-box facebook" >
479
603
< i className = "fa fa-facebook" > </ i >
480
604
< div className = "chart-wrapper" >
481
- < canvas id = "social-box-chart-1" height = "90" > </ canvas >
605
+ < Line data = { makeSocialBoxData ( 0 ) } options = { socialChartOpts } height = { 90 } / >
482
606
</ div >
483
607
< ul >
484
608
< li >
@@ -497,7 +621,7 @@ class Dashboard extends Component {
497
621
< div className = "social-box twitter" >
498
622
< i className = "fa fa-twitter" > </ i >
499
623
< div className = "chart-wrapper" >
500
- < canvas id = "social-box-chart-2" height = "90" > </ canvas >
624
+ < Line data = { makeSocialBoxData ( 1 ) } options = { socialChartOpts } height = { 90 } / >
501
625
</ div >
502
626
< ul >
503
627
< li >
@@ -517,7 +641,7 @@ class Dashboard extends Component {
517
641
< div className = "social-box linkedin" >
518
642
< i className = "fa fa-linkedin" > </ i >
519
643
< div className = "chart-wrapper" >
520
- < canvas id = "social-box-chart-3" height = "90" > </ canvas >
644
+ < Line data = { makeSocialBoxData ( 2 ) } options = { socialChartOpts } height = { 90 } / >
521
645
</ div >
522
646
< ul >
523
647
< li >
@@ -536,7 +660,7 @@ class Dashboard extends Component {
536
660
< div className = "social-box google-plus" >
537
661
< i className = "fa fa-google-plus" > </ i >
538
662
< div className = "chart-wrapper" >
539
- < canvas id = "social-box-chart-4" height = "90" > </ canvas >
663
+ < Line data = { makeSocialBoxData ( 3 ) } options = { socialChartOpts } height = { 90 } / >
540
664
</ div >
541
665
< ul >
542
666
< li >
@@ -556,7 +680,7 @@ class Dashboard extends Component {
556
680
< Col >
557
681
< Card >
558
682
< CardHeader >
559
- Traffic & Sales
683
+ Traffic { '&' } Sales
560
684
</ CardHeader >
561
685
< CardBlock className = "card-body" >
562
686
< Row >
@@ -568,17 +692,17 @@ class Dashboard extends Component {
568
692
< br />
569
693
< strong className = "h4" > 9,123</ strong >
570
694
< div className = "chart-wrapper" >
571
- < canvas id = "sparkline-chart-1" width = " 100" height = "30" > </ canvas >
695
+ < Line data = { makeSparkLineData ( 0 , brandPrimary ) } options = { sparklineChartOpts } width = { 100 } height = { 30 } / >
572
696
</ div >
573
697
</ div >
574
698
</ Col >
575
699
< Col sm = "6" >
576
700
< div className = "callout callout-danger" >
577
- < small className = "text-muted" > Recuring Clients</ small >
701
+ < small className = "text-muted" > Recurring Clients</ small >
578
702
< br />
579
703
< strong className = "h4" > 22,643</ strong >
580
704
< div className = "chart-wrapper" >
581
- < canvas id = "sparkline-chart-2" width = " 100" height = "30" > </ canvas >
705
+ < Line data = { makeSparkLineData ( 1 , brandDanger ) } options = { sparklineChartOpts } width = { 100 } height = { 30 } / >
582
706
</ div >
583
707
</ div >
584
708
</ Col >
@@ -664,7 +788,7 @@ class Dashboard extends Component {
664
788
< br />
665
789
< strong className = "h4" > 78,623</ strong >
666
790
< div className = "chart-wrapper" >
667
- < canvas id = "sparkline-chart-3" width = " 100" height = "30" > </ canvas >
791
+ < Line data = { makeSparkLineData ( 2 , brandWarning ) } options = { sparklineChartOpts } width = { 100 } height = { 30 } / >
668
792
</ div >
669
793
</ div >
670
794
</ Col >
@@ -674,7 +798,7 @@ class Dashboard extends Component {
674
798
< br />
675
799
< strong className = "h4" > 49,123</ strong >
676
800
< div className = "chart-wrapper" >
677
- < canvas id = "sparkline-chart-4" width = " 100" height = "30" > </ canvas >
801
+ < Line data = { makeSparkLineData ( 3 , brandSuccess ) } options = { sparklineChartOpts } width = { 100 } height = { 30 } / >
678
802
</ div >
679
803
</ div >
680
804
</ Col >
@@ -744,7 +868,7 @@ class Dashboard extends Component {
744
868
< br />
745
869
< strong className = "h4" > 23%</ strong >
746
870
< div className = "chart-wrapper" >
747
- < canvas id = "sparkline-chart-5" width = " 100" height = "30" > </ canvas >
871
+ < Line data = { makeSparkLineData ( 4 ) } options = { sparklineChartOpts } width = { 100 } height = { 30 } / >
748
872
</ div >
749
873
</ div >
750
874
</ Col >
@@ -754,7 +878,7 @@ class Dashboard extends Component {
754
878
< br />
755
879
< strong className = "h4" > 5%</ strong >
756
880
< div className = "chart-wrapper" >
757
- < canvas id = "sparkline-chart-6" width = " 100" height = "30" > </ canvas >
881
+ < Line data = { makeSparkLineData ( 5 , brandPrimary ) } options = { sparklineChartOpts } width = { 100 } height = { 30 } / >
758
882
</ div >
759
883
</ div >
760
884
</ Col >
0 commit comments