63 lines
2.4 KiB
Python
63 lines
2.4 KiB
Python
'use strict';
|
|
|
|
app.controller('EnergyFlowDiagramPreviewController', function($scope, EnergyFlowDiagramService, EnergyFlowDiagramLinkService) {
|
|
$scope.energyflowdiagrams = [];
|
|
$scope.currentEnergyFlowDiagram = null;
|
|
|
|
$scope.getAllEnergyFlowDiagrams = function() {
|
|
EnergyFlowDiagramService.getAllEnergyFlowDiagrams(function (response) {
|
|
if (angular.isDefined(response.status) && response.status === 200) {
|
|
$scope.energyflowdiagrams = response.data;
|
|
} else {
|
|
$scope.energyflowdiagrams = [];
|
|
}
|
|
});
|
|
};
|
|
|
|
$scope.getLinksByEnergyFlowDiagramID = function(id) {
|
|
|
|
EnergyFlowDiagramLinkService.getLinksByEnergyFlowDiagramID(id, function (response) {
|
|
if (angular.isDefined(response.status) && response.status === 200) {
|
|
return response.data;
|
|
} else {
|
|
return [];
|
|
}
|
|
});
|
|
};
|
|
|
|
$scope.changeEnergyFlowDiagram=function(item,model){
|
|
$scope.currentEnergyFlowDiagram=item;
|
|
$scope.currentEnergyFlowDiagram.selected=model;
|
|
$scope.refreshEnergyFlowChart();
|
|
};
|
|
|
|
$scope.refreshEnergyFlowChart = function() {
|
|
var data = {title: {text:null}, accessibility:{point:{valueDescriptionFormat:null}}, series:[{keys:null, data:null, type:null, name:null }]};
|
|
data.title.text = ($scope.currentEnergyFlowDiagram != null) ? $scope.currentEnergyFlowDiagram.name: null;
|
|
data.accessibility.point.valueDescriptionFormat = '{index}. {point.from} to {point.to}, {point.weight}.';
|
|
data.series[0].keys = ['from', 'to', 'weight'];
|
|
data.series[0].type = 'sankey';
|
|
data.series[0].name = ($scope.currentEnergyFlowDiagram != null) ? $scope.currentEnergyFlowDiagram.name: null;
|
|
data.series[0].data = [];
|
|
var links = $scope.currentEnergyFlowDiagram.links;
|
|
if (links != null) {
|
|
for (var i=0;i < links.length; i++) {
|
|
data.series[0].data.push([links[i].source_node.name, links[i].target_node.name, Math.floor(Math.random() * 100)]);
|
|
}
|
|
}
|
|
$scope.energyFlowChart = data;
|
|
};
|
|
$scope.getAllEnergyFlowDiagrams();
|
|
|
|
$scope.$on('handleBroadcastEnergyFlowDiagramChanged', function(event) {
|
|
$scope.getAllEnergyFlowDiagrams();
|
|
$scope.refreshEnergyFlowChart();
|
|
});
|
|
|
|
$scope.$on('handleBroadcastEnergyFlowDiagramLinkChanged', function(event) {
|
|
$scope.getAllEnergyFlowDiagrams();
|
|
$scope.refreshEnergyFlowChart();
|
|
});
|
|
|
|
});
|