101 lines
2.0 KiB
Python
101 lines
2.0 KiB
Python
'use strict';
|
|
|
|
app.controller('MultiBarChartController', function($scope,highchartsNG) {
|
|
|
|
$scope.$on('handleBroadcastLineOptionChanged', function(event, data) {
|
|
if(angular.isDefined(data.load)){
|
|
$scope.multiConfig.loading=true;
|
|
}else{
|
|
$scope.multiConfig.series=data.equipment;
|
|
$scope.multiConfig.loading=false;
|
|
}
|
|
});
|
|
|
|
|
|
$scope.mouseEvent = function(chart) {
|
|
angular.element('.chart').bind('mousedown.hc touchstart.hc', function(eStart) {
|
|
eStart = chart.pointer.normalize(eStart);
|
|
|
|
var posX = eStart.pageX,
|
|
posY = eStart.pageY,
|
|
alpha = chart.options.chart.options3d.alpha,
|
|
beta = chart.options.chart.options3d.beta,
|
|
newAlpha,
|
|
newBeta,
|
|
sensitivity = 5; // lower is more sensitive
|
|
|
|
angular.element(document).bind({
|
|
'mousemove.hc touchdrag.hc': function(e) {
|
|
// Run beta
|
|
newBeta = beta + (posX - e.pageX) / sensitivity;
|
|
chart.options.chart.options3d.beta = newBeta;
|
|
|
|
// Run alpha
|
|
newAlpha = alpha + (e.pageY - posY) / sensitivity;
|
|
chart.options.chart.options3d.alpha = newAlpha;
|
|
|
|
chart.redraw(false);
|
|
},
|
|
'mouseup touchend': function() {
|
|
angular.element(document).unbind('.hc');
|
|
}
|
|
});
|
|
});
|
|
};
|
|
$scope.multiConfig = {
|
|
|
|
options: {
|
|
chart: {
|
|
type: 'column',
|
|
options3d: {
|
|
enabled: true,
|
|
alpha: 10,
|
|
beta: 15,
|
|
depth: 70
|
|
}
|
|
|
|
},
|
|
plotOptions: {
|
|
column: {
|
|
depth: 25
|
|
}
|
|
},
|
|
|
|
navigator: {
|
|
xAxis: {
|
|
type: 'datetime',
|
|
labels: {
|
|
formatter: function() {
|
|
var dateStr = Highcharts.dateFormat('%m-%d', this.value);
|
|
return dateStr;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
xAxis: {
|
|
startOnTick: false,
|
|
type: 'datetime',
|
|
labels: {
|
|
formatter: function() {
|
|
var dateStr = Highcharts.dateFormat('%m-%d', this.value);
|
|
return dateStr;
|
|
},
|
|
},
|
|
crosshair: null
|
|
},
|
|
|
|
},
|
|
loading:true,
|
|
series: [],
|
|
//noData:'No data to display',
|
|
|
|
func: function(chart) {
|
|
$scope.mouseEvent(chart);
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}); |