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.
312 lines
8.2 KiB
312 lines
8.2 KiB
3 years ago
|
/* ------------------------------------------------------------------------------
|
||
|
*
|
||
|
* # Timelines
|
||
|
*
|
||
|
* Specific JS code additions for Timeline pages set
|
||
|
*
|
||
|
* Version: 1.0
|
||
|
* Latest update: Aug 1, 2015
|
||
|
*
|
||
|
* ---------------------------------------------------------------------------- */
|
||
|
|
||
|
$(function() {
|
||
|
|
||
|
|
||
|
// Charts
|
||
|
// ------------------------------
|
||
|
|
||
|
// Set paths
|
||
|
require.config({
|
||
|
paths: {
|
||
|
echarts: 'assets/js/plugins/visualization/echarts'
|
||
|
}
|
||
|
});
|
||
|
|
||
|
|
||
|
// Configuration
|
||
|
require(
|
||
|
[
|
||
|
'echarts',
|
||
|
'echarts/theme/limitless',
|
||
|
'echarts/chart/line',
|
||
|
'echarts/chart/bar'
|
||
|
],
|
||
|
|
||
|
|
||
|
// Charts setup
|
||
|
function (ec, limitless) {
|
||
|
|
||
|
// Init
|
||
|
var sales = ec.init(document.getElementById('sales'), limitless);
|
||
|
var daily_stats = ec.init(document.getElementById('daily_stats'), limitless);
|
||
|
|
||
|
|
||
|
// Sales chart options
|
||
|
sales_options = {
|
||
|
|
||
|
// Setup grid
|
||
|
grid: {
|
||
|
x: 35,
|
||
|
x2: 15,
|
||
|
y: 35,
|
||
|
y2: 25
|
||
|
},
|
||
|
|
||
|
// Add tooltip
|
||
|
tooltip: {
|
||
|
trigger: 'axis',
|
||
|
axisPointer: {
|
||
|
type: 'shadow'
|
||
|
}
|
||
|
},
|
||
|
|
||
|
// Add legend
|
||
|
legend: {
|
||
|
data:['Profit', 'Expenses', 'Income']
|
||
|
},
|
||
|
|
||
|
// Enable drag recalculate
|
||
|
calculable: true,
|
||
|
|
||
|
// Horizontal axis
|
||
|
xAxis: [{
|
||
|
type: 'value'
|
||
|
}],
|
||
|
|
||
|
// Vertical axis
|
||
|
yAxis: [{
|
||
|
type: 'category',
|
||
|
axisTick: {
|
||
|
show: false
|
||
|
},
|
||
|
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
||
|
}],
|
||
|
|
||
|
// Add series
|
||
|
series: [
|
||
|
{
|
||
|
name: 'Profit',
|
||
|
type: 'bar',
|
||
|
itemStyle: {
|
||
|
normal: {
|
||
|
label: {
|
||
|
show: true,
|
||
|
position: 'inside'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
data: [200, 170, 240, 244, 200, 220, 210]
|
||
|
},
|
||
|
{
|
||
|
name: 'Income',
|
||
|
type: 'bar',
|
||
|
stack: 'Total',
|
||
|
barWidth: 5,
|
||
|
itemStyle: {
|
||
|
normal: {
|
||
|
label: {
|
||
|
show: true
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
data: [320, 302, 341, 374, 390, 450, 420]
|
||
|
},
|
||
|
{
|
||
|
name: 'Expenses',
|
||
|
type: 'bar',
|
||
|
stack: 'Total',
|
||
|
itemStyle: {
|
||
|
normal: {
|
||
|
label: {
|
||
|
show: true,
|
||
|
position: 'left'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
data: [-120, -132, -101, -134, -190, -230, -210]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
|
||
|
// Daily stats chart options
|
||
|
daily_stats_options = {
|
||
|
|
||
|
// Setup grid
|
||
|
grid: {
|
||
|
x: 40,
|
||
|
x2: 40,
|
||
|
y: 35,
|
||
|
y2: 25
|
||
|
},
|
||
|
|
||
|
// Add tooltip
|
||
|
tooltip: {
|
||
|
trigger: 'axis',
|
||
|
axisPointer: {
|
||
|
type: 'shadow'
|
||
|
}
|
||
|
},
|
||
|
|
||
|
// Enable drag recalculate
|
||
|
calculable: true,
|
||
|
|
||
|
// Add legend
|
||
|
legend: {
|
||
|
data: ['Clicks','Visits','Sales']
|
||
|
},
|
||
|
|
||
|
// Horizontal axis
|
||
|
xAxis: [{
|
||
|
type: 'category',
|
||
|
data: ['00:00','02:00','04:00','06:00','08:00','10:00','12:00','14:00','16:00','18:00','20:00','22:00']
|
||
|
}],
|
||
|
|
||
|
// Vertical axis
|
||
|
yAxis: [
|
||
|
{
|
||
|
type: 'value',
|
||
|
name: 'Visits',
|
||
|
axisLabel: {
|
||
|
formatter: '{value}k'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
type: 'value',
|
||
|
name: 'Clicks',
|
||
|
axisLabel: {
|
||
|
formatter: '{value}k'
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
|
||
|
// Add series
|
||
|
series: [
|
||
|
{
|
||
|
name: 'Clicks',
|
||
|
type: 'bar',
|
||
|
data: [2, 15, 27, 34, 40, 70, 100, 75, 50, 38, 22, 12]
|
||
|
},
|
||
|
{
|
||
|
name: 'Visits',
|
||
|
type: 'bar',
|
||
|
data: [13, 16, 33, 38, 48, 110, 125, 90, 68, 49, 35, 23]
|
||
|
},
|
||
|
{
|
||
|
name: 'Sales',
|
||
|
type: 'line',
|
||
|
yAxisIndex: 1,
|
||
|
data: [1, 5, 7, 10, 11, 13, 15, 18, 16, 14, 12, 6]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
|
||
|
// Apply options
|
||
|
sales.setOption(sales_options);
|
||
|
daily_stats.setOption(daily_stats_options);
|
||
|
|
||
|
|
||
|
// Resize charts
|
||
|
window.onresize = function() {
|
||
|
setTimeout(function() {
|
||
|
sales.resize();
|
||
|
daily_stats.resize();
|
||
|
}, 200)
|
||
|
}
|
||
|
|
||
|
|
||
|
// Resize in tabs
|
||
|
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
|
||
|
sales.resize();
|
||
|
daily_stats.resize();
|
||
|
});
|
||
|
}
|
||
|
);
|
||
|
|
||
|
|
||
|
|
||
|
// Schedule
|
||
|
// ------------------------------
|
||
|
|
||
|
// Add events
|
||
|
var eventsColors = [
|
||
|
{
|
||
|
title: 'Day off',
|
||
|
start: '2014-11-01',
|
||
|
color: '#DB7272'
|
||
|
},
|
||
|
{
|
||
|
title: 'University',
|
||
|
start: '2014-11-07',
|
||
|
end: '2014-11-10',
|
||
|
color: '#42A5F5'
|
||
|
},
|
||
|
{
|
||
|
id: 999,
|
||
|
title: 'Shopping',
|
||
|
start: '2014-11-09T13:00:00',
|
||
|
color: '#8D6E63'
|
||
|
},
|
||
|
{
|
||
|
id: 999,
|
||
|
title: 'Shopping',
|
||
|
start: '2014-11-15T16:00:00',
|
||
|
color: '#00BCD4'
|
||
|
},
|
||
|
{
|
||
|
title: 'Conference',
|
||
|
start: '2014-11-11',
|
||
|
end: '2014-11-13',
|
||
|
color: '#26A69A'
|
||
|
},
|
||
|
{
|
||
|
title: 'Meeting',
|
||
|
start: '2014-11-14T08:30:00',
|
||
|
end: '2014-11-14T12:30:00',
|
||
|
color: '#7986CB'
|
||
|
},
|
||
|
{
|
||
|
title: 'Meeting',
|
||
|
start: '2014-11-11T09:30:00',
|
||
|
color: '#78909C'
|
||
|
},
|
||
|
{
|
||
|
title: 'Happy Hour',
|
||
|
start: '2014-11-12T14:30:00',
|
||
|
color: '#26A69A'
|
||
|
},
|
||
|
{
|
||
|
title: 'Dinner',
|
||
|
start: '2014-11-13T19:00:00',
|
||
|
color: '#FF7043'
|
||
|
},
|
||
|
{
|
||
|
title: 'Birthday Party',
|
||
|
start: '2014-11-13T03:00:00',
|
||
|
color: '#4CAF50'
|
||
|
}
|
||
|
];
|
||
|
|
||
|
|
||
|
// Initialize with optinos
|
||
|
$('.schedule').fullCalendar({
|
||
|
header: {
|
||
|
left: 'prev,next today',
|
||
|
center: 'title',
|
||
|
right: 'month,agendaWeek,agendaDay'
|
||
|
},
|
||
|
defaultView: 'agendaWeek',
|
||
|
defaultDate: '2014-11-15',
|
||
|
editable: true,
|
||
|
events: eventsColors
|
||
|
});
|
||
|
|
||
|
|
||
|
// Render if inside hidden element
|
||
|
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
|
||
|
$('.schedule').fullCalendar('render');
|
||
|
});
|
||
|
|
||
|
});
|