All Downloads are FREE. Search and download functionalities are using the official Maven repository.

template-application-angular.ui.perspectives.views.report.pie.controller.js.template Maven / Gradle / Ivy

#set($dollar = '$' )
angular.module('page', []);
angular.module('page')
.factory('$messageHub', [function(){
	var messageHub = new FramesMessageHub();

	var message = function(evtName, data){
#if($includeLaunchpad)
		messageHub.post({data: data}, '${projectName}.${perspectiveName}.${name}.' + evtName);
#else
		messageHub.post({data: data}, '${launchpadName}.${perspectiveName}.${name}.' + evtName);
#end
	};

	var on = function(topic, callback){
		messageHub.subscribe(callback, topic);
	};

	return {
		message: message,
		on: on,
		onEntityRefresh: function(callback) {
#if($includeLaunchpad)
			on('${projectName}.${perspectiveName}.${name}.refresh', callback);
#else
			on('${launchpadName}.${perspectiveName}.${name}.refresh', callback);
#end
		},
#foreach ($property in $properties)
#if($property.widgetType == "DROPDOWN" && $property.relationshipEntityName != "")
		on${property.relationshipEntityName}Modified: function(callback) {
#if($includeLaunchpad)
			on('${projectName}.${perspectiveName}.${property.relationshipEntityName}.modified', callback);
#else
			on('${launchpadName}.${perspectiveName}.${property.relationshipEntityName}.modified', callback);
#end
		},
#end
#end
		messageEntityModified: function() {
			message('modified');
		}
	};
}])
.controller('PageController', function ($scope, $http, $messageHub) {

	var api = '../../../../../../../../services/v3/js/${projectName}/api/${perspectiveName}/${name}.js';

	$scope.load = function() {
		$http.get(api)
		.success(function(data) {
			var chartData = [];
			for (var i = 0; i < data.length; i ++) {
				chartData.push([#foreach ($property in $properties)data[i].${property.name}#if($foreach.hasNext), #end#end]);
			}
			$.jqplot ('chart', [chartData], {
				seriesDefaults: {
					renderer: $.jqplot.PieRenderer, 
					rendererOptions: {
						padding: 5,
						sliceMargin: 5,
						showDataLabels: true
					}
				},
				legend: {
					show: true,
					location: 'e'
				}
			});
		});
	};
	$scope.load();

	$messageHub.onEntityRefresh($scope.load);

});




© 2015 - 2025 Weber Informatics LLC | Privacy Policy