type = ['primary', 'info', 'success', 'warning', 'danger'];
demo = {
initPickColor: function() {
$('.pick-class-label').click(function() {
var new_class = $(this).attr('new-class');
var old_class = $('#display-buttons').attr('data-class');
var display_div = $('#display-buttons');
if (display_div.length) {
var display_buttons = display_div.find('.btn');
display_buttons.removeClass(old_class);
display_buttons.addClass(new_class);
display_div.attr('data-class', new_class);
}
});
},
checkFullPageBackgroundImage: function() {
$page = $('.full-page');
image_src = $page.data('image');
if (image_src !== undefined) {
image_container = '
';
$page.append(image_container);
}
},
initDateTimePicker: function() {
if ($(".datetimepicker").length != 0) {
$('.datetimepicker').datetimepicker({
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-chevron-up",
down: "fa fa-chevron-down",
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-screenshot',
clear: 'fa fa-trash',
close: 'fa fa-remove'
}
});
}
if ($(".datepicker").length != 0) {
$('.datepicker').datetimepicker({
format: 'MM/DD/YYYY',
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-chevron-up",
down: "fa fa-chevron-down",
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-screenshot',
clear: 'fa fa-trash',
close: 'fa fa-remove'
}
});
}
if ($(".timepicker").length != 0) {
$('.timepicker').datetimepicker({
// format: 'H:mm', // use this format if you want the 24hours timepicker
format: 'h:mm A', //use this format if you want the 12hours timpiecker with AM/PM toggle
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-chevron-up",
down: "fa fa-chevron-down",
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-screenshot',
clear: 'fa fa-trash',
close: 'fa fa-remove'
}
});
}
},
initFullCalendar: function() {
var calendarEl = document.getElementById('fullCalendar');
$calendar = $('#fullCalendar');
var today = new Date();
var y = today.getFullYear();
var m = today.getMonth();
var d = today.getDate();
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: ['interaction', 'dayGrid', 'timeGridPlugin'],
editable: true,
header: {
left: 'title',
center: 'dayGridMonth,dayGridWeek,dayGridDay',
right: 'prev,next,today'
},
selectable: true,
droppable: true,
rendering: 'background',
defaultDate: today,
selectable: true,
selectHelper: true,
select: function(info) {
// on select we show the Sweet Alert modal with an input
Swal.fire({
title: 'Create an Event',
html: '' +
'' +
'
',
showCancelButton: true,
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
}).then(function(result) {
var eventData;
event_title = $('#input-field').val();
if (event_title) {
eventData = {
title: event_title,
start: info.startStr,
end: info.endStr
};
calendar.addEvent(eventData);
}
});
},
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [{
title: 'All Day Event',
start: new Date(y, m, 1),
className: 'event-default'
},
{
title: 'Meeting',
start: new Date(y, m, d - 1, 10, 30),
allDay: false,
className: 'event-green'
},
{
title: 'Lunch',
start: new Date(y, m, d + 7, 12, 0),
end: new Date(y, m, d + 7, 14, 0),
allDay: false,
className: 'event-red'
},
{
title: 'BD-pro Launch',
start: new Date(y, m, d - 2, 12, 0),
allDay: true,
className: 'event-azure'
},
{
title: 'Birthday Party',
start: new Date(y, m, d + 1, 19, 0),
end: new Date(y, m, d + 1, 22, 30),
allDay: false,
className: 'event-azure'
},
{
title: 'Click for Creative Tim',
start: new Date(y, m, 21),
end: new Date(y, m, 22),
url: 'http://www.creative-tim.com/',
className: 'event-orange'
},
{
title: 'Click for Google',
start: new Date(y, m, 21),
end: new Date(y, m, 22),
url: 'http://www.creative-tim.com/',
className: 'event-orange'
}
]
});
calendar.render();
},
showSwal: function(type) {
if (type == 'basic') {
Swal.fire({
title: 'Here is a message!',
customClass: {
confirmButton: 'btn btn-success'
},
buttonsStyling: false
})
} else if (type == 'title-and-text') {
Swal.fire({
title: 'The Internet?',
text: 'That thing is still around?',
type: 'question',
customClass: {
confirmButton: 'btn btn-info'
},
buttonsStyling: false,
})
} else if (type == 'success-message') {
Swal.fire({
position: 'center',
type: 'success',
title: 'Good job!',
showConfirmButton: false,
timer: 1500
})
} else if (type == 'warning-message-and-confirmation') {
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
})
swalWithBootstrapButtons.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, cancel!',
reverseButtons: true
}).then((result) => {
if (result.value) {
swalWithBootstrapButtons.fire(
'Deleted!',
'Your file has been deleted.',
'success'
)
} else if (
/* Read more about handling dismissals below */
result.dismiss === Swal.DismissReason.cancel
) {
swalWithBootstrapButtons.fire(
'Cancelled',
'Your imaginary file is safe :)',
'error'
)
}
})
} else if (type == 'warning-message-and-cancel') {
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false,
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.value) {
Swal.fire(
'Deleted!',
'Your file has been deleted.',
'success'
)
}
})
} else if (type == 'custom-html') {
Swal.fire({
title: 'HTML example',
type: 'info',
html: 'You can use bold text, ' +
'links ' +
'and other HTML tags',
showCloseButton: true,
showCancelButton: true,
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false,
focusConfirm: false,
confirmButtonText: ' Great!',
confirmButtonAriaLabel: 'Thumbs up, great!',
cancelButtonText: '',
cancelButtonAriaLabel: 'Thumbs down'
})
} else if (type == 'auto-close') {
let timerInterval
Swal.fire({
title: 'Auto close alert!',
html: 'I will close in milliseconds.',
timer: 2000,
onBeforeOpen: () => {
Swal.showLoading()
timerInterval = setInterval(() => {
Swal.getContent().querySelector('strong')
.textContent = Swal.getTimerLeft()
}, 100)
},
onClose: () => {
clearInterval(timerInterval)
}
}).then((result) => {
if (
/* Read more about handling dismissals below */
result.dismiss === Swal.DismissReason.timer
) {
console.log('I was closed by the timer')
}
})
} else if (type == 'input-field') {
Swal.fire({
title: 'Submit your Github username',
input: 'text',
inputAttributes: {
autocapitalize: 'off'
},
showCancelButton: true,
confirmButtonText: 'Look up',
customClass: {
confirmButton: 'btn btn-primary',
cancelButton: 'btn btn-default'
},
buttonsStyling: false,
showLoaderOnConfirm: true,
preConfirm: (login) => {
return fetch(`//api.github.com/users/${login}`)
.then(response => {
if (!response.ok) {
throw new Error(response.statusText)
}
return response.json()
})
.catch(error => {
Swal.showValidationMessage(
`Request failed: ${error}`
)
})
},
allowOutsideClick: () => !Swal.isLoading()
}).then((result) => {
if (result.value) {
Swal.fire({
title: `${result.value.login}'s avatar`,
imageUrl: result.value.avatar_url
})
}
})
}
},
initWizard: function() {
// Code for the Validator
var $validator = $('.card-wizard form').validate({
rules: {
firstname: {
required: true,
minlength: 3
},
lastname: {
required: true,
minlength: 3
},
email: {
required: true,
minlength: 3,
}
},
highlight: function(element) {
$(element).closest('.input-group').removeClass('has-success').addClass('has-danger');
},
success: function(element) {
$(element).closest('.input-group').removeClass('has-danger').addClass('has-success');
}
});
// Wizard Initialization
$('.card-wizard').bootstrapWizard({
'tabClass': 'nav nav-pills',
'nextSelector': '.btn-next',
'previousSelector': '.btn-previous',
onNext: function(tab, navigation, index) {
var $valid = $('.card-wizard form').valid();
if (!$valid) {
$validator.focusInvalid();
return false;
}
},
onInit: function(tab, navigation, index) {
//check number of tabs and fill the entire row
var $total = navigation.find('li').length;
var $wizard = navigation.closest('.card-wizard');
first_li = navigation.find('li:first-child a').html();
$moving_div = $("");
$moving_div.append(first_li);
$('.card-wizard .wizard-navigation').append($moving_div);
refreshAnimation($wizard, index);
$('.moving-tab').css('transition', 'transform 0s');
},
onTabClick: function(tab, navigation, index) {
var $valid = $('.card-wizard form').valid();
if (!$valid) {
return false;
} else {
return true;
}
},
onTabShow: function(tab, navigation, index) {
var $total = navigation.find('li').length;
var $current = index + 1;
var $wizard = navigation.closest('.card-wizard');
// If it's the last tab then hide the last button and show the finish instead
if ($current >= $total) {
$($wizard).find('.btn-next').hide();
$($wizard).find('.btn-finish').show();
} else {
$($wizard).find('.btn-next').show();
$($wizard).find('.btn-finish').hide();
}
button_text = navigation.find('li:nth-child(' + $current + ') a').html();
setTimeout(function() {
$('.moving-tab').html(button_text);
}, 150);
var checkbox = $('.footer-checkbox');
if (!index == 0) {
$(checkbox).css({
'opacity': '0',
'visibility': 'hidden',
'position': 'absolute'
});
} else {
$(checkbox).css({
'opacity': '1',
'visibility': 'visible'
});
}
refreshAnimation($wizard, index);
}
});
// Prepare the preview for profile picture
$("#wizard-picture").change(function() {
readURL(this);
});
$('[data-toggle="wizard-radio"]').click(function() {
wizard = $(this).closest('.card-wizard');
wizard.find('[data-toggle="wizard-radio"]').removeClass('active');
$(this).addClass('active');
$(wizard).find('[type="radio"]').removeAttr('checked');
$(this).find('[type="radio"]').attr('checked', 'true');
});
$('[data-toggle="wizard-checkbox"]').click(function() {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
$(this).find('[type="checkbox"]').removeAttr('checked');
} else {
$(this).addClass('active');
$(this).find('[type="checkbox"]').attr('checked', 'true');
}
});
$('.set-full-height').css('height', 'auto');
//Function to show image before upload
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#wizardPicturePreview').attr('src', e.target.result).fadeIn('slow');
}
reader.readAsDataURL(input.files[0]);
}
}
$(window).resize(function() {
$('.card-wizard').each(function() {
$wizard = $(this);
index = $wizard.bootstrapWizard('currentIndex');
refreshAnimation($wizard, index);
$('.moving-tab').css({
'transition': 'transform 0s'
});
});
});
function refreshAnimation($wizard, index) {
$total = $wizard.find('.nav li').length;
$li_width = 100 / $total;
total_steps = $wizard.find('.nav li').length;
move_distance = $wizard.width() / total_steps;
index_temp = index;
vertical_level = 0;
mobile_device = $(document).width() < 600 && $total > 3;
if (mobile_device) {
move_distance = $wizard.width() / 2;
index_temp = index % 2;
$li_width = 50;
}
$wizard.find('.nav li').css('width', $li_width + '%');
step_width = move_distance;
move_distance = move_distance * index_temp;
$current = index + 1;
// if($current == 1 || (mobile_device == true && (index % 2 == 0) )){
// move_distance -= 8;
// } else if($current == total_steps || (mobile_device == true && (index % 2 == 1))){
// move_distance += 8;
// }
if (mobile_device) {
vertical_level = parseInt(index / 2);
vertical_level = vertical_level * 38;
}
$wizard.find('.moving-tab').css('width', step_width);
$('.moving-tab').css({
'transform': 'translate3d(' + move_distance + 'px, ' + vertical_level + 'px, 0)',
'transition': 'all 0.5s cubic-bezier(0.29, 1.42, 0.79, 1)'
});
}
},
initSliders: function() {
// Sliders for demo purpose in refine cards section
var slider = document.getElementById('sliderRegular');
noUiSlider.create(slider, {
start: 40,
connect: [true, false],
range: {
min: 0,
max: 100
}
});
var slider2 = document.getElementById('sliderDouble');
noUiSlider.create(slider2, {
start: [20, 60],
connect: true,
range: {
min: 0,
max: 100
}
});
},
initVectorMap: function() {
var mapData = {
"AU": 760,
"BR": 550,
"CA": 120,
"DE": 1300,
"FR": 540,
"GB": 690,
"GE": 200,
"IN": 200,
"RO": 600,
"RU": 300,
"US": 2920,
};
$('#worldMap').vectorMap({
map: 'world_merc',
backgroundColor: "transparent",
zoomOnScroll: false,
regionStyle: {
initial: {
fill: '#e4e4e4',
"fill-opacity": 0.9,
stroke: 'none',
"stroke-width": 0,
"stroke-opacity": 0
}
},
series: {
regions: [{
values: mapData,
scale: ["#AAAAAA", "#444444"],
normalizeFunction: 'polynomial'
}]
},
});
},
initGoogleMaps: function() {
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
var mapOptions = {
zoom: 13,
center: myLatlng,
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
styles: [{
"featureType": "water",
"stylers": [{
"saturation": 43
}, {
"lightness": -11
}, {
"hue": "#0088ff"
}]
}, {
"featureType": "road",
"elementType": "geometry.fill",
"stylers": [{
"hue": "#ff0000"
}, {
"saturation": -100
}, {
"lightness": 99
}]
}, {
"featureType": "road",
"elementType": "geometry.stroke",
"stylers": [{
"color": "#808080"
}, {
"lightness": 54
}]
}, {
"featureType": "landscape.man_made",
"elementType": "geometry.fill",
"stylers": [{
"color": "#ece2d9"
}]
}, {
"featureType": "poi.park",
"elementType": "geometry.fill",
"stylers": [{
"color": "#ccdca1"
}]
}, {
"featureType": "road",
"elementType": "labels.text.fill",
"stylers": [{
"color": "#767676"
}]
}, {
"featureType": "road",
"elementType": "labels.text.stroke",
"stylers": [{
"color": "#ffffff"
}]
}, {
"featureType": "poi",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "landscape.natural",
"elementType": "geometry.fill",
"stylers": [{
"visibility": "on"
}, {
"color": "#b8cb93"
}]
}, {
"featureType": "poi.park",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.sports_complex",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.medical",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.business",
"stylers": [{
"visibility": "simplified"
}]
}]
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "Hello World!"
});
// To add the marker to the map, call setMap();
marker.setMap(map);
},
initSmallGoogleMaps: function() {
// Regular Map
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
var mapOptions = {
zoom: 8,
center: myLatlng,
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
}
var map = new google.maps.Map(document.getElementById("regularMap"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "Regular Map!"
});
marker.setMap(map);
// Custom Skin & Settings Map
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
var mapOptions = {
zoom: 13,
center: myLatlng,
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
disableDefaultUI: true, // a way to quickly hide all controls
zoomControl: true,
styles: [{
"featureType": "water",
"stylers": [{
"saturation": 43
}, {
"lightness": -11
}, {
"hue": "#0088ff"
}]
}, {
"featureType": "road",
"elementType": "geometry.fill",
"stylers": [{
"hue": "#ff0000"
}, {
"saturation": -100
}, {
"lightness": 99
}]
}, {
"featureType": "road",
"elementType": "geometry.stroke",
"stylers": [{
"color": "#808080"
}, {
"lightness": 54
}]
}, {
"featureType": "landscape.man_made",
"elementType": "geometry.fill",
"stylers": [{
"color": "#ece2d9"
}]
}, {
"featureType": "poi.park",
"elementType": "geometry.fill",
"stylers": [{
"color": "#ccdca1"
}]
}, {
"featureType": "road",
"elementType": "labels.text.fill",
"stylers": [{
"color": "#767676"
}]
}, {
"featureType": "road",
"elementType": "labels.text.stroke",
"stylers": [{
"color": "#ffffff"
}]
}, {
"featureType": "poi",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "landscape.natural",
"elementType": "geometry.fill",
"stylers": [{
"visibility": "on"
}, {
"color": "#b8cb93"
}]
}, {
"featureType": "poi.park",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.sports_complex",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.medical",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.business",
"stylers": [{
"visibility": "simplified"
}]
}]
}
var map = new google.maps.Map(document.getElementById("customSkinMap"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "Custom Skin & Settings Map!"
});
marker.setMap(map);
// Satellite Map
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
var mapOptions = {
zoom: 3,
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
center: myLatlng,
mapTypeId: google.maps.MapTypeId.SATELLITE
}
var map = new google.maps.Map(document.getElementById("satelliteMap"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "Satellite Map!"
});
marker.setMap(map);
},
showNotification: function(from, align) {
color = Math.floor((Math.random() * 4) + 1);
$.notify({
icon: "nc-icon nc-bell-55",
message: "Welcome to Paper Dashboard Pro - a beautiful bootstrap dashboard for every web developer."
}, {
type: type[color],
timer: 8000,
placement: {
from: from,
align: align
}
});
},
// CHARTS
initChartPageCharts: function() {
chartColor = "#FFFFFF";
ctx = document.getElementById('chartHours').getContext("2d");
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
datasets: [{
borderColor: "#6bd098",
backgroundColor: "#6bd098",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [300, 310, 316, 322, 330, 326, 333, 345, 338, 354]
},
{
borderColor: "#f17e5d",
backgroundColor: "#f17e5d",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [320, 340, 365, 360, 370, 385, 390, 384, 408, 420]
},
{
borderColor: "#fcc468",
backgroundColor: "#fcc468",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [370, 394, 415, 409, 425, 445, 460, 450, 478, 484]
}
]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
ctx = document.getElementById('chartEmail').getContext("2d");
myChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [1, 2, 3],
datasets: [{
label: "Emails",
pointRadius: 0,
pointHoverRadius: 0,
backgroundColor: [
'#e3e3e3',
'#4acccd',
'#fcc468'
],
borderWidth: 0,
data: [542, 480, 430]
}]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
display: false
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent"
},
ticks: {
display: false,
}
}]
},
}
});
ctx = document.getElementById('chartActivity').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#80b6f4');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, "rgba(249, 99, 59, 0.40)");
myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
datasets: [
{
label: "Data",
borderColor: '#fcc468',
fill: true,
backgroundColor: '#fcc468',
hoverBorderColor: '#fcc468',
borderWidth: 8,
data: [100, 120, 80, 100, 90, 130, 110, 100, 80, 110, 130, 140, 130, 120, 130, 80, 100, 90, 120, 130],
},
{
label: "Data",
borderColor: '#4cbdd7',
fill: true,
backgroundColor: '#4cbdd7',
hoverBorderColor: '#4cbdd7',
borderWidth: 8,
data: [80, 140, 50, 120, 50, 150, 60, 130, 50, 130, 150, 100, 110, 80, 140, 50, 140, 50, 110, 150],
}
]
},
options: {
tooltips: {
tooltipFillColor: "rgba(0,0,0,0.5)",
tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipFontSize: 14,
tooltipFontStyle: "normal",
tooltipFontColor: "#fff",
tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipTitleFontSize: 14,
tooltipTitleFontStyle: "bold",
tooltipTitleFontColor: "#fff",
tooltipYPadding: 6,
tooltipXPadding: 6,
tooltipCaretSize: 8,
tooltipCornerRadius: 6,
tooltipXOffset: 10,
},
legend: {
display: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
fontStyle: "bold",
beginAtZero: true,
maxTicksLimit: 5,
padding: 20
},
gridLines: {
zeroLineColor: "transparent",
display: true,
drawBorder: false,
color: '#9f9f9f',
}
}],
xAxes: [{
barPercentage: 0.4,
gridLines: {
zeroLineColor: "white",
display: false,
drawBorder: false,
color: 'transparent',
},
ticks: {
padding: 20,
fontColor: "#9f9f9f",
fontStyle: "bold"
}
}]
}
}
});
ctx = document.getElementById('chartViews').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#80b6f4');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, "rgba(249, 99, 59, 0.40)");
myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
datasets: [
{
label: "Data",
borderColor: '#fcc468',
fill: true,
backgroundColor: '#fcc468',
hoverBorderColor: '#fcc468',
borderWidth: 5,
data: [100, 120, 80, 100, 90, 130, 110, 100, 80, 110, 130, 140, 130, 120, 130, 80, 100, 90, 120, 130],
}
]
},
options: {
tooltips: {
tooltipFillColor: "rgba(0,0,0,0.5)",
tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipFontSize: 14,
tooltipFontStyle: "normal",
tooltipFontColor: "#fff",
tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipTitleFontSize: 14,
tooltipTitleFontStyle: "bold",
tooltipTitleFontColor: "#fff",
tooltipYPadding: 6,
tooltipXPadding: 6,
tooltipCaretSize: 8,
tooltipCornerRadius: 6,
tooltipXOffset: 10,
},
legend: {
display: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
fontStyle: "bold",
beginAtZero: true,
maxTicksLimit: 5,
padding: 20
},
gridLines: {
zeroLineColor: "transparent",
display: true,
drawBorder: false,
color: '#9f9f9f',
}
}],
xAxes: [{
barPercentage: 0.4,
gridLines: {
zeroLineColor: "white",
display: false,
drawBorder: false,
color: 'transparent',
},
ticks: {
padding: 20,
fontColor: "#9f9f9f",
fontStyle: "bold"
}
}]
}
}
});
ctx = document.getElementById('chartStock').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#80b6f4');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, "rgba(249, 99, 59, 0.40)");
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["6pm", "9pm", "11pm", "2am", "4am", "6am", "8am"],
datasets: [{
label: "Active Users",
borderColor: "#f17e5d",
pointBackgroundColor: "#f17e5d",
pointRadius: 3,
pointHoverRadius: 3,
lineTension: 0,
fill: false,
borderWidth: 3,
data: [200, 250, 300, 350, 280, 330, 400]
}]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
},
gridLines: {
drawBorder: false,
borderDash: [8, 5],
zeroLineColor: "transparent",
color: '#9f9f9f'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
borderDash: [8, 5],
color: '#9f9f9f',
zeroLineColor: "transparent"
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
ctx = document.getElementById('activeUsers').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#80b6f4');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, "rgba(249, 99, 59, 0.40)");
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
datasets: [{
label: "Active Users",
borderColor: "#6bd098",
pointRadius: 0,
pointHoverRadius: 0,
fill: false,
borderWidth: 3,
data: [542, 480, 430, 550, 530, 453, 380, 434, 568, 610]
}]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
// General configuration for the charts with Line gradientStroke
gradientChartOptionsConfiguration = {
maintainAspectRatio: false,
legend: {
display: false
},
tooltips: {
bodySpacing: 4,
mode: "nearest",
intersect: 0,
position: "nearest",
xPadding: 10,
yPadding: 10,
caretPadding: 10
},
responsive: 1,
scales: {
yAxes: [{
display: 0,
gridLines: 0,
ticks: {
display: false
},
gridLines: {
zeroLineColor: "transparent",
drawTicks: false,
display: false,
drawBorder: false
}
}],
xAxes: [{
display: 0,
gridLines: 0,
ticks: {
display: false
},
gridLines: {
zeroLineColor: "transparent",
drawTicks: false,
display: false,
drawBorder: false
}
}]
},
layout: {
padding: {
left: 0,
right: 0,
top: 15,
bottom: 15
}
}
};
gradientChartOptionsConfigurationWithNumbersAndGrid = {
maintainAspectRatio: false,
legend: {
display: false
},
tooltips: {
bodySpacing: 4,
mode: "nearest",
intersect: 0,
position: "nearest",
xPadding: 10,
yPadding: 10,
caretPadding: 10
},
responsive: true,
scales: {
yAxes: [{
gridLines: 0,
gridLines: {
zeroLineColor: "transparent",
drawBorder: false
}
}],
xAxes: [{
display: 0,
gridLines: 0,
ticks: {
display: false
},
gridLines: {
zeroLineColor: "transparent",
drawTicks: false,
display: false,
drawBorder: false
}
}]
},
layout: {
padding: {
left: 0,
right: 0,
top: 15,
bottom: 15
}
}
};
},
initDocChart: function() {
ctx = document.getElementById('BarChartExample').getContext("2d");
myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
datasets: [
{
label: "Data",
borderColor: '#fcc468',
fill: true,
backgroundColor: '#fcc468',
hoverBorderColor: '#fcc468',
borderWidth: 8,
data: [100, 120, 80, 100, 90, 130, 110, 100, 80, 110, 130, 140, 130, 120, 130, 80, 100, 90, 120, 130],
},
{
label: "Data",
borderColor: '#4cbdd7',
fill: true,
backgroundColor: '#4cbdd7',
hoverBorderColor: '#4cbdd7',
borderWidth: 8,
data: [80, 140, 50, 120, 50, 150, 60, 130, 50, 130, 150, 100, 110, 80, 140, 50, 140, 50, 110, 150],
}
]
},
options: {
tooltips: {
tooltipFillColor: "rgba(0,0,0,0.5)",
tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipFontSize: 14,
tooltipFontStyle: "normal",
tooltipFontColor: "#fff",
tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipTitleFontSize: 14,
tooltipTitleFontStyle: "bold",
tooltipTitleFontColor: "#fff",
tooltipYPadding: 6,
tooltipXPadding: 6,
tooltipCaretSize: 8,
tooltipCornerRadius: 6,
tooltipXOffset: 10,
},
legend: {
display: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
fontStyle: "bold",
beginAtZero: true,
maxTicksLimit: 5,
padding: 20
},
gridLines: {
zeroLineColor: "transparent",
display: true,
drawBorder: false,
color: '#9f9f9f',
}
}],
xAxes: [{
barPercentage: 0.4,
gridLines: {
zeroLineColor: "white",
display: false,
drawBorder: false,
color: 'transparent',
},
ticks: {
padding: 20,
fontColor: "#9f9f9f",
fontStyle: "bold"
}
}]
}
}
});
},
initDashboardPageCharts: function() {
chartColor = "#FFFFFF";
var cardStatsMiniLineColor = "#fff",
cardStatsMiniDotColor = "#fff";
ctx = document.getElementById('chartActivity').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#80b6f4');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, "rgba(249, 99, 59, 0.40)");
myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
datasets: [
{
label: "Data",
borderColor: '#fcc468',
fill: true,
backgroundColor: '#fcc468',
hoverBorderColor: '#fcc468',
borderWidth: 8,
data: [100, 120, 80, 100, 90, 130, 110, 100, 80, 110, 130, 140, 130, 120, 130, 80, 100, 90, 120, 130],
},
{
label: "Data",
borderColor: '#4cbdd7',
fill: true,
backgroundColor: '#4cbdd7',
hoverBorderColor: '#4cbdd7',
borderWidth: 8,
data: [80, 140, 50, 120, 50, 150, 60, 130, 50, 130, 150, 100, 110, 80, 140, 50, 140, 50, 110, 150],
}
]
},
options: {
tooltips: {
tooltipFillColor: "rgba(0,0,0,0.5)",
tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipFontSize: 14,
tooltipFontStyle: "normal",
tooltipFontColor: "#fff",
tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
tooltipTitleFontSize: 14,
tooltipTitleFontStyle: "bold",
tooltipTitleFontColor: "#fff",
tooltipYPadding: 6,
tooltipXPadding: 6,
tooltipCaretSize: 8,
tooltipCornerRadius: 6,
tooltipXOffset: 10,
},
legend: {
display: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
fontStyle: "bold",
beginAtZero: true,
maxTicksLimit: 5,
padding: 20
},
gridLines: {
zeroLineColor: "transparent",
display: true,
drawBorder: false,
color: '#9f9f9f',
}
}],
xAxes: [{
barPercentage: 0.4,
gridLines: {
zeroLineColor: "white",
display: false,
drawBorder: false,
color: 'transparent',
},
ticks: {
padding: 20,
fontColor: "#9f9f9f",
fontStyle: "bold"
}
}]
}
}
});
Chart.pluginService.register({
beforeDraw: function(chart) {
if (chart.config.options.elements.center) {
//Get ctx from string
var ctx = chart.chart.ctx;
//Get options from the center object in options
var centerConfig = chart.config.options.elements.center;
var fontStyle = centerConfig.fontStyle || 'Arial';
var txt = centerConfig.text;
var color = centerConfig.color || '#000';
var sidePadding = centerConfig.sidePadding || 20;
var sidePaddingCalculated = (sidePadding / 100) * (chart.innerRadius * 2)
//Start with a base font of 30px
ctx.font = "30px " + fontStyle;
//Get the width of the string and also the width of the element minus 10 to give it 5px side padding
var stringWidth = ctx.measureText(txt).width;
var elementWidth = (chart.innerRadius * 2) - sidePaddingCalculated;
// Find out how much the font can grow in width.
var widthRatio = elementWidth / stringWidth;
var newFontSize = Math.floor(30 * widthRatio);
var elementHeight = (chart.innerRadius * 2);
// Pick a new font size so it will not be larger than the height of label.
var fontSizeToUse = Math.min(newFontSize, elementHeight);
//Set font settings to draw it correctly.
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
var centerX = ((chart.chartArea.left + chart.chartArea.right) / 2);
var centerY = ((chart.chartArea.top + chart.chartArea.bottom) / 2);
ctx.font = fontSizeToUse + "px " + fontStyle;
ctx.fillStyle = color;
//Draw text in center
ctx.fillText(txt, centerX, centerY);
}
}
});
ctx = document.getElementById('chartDonut1').getContext("2d");
myChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [1, 2],
datasets: [{
label: "Emails",
pointRadius: 0,
pointHoverRadius: 0,
backgroundColor: ['#4acccd', '#f4f3ef'],
borderWidth: 0,
data: [60, 40]
}]
},
options: {
elements: {
center: {
text: '60%',
color: '#66615c', // Default is #000000
fontStyle: 'Arial', // Default is Arial
sidePadding: 60 // Defualt is 20 (as a percentage)
}
},
cutoutPercentage: 90,
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
display: false
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent"
},
ticks: {
display: false,
}
}]
},
}
});
ctx = document.getElementById('chartDonut2').getContext("2d");
myChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [1, 2],
datasets: [{
label: "Emails",
pointRadius: 0,
pointHoverRadius: 0,
backgroundColor: ['#fcc468', '#f4f3ef'],
borderWidth: 0,
data: [34, 66]
}]
},
options: {
elements: {
center: {
text: '34%',
color: '#66615c', // Default is #000000
fontStyle: 'Arial', // Default is Arial
sidePadding: 60 // Defualt is 20 (as a percentage)
}
},
cutoutPercentage: 90,
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
display: false
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent"
},
ticks: {
display: false,
}
}]
},
}
});
ctx = document.getElementById('chartDonut3').getContext("2d");
myChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [1, 2],
datasets: [{
label: "Emails",
pointRadius: 0,
pointHoverRadius: 0,
backgroundColor: ['#f17e5d', '#f4f3ef'],
borderWidth: 0,
data: [80, 20]
}]
},
options: {
elements: {
center: {
text: '80%',
color: '#66615c', // Default is #000000
fontStyle: 'Arial', // Default is Arial
sidePadding: 60 // Defualt is 20 (as a percentage)
}
},
cutoutPercentage: 90,
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
display: false
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent"
},
ticks: {
display: false,
}
}]
},
}
});
ctx = document.getElementById('chartDonut4').getContext("2d");
myChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [1, 2],
datasets: [{
label: "Emails",
pointRadius: 0,
pointHoverRadius: 0,
backgroundColor: ['#66615b', '#f4f3ef'],
borderWidth: 0,
data: [11, 89]
}]
},
options: {
elements: {
center: {
text: '11%',
color: '#66615c', // Default is #000000
fontStyle: 'Arial', // Default is Arial
sidePadding: 60 // Defualt is 20 (as a percentage)
}
},
cutoutPercentage: 90,
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
display: false
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent"
},
ticks: {
display: false,
}
}]
},
}
});
ctx = document.getElementById('activeUsers').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#80b6f4');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, "rgba(249, 99, 59, 0.40)");
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
datasets: [{
label: "Active Users",
borderColor: "#6bd098",
pointRadius: 0,
pointHoverRadius: 0,
fill: false,
borderWidth: 3,
data: [542, 480, 430, 550, 530, 453, 380, 434, 568, 610]
}]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
ctx = document.getElementById('emailsCampaignChart').getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#18ce0f');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, hexToRGB('#18ce0f', 0.4));
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["12pm", "3pm", "6pm", "9pm", "12am", "3am", "6am", "9am"],
datasets: [{
label: "Email Stats",
borderColor: "#ef8156",
pointHoverRadius: 0,
pointRadius: 0,
fill: false,
backgroundColor: gradientFill,
borderWidth: 3,
data: [40, 500, 650, 700, 1200, 1250, 1300, 1900]
}]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
var e = document.getElementById("activeCountries").getContext("2d");
gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);
gradientStroke.addColorStop(0, '#2CA8FF');
gradientStroke.addColorStop(1, chartColor);
gradientFill = ctx.createLinearGradient(0, 170, 0, 50);
gradientFill.addColorStop(0, "rgba(128, 182, 244, 0)");
gradientFill.addColorStop(1, hexToRGB('#2CA8FF', 0.4));
var a = {
type: "line",
data: {
labels: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October"],
datasets: [{
label: "Active Countries",
backgroundColor: gradientFill,
borderColor: "#fbc658",
pointHoverRadius: 0,
pointRadius: 0,
fill: false,
borderWidth: 3,
data: [80, 78, 86, 96, 83, 85, 76, 75, 88, 90]
}]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
};
var viewsChart = new Chart(e, a);
}
};