powerdns-admin/app/static/admin/pages/scripts/index3.js
2015-12-13 16:34:12 +07:00

197 lines
6.6 KiB
JavaScript

var Index = function() {
var dashboardMainChart = null;
return {
//main function
init: function() {
Metronic.addResizeHandler(function() {
jQuery('.vmaps').each(function() {
var map = jQuery(this);
map.width(map.parent().width());
});
});
Index.initCharts();
Index.initMiniCharts();
Index.initJQVMAP();
},
initJQVMAP: function() {
if (!jQuery().vectorMap) {
return;
}
var showMap = function(name) {
jQuery('.vmaps').hide();
jQuery('#vmap_' + name).show();
}
var setMap = function(name) {
var data = {
map: 'world_en',
backgroundColor: null,
borderColor: '#333333',
borderOpacity: 0.5,
borderWidth: 1,
color: '#c6c6c6',
enableZoom: true,
hoverColor: '#c9dfaf',
hoverOpacity: null,
values: sample_data,
normalizeFunction: 'linear',
scaleColors: ['#b6da93', '#909cae'],
selectedColor: '#c9dfaf',
selectedRegion: null,
showTooltip: true,
onLabelShow: function(event, label, code) {
},
onRegionOver: function(event, code) {
if (code == 'ca') {
event.preventDefault();
}
},
onRegionClick: function(element, code, region) {
var message = 'You clicked "' + region + '" which has the code: ' + code.toUpperCase();
alert(message);
}
};
data.map = name + '_en';
var map = jQuery('#vmap_' + name);
if (!map) {
return;
}
map.width(map.parent().parent().width());
map.show();
map.vectorMap(data);
map.hide();
}
setMap("world");
setMap("usa");
setMap("europe");
setMap("russia");
setMap("germany");
showMap("world");
jQuery('#regional_stat_world').click(function() {
showMap("world");
});
jQuery('#regional_stat_usa').click(function() {
showMap("usa");
});
jQuery('#regional_stat_europe').click(function() {
showMap("europe");
});
jQuery('#regional_stat_russia').click(function() {
showMap("russia");
});
jQuery('#regional_stat_germany').click(function() {
showMap("germany");
});
$('#region_statistics_loading').hide();
$('#region_statistics_content').show();
},
initCharts: function() {
if (Morris.EventEmitter) {
// Use Morris.Area instead of Morris.Line
dashboardMainChart = Morris.Area({
element: 'sales_statistics',
padding: 0,
behaveLikeLine: false,
gridEnabled: false,
gridLineColor: false,
axes: false,
fillOpacity: 1,
data: [{
period: '2011 Q1',
sales: 1400,
profit: 400
}, {
period: '2011 Q2',
sales: 1100,
profit: 600
}, {
period: '2011 Q3',
sales: 1600,
profit: 500
}, {
period: '2011 Q4',
sales: 1200,
profit: 400
}, {
period: '2012 Q1',
sales: 1550,
profit: 800
}],
lineColors: ['#399a8c', '#92e9dc'],
xkey: 'period',
ykeys: ['sales', 'profit'],
labels: ['Sales', 'Profit'],
pointSize: 0,
lineWidth: 0,
hideHover: 'auto',
resize: true
});
}
},
redrawCharts: function() {
dashboardMainChart.resizeHandler();
},
initMiniCharts: function() {
// IE8 Fix: function.bind polyfill
if (Metronic.isIE8() && !Function.prototype.bind) {
Function.prototype.bind = function(oThis) {
if (typeof this !== "function") {
// closest thing possible to the ECMAScript 5 internal IsCallable function
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
}
var aArgs = Array.prototype.slice.call(arguments, 1),
fToBind = this,
fNOP = function() {},
fBound = function() {
return fToBind.apply(this instanceof fNOP && oThis ? this : oThis,
aArgs.concat(Array.prototype.slice.call(arguments)));
};
fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();
return fBound;
};
}
$("#sparkline_bar").sparkline([8, 9, 10, 11, 10, 10, 12, 10, 10, 11, 9, 12, 11], {
type: 'bar',
width: '100',
barWidth: 6,
height: '45',
barColor: '#F36A5B',
negBarColor: '#e02222'
});
$("#sparkline_bar2").sparkline([9, 11, 12, 13, 12, 13, 10, 14, 13, 11, 11, 12, 11], {
type: 'bar',
width: '100',
barWidth: 6,
height: '45',
barColor: '#5C9BD1',
negBarColor: '#e02222'
});
}
};
}();