{% extends 'Layouts/layout.html.twig' %}
{% block title %} Retabit Platform {% endblock %}
{% block content %}
<div class="container pt-3">
{# insights top #}
<div class="row align-items-center justify-content-center">
<div class="col-12 d-none">
<h1>{{ municipioname.adminunitname|capitalize }}</h1>
</div>
<div class="col-12 pt-3 pb-2">
<div class="d-flex align-items-center">
<h4 class="flex-grow-1">{% trans %}Los datos sociales, económicos y medioambientales que RETABIT tiene de {% endtrans %} <strong>{{ municipioname.adminunitname|capitalize }}</strong> {% trans %}para el análisis del parque residencial, son los siguientes{% endtrans %}: </h4>
</div>
</div>
</div>
</div>
<div class="container-fluid box_blue_middle">
<div class="container">
<div class="row align-items-center justify-content-center">
{{include ('components/infobar.html.twig')}}
</div>
</div>
</div>
<div class="container mt-5 pt-3 pb-3">
<div class="col-12 pt-3 pb-3">
<div class="d-flex align-items-center">
<h4 class="flex-grow-1">{% trans %}Estos son los análisis propuestos para{% endtrans %} <strong>{{ municipioname.adminunitname|capitalize }}</strong> {% trans %}a partir de la valoración de los datos disponibles. En cada análisis se muestran el resumen de los datos de los edificios y sus habitantes, sus características en las gráficas de barras y los indicadores relacionados.{% endtrans %} </h4>
</div>
</div>
{# analytic groups #}
<div class="row align-items-top justify-content-start ">
{# on group #}
{# {{dump(analytic_data)}} #}
{% for item in analytic_data %}
<div class="col-12 p-1 {% if loop.last %} mb-5 {% else %} mb-4 {% endif %}" id="analytic_box_{{loop.index}}">
{% set title = '' %}
{% set description = '' %}
{% for analyticvalue in analytic %}
{% if analyticvalue.id == item.analytic %}
{% if app.request.locale == "ca" %}
{% set title = analyticvalue.name_ca %}
{% set description = analyticvalue.descripcion_ca %}
{% elseif app.request.locale == "en" %}
{% set title = analyticvalue.name_en %}
{% set description = analyticvalue.descripcion_en %}
{% else %}
{% set title = analyticvalue.name %}
{% set description = analyticvalue.descripcion %}
{% endif %}
{% endif %}
{% endfor %}
<div class="analytic_box box_blue_soft p-5">
<div class="col-12 mb-3">
<h2>{{title}} <a tabindex="0" role="button" title="Header" data-bs-toggle="popover_{{loop.index}}" data-bs-trigger="hover focus" data-bs-title="{{title}}" data-bs-content="{{description}}"><span class="material-symbols-outlined">info</span></a></h2>
</div>
<div class="d-flex">
<div class="col-4 info_box pe-3">
<p class="mb-3"><span class="material-symbols-outlined">domain</span> {{item.blg_per}}% <span class="material-symbols-outlined ms-3">groups</span> {{item.hab_per}}%</p>
<p class="flex-fill mb-5">{{item.textai|replace({'(': '(<span class="fw-bold">', ')': '</span>)'}) |raw }}</p> <!-- .boxed_text -->
<script>
$('[data-bs-toggle="popover_{{loop.index}}"]').mouseover(function(){
$('[data-bs-toggle="popover_{{loop.index}}"]').popover();
})
</script>
<div class="mb-3">
<a href="{{ path('explore_analytic', {'mun': mun, 'slug': item.slug }) }}" class="btn btn-primary" >{% trans %}Ver más{% endtrans %}</a>
</div>
</div>
<div class="col-4 graphic_box ps-2 pe-3">
<h4 class="mb-3">{% trans %}Características de los edificios{% endtrans %}</h4>
<div id="carouselExampleIndicators_{{loop.index}}" class="carousel slide">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleIndicators_{{loop.index}}" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleIndicators_{{loop.index}}" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleIndicators_{{loop.index}}" data-bs-slide-to="2" aria-label="Slide 3"></button>
<button type="button" data-bs-target="#carouselExampleIndicators_{{loop.index}}" data-bs-slide-to="3" aria-label="Slide 4"></button>
</div>
<div class="carousel-inner" id="analytic_box_stat_{{loop.index}}">
<div class="carousel-item active">
<h5>{% trans %}Uso del edificio{% endtrans %} <a tabindex="0" role="button" title="Header" data-bs-toggle="popover_use" data-bs-trigger="hover focus" data-bs-title="" data-bs-content=""><span class="material-symbols-outlined" style="font-size: 18px !important;">info</span></a></h5>
<div class="mb-3" id="statUseBox_{{loop.index}}" style="position: relative;"></div>
</div>
<div class="carousel-item">
<h5>{% trans %}Año de construcción{% endtrans %}<a tabindex="0" role="button" title="Header" data-bs-toggle="popover_cons" data-bs-trigger="hover focus" data-bs-title="" data-bs-content=""><span class="material-symbols-outlined" style="font-size: 18px !important;">info</span></a></h5>
<div class="mb-3" id="statYearBox_{{loop.index}}" style="position: relative;"></div>
</div>
<div class="carousel-item">
<h5>{% trans %}Área{% endtrans %}<a tabindex="0" role="button" title="Header" data-bs-toggle="popover_area" data-bs-trigger="hover focus" data-bs-title="" data-bs-content=""><span class="material-symbols-outlined" style="font-size: 18px !important;">info</span></a></h5>
<div class="mb-3" id="statAreaBox_{{loop.index}}" style="position: relative;"></div>
</div>
<div class="carousel-item">
<h5>{% trans %}Porcentaje de ocupación{% endtrans %}<a tabindex="0" role="button" title="Header" data-bs-toggle="popover_por" data-bs-trigger="hover focus" data-bs-title="" data-bs-content=""><span class="material-symbols-outlined" style="font-size: 18px !important;">info</span></a></h5>
<div class="mb-3" id="statOccupationBox_{{loop.index}}" style="position: relative;"></div>
</div>
</div>
<script type="text/javascript">
async function init(){
var statDataAll = {{statData[loop.index - 1]|json_encode()|raw}};
// use stats data and print graphic
let useStat = statDataAll.useStatData;
let useStatData = await analyticOrganizeData(useStat);
let useStatTotalData = await analyticOrganizeTotalData(useStat);
barplotDoubleDouble100('statUseBox_{{loop.index}}',useStatData[0],useStatTotalData[1],useStatData[2], 'analytic_box_stat_{{loop.index}}',useStatTotalData[0]);
// year stats data and print graphic
var yearStat = statDataAll.yearStatData;
var yearStatData = await analyticOrganizeData(yearStat);
var yearStatTotalData = await analyticOrganizeTotalData(yearStat);
barplotDoubleDouble100('statYearBox_{{loop.index}}',yearStatData[0],yearStatTotalData[1],yearStatData[2], 'analytic_box_stat_{{loop.index}}',yearStatTotalData[0]);
// area stats data and print graphic
var areaStat = statDataAll.areaStatData;
var areaStatData = await analyticOrganizeData(areaStat);
var areaStatTotalData = await analyticOrganizeTotalData(areaStat);
barplotDoubleDouble100('statAreaBox_{{loop.index}}',areaStatData[0],areaStatTotalData[1],areaStatData[2], 'analytic_box_stat_{{loop.index}}',areaStatTotalData[0]);
// occupation stats data and print graphic
var occupationStat = statDataAll.occupationStatData;
var occupationStatData = await analyticOrganizeData(occupationStat);
var occupationStatTotalData = await analyticOrganizeTotalData(occupationStat);
barplotDoubleDouble100('statOccupationBox_{{loop.index}}',occupationStatData[0],occupationStatTotalData[1],occupationStatData[2], 'analytic_box_stat_{{loop.index}}',occupationStatTotalData[0]);
}
init();
</script>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators_{{loop.index}}" data-bs-slide="prev">
<span class="material-symbols-outlined">chevron_left</span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators_{{loop.index}}" data-bs-slide="next">
<span class="material-symbols-outlined">chevron_right</span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
<div class="col-4 rel_box ps-3 pe-2">
<h4 class="mb-3">{% trans %}Indicadores relacionados{% endtrans %}</h4>
<div>
{#% dump(item.relation) %#}
{% set break = false %}
{% for rel in item.relation %}
{% if break == false %}
{% if loop.index > 3 %}
{% set break = true %}
{% endif %}
{% if app.request.locale == "ca" %}
{% set title = rel.name_ca %}
{% set description = rel.info_ca %}
{% elseif app.request.locale == "en" %}
{% set title = rel.name_en %}
{% set description = rel.info_en %}
{% else %}
{% set title = rel.name %}
{% set description = rel.info %}
{% endif %}
<p class="mb-2">{{ title }} <a tabindex="0" role="button" title="Indicador relacionado" data-bs-toggle="ind_rel_{{loop.index}}" data-bs-trigger="hover focus" data-bs-title="{{title|capitalize}}" data-bs-content="{{description}}"><span class="material-symbols-outlined" style="font-size: 18px !important;">info</span></a></p>
<script>
$('[data-bs-toggle="ind_rel_{{loop.index}}"]').mouseover(function(){
$('[data-bs-toggle="ind_rel_{{loop.index}}"]').popover();
})
</script>
<div class="statsline mb-4 d-inline-block w-100">
{% set color = [] %}
{% for rank in kpi_rank %}
{% if rank.kpi_id == rel.kpi %}
{% set color = color|merge([rank.bgcolor]) %}
{% endif %}
{% endfor %}
{% set counter = color|length %}
{% set partsize = 100/counter %}
{% set stylestring = '' %}
<div class="bk_line">
{% for colorpart in color %}
{% if loop.last %}
{% set dato = 99.9-(partsize*(counter - 1)) %}
<div class="analytic_color_bar" style="width:{{dato}}%; background-color: {{colorpart}};"></div>
{% else %}
<div class="analytic_color_bar" style="width:{{partsize|number_format(2, '.')}}%; background-color: {{colorpart}};"></div>
{% endif %}
{% endfor %}
</div>
<span class="statsline_item statsline_1" style="left: {{rel.theme_per}}%;margin-left: -6px;"><i class="fa-solid triangle" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-custom-class="custom-tooltip" data-bs-title="{{rel.theme_per}}%"></i></span>
</div>
<div class="statsline_range d-flex justify-content-between d-none">
<span>{{rel.min_value}}</span>
<span>{{rel.max_value}}</span>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
<script type="text/javascript">
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl));
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
var Routes = Routing; // loaded from router.min.js
// because ES5 doesn't support require syntax,
// we use jquery getJSON function in order to set
// routing data to our Routing object
$.getJSON("{{ asset('build/js/fos_js_routes.json') }}", function (routes) {
Routes.setRoutingData(routes);
});
var rPlatform = map;
let explore_baseUrl = '{{ base_url }}';
let explore_mun = '{{ mun }}';
let allgeodataUrl = explore_baseUrl + "/get-allgeodata?mun=" + explore_mun ;
$(function() {
rPlatform.setMun(explore_mun);
rPlatform.setBaseUrl(explore_baseUrl);
});
function loadUrl(a){
let url = explore_baseUrl + "/explora/" + explore_mun + "/" + a;
window.location.href = url;
}
function loadUrlBack(){
let url = explore_baseUrl + "/explora";
window.location.href = url;
}
function analytic_collapse(a){
$('#analytic_box_' + a + ' .graphic_box').toggleClass('d-none');
$('#analytic_box_' + a + ' .rel_box').toggleClass('d-none');
var dato = $('#analytic_box_' + a).hasClass('col-12');
if(dato == true){
$('#analytic_box_' + a).removeClass('col-12');
$('#analytic_box_' + a).addClass('col-4');
$('#analytic_collapse_btn_' + a + ' span.material-symbols-outlined').text('arrow_forward');
$('#analytic_box_' + a + ' .boxed_text').removeClass('normal');
}else{
$('#analytic_box_' + a).removeClass('col-4');
$('#analytic_box_' + a).addClass('col-12');
$('#analytic_collapse_btn_' + a + ' span.material-symbols-outlined').text('arrow_back');
$('#analytic_box_' + a + ' .boxed_text').addClass('normal');
}
}
$('[data-bs-toggle="popover_use"]').mouseover(function(){
$('[data-bs-toggle="popover_use"]').popover();
});
$('[data-bs-toggle="popover_cons"]').mouseover(function(){
$('[data-bs-toggle="popover_cons"]').popover();
});
$('[data-bs-toggle="popover_area"]').mouseover(function(){
$('[data-bs-toggle="popover_use"]').popover();
});
$('[data-bs-toggle="popover_por"]').mouseover(function(){
$('[data-bs-toggle="popover_use"]').popover();
});
</script>
{% endblock %}