initial import
This commit is contained in:
1160
static/adminlte/js/adminlte.js
Normal file
1160
static/adminlte/js/adminlte.js
Normal file
File diff suppressed because it is too large
Load Diff
13
static/adminlte/js/adminlte.min.js
vendored
Normal file
13
static/adminlte/js/adminlte.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
354
static/adminlte/js/demo.js
Normal file
354
static/adminlte/js/demo.js
Normal file
@@ -0,0 +1,354 @@
|
||||
/**
|
||||
* AdminLTE Demo Menu
|
||||
* ------------------
|
||||
* You should not use this file in production.
|
||||
* This file is for demo purposes only.
|
||||
*/
|
||||
$(function () {
|
||||
'use strict'
|
||||
|
||||
/**
|
||||
* Get access to plugins
|
||||
*/
|
||||
|
||||
$('[data-toggle="control-sidebar"]').controlSidebar()
|
||||
$('[data-toggle="push-menu"]').pushMenu()
|
||||
var $pushMenu = $('[data-toggle="push-menu"]').data('lte.pushmenu')
|
||||
var $controlSidebar = $('[data-toggle="control-sidebar"]').data('lte.controlsidebar')
|
||||
var $layout = $('body').data('lte.layout')
|
||||
$(window).on('load', function() {
|
||||
// Reinitialize variables on load
|
||||
$pushMenu = $('[data-toggle="push-menu"]').data('lte.pushmenu')
|
||||
$controlSidebar = $('[data-toggle="control-sidebar"]').data('lte.controlsidebar')
|
||||
$layout = $('body').data('lte.layout')
|
||||
})
|
||||
|
||||
/**
|
||||
* List of all the available skins
|
||||
*
|
||||
* @type Array
|
||||
*/
|
||||
var mySkins = [
|
||||
'skin-blue',
|
||||
'skin-black',
|
||||
'skin-red',
|
||||
'skin-yellow',
|
||||
'skin-purple',
|
||||
'skin-green',
|
||||
'skin-blue-light',
|
||||
'skin-black-light',
|
||||
'skin-red-light',
|
||||
'skin-yellow-light',
|
||||
'skin-purple-light',
|
||||
'skin-green-light'
|
||||
]
|
||||
|
||||
/**
|
||||
* Get a prestored setting
|
||||
*
|
||||
* @param String name Name of of the setting
|
||||
* @returns String The value of the setting | null
|
||||
*/
|
||||
function get(name) {
|
||||
if (typeof (Storage) !== 'undefined') {
|
||||
return localStorage.getItem(name)
|
||||
} else {
|
||||
window.alert('Please use a modern browser to properly view this template!')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a new settings in the browser
|
||||
*
|
||||
* @param String name Name of the setting
|
||||
* @param String val Value of the setting
|
||||
* @returns void
|
||||
*/
|
||||
function store(name, val) {
|
||||
if (typeof (Storage) !== 'undefined') {
|
||||
localStorage.setItem(name, val)
|
||||
} else {
|
||||
window.alert('Please use a modern browser to properly view this template!')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles layout classes
|
||||
*
|
||||
* @param String cls the layout class to toggle
|
||||
* @returns void
|
||||
*/
|
||||
function changeLayout(cls) {
|
||||
$('body').toggleClass(cls)
|
||||
$layout.fixSidebar()
|
||||
if ($('body').hasClass('fixed') && cls == 'fixed') {
|
||||
$pushMenu.expandOnHover()
|
||||
$layout.activate()
|
||||
}
|
||||
$controlSidebar.fix()
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces the old skin with the new skin
|
||||
* @param String cls the new skin class
|
||||
* @returns Boolean false to prevent link's default action
|
||||
*/
|
||||
function changeSkin(cls) {
|
||||
$.each(mySkins, function (i) {
|
||||
$('body').removeClass(mySkins[i])
|
||||
})
|
||||
|
||||
$('body').addClass(cls)
|
||||
store('skin', cls)
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve default settings and apply them to the template
|
||||
*
|
||||
* @returns void
|
||||
*/
|
||||
function setup() {
|
||||
var tmp = get('skin')
|
||||
if (tmp && $.inArray(tmp, mySkins))
|
||||
changeSkin(tmp)
|
||||
|
||||
// Add the change skin listener
|
||||
$('[data-skin]').on('click', function (e) {
|
||||
if ($(this).hasClass('knob'))
|
||||
return
|
||||
e.preventDefault()
|
||||
changeSkin($(this).data('skin'))
|
||||
})
|
||||
|
||||
// Add the layout manager
|
||||
$('[data-layout]').on('click', function () {
|
||||
changeLayout($(this).data('layout'))
|
||||
})
|
||||
|
||||
$('[data-controlsidebar]').on('click', function () {
|
||||
changeLayout($(this).data('controlsidebar'))
|
||||
var slide = !$controlSidebar.options.slide
|
||||
|
||||
$controlSidebar.options.slide = slide
|
||||
if (!slide)
|
||||
$('.control-sidebar').removeClass('control-sidebar-open')
|
||||
})
|
||||
|
||||
$('[data-sidebarskin="toggle"]').on('click', function () {
|
||||
var $sidebar = $('.control-sidebar')
|
||||
if ($sidebar.hasClass('control-sidebar-dark')) {
|
||||
$sidebar.removeClass('control-sidebar-dark')
|
||||
$sidebar.addClass('control-sidebar-light')
|
||||
} else {
|
||||
$sidebar.removeClass('control-sidebar-light')
|
||||
$sidebar.addClass('control-sidebar-dark')
|
||||
}
|
||||
})
|
||||
|
||||
$('[data-enable="expandOnHover"]').on('click', function () {
|
||||
$(this).attr('disabled', true)
|
||||
$pushMenu.expandOnHover()
|
||||
if (!$('body').hasClass('sidebar-collapse'))
|
||||
$('[data-layout="sidebar-collapse"]').click()
|
||||
})
|
||||
|
||||
// Reset options
|
||||
if ($('body').hasClass('fixed')) {
|
||||
$('[data-layout="fixed"]').attr('checked', 'checked')
|
||||
}
|
||||
if ($('body').hasClass('layout-boxed')) {
|
||||
$('[data-layout="layout-boxed"]').attr('checked', 'checked')
|
||||
}
|
||||
if ($('body').hasClass('sidebar-collapse')) {
|
||||
$('[data-layout="sidebar-collapse"]').attr('checked', 'checked')
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Create the new tab
|
||||
var $tabPane = $('<div />', {
|
||||
'id': 'control-sidebar-theme-demo-options-tab',
|
||||
'class': 'tab-pane active'
|
||||
})
|
||||
|
||||
// Create the tab button
|
||||
var $tabButton = $('<li />', {'class': 'active'})
|
||||
.html('<a href=\'#control-sidebar-theme-demo-options-tab\' data-toggle=\'tab\'>'
|
||||
+ '<i class="fa fa-wrench"></i>'
|
||||
+ '</a>')
|
||||
|
||||
// Add the tab button to the right sidebar tabs
|
||||
$('[href="#control-sidebar-home-tab"]')
|
||||
.parent()
|
||||
.before($tabButton)
|
||||
|
||||
// Create the menu
|
||||
var $demoSettings = $('<div />')
|
||||
|
||||
// Layout options
|
||||
$demoSettings.append(
|
||||
'<h4 class="control-sidebar-heading">'
|
||||
+ 'Layout Options'
|
||||
+ '</h4>'
|
||||
// Fixed layout
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input type="checkbox"data-layout="fixed"class="pull-right"/> '
|
||||
+ 'Fixed layout'
|
||||
+ '</label>'
|
||||
+ '<p>Activate the fixed layout. You can\'t use fixed and boxed layouts together</p>'
|
||||
+ '</div>'
|
||||
// Boxed layout
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input type="checkbox"data-layout="layout-boxed" class="pull-right"/> '
|
||||
+ 'Boxed Layout'
|
||||
+ '</label>'
|
||||
+ '<p>Activate the boxed layout</p>'
|
||||
+ '</div>'
|
||||
// Sidebar Toggle
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input type="checkbox"data-layout="sidebar-collapse"class="pull-right"/> '
|
||||
+ 'Toggle Sidebar'
|
||||
+ '</label>'
|
||||
+ '<p>Toggle the left sidebar\'s state (open or collapse)</p>'
|
||||
+ '</div>'
|
||||
// Sidebar mini expand on hover toggle
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input type="checkbox"data-enable="expandOnHover"class="pull-right"/> '
|
||||
+ 'Sidebar Expand on Hover'
|
||||
+ '</label>'
|
||||
+ '<p>Let the sidebar mini expand on hover</p>'
|
||||
+ '</div>'
|
||||
// Control Sidebar Toggle
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input type="checkbox"data-controlsidebar="control-sidebar-open"class="pull-right"/> '
|
||||
+ 'Toggle Right Sidebar Slide'
|
||||
+ '</label>'
|
||||
+ '<p>Toggle between slide over content and push content effects</p>'
|
||||
+ '</div>'
|
||||
// Control Sidebar Skin Toggle
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input type="checkbox"data-sidebarskin="toggle"class="pull-right"/> '
|
||||
+ 'Toggle Right Sidebar Skin'
|
||||
+ '</label>'
|
||||
+ '<p>Toggle between dark and light skins for the right sidebar</p>'
|
||||
+ '</div>'
|
||||
)
|
||||
var $skinsList = $('<ul />', {'class': 'list-unstyled clearfix'})
|
||||
|
||||
// Dark sidebar skins
|
||||
var $skinBlue =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-blue" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px; background: #367fa9"></span><span class="bg-light-blue" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin">Blue</p>')
|
||||
$skinsList.append($skinBlue)
|
||||
var $skinBlack =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-black" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div style="box-shadow: 0 0 2px rgba(0,0,0,0.1)" class="clearfix"><span style="display:block; width: 20%; float: left; height: 7px; background: #fefefe"></span><span style="display:block; width: 80%; float: left; height: 7px; background: #fefefe"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin">Black</p>')
|
||||
$skinsList.append($skinBlack)
|
||||
var $skinPurple =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-purple" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-purple-active"></span><span class="bg-purple" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin">Purple</p>')
|
||||
$skinsList.append($skinPurple)
|
||||
var $skinGreen =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-green" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-green-active"></span><span class="bg-green" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin">Green</p>')
|
||||
$skinsList.append($skinGreen)
|
||||
var $skinRed =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-red" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-red-active"></span><span class="bg-red" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin">Red</p>')
|
||||
$skinsList.append($skinRed)
|
||||
var $skinYellow =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-yellow" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-yellow-active"></span><span class="bg-yellow" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin">Yellow</p>')
|
||||
$skinsList.append($skinYellow)
|
||||
|
||||
// Light sidebar skins
|
||||
var $skinBlueLight =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-blue-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px; background: #367fa9"></span><span class="bg-light-blue" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin" style="font-size: 12px">Blue Light</p>')
|
||||
$skinsList.append($skinBlueLight)
|
||||
var $skinBlackLight =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-black-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div style="box-shadow: 0 0 2px rgba(0,0,0,0.1)" class="clearfix"><span style="display:block; width: 20%; float: left; height: 7px; background: #fefefe"></span><span style="display:block; width: 80%; float: left; height: 7px; background: #fefefe"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin" style="font-size: 12px">Black Light</p>')
|
||||
$skinsList.append($skinBlackLight)
|
||||
var $skinPurpleLight =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-purple-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-purple-active"></span><span class="bg-purple" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin" style="font-size: 12px">Purple Light</p>')
|
||||
$skinsList.append($skinPurpleLight)
|
||||
var $skinGreenLight =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-green-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-green-active"></span><span class="bg-green" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin" style="font-size: 12px">Green Light</p>')
|
||||
$skinsList.append($skinGreenLight)
|
||||
var $skinRedLight =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-red-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-red-active"></span><span class="bg-red" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin" style="font-size: 12px">Red Light</p>')
|
||||
$skinsList.append($skinRedLight)
|
||||
var $skinYellowLight =
|
||||
$('<li />', {style: 'float:left; width: 33.33333%; padding: 5px;'})
|
||||
.append('<a href="javascript:void(0)" data-skin="skin-yellow-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-yellow-active"></span><span class="bg-yellow" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'
|
||||
+ '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'
|
||||
+ '</a>'
|
||||
+ '<p class="text-center no-margin" style="font-size: 12px">Yellow Light</p>')
|
||||
$skinsList.append($skinYellowLight)
|
||||
|
||||
$demoSettings.append('<h4 class="control-sidebar-heading">Skins</h4>')
|
||||
$demoSettings.append($skinsList)
|
||||
|
||||
$tabPane.append($demoSettings)
|
||||
$('#control-sidebar-home-tab').after($tabPane)
|
||||
|
||||
setup()
|
||||
|
||||
$('[data-toggle="tooltip"]').tooltip()
|
||||
})
|
||||
211
static/adminlte/js/pages/dashboard.js
Normal file
211
static/adminlte/js/pages/dashboard.js
Normal file
@@ -0,0 +1,211 @@
|
||||
/*
|
||||
* 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({
|
||||
containment : $('section.content'),
|
||||
placeholder : 'sort-highlight',
|
||||
connectWith : '.connectedSortable',
|
||||
handle : '.box-header, .nav-tabs',
|
||||
forcePlaceholderSize: true,
|
||||
zIndex : 999999
|
||||
});
|
||||
$('.connectedSortable .box-header, .connectedSortable .nav-tabs-custom').css('cursor', 'move');
|
||||
|
||||
// jQuery UI sortable for the todo list
|
||||
$('.todo-list').sortable({
|
||||
placeholder : 'sort-highlight',
|
||||
handle : '.handle',
|
||||
forcePlaceholderSize: true,
|
||||
zIndex : 999999
|
||||
});
|
||||
|
||||
// bootstrap WYSIHTML5 - text editor
|
||||
$('.textarea').wysihtml5();
|
||||
|
||||
$('.daterange').daterangepicker({
|
||||
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()],
|
||||
'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'),
|
||||
endDate : moment()
|
||||
}, function (start, end) {
|
||||
window.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 : 'transparent',
|
||||
regionStyle : {
|
||||
initial: {
|
||||
fill : '#e4e4e4',
|
||||
'fill-opacity' : 1,
|
||||
stroke : 'none',
|
||||
'stroke-width' : 0,
|
||||
'stroke-opacity': 1
|
||||
}
|
||||
},
|
||||
series : {
|
||||
regions: [
|
||||
{
|
||||
values : visitorsData,
|
||||
scale : ['#92c1dc', '#ebf4f9'],
|
||||
normalizeFunction: 'polynomial'
|
||||
}
|
||||
]
|
||||
},
|
||||
onRegionLabelShow: function (e, el, code) {
|
||||
if (typeof visitorsData[code] != 'undefined')
|
||||
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors');
|
||||
}
|
||||
});
|
||||
|
||||
// Sparkline charts
|
||||
var myvalues = [1000, 1200, 920, 927, 931, 1027, 819, 930, 1021];
|
||||
$('#sparkline-1').sparkline(myvalues, {
|
||||
type : 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: '#ebf4f9',
|
||||
height : '50',
|
||||
width : '80'
|
||||
});
|
||||
myvalues = [515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921];
|
||||
$('#sparkline-2').sparkline(myvalues, {
|
||||
type : 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: '#ebf4f9',
|
||||
height : '50',
|
||||
width : '80'
|
||||
});
|
||||
myvalues = [15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21];
|
||||
$('#sparkline-3').sparkline(myvalues, {
|
||||
type : 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: '#ebf4f9',
|
||||
height : '50',
|
||||
width : '80'
|
||||
});
|
||||
|
||||
// The Calender
|
||||
$('#calendar').datepicker();
|
||||
|
||||
// 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'
|
||||
});
|
||||
var line = new Morris.Line({
|
||||
element : 'line-chart',
|
||||
resize : true,
|
||||
data : [
|
||||
{ y: '2011 Q1', item1: 2666 },
|
||||
{ y: '2011 Q2', item1: 2778 },
|
||||
{ y: '2011 Q3', item1: 4912 },
|
||||
{ y: '2011 Q4', item1: 3767 },
|
||||
{ y: '2012 Q1', item1: 6810 },
|
||||
{ y: '2012 Q2', item1: 5670 },
|
||||
{ y: '2012 Q3', item1: 4820 },
|
||||
{ y: '2012 Q4', item1: 15073 },
|
||||
{ y: '2013 Q1', item1: 10687 },
|
||||
{ y: '2013 Q2', item1: 8432 }
|
||||
],
|
||||
xkey : 'y',
|
||||
ykeys : ['item1'],
|
||||
labels : ['Item 1'],
|
||||
lineColors : ['#efefef'],
|
||||
lineWidth : 2,
|
||||
hideHover : 'auto',
|
||||
gridTextColor : '#fff',
|
||||
gridStrokeWidth : 0.4,
|
||||
pointSize : 4,
|
||||
pointStrokeColors: ['#efefef'],
|
||||
gridLineColor : '#efefef',
|
||||
gridTextFamily : 'Open Sans',
|
||||
gridTextSize : 10
|
||||
});
|
||||
|
||||
// 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'
|
||||
});
|
||||
|
||||
// Fix for charts under tabs
|
||||
$('.box ul.nav a').on('shown.bs.tab', function () {
|
||||
area.redraw();
|
||||
donut.redraw();
|
||||
line.redraw();
|
||||
});
|
||||
|
||||
/* The todo list plugin */
|
||||
$('.todo-list').todoList({
|
||||
onCheck : function () {
|
||||
window.console.log($(this), 'The element has been checked');
|
||||
},
|
||||
onUnCheck: function () {
|
||||
window.console.log($(this), 'The element has been unchecked');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
274
static/adminlte/js/pages/dashboard2.js
Normal file
274
static/adminlte/js/pages/dashboard2.js
Normal file
@@ -0,0 +1,274 @@
|
||||
$(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')
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user