AdminLTE/docs/assets/js/pages/dashboard.js

268 lines
7.2 KiB
JavaScript
Raw Normal View History

/*
* Author: Abdullah A Almsaeed
* Date: 4 Jan 2014
* Description:
* This is a demo file used only for the main dashboard (index.html)
**/
2020-11-25 10:56:56 +00:00
/* global moment:false, Chart:false, Sparkline:false */
2020-11-25 10:56:56 +00:00
$(function () {
'use strict'
// Make the dashboard widgets sortable Using jquery UI
$('.connectedSortable').sortable({
2020-11-25 10:56:56 +00:00
placeholder: 'sort-highlight',
connectWith: '.connectedSortable',
handle: '.card-header, .nav-tabs',
forcePlaceholderSize: true,
2020-11-25 10:56:56 +00:00
zIndex: 999999
})
2020-11-25 10:56:56 +00:00
$('.connectedSortable .card-header').css('cursor', 'move')
// jQuery UI sortable for the todo list
$('.todo-list').sortable({
2020-11-25 10:56:56 +00:00
placeholder: 'sort-highlight',
handle: '.handle',
forcePlaceholderSize: true,
2020-11-25 10:56:56 +00:00
zIndex: 999999
})
// bootstrap WYSIHTML5 - text editor
$('.textarea').summernote()
$('.daterange').daterangepicker({
2020-11-25 10:56:56 +00:00
ranges: {
Today: [moment(), moment()],
Yesterday: [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
2020-11-25 10:56:56 +00:00
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
},
startDate: moment().subtract(29, 'days'),
2020-11-25 10:56:56 +00:00
endDate: moment()
}, function (start, end) {
2020-11-25 10:56:56 +00:00
// eslint-disable-next-line no-alert
alert('You chose: ' + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'))
})
/* jQueryKnob */
$('.knob').knob()
// jvectormap data
var visitorsData = {
2020-11-25 10:56:56 +00:00
US: 398, // USA
SA: 400, // Saudi Arabia
CA: 1000, // Canada
DE: 500, // Germany
FR: 760, // France
CN: 300, // China
AU: 700, // Australia
BR: 600, // Brazil
IN: 800, // India
GB: 320, // Great Britain
RU: 3000 // Russia
}
// World map by jvectormap
$('#world-map').vectorMap({
2020-11-25 10:56:56 +00:00
map: 'usa_en',
backgroundColor: 'transparent',
regionStyle: {
initial: {
2020-11-25 10:56:56 +00:00
fill: 'rgba(255, 255, 255, 0.7)',
'fill-opacity': 1,
stroke: 'rgba(0,0,0,.2)',
'stroke-width': 1,
'stroke-opacity': 1
}
},
2020-11-25 10:56:56 +00:00
series: {
regions: [{
2020-11-25 10:56:56 +00:00
values: visitorsData,
scale: ['#ffffff', '#0154ad'],
normalizeFunction: 'polynomial'
}]
},
onRegionLabelShow: function (e, el, code) {
2020-11-25 10:56:56 +00:00
if (typeof visitorsData[code] !== 'undefined') {
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors')
2020-11-25 10:56:56 +00:00
}
}
})
// Sparkline charts
2020-11-25 10:56:56 +00:00
var sparkline1 = new Sparkline($('#sparkline-1')[0], { width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9' })
var sparkline2 = new Sparkline($('#sparkline-2')[0], { width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9' })
var sparkline3 = new Sparkline($('#sparkline-3')[0], { width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9' })
2020-11-25 10:56:56 +00:00
sparkline1.draw([1000, 1200, 920, 927, 931, 1027, 819, 930, 1021])
sparkline2.draw([515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921])
sparkline3.draw([15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21])
// The Calender
$('#calendar').datetimepicker({
format: 'L',
inline: true
})
// SLIMSCROLL FOR CHAT WIDGET
$('#chat-box').overlayScrollbars({
height: '250px'
})
/* Chart.js Charts */
// Sales chart
2020-11-25 10:56:56 +00:00
var salesChartCanvas = document.getElementById('revenue-chart-canvas').getContext('2d')
// $('#revenue-chart').get(0).getContext('2d');
var salesChartData = {
2020-11-25 10:56:56 +00:00
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
2020-11-25 10:56:56 +00:00
label: 'Digital Goods',
backgroundColor: 'rgba(60,141,188,0.9)',
borderColor: 'rgba(60,141,188,0.8)',
pointRadius: false,
pointColor: '#3b8bba',
pointStrokeColor: 'rgba(60,141,188,1)',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(60,141,188,1)',
2020-11-25 10:56:56 +00:00
data: [28, 48, 40, 19, 86, 27, 90]
},
{
2020-11-25 10:56:56 +00:00
label: 'Electronics',
backgroundColor: 'rgba(210, 214, 222, 1)',
borderColor: 'rgba(210, 214, 222, 1)',
pointRadius: false,
pointColor: 'rgba(210, 214, 222, 1)',
pointStrokeColor: '#c1c7d1',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(220,220,220,1)',
2020-11-25 10:56:56 +00:00
data: [65, 59, 80, 81, 56, 55, 40]
}
]
}
var salesChartOptions = {
2020-11-25 10:56:56 +00:00
maintainAspectRatio: false,
responsive: true,
legend: {
display: false
},
scales: {
xAxes: [{
2020-11-25 10:56:56 +00:00
gridLines: {
display: false
}
}],
yAxes: [{
2020-11-25 10:56:56 +00:00
gridLines: {
display: false
}
}]
}
}
// This will get the first returned node in the jQuery collection.
2020-11-25 10:56:56 +00:00
// eslint-disable-next-line no-unused-vars
2021-03-22 07:30:50 +00:00
var salesChart = new Chart(salesChartCanvas, { // lgtm[js/unused-local-variable]
2020-11-25 10:56:56 +00:00
type: 'line',
data: salesChartData,
options: salesChartOptions
})
// Donut Chart
var pieChartCanvas = $('#sales-chart-canvas').get(0).getContext('2d')
2020-11-25 10:56:56 +00:00
var pieData = {
labels: [
2020-11-25 10:56:56 +00:00
'Instore Sales',
'Download Sales',
'Mail-Order Sales'
],
datasets: [
{
2020-11-25 10:56:56 +00:00
data: [30, 12, 20],
backgroundColor: ['#f56954', '#00a65a', '#f39c12']
}
]
}
var pieOptions = {
legend: {
display: false
},
2020-11-25 10:56:56 +00:00
maintainAspectRatio: false,
responsive: true
}
2020-11-25 10:56:56 +00:00
// Create pie or douhnut chart
// You can switch between pie and douhnut using the method below.
2020-11-25 10:56:56 +00:00
// eslint-disable-next-line no-unused-vars
2021-03-22 07:30:50 +00:00
var pieChart = new Chart(pieChartCanvas, { // lgtm[js/unused-local-variable]
type: 'doughnut',
data: pieData,
2020-11-25 10:56:56 +00:00
options: pieOptions
})
// Sales graph chart
2020-11-25 10:56:56 +00:00
var salesGraphChartCanvas = $('#line-chart').get(0).getContext('2d')
// $('#revenue-chart').get(0).getContext('2d');
var salesGraphChartData = {
2020-11-25 10:56:56 +00:00
labels: ['2011 Q1', '2011 Q2', '2011 Q3', '2011 Q4', '2012 Q1', '2012 Q2', '2012 Q3', '2012 Q4', '2013 Q1', '2013 Q2'],
datasets: [
{
2020-11-25 10:56:56 +00:00
label: 'Digital Goods',
fill: false,
borderWidth: 2,
lineTension: 0,
spanGaps: true,
borderColor: '#efefef',
pointRadius: 3,
pointHoverRadius: 7,
pointColor: '#efefef',
pointBackgroundColor: '#efefef',
2020-11-25 10:56:56 +00:00
data: [2666, 2778, 4912, 3767, 6810, 5670, 4820, 15073, 10687, 8432]
}
]
}
var salesGraphChartOptions = {
2020-11-25 10:56:56 +00:00
maintainAspectRatio: false,
responsive: true,
legend: {
2020-11-25 10:56:56 +00:00
display: false
},
scales: {
xAxes: [{
2020-11-25 10:56:56 +00:00
ticks: {
fontColor: '#efefef'
},
2020-11-25 10:56:56 +00:00
gridLines: {
display: false,
color: '#efefef',
2020-11-25 10:56:56 +00:00
drawBorder: false
}
}],
yAxes: [{
2020-11-25 10:56:56 +00:00
ticks: {
stepSize: 5000,
2020-11-25 10:56:56 +00:00
fontColor: '#efefef'
},
2020-11-25 10:56:56 +00:00
gridLines: {
display: true,
color: '#efefef',
2020-11-25 10:56:56 +00:00
drawBorder: false
}
}]
}
}
// This will get the first returned node in the jQuery collection.
2020-11-25 10:56:56 +00:00
// eslint-disable-next-line no-unused-vars
2021-03-22 07:30:50 +00:00
var salesGraphChart = new Chart(salesGraphChartCanvas, { // lgtm[js/unused-local-variable]
2020-11-25 10:56:56 +00:00
type: 'line',
data: salesGraphChartData,
options: salesGraphChartOptions
})
})