mirror of
https://github.com/supanadit/short-url.git
synced 2024-11-14 20:52:21 +00:00
275 lines
9.4 KiB
JavaScript
275 lines
9.4 KiB
JavaScript
|
$(function () {
|
||
|
|
||
|
'use strict';
|
||
|
|
||
|
/* ChartJS
|
||
|
* -------
|
||
|
* Here we will create a few charts using ChartJS
|
||
|
*/
|
||
|
|
||
|
// -----------------------
|
||
|
// - MONTHLY SALES CHART -
|
||
|
// -----------------------
|
||
|
|
||
|
// Get context with jQuery - using jQuery's .get() method.
|
||
|
var salesChartCanvas = $('#salesChart').get(0).getContext('2d');
|
||
|
// This will get the first returned node in the jQuery collection.
|
||
|
var salesChart = new Chart(salesChartCanvas);
|
||
|
|
||
|
var salesChartData = {
|
||
|
labels : ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
|
||
|
datasets: [
|
||
|
{
|
||
|
label : 'Electronics',
|
||
|
fillColor : 'rgb(210, 214, 222)',
|
||
|
strokeColor : 'rgb(210, 214, 222)',
|
||
|
pointColor : 'rgb(210, 214, 222)',
|
||
|
pointStrokeColor : '#c1c7d1',
|
||
|
pointHighlightFill : '#fff',
|
||
|
pointHighlightStroke: 'rgb(220,220,220)',
|
||
|
data : [65, 59, 80, 81, 56, 55, 40]
|
||
|
},
|
||
|
{
|
||
|
label : 'Digital Goods',
|
||
|
fillColor : 'rgba(60,141,188,0.9)',
|
||
|
strokeColor : 'rgba(60,141,188,0.8)',
|
||
|
pointColor : '#3b8bba',
|
||
|
pointStrokeColor : 'rgba(60,141,188,1)',
|
||
|
pointHighlightFill : '#fff',
|
||
|
pointHighlightStroke: 'rgba(60,141,188,1)',
|
||
|
data : [28, 48, 40, 19, 86, 27, 90]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
var salesChartOptions = {
|
||
|
// Boolean - If we should show the scale at all
|
||
|
showScale : true,
|
||
|
// Boolean - Whether grid lines are shown across the chart
|
||
|
scaleShowGridLines : false,
|
||
|
// String - Colour of the grid lines
|
||
|
scaleGridLineColor : 'rgba(0,0,0,.05)',
|
||
|
// Number - Width of the grid lines
|
||
|
scaleGridLineWidth : 1,
|
||
|
// Boolean - Whether to show horizontal lines (except X axis)
|
||
|
scaleShowHorizontalLines: true,
|
||
|
// Boolean - Whether to show vertical lines (except Y axis)
|
||
|
scaleShowVerticalLines : true,
|
||
|
// Boolean - Whether the line is curved between points
|
||
|
bezierCurve : true,
|
||
|
// Number - Tension of the bezier curve between points
|
||
|
bezierCurveTension : 0.3,
|
||
|
// Boolean - Whether to show a dot for each point
|
||
|
pointDot : false,
|
||
|
// Number - Radius of each point dot in pixels
|
||
|
pointDotRadius : 4,
|
||
|
// Number - Pixel width of point dot stroke
|
||
|
pointDotStrokeWidth : 1,
|
||
|
// Number - amount extra to add to the radius to cater for hit detection outside the drawn point
|
||
|
pointHitDetectionRadius : 20,
|
||
|
// Boolean - Whether to show a stroke for datasets
|
||
|
datasetStroke : true,
|
||
|
// Number - Pixel width of dataset stroke
|
||
|
datasetStrokeWidth : 2,
|
||
|
// Boolean - Whether to fill the dataset with a color
|
||
|
datasetFill : true,
|
||
|
// String - A legend template
|
||
|
legendTemplate : '<ul class=\'<%=name.toLowerCase()%>-legend\'><% for (var i=0; i<datasets.length; i++){%><li><span style=\'background-color:<%=datasets[i].lineColor%>\'></span><%=datasets[i].label%></li><%}%></ul>',
|
||
|
// Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
|
||
|
maintainAspectRatio : true,
|
||
|
// Boolean - whether to make the chart responsive to window resizing
|
||
|
responsive : true
|
||
|
};
|
||
|
|
||
|
// Create the line chart
|
||
|
salesChart.Line(salesChartData, salesChartOptions);
|
||
|
|
||
|
// ---------------------------
|
||
|
// - END MONTHLY SALES CHART -
|
||
|
// ---------------------------
|
||
|
|
||
|
// -------------
|
||
|
// - PIE CHART -
|
||
|
// -------------
|
||
|
// Get context with jQuery - using jQuery's .get() method.
|
||
|
var pieChartCanvas = $('#pieChart').get(0).getContext('2d');
|
||
|
var pieChart = new Chart(pieChartCanvas);
|
||
|
var PieData = [
|
||
|
{
|
||
|
value : 700,
|
||
|
color : '#f56954',
|
||
|
highlight: '#f56954',
|
||
|
label : 'Chrome'
|
||
|
},
|
||
|
{
|
||
|
value : 500,
|
||
|
color : '#00a65a',
|
||
|
highlight: '#00a65a',
|
||
|
label : 'IE'
|
||
|
},
|
||
|
{
|
||
|
value : 400,
|
||
|
color : '#f39c12',
|
||
|
highlight: '#f39c12',
|
||
|
label : 'FireFox'
|
||
|
},
|
||
|
{
|
||
|
value : 600,
|
||
|
color : '#00c0ef',
|
||
|
highlight: '#00c0ef',
|
||
|
label : 'Safari'
|
||
|
},
|
||
|
{
|
||
|
value : 300,
|
||
|
color : '#3c8dbc',
|
||
|
highlight: '#3c8dbc',
|
||
|
label : 'Opera'
|
||
|
},
|
||
|
{
|
||
|
value : 100,
|
||
|
color : '#d2d6de',
|
||
|
highlight: '#d2d6de',
|
||
|
label : 'Navigator'
|
||
|
}
|
||
|
];
|
||
|
var pieOptions = {
|
||
|
// Boolean - Whether we should show a stroke on each segment
|
||
|
segmentShowStroke : true,
|
||
|
// String - The colour of each segment stroke
|
||
|
segmentStrokeColor : '#fff',
|
||
|
// Number - The width of each segment stroke
|
||
|
segmentStrokeWidth : 1,
|
||
|
// Number - The percentage of the chart that we cut out of the middle
|
||
|
percentageInnerCutout: 50, // This is 0 for Pie charts
|
||
|
// Number - Amount of animation steps
|
||
|
animationSteps : 100,
|
||
|
// String - Animation easing effect
|
||
|
animationEasing : 'easeOutBounce',
|
||
|
// Boolean - Whether we animate the rotation of the Doughnut
|
||
|
animateRotate : true,
|
||
|
// Boolean - Whether we animate scaling the Doughnut from the centre
|
||
|
animateScale : false,
|
||
|
// Boolean - whether to make the chart responsive to window resizing
|
||
|
responsive : true,
|
||
|
// Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
|
||
|
maintainAspectRatio : false,
|
||
|
// String - A legend template
|
||
|
legendTemplate : '<ul class=\'<%=name.toLowerCase()%>-legend\'><% for (var i=0; i<segments.length; i++){%><li><span style=\'background-color:<%=segments[i].fillColor%>\'></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>',
|
||
|
// String - A tooltip template
|
||
|
tooltipTemplate : '<%=value %> <%=label%> users'
|
||
|
};
|
||
|
// Create pie or douhnut chart
|
||
|
// You can switch between pie and douhnut using the method below.
|
||
|
pieChart.Doughnut(PieData, pieOptions);
|
||
|
// -----------------
|
||
|
// - END PIE CHART -
|
||
|
// -----------------
|
||
|
|
||
|
/* jVector Maps
|
||
|
* ------------
|
||
|
* Create a world map with markers
|
||
|
*/
|
||
|
$('#world-map-markers').vectorMap({
|
||
|
map : 'world_mill_en',
|
||
|
normalizeFunction: 'polynomial',
|
||
|
hoverOpacity : 0.7,
|
||
|
hoverColor : false,
|
||
|
backgroundColor : 'transparent',
|
||
|
regionStyle : {
|
||
|
initial : {
|
||
|
fill : 'rgba(210, 214, 222, 1)',
|
||
|
'fill-opacity' : 1,
|
||
|
stroke : 'none',
|
||
|
'stroke-width' : 0,
|
||
|
'stroke-opacity': 1
|
||
|
},
|
||
|
hover : {
|
||
|
'fill-opacity': 0.7,
|
||
|
cursor : 'pointer'
|
||
|
},
|
||
|
selected : {
|
||
|
fill: 'yellow'
|
||
|
},
|
||
|
selectedHover: {}
|
||
|
},
|
||
|
markerStyle : {
|
||
|
initial: {
|
||
|
fill : '#00a65a',
|
||
|
stroke: '#111'
|
||
|
}
|
||
|
},
|
||
|
markers : [
|
||
|
{ latLng: [41.90, 12.45], name: 'Vatican City' },
|
||
|
{ latLng: [43.73, 7.41], name: 'Monaco' },
|
||
|
{ latLng: [-0.52, 166.93], name: 'Nauru' },
|
||
|
{ latLng: [-8.51, 179.21], name: 'Tuvalu' },
|
||
|
{ latLng: [43.93, 12.46], name: 'San Marino' },
|
||
|
{ latLng: [47.14, 9.52], name: 'Liechtenstein' },
|
||
|
{ latLng: [7.11, 171.06], name: 'Marshall Islands' },
|
||
|
{ latLng: [17.3, -62.73], name: 'Saint Kitts and Nevis' },
|
||
|
{ latLng: [3.2, 73.22], name: 'Maldives' },
|
||
|
{ latLng: [35.88, 14.5], name: 'Malta' },
|
||
|
{ latLng: [12.05, -61.75], name: 'Grenada' },
|
||
|
{ latLng: [13.16, -61.23], name: 'Saint Vincent and the Grenadines' },
|
||
|
{ latLng: [13.16, -59.55], name: 'Barbados' },
|
||
|
{ latLng: [17.11, -61.85], name: 'Antigua and Barbuda' },
|
||
|
{ latLng: [-4.61, 55.45], name: 'Seychelles' },
|
||
|
{ latLng: [7.35, 134.46], name: 'Palau' },
|
||
|
{ latLng: [42.5, 1.51], name: 'Andorra' },
|
||
|
{ latLng: [14.01, -60.98], name: 'Saint Lucia' },
|
||
|
{ latLng: [6.91, 158.18], name: 'Federated States of Micronesia' },
|
||
|
{ latLng: [1.3, 103.8], name: 'Singapore' },
|
||
|
{ latLng: [1.46, 173.03], name: 'Kiribati' },
|
||
|
{ latLng: [-21.13, -175.2], name: 'Tonga' },
|
||
|
{ latLng: [15.3, -61.38], name: 'Dominica' },
|
||
|
{ latLng: [-20.2, 57.5], name: 'Mauritius' },
|
||
|
{ latLng: [26.02, 50.55], name: 'Bahrain' },
|
||
|
{ latLng: [0.33, 6.73], name: 'São Tomé and Príncipe' }
|
||
|
]
|
||
|
});
|
||
|
|
||
|
/* SPARKLINE CHARTS
|
||
|
* ----------------
|
||
|
* Create a inline charts with spark line
|
||
|
*/
|
||
|
|
||
|
// -----------------
|
||
|
// - SPARKLINE BAR -
|
||
|
// -----------------
|
||
|
$('.sparkbar').each(function () {
|
||
|
var $this = $(this);
|
||
|
$this.sparkline('html', {
|
||
|
type : 'bar',
|
||
|
height : $this.data('height') ? $this.data('height') : '30',
|
||
|
barColor: $this.data('color')
|
||
|
});
|
||
|
});
|
||
|
|
||
|
// -----------------
|
||
|
// - SPARKLINE PIE -
|
||
|
// -----------------
|
||
|
$('.sparkpie').each(function () {
|
||
|
var $this = $(this);
|
||
|
$this.sparkline('html', {
|
||
|
type : 'pie',
|
||
|
height : $this.data('height') ? $this.data('height') : '90',
|
||
|
sliceColors: $this.data('color')
|
||
|
});
|
||
|
});
|
||
|
|
||
|
// ------------------
|
||
|
// - SPARKLINE LINE -
|
||
|
// ------------------
|
||
|
$('.sparkline').each(function () {
|
||
|
var $this = $(this);
|
||
|
$this.sparkline('html', {
|
||
|
type : 'line',
|
||
|
height : $this.data('height') ? $this.data('height') : '90',
|
||
|
width : '100%',
|
||
|
lineColor: $this.data('linecolor'),
|
||
|
fillColor: $this.data('fillcolor'),
|
||
|
spotColor: $this.data('spotcolor')
|
||
|
});
|
||
|
});
|
||
|
});
|