/*
* Author: Abdullah A Almsaeed
* Date: 4 Jan 2014
* Description:
* This is a demo file used only for the main dashboard (index.html)
**/
$(function() {
"use strict";
//Make the dashboard widgets sortable Using jquery UI
$(".connectedSortable").sortable({
placeholder: "sort-highlight",
connectWith: ".connectedSortable",
handle: ".box-header, .nav-tabs",
forcePlaceholderSize: true,
zIndex: 999999
}).disableSelection();
$(".box-header, .nav-tabs").css("cursor","move");
//jQuery UI sortable for the todo list
$(".todo-list").sortable({
placeholder: "sort-highlight",
handle: ".handle",
forcePlaceholderSize: true,
zIndex: 999999
}).disableSelection();;
//bootstrap WYSIHTML5 - text editor
$(".textarea").wysihtml5();
$('.daterange').daterangepicker(
{
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1)],
'Last 7 Days': [moment().subtract('days', 6), moment()],
'Last 30 Days': [moment().subtract('days', 29), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')]
},
startDate: moment().subtract('days', 29),
endDate: moment()
},
function(start, end) {
alert("You chose: " + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
});
/* jQueryKnob */
$(".knob").knob();
//jvectormap data
var visitorsData = {
"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({
map: 'world_mill_en',
backgroundColor: "#fff",
regionStyle: {
initial: {
fill: '#e4e4e4',
"fill-opacity": 1,
stroke: 'none',
"stroke-width": 0,
"stroke-opacity": 1
}
},
series: {
regions: [{
values: visitorsData,
scale: ["#3c8dbc", "#2D79A6"], //['#3E5E6B', '#A6BAC2'],
normalizeFunction: 'polynomial'
}]
},
onRegionLabelShow: function(e, el, code) {
if (typeof visitorsData[code] != "undefined")
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors');
}
});
//Sparkline charts
var myvalues = [15, 19, 20, -22, -33, 27, 31, 27, 19, 30, 21];
$('#sparkline-1').sparkline(myvalues, {
type: 'bar',
barColor: '#00a65a',
negBarColor: "#f56954",
height: '20px'
});
myvalues = [15, 19, 20, 22, -2, -10, -7, 27, 19, 30, 21];
$('#sparkline-2').sparkline(myvalues, {
type: 'bar',
barColor: '#00a65a',
negBarColor: "#f56954",
height: '20px'
});
myvalues = [15, -19, -20, 22, 33, 27, 31, 27, 19, 30, 21];
$('#sparkline-3').sparkline(myvalues, {
type: 'bar',
barColor: '#00a65a',
negBarColor: "#f56954",
height: '20px'
});
myvalues = [15, 19, 20, 22, 33, -27, -31, 27, 19, 30, 21];
$('#sparkline-4').sparkline(myvalues, {
type: 'bar',
barColor: '#00a65a',
negBarColor: "#f56954",
height: '20px'
});
myvalues = [15, 19, 20, 22, 33, 27, 31, -27, -19, 30, 21];
$('#sparkline-5').sparkline(myvalues, {
type: 'bar',
barColor: '#00a65a',
negBarColor: "#f56954",
height: '20px'
});
myvalues = [15, 19, -20, 22, -13, 27, 31, 27, 19, 30, 21];
$('#sparkline-6').sparkline(myvalues, {
type: 'bar',
barColor: '#00a65a',
negBarColor: "#f56954",
height: '20px'
});
//Date for the calendar events (dummy data)
var date = new Date();
var d = date.getDate(),
m = date.getMonth(),
y = date.getFullYear();
//Calendar
$('#calendar').fullCalendar({
editable: true, //Enable drag and drop
events: [
{
title: 'All Day Event',
start: new Date(y, m, 1),
backgroundColor: "#3c8dbc", //light-blue
borderColor: "#3c8dbc" //light-blue
},
{
title: 'Long Event',
start: new Date(y, m, d - 5),
end: new Date(y, m, d - 2),
backgroundColor: "#f39c12", //yellow
borderColor: "#f39c12" //yellow
},
{
title: 'Meeting',
start: new Date(y, m, d, 10, 30),
allDay: false,
backgroundColor: "#0073b7", //Blue
borderColor: "#0073b7" //Blue
},
{
title: 'Lunch',
start: new Date(y, m, d, 12, 0),
end: new Date(y, m, d, 14, 0),
allDay: false,
backgroundColor: "#00c0ef", //Info (aqua)
borderColor: "#00c0ef" //Info (aqua)
},
{
title: 'Birthday Party',
start: new Date(y, m, d + 1, 19, 0),
end: new Date(y, m, d + 1, 22, 30),
allDay: false,
backgroundColor: "#00a65a", //Success (green)
borderColor: "#00a65a" //Success (green)
},
{
title: 'Click for Google',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
url: 'http://google.com/',
backgroundColor: "#f56954", //red
borderColor: "#f56954" //red
}
],
buttonText: {//This is to add icons to the visible buttons
prev: "<span class='fa fa-caret-left'></span>",
next: "<span class='fa fa-caret-right'></span>",
today: 'today',
month: 'month',
week: 'week',
day: 'day'
},
header: {
left: 'title',
center: '',
right: 'prev,next'
}
});
//SLIMSCROLL FOR CHAT WIDGET
$('#chat-box').slimScroll({
height: '250px'
});
/* Morris.js Charts */
// Sales chart
var area = new Morris.Area({
element: 'revenue-chart',
resize: true,
data: [
{y: '2011 Q1', item1: 2666, item2: 2666},
{y: '2011 Q2', item1: 2778, item2: 2294},
{y: '2011 Q3', item1: 4912, item2: 1969},
{y: '2011 Q4', item1: 3767, item2: 3597},
{y: '2012 Q1', item1: 6810, item2: 1914},
{y: '2012 Q2', item1: 5670, item2: 4293},
{y: '2012 Q3', item1: 4820, item2: 3795},
{y: '2012 Q4', item1: 15073, item2: 5967},
{y: '2013 Q1', item1: 10687, item2: 4460},
{y: '2013 Q2', item1: 8432, item2: 5713}
],
xkey: 'y',
ykeys: ['item1', 'item2'],
labels: ['Item 1', 'Item 2'],
lineColors: ['#a0d0e0', '#3c8dbc'],
hideHover: 'auto'
});
//Donut Chart
var donut = new Morris.Donut({
element: 'sales-chart',
resize: true,
colors: ["#3c8dbc", "#f56954", "#00a65a"],
data: [
{label: "Download Sales", value: 12},
{label: "In-Store Sales", value: 30},
{label: "Mail-Order Sales", value: 20}
],
hideHover: 'auto'
});
//Bar chart
var bar = new Morris.Bar({
element: 'bar-chart',
resize: true,
data: [
{y: '2006', a: 100, b: 90},
{y: '2007', a: 75, b: 65},
{y: '2008', a: 50, b: 40},
{y: '2009', a: 75, b: 65},
{y: '2010', a: 50, b: 40},
{y: '2011', a: 75, b: 65},
{y: '2012', a: 100, b: 90}
],
barColors: ['#00a65a', '#f56954'],
xkey: 'y',
ykeys: ['a', 'b'],
labels: ['CPU', 'DISK'],
hideHover: 'auto'
});
//Fix for charts under tabs
$('.box ul.nav a').on('shown.bs.tab', function(e) {
area.redraw();
donut.redraw();
});
/* BOX REFRESH PLUGIN EXAMPLE (usage with morris charts) */
$("#loading-example").boxRefresh({
source: "ajax/dashboard-boxrefresh-demo.php",
onLoadDone: function(box) {
bar = new Morris.Bar({
element: 'bar-chart',
resize: true,
data: [
{y: '2006', a: 100, b: 90},
{y: '2007', a: 75, b: 65},
{y: '2008', a: 50, b: 40},
{y: '2009', a: 75, b: 65},
{y: '2010', a: 50, b: 40},
{y: '2011', a: 75, b: 65},
{y: '2012', a: 100, b: 90}
],
barColors: ['#00a65a', '#f56954'],
xkey: 'y',
ykeys: ['a', 'b'],
labels: ['CPU', 'DISK'],
hideHover: 'auto'
});
}
});
/* The todo list plugin */
$(".todo-list").todolist({
onCheck: function(ele) {
//console.log("The element has been checked")
},
onUncheck: function(ele) {
//console.log("The element has been unchecked")
}
});
});
|