PageSourceSearch

https://www.ciudadanos-cs.org/scripts/page.controllers/draw-corporate-helper--transparencia.js?__v=595_2

js ciudadanos-cs.org collected 2026-10-02 07:12:58 UTC 5,976 bytes, 132 lines download raw bytes

1jQuery(document).ready(function($) {
2	// ------------------------------------------------------------------------------------------------------------------------------ //
3	// ![ drawTransparenciaPageContent ]
4	// ------------------------------------------------------------------------------------------------------------------------------ //
5	PageController.registerController('corporate--draw-rich-content--transparencia',false,[],function(controllers){
6		var $container = $('.corporate--transparencia-page-content');
7		var $headers = $('.corporate--transparencia-page-content h5'); if(!$headers.length) return;
8		$headers.on('click',function() {
9			var $self = $(this);
10			var $content = $self.next('div');
11			var isNotCollapse = $content.data('is-not-collapse');
12			// animation
13			$content.stop(true,false);
14			if(isNotCollapse) { Core.$slideUp($content); $self.addClass('collapsed'); }
15			else { Core.$slideDownAutoHeight($content); $self.removeClass('collapsed'); }
16			$content.data('is-not-collapse',!isNotCollapse);
17		});
18
19		var $cv = $('.corporate--transparencia-page-content .document-wrapper.block .right-column'); if(!$cv.length) return;
20		$cv.on('click',function() {
21			var $self = $(this);
22			var $content = $self.next('div');
23			var isNotCollapse = $content.data('is-not-collapse');
24			// animation
25			$content.stop(true,false);
26			if(isNotCollapse) { Core.$slideUp($content); $self.addClass('collapsed'); }
27			else { Core.$slideDownAutoHeight($content); $self.removeClass('collapsed'); }
28			$content.data('is-not-collapse',!isNotCollapse);
29		});
30		$('.corporate--transparencia-page-content--content .chart-and-legend.desglose-organico').closest('.document-wrapper.block').children('.right-column').triggerHandler('click');
31		
32		//svg not working (ie8)
33		if (!(Modernizr.inlinesvg && Modernizr.svg)) {
34			var $chartIngresosVsGastos = $('.corporate--transparencia-page-content--content .chart-and-legend.ingresos-vs-gastos > .chart-wrapper > .chart');
35			var $chartInversiones      = $('.corporate--transparencia-page-content--content .chart-and-legend.inversiones > .chart-wrapper > .chart');
36			var $chartDesgloseOrganico = $('.corporate--transparencia-page-content--content .chart-and-legend.desglose-organico > .chart-wrapper > .chart');
37			
38			if (!($chartIngresosVsGastos.size() && $chartInversiones.size())) return;
39
40			$('<div class="ie8-chart-wrapper"><img src=\'' + Data.ie8Images.ingresosVsGastos + '\' /></div>').appendTo($chartIngresosVsGastos);
41			$('<div class="ie8-chart-wrapper"><img src=\'' + Data.ie8Images.inversiones + '\' /></div>').appendTo($chartInversiones);
42			$('<div class="ie8-chart-wrapper"><img src=\'' + Data.ie8Images.desgloseOrganico + '\' /></div>').appendTo($chartDesgloseOrganico);
43			
44			return;
45		}
46
47		//c3 graph
48		if (_.isUndefined(Data.graphIngresosVsGastos2015) || _.isUndefined(Data.graphIngresosVsGastos2016)) return;
49
50		var drawPie = function(target, dataCollection, dataTitle) {
51			var relatedLegendList = [];
52			var $relatedLegendList = null;
53			var relatedLegend = {}; 
54			
55			_.forEach($('.corporate--transparencia-page-content--content .chart-and-legend.' + target + ' > .legend > ul > li'), function(listItem) {
56				if (!dataCollection[listItem.className].drawInChart) return;
57				
58				relatedLegendList.push(listItem);
59				relatedLegend[listItem.className] = $(listItem);
60			});
61			
62			$relatedLegendList = $(relatedLegendList);
63			
64			var chartProperties = { 
65				bindto : ".chart-and-legend." + target + " > .chart-wrapper > .chart",
66				size : { width : 250, height : 250 }
67			};
68			
69			if (!_.isUndefined(dataTitle)) {
70				chartProperties['oninit'] = function() {
71					var c3Title = d3.select('.c3-chart-arcs-title');
72					if (!c3Title.size()) return;
73					
74					c3Title.append('tspan').attr('x', 0).attr('y', -13).attr('class', 'description').text(dataTitle['description']);
75					c3Title.append('tspan').attr('x', 0).attr('y', 13).attr('class', 'amount').text(dataTitle['quantityFormatted'] + ' €');
76				}
77			}
78			
79			var columns = [];
80			var names = {};
81			var colors = [];
82			var legend = [];
83			_.forEach(dataCollection, function (dataItem, key) {
84				if (!dataItem.drawInChart) return;
85				
86				columns.push([key, Math.abs(dataItem.percentageFloat)]);
87				names[key] = dataItem.description;
88				legend.push(key);
89				colors.push(dataItem.color);
90			});
91			
92			chartProperties['data'] = {
93				columns : columns,
94				names : names,
95				type : 'donut',
96				onmouseover : function(d) {
97					$relatedLegendList.addClass('hide');
98					relatedLegend[d.id].removeClass('hide');
99				},
100				onmouseout : function(d) {
101					$relatedLegendList.removeClass('hide');
102				}
103			};
104			
105			chartProperties['donut'] = {
106				label : {
107					format : function (value, ratio, id) {
108						// return Logic.Utils.getTextValueWithFormater(value/100, 'float-percentage') + '%';
109						return '';
110					}
111				}
112			};
113
114			chartProperties['tooltip'] = { show : false };
115			chartProperties['color'] = { pattern : colors };
116			
117			var chart = c3.generate(chartProperties);
118			
119			chart.legend.hide(legend);
120		};
121		
122		drawPie('ingresos-vs-gastos-2015', Data.graphIngresosVsGastos2015, Data.graphIngresosVsGastos2015['ingresos']);
123		drawPie('ingresos-vs-gastos-2016', Data.graphIngresosVsGastos2016, Data.graphIngresosVsGastos2016['ingresos']);
124		drawPie('ingresos-vs-gastos-2017', Data.graphIngresosVsGastos2017, Data.graphIngresosVsGastos2017['ingresos']);
125		drawPie('ingresos-vs-gastos-2018', Data.graphIngresosVsGastos2018, Data.graphIngresosVsGastos2018['ingresos']);
126		drawPie('ingresos-vs-gastos-2019', Data.graphIngresosVsGastos2019, Data.graphIngresosVsGastos2019['ingresos']);
127		drawPie('ingresos-vs-gastos-2020', Data.graphIngresosVsGastos2020, Data.graphIngresosVsGastos2020['ingresos']);
128		drawPie('ingresos-vs-gastos-2021', Data.graphIngresosVsGastos2021, Data.graphIngresosVsGastos2021['ingresos']);
129		// drawPie('inversiones', Data.graphInversiones);
130		drawPie('desglose-organico', Data.graphDesgloseOrganico);
131	});
132});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.