Commit 98da4f05 authored by ns17's avatar ns17
Browse files

adding percentage on the support type chart

parent 8889b790
......@@ -24,6 +24,7 @@ import React, { Component } from 'react';
import { Row, Input, Button, Icon } from 'react-materialize'
import { searchHash } from '../enviroment'
import BuildBar from '../Charts/BuildBar'
import BuildBiaxialBars from '../Charts/BuildBiaxialBars';
import '../Styles/MultiSelector.css'
......@@ -90,11 +91,20 @@ class MultiSelector extends Component {
</div>
<div className={'selectorChartDiv'} id={this.props.id+'Chart'}>
<BuildBar
dataKey={this.props.year}
data={this.state.data}
customKeys={{'total':'Total'}}
/>
{this.props.totalData !== null ?
<BuildBiaxialBars
data={this.state.data}
dataKey={'Total'}
dataKey2={'Porcentagem'}
year={'ano'}
/>
:
<BuildBar
dataKey={this.props.year}
data={this.state.data}
customKeys={{'total':'Total'}}
/>
}
<p id={'noDataSelector'} className={'center-align'} style={{display:'none'}} > <b>Nenhum dado para mostrar</b></p>
</div>
</div>
......@@ -130,6 +140,24 @@ class MultiSelector extends Component {
searchData = searchHash(0,searchData,this.props.selects[checkboxes.childNodes[i].childNodes[0].value])
}
}
if (this.props.totalData !== null){
const total = this.props.totalData
const result = []
for(let i = 0; i < searchData.length; i++){
for(let j = 0; j < total.length; j++){
if (searchData[i].no_ano_pesquisa === total[j].Ano){
var soma = total[j]['Aluno não quis declarar cor/raça'] + total[j]['Amarela'] + total[j]['Branca'] + total[j]['Indígena'] + total[j]['Não dispõe da informação'] + total[j]['Parda'] + total[j]['Preta']
if (total[j]['Não declarado']){
soma += total[j]['Não declarado']
}
result[i] = {ano: searchData[i].no_ano_pesquisa, Total: searchData[i].total, Porcentagem: (searchData[i].total/ soma)*100 }
}
}
}
searchData = result
}
var hash = {}
for(let i = 0; i < Object.keys(this.props.selects).length; i++){
if( checked.includes(Object.keys(this.props.selects)[i]) )
......
......@@ -99,7 +99,7 @@ class QuotasSocialSupport extends Component {
}
render() {
console.log("this.state.charts['Curso']",this.state.charts['Curso'])
var contrastString = this.context.state.contrast;
return (
<div id={type}>
......@@ -271,17 +271,26 @@ class QuotasSocialSupport extends Component {
/>
</CollapsibleContainer>
<CollapsibleContainer id={`${contrastString}brownCollapsible`} header='Tipo de Apoio'>
<p> Após a busca, apresenta-se o número total de estudantes cotistas pretos, pardos e indígenas, com ou sem deficiência, com os apoios sociais selecionados. Por exemplo, se selecionados os parâmetros "Apoio Moradia" e "Apoio Transporte", o gráfico será referente aos estudantes beneficiados por esses dois apoios ao mesmo tempo. </p>
<p> Após a busca, apresenta-se o número total de estudantes cotistas pretos, pardos e indígenas, com ou sem deficiência, com os apoios sociais selecionados. Por exemplo, se selecionado o parâmetro "Apoio Alimentação", o gráfico será referente aos estudantes beneficiados por esse apoio exclusivamente. Caso seja selecionados os parâmetros "Apoio Moradia" e "Apoio Transporte", o gráfico será referente aos estudantes beneficiados exclusivamente por esses dois apoios ao mesmo tempo. </p>
<p>Quando mudar o filtro de região/uf no mapa acima, apertar o botão "BUSCAR" abaixo para atualizar os dados.</p>
<div id={'Tipo de Apoio'+type}>
<MultiSelector
id={type+'Selector'}
colorClass={`${contrastString}checkbox-green`}
selects={multiSelector}
data={this.state.charts['Tipo de Apoio']}
data={this.state.charts['Tipo de Apoio']}
totalData={organizeJson(this.state.charts['Perfil Raça/Cor'], "ds_cor_raca_aluno")}
year={'no_ano_pesquisa'}
total={'total'}/>
</div>
<Loading/>
<div style={{border:"solid 1px gray", padding:5}}>
<b>Legenda:</b>
<ul>
<li><b>Total</b>: número total de estudantes cotistas (pretos, pardos e indígenas) exclusivamente com os apoios sociais selecionados do país ou do estado/região selecionado.</li>
<li><b>Porcentagem</b>: porcentagem em relação ao total de estudantes cotistas (todas raças/cores) com apoio social do país ou do estado/região selecionado.</li>
</ul>
</div>
<CardFooter
data={serverURL + type +'?dims=food_support,support,work_support,courseware_support,housing_support,transport_support&filter=ethnic:["Preta","Parda","Indígena"]&format=csv'} source=" INEP (Setembro/2019)"
/>
......@@ -401,7 +410,7 @@ class QuotasSocialSupport extends Component {
}
createRoute(header) {
var route;
var route, route2;
let head = header.trim()
let filters = ''
......@@ -433,7 +442,8 @@ class QuotasSocialSupport extends Component {
route = type+'?dims=quota&filter=ethnic:["Preta","Parda","Indígena"],min_year:2012';
break;
case 'Tipo de Apoio':
route = type+"?dims=food_support,support,work_support,courseware_support,housing_support,transport_support"+filters
route = type+"?dims=food_support,support,work_support,courseware_support,housing_support,transport_support&"+filters
route2 = type+"?dims=ethnic&filter=min_year:2012,quota:1";
break;
default:
console.log("404");
......@@ -444,7 +454,17 @@ class QuotasSocialSupport extends Component {
} else
if (this.state.ddValues.regiao !== null) {
route = route + ",region:" + this.state.ddValues.regiao;
}
}
if (head === 'Tipo de Apoio'){
if (this.state.ddValues.estado !== null) {
route2 = route2 + ",uf:" + this.state.ddValues.estado;
} else
if (this.state.ddValues.regiao !== null) {
route2 = route2 + ",region:" + this.state.ddValues.regiao;
}
this.getDataFromServer(route2, 'Perfil Raça/Cor');
}
this.getDataFromServer(route, head);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment