You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
250 lines
7.9 KiB
250 lines
7.9 KiB
/*=========================================================================================
|
|
File Name: dashboard-ecommerce.js
|
|
Description: dashboard-ecommerce
|
|
----------------------------------------------------------------------------------------
|
|
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
|
|
Version: 1.0
|
|
Author: PIXINVENT
|
|
Author URL: http://www.themeforest.net/user/pixinvent
|
|
==========================================================================================*/
|
|
|
|
$(window).on("load", function(){
|
|
$('#recent-buyers, #new-orders').perfectScrollbar({
|
|
wheelPropagation: true
|
|
});
|
|
|
|
/********************************************
|
|
* Monthly Sales *
|
|
********************************************/
|
|
Morris.Bar.prototype.fillForSeries = function(i) {
|
|
var color;
|
|
return "0-#fff-#f00:20-#000";
|
|
};
|
|
|
|
Morris.Bar({
|
|
element: 'monthly-sales',
|
|
data: [{month: 'Jan', sales: 1835 }, {month: 'Feb', sales: 2356 }, {month: 'Mar', sales: 1459 }, {month: 'Apr', sales: 1289 }, {month: 'May', sales: 1647 }, {month: 'Jun', sales: 2156 }, {month: 'Jul', sales: 1835 }, {month: 'Aug', sales: 2356 }, {month: 'Sep', sales: 1459 }, {month: 'Oct', sales: 1289 }, {month: 'Nov', sales: 1647 }, {month: 'Dec', sales: 2156 }],
|
|
xkey: 'month',
|
|
ykeys: ['sales'],
|
|
labels: ['Sales'],
|
|
barGap: 4,
|
|
barSizeRatio: 0.3,
|
|
gridTextColor: '#bfbfbf',
|
|
gridLineColor: '#E4E7ED',
|
|
numLines: 5,
|
|
gridtextSize: 14,
|
|
resize: true,
|
|
barColors: ['#FF394F'],
|
|
hideHover: 'auto',
|
|
});
|
|
|
|
});
|
|
(function(window, document, $) {
|
|
'use strict';
|
|
/*************************************************
|
|
* Score Chart *
|
|
*************************************************/
|
|
(function () {
|
|
var scoreChart = function scoreChart(id, labelList, series1List) {
|
|
var scoreChart = new Chartist.Line('#' + id, {
|
|
labels: labelList,
|
|
series: [series1List]
|
|
}, {
|
|
lineSmooth: Chartist.Interpolation.simple({
|
|
divisor: 2
|
|
}),
|
|
fullWidth: true,
|
|
chartPadding: {
|
|
right: 25
|
|
},
|
|
series: {
|
|
"series-1": {
|
|
showArea: false
|
|
}
|
|
},
|
|
axisX: {
|
|
showGrid: false
|
|
},
|
|
axisY: {
|
|
labelInterpolationFnc: function labelInterpolationFnc(value) {
|
|
return value / 1000 + 'K';
|
|
},
|
|
scaleMinSpace: 40
|
|
},
|
|
plugins: [Chartist.plugins.tooltip()],
|
|
low: 0,
|
|
showPoint: false,
|
|
height: 300
|
|
});
|
|
|
|
scoreChart.on('created', function (data) {
|
|
var defs = data.svg.querySelector('defs') || data.svg.elem('defs');
|
|
var width = data.svg.width();
|
|
var height = data.svg.height();
|
|
|
|
var filter = defs.elem('filter', {
|
|
x: 0,
|
|
y: "-10%",
|
|
id: 'shadow' + id
|
|
}, '', true);
|
|
|
|
filter.elem('feGaussianBlur', { in: "SourceAlpha",
|
|
stdDeviation: "24",
|
|
result: 'offsetBlur'
|
|
});
|
|
filter.elem('feOffset', {
|
|
dx: "0",
|
|
dy: "32"
|
|
});
|
|
|
|
filter.elem('feBlend', { in: "SourceGraphic",
|
|
mode: "multiply"
|
|
});
|
|
|
|
defs.elem('linearGradient', {
|
|
id: id + '-gradient',
|
|
x1: 0,
|
|
y1: 0,
|
|
x2: 1,
|
|
y2: 0
|
|
}).elem('stop', {
|
|
offset: 0,
|
|
'stop-color': 'rgba(22, 141, 238, 1)'
|
|
}).parent().elem('stop', {
|
|
offset: 1,
|
|
'stop-color': 'rgba(98, 188, 246, 1)'
|
|
});
|
|
|
|
return defs;
|
|
}).on('draw', function (data) {
|
|
if (data.type === 'line') {
|
|
data.element.attr({
|
|
filter: 'url(#shadow' + id + ')'
|
|
});
|
|
} else if (data.type === 'point') {
|
|
|
|
var parent = new Chartist.Svg(data.element._node.parentNode);
|
|
parent.elem('line', {
|
|
x1: data.x,
|
|
y1: data.y,
|
|
x2: data.x + 0.01,
|
|
y2: data.y,
|
|
"class": 'ct-point-content'
|
|
});
|
|
}
|
|
if (data.type === 'line' || data.type == 'area') {
|
|
data.element.animate({
|
|
d: {
|
|
begin: 1000 * data.index,
|
|
dur: 1000,
|
|
from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height()).stringify(),
|
|
to: data.path.clone().stringify(),
|
|
easing: Chartist.Svg.Easing.easeOutQuint
|
|
}
|
|
});
|
|
}
|
|
});
|
|
};
|
|
|
|
var DayLabelList = ["1st", "2nd", "3rd", "4th", "5th", "6th", "7th", "8th"];
|
|
var DaySeries1List = {
|
|
name: "series-1",
|
|
data: [0, 4500, 2600, 6100, 2600, 6500, 3200, 6800]
|
|
};
|
|
|
|
var WeekLabelList = ["W1", "W2", "W4", "W5", "W6", "W7", "W8"];
|
|
var WeekSeries1List = {
|
|
name: "series-1",
|
|
data: [77000, 18000, 61000, 26000, 58000, 32000, 70000, 45000]
|
|
};
|
|
|
|
var MonthLabelList = ["AUG", "SEP", "OTC", "NOV", "DEC", "JAN", "FEB"];
|
|
var MonthSeries1List = {
|
|
name: "series-1",
|
|
data: [100000, 500000, 300000, 700000, 100000, 200000, 700000, 50000]
|
|
};
|
|
|
|
var createChart = function createChart(button) {
|
|
var btn = button || $("#ecommerceChartView .chart-action").find(".active");
|
|
|
|
var chartId = btn.attr("href");
|
|
switch (chartId) {
|
|
case "#scoreLineToDay":
|
|
scoreChart("scoreLineToDay", DayLabelList, DaySeries1List);
|
|
break;
|
|
case "#scoreLineToWeek":
|
|
scoreChart("scoreLineToWeek", WeekLabelList, WeekSeries1List);
|
|
break;
|
|
case "#scoreLineToMonth":
|
|
scoreChart("scoreLineToMonth", MonthLabelList, MonthSeries1List);
|
|
break;
|
|
}
|
|
};
|
|
|
|
createChart();
|
|
$(".chart-action li a").on("click", function () {
|
|
createChart($(this));
|
|
});
|
|
})();
|
|
|
|
/*************************************************
|
|
* Cost Revenue Stats *
|
|
*************************************************/
|
|
new Chartist.Line('#cost-revenue', {
|
|
labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
series: [
|
|
[
|
|
{meta:'Revenue', value: 5},
|
|
{meta:'Revenue', value: 3},
|
|
{meta:'Revenue', value: 6},
|
|
{meta:'Revenue', value: 3},
|
|
{meta:'Revenue', value: 8},
|
|
{meta:'Revenue', value: 5},
|
|
{meta:'Revenue', value: 8},
|
|
{meta:'Revenue', value: 12},
|
|
{meta:'Revenue', value: 7},
|
|
{meta:'Revenue', value: 14},
|
|
|
|
]
|
|
]
|
|
}, {
|
|
low: 0,
|
|
high: 18,
|
|
fullWidth: true,
|
|
showArea: true,
|
|
showPoint: true,
|
|
showLabel: false,
|
|
axisX: {
|
|
showGrid: false,
|
|
showLabel: false,
|
|
offset: 0
|
|
},
|
|
axisY: {
|
|
showGrid: false,
|
|
showLabel: false,
|
|
offset: 0
|
|
},
|
|
chartPadding: 0,
|
|
plugins: [
|
|
Chartist.plugins.tooltip()
|
|
]
|
|
}).on('draw', function(data) {
|
|
if (data.type === 'area') {
|
|
data.element.attr({
|
|
'style': 'fill: #28D094; fill-opacity: 0.2'
|
|
});
|
|
}
|
|
if (data.type === 'line') {
|
|
data.element.attr({
|
|
'style': 'fill: transparent; stroke: #28D094; stroke-width: 4px;'
|
|
});
|
|
}
|
|
if (data.type === 'point') {
|
|
var circle = new Chartist.Svg('circle', {
|
|
cx: [data.x], cy:[data.y], r:[7],
|
|
}, 'ct-area-circle');
|
|
data.element.replace(circle);
|
|
}
|
|
});
|
|
})(window, document, jQuery);
|