File "dashboard.js"
Full Path: /home/aiclgcwq/photonindustriespvt.com/wp-content/plugins/agile-store-locator/admin/js/dashboard.js
File size: 5.37 KB
MIME-type: text/plain
Charset: utf-8
var asl_engine = window['asl_engine'] || {};
(function($, app_engine) {
'use strict';
/**
* [toastIt toast it based on the error or message]
* @param {[type]} _response [description]
* @return {[type]} [description]
*/
var toastIt = function(_response) {
if(_response.success) {
atoastr.success(_response.msg || _response.message);
}
else {
atoastr.error(_response.error || _response.message || _response.msg);
}
};
app_engine['pages'] = {
/**
* [dashboard Main Dashboard page]
* @return {[type]} [description]
*/
dashboard: function() {
var current_date = 0,
date_ = new Date();
var day_arr = [];
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
month = months[date_.getMonth()],
data_arr = [];
// Tabs switch
$('.asl-p-cont .nav-tabs a').click(function(e) {
e.preventDefault()
$(this).tab('show');
});
// add dummy data
for (var a = 1; a <= date_.getDate(); a++) {
day_arr.push(a + ' ' + month);
data_arr.push(0);
}
var lineChartData = {
labels: day_arr,
datasets: [{
tension: 0.1,
lineTension: 0.1,
backgroundColor: "rgba(75, 192, 192, 0.4)",
borderColor: "rgba(75, 192, 192, 1",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75, 192, 192, 1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(75, 192, 192, 1)",
pointHoverBorderColor: "rgba(220, 220, 220, 1)",
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
label: 'Searches',
backgroundColor: "#57C8F2",
data: data_arr
}]
};
asl_initialize_chart();
// Datetime
var $datepicker = $('#sl-datetimepicker');
/////////////////////////////////
// Change the expertise level //
/////////////////////////////////
var $sl_level = $('#asl-level-swtch');
/**
* [update_level description]
* @param {[type]} _status [description]
*/
function update_level(_status, _callback) {
ServerCall(ASL_REMOTE.URL + "?action=asl_ajax_handler&sl-action=expertise_level", {status: $sl_level[0].checked? '1': '0'}, function(_response) {
toastIt(_response);
if(_callback) {
_callback(_response);
}
window.setTimeout(function(){
window.location.reload();
}, 1500);
}, 'json');
};
// Cache Switch Event
$sl_level.bind('change', function(e) {
var chk_ctrl = e.target,
status = (chk_ctrl.checked)? '1': '0';
update_level(status);
});
///////////bar chart
var ctx = document.getElementById("asl_search_canvas").getContext("2d"),
charts_option = {
type: 'line',
data: lineChartData,
options: {
bezierCurve: true,
animation: true,
responsive: true,
maintainAspectRatio: false,
title: {
display: true,
text: '#Searches'
},
scales: {
y: {
suggestedMin: 0,
ticks: {
beginAtZero: true
}
}
}
}
};
var myBar = new Chart(ctx, charts_option);
Chart.defaults.scales.linear.min = 0;
/**
* [updateChart Get the Stats Chart]
* @return {[type]} [description]
*/
function updateChart(_chart_data) {
var temp_keys = [],
temp_vals = [];
for (var k in _chart_data) {
temp_keys.push(_chart_data[k]['label']);
temp_vals.push(_chart_data[k]['data']);
}
myBar.config.data.labels = temp_keys;
myBar.config.data.datasets[0].data = temp_vals;
myBar.update();
};
//getViews(temp[0], temp[1]);
// datetime options
var date_time_options = {
"timePicker": false,
"parentEl": '.asl-p-cont',
"alwaysShowCalendars": false,
"startDate": moment().subtract(6, 'days'),
"endDate": moment().startOf('hour'),
"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')]
}
};
// Add datetimepicker
$datepicker.daterangepicker(date_time_options,
function(start, end, label) {
//console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')')
});
}
};
asl_engine.pages.dashboard();
})(jQuery, asl_engine);