@vlci/cdmvalencia_ahir 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/js/inicio.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.inicio=t():e.inicio=t()}(self,()=>(()=>{var e={725(e){var t;self,t=()=>(()=>{"use strict";var e={d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{MONTHS_YEAR:()=>r,MONTHS_YEAR_SHORT:()=>i,TEXTS_COMMON:()=>s,THRESHOLDS:()=>$e,addPointInteger:()=>S,buildCamarasTrafico:()=>Oe,buildTableCalidadAire:()=>we,calculateMaxYAxis:()=>O,calculatePentahoPath:()=>Le,calculateXAxisStart:()=>F,capitalizarTexto:()=>C,checkAllGroupsCollapsed:()=>Me,configureDataBar:()=>V,configureDataGaugeCommon:()=>z,configureDataGaugeMonthCommon:()=>R,configureDataLine:()=>W,configureDataValidate:()=>Ue,configureLinesChartValidates:()=>Xe,convertDateToInteger:()=>b,convertISODateToEUDate:()=>v,convertToLanguageSelectorDateRange:()=>fe,convertToTableTreeView:()=>Ae,downloadCSVTable:()=>De,downloadPDFTable:()=>Ce,formatCellMultiplesLines:()=>ve,formatDayMonthYear:()=>u,formatMilMillionEuros:()=>Y,formatMonthAnyo:()=>d,formatName:()=>D,formatNameHeaderColumn:()=>be,formatRoundTooltip:()=>P,formatShortMonthShortYear:()=>f,formatShortMonthYear:()=>m,formatToMillions:()=>E,formatToTons:()=>A,formatTooltip:()=>I,formatTooltipPie:()=>T,formatTrimestre:()=>p,formatWithPrefix:()=>M,getEnvironment:()=>_e,getMaxFieldNumberFromData:()=>G,getMonth:()=>o,getMonthList:()=>h,getSelectCommonOptions:()=>se,getSelectTwoColumnsOptions:()=>le,initBarChart:()=>ze,initBarChartComparationMonth:()=>Ve,initChart:()=>w,initContractAllGroups:()=>xe,initElement:()=>N,initElementsByClass:()=>$,initExpandAllGroups:()=>Ne,initStackedBarChart:()=>Ye,initStackedBarChartMonthSeries:()=>je,initTable:()=>ge,initValueDefaultDate:()=>ue,initialCalls:()=>Fe,loadIframeOnClickEvent:()=>qe,printDataChart:()=>_,printDataInHTMLElements:()=>J,printEchart:()=>B,printNoDataChart:()=>L,resetFilter:()=>ie,resetFilterAndUpdate:()=>ye,resetFilterDate:()=>de,resetFilterDates:()=>ce,resetFilterToDefault:()=>pe,resultsetWithFields:()=>q,selectConfigDatasource:()=>oe,selectConfigDatasourceAllValue:()=>re,selectFilterAll:()=>ne,selectFilterNumItemsDefault:()=>he,selectValueDefaultInFilter:()=>me,separateDayMonthYearToSlash:()=>l,splitDataset:()=>X,subtractOneDay:()=>y,subtractOneMonth:()=>g,traverseRows:()=>Ee,updateDomElement:()=>U,updateObject:()=>H,updateStackedBarOptions:()=>Be});const n="es_ES",a=(new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]]),{"01":"Enero","02":"Febrero","03":"Marzo","04":"Abril","05":"Mayo","06":"Junio","07":"Julio","08":"Agosto","09":"Septiembre",10:"Octubre",11:"Noviembre",12:"Diciembre"});function o(e){return{1:"Gen",2:"Feb",3:"Mar",4:"Abr",5:"Mai",6:"Jun",7:"Jul",8:"Ago",9:"Sep",10:"Oct",11:"Nov",12:"Des"}[parseInt(e.toString(),10)]}const r={es_ES:new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),ca_ES:new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]])},i={es_ES:new Map([["1","Ene"],["2","Feb"],["3","Mar"],["4","Abr"],["5","May"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Sep"],["10","Oct"],["11","Nov"],["12","Dic"]]),ca_ES:new Map([["1","Gen"],["2","Feb"],["3","Mar"],["4","Abr"],["5","Mai"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Set"],["10","Oct"],["11","Nov"],["12","Des"]])},s={es_ES:new Map([["last_update","Última actualización"]]),ca_ES:new Map([["last_update","Última actualització"]])};function l(e){return`${e.substring(6,8)}/${e.substring(4,6)}/${e.substring(0,4)}`}function c(e){return[e.substring(0,4),a[e.substring(4,6)]]}function d(e){const[t,n]=c(e);return`${n} ${t}`}function u(e){const[t,n,o]=function(e){return[e.substring(0,4),a[e.substring(4,6)],e.substring(6,8)]}(e);return`${o} ${n} ${t}`}function m(e){const[t,n]=c(e);return`${n.substring(0,3)} ${t}`}function f(e){const[t,n]=c(e);return`${n.substring(0,3)} '${t.substring(2,4)}`}function p(e){const[t,n]=e.split("-");return`${parseFloat(n)/3}T ${t}`}function h(){const e=r[n];return Array.from(e.values()).map(e=>e.slice(0,3))}function y(e){const t=Math.floor(e/1e4),n=new Date(t,e%1e4/100-1,e%100);return n.setDate(n.getDate()-1),`${n.getFullYear()}${(n.getMonth()+1).toString().padStart(2,"0")}${n.getDate().toString().padStart(2,"0")}`}function g(e){const t=new Date(Math.floor(e/100),e%100-1,0);return`${t.getFullYear()}${(t.getMonth()+1).toString().padStart(2,"0")}`}function b(e){return"string"==typeof e?parseInt(e.replace("-",""),10):e}function v(e){if(!e||"string"!=typeof e)return"";const[t,n,a]=e.split("-");return`${a}/${n}/${t}`}function S(e,t=2){let n=navigator.language||navigator.userLanguage;n=n.length<=2?`${n}-${n.toUpperCase()}`:n;const a={minimumFractionDigits:0,maximumFractionDigits:t};return"es-ES"===n?e.toLocaleString("de-DE",a):e.toLocaleString(n,a)}function E(e){const t=1e6;return e>=t?e/t+"M":e.toString()}function A(e){return e>=1e3?e/1e3+" Tn":e.toString()}function M(e){let t,n;return e>=1e6?(t=e/1e6,n="G"):e>=1e3?(t=e/1e3,n="M"):(t=e,n="k"),{value:Math.round(100*t)/100,prefix:n}}function D(e,t=29){if(e.length>=t){const n=e.split(" ");let a="",o="";return n.forEach(e=>{`${a} ${e}`.length<=t?a+=(a?" ":"")+e:(o+=`${a}\n`,a=e)}),o+=a,o}return e}function C(e){return e.includes("N/D")?e:e.toLowerCase().replace(/(^|\s|[.,;:!?¡¿(){}[\]])([^\s])/gu,(e,t,n)=>t+n[0].toUpperCase())}function x(e,t,n,a){return new Promise(o=>{document.body.addEventListener(e,()=>{const e=t();e?o(n(e)):(console.error(a),o(null))},{once:!0})})}function N(e,t,n="MainContentLoadedCustom"){const a=document.getElementById(e);return a?Promise.resolve(t(a)):x(n,()=>document.getElementById(e),e=>t(e),`El elemento con ID ${e} aún no está disponible después del evento.`)}function $(e,t,n="MainContentLoadedCustom"){const a=document.getElementsByClassName(e);return a&&0!==a.length?Promise.resolve(Array.from(a).map(e=>t(e))):x(n,()=>{const t=document.getElementsByClassName(e);return t.length>0?Array.from(t):null},e=>e.map(e=>t(e)),`No se encontraron elementos con la clase ${e} después del evento.`)}function w(e,t){return N(e,e=>{const n=echarts.init(e);n.setOption(t,!0),window.addEventListener("resize",()=>{null!=n&&void 0!==n&&n.resize()});const a=document.getElementById("main-content");return a&&(a.addEventListener("shown.bs.collapse",()=>{n.resize()}),a.addEventListener("hidden.bs.collapse",()=>{n.resize()})),n})}function L(e,t){const n=e?document.querySelector(e):null,a=t?document.querySelector(t):null;n&&(n.hidden=!0),a&&(a.style.background="url('./build/images/nodata1.png') no-repeat top center",a.hidden=!1)}function _(e,t){const n=e?document.querySelector(e):null,a=t?document.querySelector(t):null;n&&(n.hidden=!0),a&&(a.style.background="#ffffff",a.hidden=!1)}function I(e,t=!1,n=!0,a=""){let o=`<p style="font-weight: 500;color: #565656;">${e[0].name}</p>`;return e.forEach(e=>{const r=t?Math.round(e.data):e.data,i=n?`<div style="font-weight: 400;color: #666;">${s=e.color,`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}"></span>`} ${e.seriesName}: \n <span style="float: right; margin-left:20px;font-weight: 600;color: #565656;">\n ${e.data?`${S(r)} ${a}`:"-"}\n </span>\n </div>`:`<div>\n <span style="font-weight: 600;color: #565656;">${e.data?`${S(r)} ${a}`:"-"}\n </span>\n </div>`;var s;o+=i}),o}function F(e){return 100*(e-120)/e}function O(e,t){const n=Math.max(...e);return n+(t-n%t)}function T(e,t=!1){const n=`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${e.color}"></span>`,a=t?`${e.percent}%`:S(e.value);return`<div> ${n} ${e.name} <span style="float: right; margin-left:20px;font-weight: 600;color: #333;"> ${a} </span></div>`}function P(e,t){let n=`${e.name} : `;return n+=`<span style="font-weight:500">${S(Math.round(e.value))}</span>`,t&&(n+=`<span> (${e.percent}%)</span>`),e.marker+n}function Y(e){const t=1e6,n=Number(e);return n>=0&&n<t?`${S(n)} €`:n>=t?`${S(n/t)} M €`:"-"}function B(e,t,n){return 0===e.length?(L(`#${t}`,`#${n}`),!1):(_(`#${n}`,`#${t}`),!0)}function j(e,t,n=1){const a=Math.max(...e.map(e=>e[t]))*n;return 5e3*Math.ceil(a/5e3)}function z(e,t,n,a=30,o=15,r=30,i=-70,s=70,l=3){const c=j(e,t.data,1.1),d=s,u=n.slice(),m=[];let f=o,p=r,h=i;for(let n=0;n<e.length;n+=1)m.push({value:e[n][t.data],name:D(String(e[n][t.type]).replace(/\[.*?\]/g,"")),color:u.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(f)}%`],fontFamily:"Montserrat",fontSize:a},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:"Montserrat",width:"33%",formatter:e=>S(Math.round(e))}}),h+=d,(n+1)%l===0&&(p+=r,f+=2*o,h=i);return[c,m]}function R(e,t,n,a=0){return[j(t,n.data,1),e=>function(e,t,n){const a=S(Math.round(t)),r=o(e[n][0]),i=e[n][1],s=`\n${r} ${i} : ${a}`,l=`${a}\n${r} ${i}`;return window.innerWidth<=1710?s:l}(t,e,a),[{value:t[a][n.data]}]]}function k(e,t){const{resultset:n}={resultset:e},a=new Set,o=new Set,r=n.map(([e,n,r])=>{const i=t?Math.round(r):r;return a.add(e),o.add(n),{day:n,type:e,value:i}}),i=Array.from(o.values()),s=Array.from(a.values());return s.sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase(),"es",{ignorePunctuation:!0})),[s.map(e=>{const t=r.filter(t=>t.type===e).map(({day:t,value:n})=>[t,e,n]),n=i.map(e=>{const n=t.find(([t])=>t===e);return n?n[2]:null});return{name:e,data:n}}),s,o]}function W(e,t=[],n=!1){const[a,o,r]=k(e,n);return a.forEach(e=>{e.type="line",e.symbol="circle",e.symbolSize=6,e.smooth=.1,t.length>0&&(e.color=t.shift())}),[a,r,o]}function V(e,t,n=!1){const[a,o,r]=k(e,n);return a.forEach(e=>{e.type="bar",e.color=t.shift(),e.smooth=!1}),[a,r,o]}function q(e){const{resultset:t,metadata:n}=e,a=[];return t.forEach(e=>{const t={};e.forEach((e,a)=>{t[n[a].colName]=e}),a.push(t)}),a}function H(e,t){const n={...e};return Object.keys(t).forEach(a=>{Object.prototype.hasOwnProperty.call(t,a)&&("series"===a&&Array.isArray(t[a])?n[a]=t[a].map((t,n)=>({...Array.isArray(e[a])&&e[a][n]||{},...t})):"object"!=typeof t[a]||null===t[a]||Array.isArray(t[a])?e[a]!==t[a]&&(n[a]=t[a]):n[a]=H(e[a]||{},t[a]))}),n}function J(e,t){const n=()=>{e.forEach(e=>{e.id in t&&Object.entries(t[e.id]).forEach(n=>{const a=n[0],o=n[1];"object"==typeof o?o.className?document.querySelector(o.className).className=e[a]:o.element&&o.format&&(document.querySelector(o.element).textContent=t[e.id][a].format(e[a])):document.querySelector(o).textContent=e[a]})})};try{n()}catch(e){document.body.addEventListener("MainContentLoadedCustom",()=>{n()})}}function G(e,t){const n=q(e),a=[];let o=null;return n.forEach(e=>{const n=e[t];"number"!=typeof n||Number.isNaN(n)||a.push(n)}),a.length>0&&(o=Math.max(...a)),o}function U(e,t){const n=document.querySelector(e);n?n.textContent=t:console.warn(`Elemento ${e} no encontrado en el DOM`)}function X(e,t=!0){const n={Cont:[],Mob:[]};return e.forEach(e=>{"is-res-001-kgs-contenidors"===e[0]&&"total"===e[1]&&(t?n.Cont.push([e[3],e[4],e[2]]):n.Cont.push([e[3],e[2]])),"Mobles"===e[1]&&(t?n.Mob.push([e[3],e[4],e[2]]):n.Mob.push([e[3],e[2]]))}),n}const Z=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],K=["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],Q=["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],ee=["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"],te=["Do","Lu","Ma","Mi","Ju","Vi","Sá"];function ne(e){const t=e.resultset.map(e=>e[0]);return this.dashboard.fireChange(this.parameter,t),e}function ae(e){for(const t of e)if(Array.isArray(t)){if(!ae(t))return!1}else if("All"!==t)return!1;return!0}function oe(e,t,n,a){return ae(t)?(e.queryDefinition.dataAccessId=n,e.dashboard.setParameter(e.parameter,["All"])):e.queryDefinition.dataAccessId=a,!0}function re(e){return e.dashboard.setParameter(e.parameter,["All"]),!0}function ie(e){e.forEach(e=>{Dashboards.fireChange(e,["All"])})}function se(e="Todos"){return{input:{root:{id:"All"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:"No disponible",allItems:e,noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}},Group:{Strings:{allItems:"Todos",noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}}}}}function le(e="Todos"){const t=se(e);return t.input.indexes.id=1,t.input.indexes.label=0,t}function ce(e,t,n,a){const o=Dashboards.getParameterValue(n),r=Dashboards.getParameterValue(a);return Dashboards.fireChange(e,[o]),Dashboards.fireChange(t,[r]),!0}function de(e,t){const n=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,[n]),!0}function ue(e,t){Dashboards.fireChange(t,e.resultset[0][0])}function me(e,t){const n=Dashboards.getParameterValue(t),a=e.parameter;""!==n&&e.dashboard.setParameter(a,[n])}function fe(e){e.regional.es={monthNames:Z,abbreviatedMonthNames:K,dayNames:Q,abbreviatedDayNames:ee,dayNamesMin:te,weekHeader:"Sm",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.setDefaults(e.regional.es)}function pe(e,t){const n=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,Array.isArray(n)?n:[n]),!0}function he(e,t,n,a=0){const o=e.resultset.slice(0,n).map(e=>e[a]);return Dashboards.setParameter(t,o),e}function ye(e,t,n){const a=Array.isArray(t)?t:[t];Dashboards.fireChange(e,a);const o=Dashboards.getComponent(n);o&&o.update()}function ge(e,t){return N(e,e=>new Tabulator(e,t))}function be(e,t){let n=e.getValue();return n.length>t&&(n=`${n.substr(0,t)}<br>${n.substr(t)}`),n}function ve(e,t){const n=e.getValue().split(" ");let a="",o="";return n.forEach(e=>{(o+e).length<=t?o+=`${e} `:(a+=`${o}<br>`,o=`${e} `)}),a+=`${o}<br>`,a}function Se(e,t){"expand"===t?e.treeExpand():e.treeCollapse();const n=e.getTreeChildren();n.length>0&&n.forEach(e=>{e.getTreeChildren().length>0&&Se(e,t)})}function Ee(e,t){e.getRows().forEach(e=>{e.getTreeChildren().length>0&&Se(e,t)})}function Ae(e,t,n,a){const o=[];return Object.keys(e).forEach(r=>{if(Object.prototype.hasOwnProperty.call(e,r)){const i=e[r],s={[t]:i[0],_children:[]};i.shift(),i.forEach((e,o)=>{const r={[t]:n[o],[a]:e};s._children.push(r)}),o.push(s)}}),o}function Me(e){let t=!0;return e.getGroups().forEach(e=>{e._group.visible&&(t=!1)}),t}function De(e,t,n){const a=document.getElementById(n),o=a.cloneNode(!0);a.parentNode.replaceChild(o,a),o.addEventListener("click",()=>{e.download("csv",`${t}.csv`,{delimiter:";",bom:!0})})}function Ce(e,t,n){const a=document.getElementById(n),o=a.cloneNode(!0);a.parentNode.replaceChild(o,a),o.addEventListener("click",()=>{const n=e.getRows().map(e=>e.getData()),a=e.getColumns(),o={};a.forEach((e,t)=>{const a=e.getField();a&&n.every(e=>{const t=e[a];return null==t||/^-?\d+([.,]\d+)?$/.test(t.toString().trim())})&&(o[t]={halign:"right"})}),e.download("pdf",`${t}.pdf`,{title:t,rowCalcStyles:{fontSize:8,fontStyle:"bold"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:"center"},columnStyles:o}})})}function xe(e,t,n){const a=document.getElementById(n);a&&a.addEventListener("click",()=>{e.setGroupStartOpen(!1),e.setData(t)})}function Ne(e,t,n){const a=document.getElementById(n);a&&a.addEventListener("click",()=>{e.setGroupStartOpen(!0),e.setData(t)})}const $e={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function we(e){const t=[],n={0:"b",1:"a",2:"d",3:"m",4:"mm",5:"em",6:"",7:"nd"};function a(e,t,a){const o=document.createElement("td");if(o.setAttribute("id",e),null!=t){o.innerHTML=t;const e=function(e,t){let a;return void 0===t?a=6:"ND"===t?a=7:(a=5,e.forEach((e,n)=>{t<=e&&5===a&&(a=n)})),n[a]}(a,t);o.classList.add(e)}return o}return e.forEach(e=>{const n=e;"noData"===n.operationalstatus&&(n.so2value="ND",n.no2value="ND",n.o3value="ND",n.pm10value="ND",n.pm25value="ND");const o=document.createElement("tr"),r=document.createElement("td");r.innerHTML=n.address,o.appendChild(r),o.appendChild(a(`${n.entityid}_so2`,n.so2value,$e.SO2)),o.appendChild(a(`${n.entityid}_no2`,n.no2value,$e.NO2)),o.appendChild(a(`${n.entityid}_o3`,n.o3value,$e.O3)),o.appendChild(a(`${n.entityid}_pm10`,n.pm10value,$e.PM10)),o.appendChild(a(`${n.entityid}_pm25`,n.pm25value,$e.PM25)),t.push(o)}),t}function Le(e){document.location=`${document.documentURI.split("%3A")[0]}%3A${document.documentURI.split("%3A")[1]}%3A${document.documentURI.split("%3A")[2]}%3A${document.documentURI.split("%3A")[3]}%3A${e}`}function _e(){const e=window.location.href;let t="";return t=e.includes("localhost")?"local":e.includes("sc_valencia_pre")?"PRE":"PRO",t}function Ie(e,t){document.querySelectorAll(`[${e}]`).forEach(n=>{!function(e,t,n){const a=t;if(e){const t=new XMLHttpRequest;t.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(a.innerHTML=this.responseText,n&&n()),404===this.status&&(a.innerHTML="No se ha podido cargar correctamente."))},t.open("GET",e,!0),t.send()}}(n.getAttribute(e),n,t)})}function Fe(e){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn("Dashboards.init bloqueado temporalmente")},Ie("include-html-cabecera",function(){!function(){const e=_e();"PRO"!==e&&(document.title+=` (${e})`)}(),function(){const e=_e();"PRO"!==e&&(document.querySelector("nav").querySelectorAll("span")[1].textContent+=` (${e})`)}()}),Ie("include-html-menu"),Ie("include-html-main-container",function(){document.body.dispatchEvent(new Event("MainContentLoadedCustom")),function(){const e=document.querySelector("body");e.classList.remove("inicio"),e.classList.add(document.documentURI.split("%3A")[4].match(/(.*?).wcdf/)[1])}(),e&&e()}),Ie("include-html-copyright"),function(e="MainContentLoadedCustom"){document.body.addEventListener(e,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(e){console.warn("No se pudo restaurar Dashboards.init; la función original no está disponible.")}},{once:!0})}()}function Oe(e,t,n,a,o,r){let i=!1,s=!1;const l=document.querySelector(e),c=document.querySelector(t),d=()=>{"undefined"!=typeof Liferay&&"ca-ES"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=cas")):(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=val"))};function u(e=!0){const t=document.querySelector(n);e?(l&&(l.src="about:blank"),c&&(c.src="about:blank"),t.classList.add("blur"),s=!0):(t.classList.remove("blur"),d(),s=!1)}const m=e=>{new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(s||d(),i||(i=!0,window.setTimeout(u,r)))})}).observe(e)};!function(){const{userAgent:e}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(e)&&!window.MSStream}()?(l&&(l.setAttribute("sandbox","allow-scripts"),m(l)),c&&(c.setAttribute("sandbox","allow-scripts"),m(c)),document.querySelector(o).addEventListener("click",()=>{u(!1),window.setTimeout(u,r)})):document.querySelectorAll(a)[0].style.display="none"}const Te={grid:{containLabel:!0},title:{left:"center",top:"0",textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"}},legend:{orient:"horizontal",bottom:"0",left:"center",width:"100%",textStyle:{fontSize:11,fontFamily:"Montserrat",fontWeight:400,color:"#666"}},toolbox:{show:!0,right:"0",top:"0",feature:{restore:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}},emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}}},tooltip:{textStyle:{fontFamily:"Montserrat",fontSize:12}},xAxis:[{type:"category",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:"Montserrat",fontSize:11}},data:[]}],yAxis:[{type:"value",alignTicks:!0,position:"right",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${e}%`}},{type:"value",position:"left",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${E(e)}€`}}]},Pe=(e,t)=>{t.sort((e,t)=>parseInt(e.anyo)-parseInt(t.anyo));const n={};t.forEach(t=>{const a=t[1],o=t[0];o!==e.seriesName||n[a]||(n[a]=0),o===e.seriesName&&(n[a]+=t[2])});let a=`<p>${e.seriesName}</p>`;for(const[t,o]of Object.entries(n))a+=`<div>${e.marker} ${t}: <span style="float: right; margin-left:20px;font-weight: 600;">${S(o)}</span></div>`;return a};function Ye(e,t,n=void 0,a=void 0){const o=null===a?void 0:a,r=new Set(t.map(e=>e[1]));let i;const s={title:{text:"SIN TITULO",left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},tooltip:{axisPointer:{type:"shadow"},trigger:"item",formatter:e=>Pe(e,t),textStyle:{fontFamily:"Montserrat"},position(e,t,n,a,o){const r={},i=o.contentSize[1]/2,s=o.viewSize[1],l=e[1];return l<i?r.top=10:l+i>s?r.bottom=10:r.top=l-i,e[0]<o.viewSize[0]/2?r.left=e[0]+20:r.right=o.viewSize[0]-e[0]+20,r}},legend:{padding:40,textStyle:{fontFamily:"Montserrat"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"value",splitNumber:10,name:"SIN NOMBRE",nameLocation:"start",nameTextStyle:{fontWeight:"bold",fontFamily:"Montserrat",color:"#666",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:"Montserrat"},formatter:e=>S(e)},splitLine:{lineStyle:{color:"#DDD"}}},yAxis:{type:"category",data:Array.from(r),axisLabel:{textStyle:{fontFamily:"Montserrat"}}},series:(()=>{const e={name:"SIN NOMBRE",type:"bar",stack:"total",label:{show:!0,fontFamily:"Montserrat",fontSize:10,formatter:e=>S(Math.round(e.value))},itemStyle:void 0,emphasis:{focus:"series"},data:void 0};o&&o.itemStyle&&Array.isArray(o.itemStyle.borderColor)&&(i=[...o.itemStyle.borderColor],delete o.itemStyle.borderColor);const n=function(e){return e.reduce((e,t)=>{const n=t[0];return e[n]||(e[n]=[]),e[n].push(t),e},{})}(t),a=Object.keys(n);r.forEach(e=>{a.forEach(t=>{void 0===n[t].find(t=>t[1]===e)&&(n[t].push([n[t][0][0],e,void 0]),n[t].sort())})});const s=[];return Object.keys(n).forEach(t=>{i&&(e.itemStyle={borderColor:i.shift()}),e.name=t,e.data=n[t].map(e=>e[2]);let a={};a=void 0!==o?H(e,o):e,s.push({...a})}),s})(),toolbox:{show:!0,feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:50}};let l={};l=void 0!==n?H(s,n):s,w(e,l)}function Be(e){let t={};return t=H(Te,e),t}function je(e,t,n={},a={}){let r={};r=H(n,{color:["#81B1CC","#ABD9EA","#C2EEF9","#F9E2AF","#F9C780","#FDAE61","#F46D43","#FDAE61","#F9E2AF","#C2EEF9","#ABD9EA","#81B1CC"],yAxis:{data:function(){const e=new Set;return t.forEach(t=>{e.add(t[1])}),Array.from(e).sort((e,t)=>e-t)}()}});const i={itemStyle:{borderWidth:2,borderColor:["#448DAD","#89CADB","#A0DEE8","#F4D28C","#F4B569","#F79646","#F25930","#F79646","#F4D28C","#A0DEE8","#89CADB","#448DAD"]}},s=null===a?i:H(a,i),l=t;l.forEach((e,t)=>{l[t][0]=o(e[0])}),Ye(e,l,r,s)}function ze(e,t=void 0){const n={title:{text:"SIN TITULO",left:"center",top:"top",padding:50,textStyle:{fontSize:14,fontFamily:"Montserrat",fontWeight:400,color:"#333"}},legend:{show:!1},grid:{top:"30%",bottom:"5%",left:"8%",right:"8%"},xAxis:{type:"value",show:!1},yAxis:{show:!1,type:"category"},tooltip:{show:!0,textStyle:{fontFamily:"Montserrat",fontWeight:"600"},appendToBody:!0,formatter:e=>P(e,!1)},series:[{type:"bar",showBackground:!0}]};let a={};a=void 0!==t?H(n,t):n,w(e,a)}function Re(e){return Math.max(...e.map(e=>Number(e[0])))}function ke(e){const t=e.filter(t=>Number(t[0])===Re(e)),n=Array.from({length:12},()=>0);return t.forEach(([e,t,a])=>{const o=parseInt(t,10)-1;n[o]=a}),n}function We(e){const t=e.filter(t=>Number(t[0])===Re(e)-1),n=Array.from({length:12},()=>0);return t.forEach(([e,t,a])=>{const o=parseInt(t,10)-1;n[o]=a}),n}function Ve(e,t,n=void 0){const a=Re(t).toString(),o=(Re(t)-1).toString();ze(e,H({title:{left:"center",top:"-12%",textStyle:{fontSize:15,fontFamily:"Montserrat"}},legend:{top:"10%",show:!0,data:[o,a],textStyle:{fontFamily:"Montserrat"}},grid:{bottom:"8%",top:"20%",right:"2%"},xAxis:[{type:"category",data:h(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],yAxis:[{type:"value",axisLabel:{formatter:e=>e.toLocaleString("es-ES"),textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],series:[{name:o,type:"bar",data:We(t)},{name:a,type:"bar",barGap:0,data:ke(t)}]},n))}function qe(e,t,n){const a=document.querySelector(t),o=document.querySelector(e);let r=!1;o.addEventListener("click",()=>{!1===r&&(r=!0,a.setAttribute("src","about:blank"),a.setAttribute("src",n),a.onload=()=>{r=!1})}),o.disabled=!1}const He="id",Je="fecha",Ge="value";function Ue(e,t,n,a,o="es_ES"){const[r,i]=function(e,t,n){const a=[],o=[];return e.forEach(e=>{t.includes(`${e[He]}`)?a.push(`${e[Je]}`):n.includes(`${e[He]}`)&&o.push(`${e[Je]}`)}),[a.map(e=>[e,0]),o.map(e=>[e,0])]}(e,n,a);let s="es_ES"==o?"Datos sin validar":"Dades sense validar";0===i.length&&(s="");const l={name:"Datos validados",type:"line",data:[...r,i[0]],lineStyle:{color:"#00A9A0",width:4},showSymbol:!1,tooltip:{show:!1}};let c="",d="";if(0===i.length){const t=e[e.length-1].fecha;c=t,d=t}else c=i[0][0],d=i[i.length-1][0];return[...t,l,{name:"Datos NO validados",type:"line",data:i,lineStyle:{color:"#80D4CF",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:"#eee"},tooltip:{show:!1},label:{color:"#333",fontStyle:"normal",fontWeight:"400",fontFamily:"Montserrat",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:"end",xAxis:d,yAxis:Math.max(...e.filter(e=>null!==e[Ge]).map(e=>parseInt(`${e[Ge]}`,10)))}]]}}]}function Xe(e,t,n=void 0){w(e,H({grid:{left:"2.5%",right:"5%",bottom:"70",top:"150",containLabel:!0},title:{left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},legend:{type:"plain",top:"50",width:"98%",textStyle:{fontFamily:"Montserrat"}},tooltip:{trigger:"axis",show:!0,formatter:e=>I(e),textStyle:{fontFamily:"Montserrat"}},xAxis:{type:"category",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},yAxis:{type:"value",nameLocation:"end",nameGap:"0",nameTextStyle:{fontFamily:"Montserrat",fontWeight:"500",padding:[-25,0,0,-48],margin:0,align:"left",verticalAlign:"top",width:"auto"},scale:!0,splitNumber:"6",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},dataZoom:{end:100,borderColor:"#eee",fillerColor:"rgba(0,0,0,.05)",textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#333",textBorderColor:"#fff",textBorderWidth:3,fontWeight:"600"},selectedDataBackground:{lineStyle:{color:"#333"},areaStyle:{color:"#ffcd00"}},dataBackground:{backgroundColor:"rgba(0,0,0,1)",lineStyle:{color:"#333"},areaStyle:{color:"rgba(0,0,0,0.5)"}},handleStyle:{color:"rgba(0,0,0,0.2)"},moveHandleStyle:{color:"rgba(0,0,0,0.3)"},emphasis:{handleStyle:{color:"rgba(255,205,0,1)"},moveHandleStyle:{color:"rgba(255,205,0,1)"}}},toolbox:{feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:"1%",top:"0%"},series:t},n))}return t})(),e.exports=t()}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{"use strict";n.r(a),n.d(a,{callesCongestionadas:()=>f,callesCortadas:()=>m,countAlertasDeRuido:()=>T,echartIncidenciasPorEstadoPie:()=>A,echartIntervencionesTotalesPie:()=>E,initializeUI:()=>j,intervencionesPoliciales:()=>S,medioambienteAlertasDiarias:()=>_,medioambienteAlertasHorarias:()=>L,medioambienteClima:()=>x,medioambienteEstadoCalidadAire:()=>$,sensoresRuido:()=>O,setFechaDatos:()=>P,setToken:()=>Y,top3IncidenciasPorTipologia:()=>M,traficoAccesosCiudad:()=>D,traficoAccesosCiudadDetalle:()=>C});var e=n(725);const t=e=>!Number.isNaN(Number(e)),o=(e,n=!0)=>{const a=e;if(!t(a.textContent))return;if(a.classList.add((e=>{const t=Number(e.trim());return 0===t?null:t>0?"pos":"neg"})(e.textContent)),a.textContent=(e=>{return t=e.textContent,Number(t.trim())>0?e.textContent:e.textContent.replace("-","");var t})(e),!n)return;const o=document.createElement("span");o.textContent="%",e.append(o)},r=(e,t,n,a=!1)=>{if(!Array.isArray(e)||0===e.length)return;const{idPrefijo:r,camposLeft:i,camposVariacion:s}=n;t.innerHTML="";const l=i[1]?e[0][i[1].campo]:0;e.forEach((e,c)=>{const d=c+1,u=document.createElement("li");u.id=`${r}-${d}`,u.className="list-item";const m=document.createElement("div");m.className="datos";const f=((e,t,n,a)=>{const o=document.createElement("div");return o.className="left",t.forEach(t=>{const r=document.createElement("div");let i;if(r.className=t.clase,r.id=`${n}-${a}-${t.idSufijo}`,"campo"in t?(i=e[t.campo],t.format&&(i=t.format(i))):"texto"in t&&(i=t.texto),r.textContent=i,t.span){const e=document.createElement("span");e.textContent=t.span,r.append(e)}o.append(r)}),o})(e,i,r,d),p=((e,t,n,a)=>{const r=document.createElement("div");return r.className="changes",t.forEach(t=>{let i=!0;"aplicarEstilosVariacion"in t&&(i=t.aplicarEstilosVariacion);let s=!0;"mostrarPorcentaje"in t&&(s=t.mostrarPorcentaje),r.append(((e,t,n,a="value",r=!0,i=!0)=>{const s=document.createElement("div");if(s.className="mini",e){const t=document.createElement("div");t.className="label",t.textContent=e,s.append(t)}const l=document.createElement("div");return l.id=n,l.classList.add(a),l.textContent=t,r&&o(l,i),s.append(l),s})(t.label,e[t.campo],`${n}-${a}-${t.idSufijo}`,t.clase,i,s))}),r})(e,s,r,d);if(m.append(f,p),n.extra){const t=n.extra(e,d);t&&u.append(t)}if(u.append(m),a){const t=((e,t)=>{const n=document.createElement("div");return n.className="progress",n.style.width=100*e/t+"%",n})(e[i[1].campo],l);u.append(t)}t.append(u)})},i={YYYYMMDD:({yyyy:e,mm:t,dd:n})=>`${e}${t}${n}`,"YYYY-MM-DD":({yyyy:e,mm:t,dd:n})=>`${e}-${t}-${n}`,"DD-MM-YYYY":({yyyy:e,mm:t,dd:n})=>`${n}-${t}-${e}`};function s(e,t,n="fecha"){const a=function(e){const t=new Date;return t.setDate(t.getDate()-1),(i[e]||i.YYYYMMDD)((n=t,{yyyy:String(n.getFullYear()),mm:String(n.getMonth()+1).padStart(2,"0"),dd:String(n.getDate()).padStart(2,"0")}));var n}(t);return e.some(e=>e[n]===a)}function l(e){u(document.getElementById(e))}function c(e,t){u(e.querySelector(t))}function d(e,t){const n=document.createElement("p");n.textContent=t,e.appendChild(n)}function u(e){e&&e.classList.add("hidden")}function m(t){const n={"TOTAL CALLES CORTADAS":{num_ayer:{element:"#calles-cortadas-num",format:e=>Number(e).toLocaleString("de-DE")},diferencia_dia_anterior:"#calles-cortadas-num-ayer",diferencia_semana_anterior:"#calles-cortadas-num-semana-prev"}},a=document.getElementById("calles-cortadas-trafico"),r=(0,e.resultsetWithFields)(t);if(!s(r,"YYYY-MM-DD"))return c(a,".indicador"),c(a,".mapa"),void d(a,"No hay datos de calles cortadas de ayer.");(0,e.printDataInHTMLElements)(r,n);const i=document.getElementById("calles-cortadas-num-ayer");o(i,!1);const l=document.getElementById("calles-cortadas-num-semana-prev");o(l,!1)}function f(t){const n=(0,e.resultsetWithFields)(t).sort((e,t)=>t.minutos_ayer-e.minutos_ayer),a=s(n,"YYYY-MM-DD"),o=document.getElementById("calles-congestionadas-trafico"),i=o.querySelector(":scope > ul"),l=o.querySelector(":scope > p");return a&&function(e){return e.some(e=>"Ayer no hubo calles congestionadas"===e.id)}(n)?(u(l),void d(o,"Ayer no hubo calles congestionadas.")):a?(r(n,i,{idPrefijo:"calle-cong",camposLeft:[{texto:"AYER",clase:"label",idSufijo:"label"},{campo:"minutos_ayer",clase:"number",idSufijo:"minutos",format:e=>e.toLocaleString("de-DE"),span:"min."}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}],extra:(e,t)=>{const n=document.createElement("div");return n.className="name",n.id=`calle-cong-${t}-nombre`,n.textContent=e.id,n}}),void i.querySelectorAll('[id$="var-dia"], [id$="var-semana"]').forEach(e=>{"Sin congestión"===e.textContent.trim()&&e.classList.add("no-congestion")})):(u(l),u(i),void d(o,"No hay datos de congestión de calles de ayer."))}const p={es_ES:new Map([["download","Descargar"],["intervenciones_totales","INTERVENCIONES TOTALES"],["intervenciones","intervenciones"],["tipologia_nivel","TIPOLOGÍA NIVEL"],["incidencias","incidencias"],["incidencias_totales","INCIDENCIAS TOTALES"]]),ca_ES:new Map([["download","Desar"],["intervenciones_totales","INTERVENCIONS TOTALS"],["intervenciones","intervencions"],["tipologia_nivel","TIPOLOGIA NIVELL"],["incidencias","incidències"],["incidencias_totales","INCIDÈNCIES TOTALS"]])},h={es_ES:new Map([["alerta","Alerta"],["aviso","Aviso"],["preaviso","Preaviso"],["avisos_diarios","Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones."],["avisos_horarios","Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones"]]),ca_ES:new Map([["alerta","Alerta"],["aviso","Avís"],["preaviso","Preavís"],["avisos_diarios","Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions."],["avisos_horarios","Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions"]])},y="es_ES",g={naranjaPalido:"#F1AB86",tealPalido:"#48A9A6",amarilloPalido:"#ffbf69",azulPalido:"#4BA3C3",cranberryPalido:"#e56b6f",marinoPalido:"#284B63",naranja:"#F96E46",teal:"#307473",amarillo:"#F6AE2D",azulCeruleo:"#05668d",cranberry:"#A23E48",marino:"#0B3948",verdeClaro:"#6a9c81",tealApagado:"#7AA8A7"},b={color:Object.values(g),grid:{left:"1%",right:"1%",bottom:"2%",top:"20%",containLabel:!0},title:{show:!1,text:p[y].get("intervenciones_totales"),subtext:`${p[y].get("tipologia_nivel")} 1`,left:"center",top:"0",itemGap:5,textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"},subtextStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:400,color:"#666",width:"100%"}},legend:{orient:"vertical",top:"middle",left:"right",selectedMode:!1,textStyle:{fontSize:"11",fontFamily:"Montserrat",fontWeight:"400",color:"#333"}},toolbox:{show:!1,right:"0",top:"0",emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}},feature:{saveAsImage:{title:p[y].get("download"),textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}}},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${p[y].get("intervenciones")}`},series:[{type:"pie",radius:["0","80%"],center:["23%","50%"],startAngle:0,data:[],label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1,length:10},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]},v={color:[g.cranberryPalido,g.tealApagado],grid:{left:"0",right:"0",bottom:"0",top:"0",containLabel:!0},title:{show:!1},legend:{show:!1},toolbox:{show:!1},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${p[y].get("incidencias")}`},series:[{type:"pie",radius:["0","80%"],center:["40%","50%"],startAngle:0,data:[],itemStyle:{borderWidth:1,borderColor:g.cranberryPalido},label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};function S(t){const n={"TOTAL INTERVENCIONES":{num_ayer:{element:"#interv-pol-total",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#interv-pol-var-dia",variacion_semana_anterior:"#interv-pol-var-semana"}},a=(0,e.resultsetWithFields)(t);if(!s(a,"YYYYMMDD")){const e=document.getElementById("intervenciones-policiales");return c(e,".indicador"),c(e,".intervenciones-policiales-detalle"),void d(e,"No hay datos de intervenciones de ayer.")}(0,e.printDataInHTMLElements)(a,n);const r=document.getElementById("interv-pol-var-dia");o(r);const i=document.getElementById("interv-pol-var-semana");o(i)}function E(t,n){const a=JSON.parse(JSON.stringify(b));a.series[0].label.formatter=b.series[0].label.formatter,a.tooltip.formatter=b.tooltip.formatter;const o="chart-intervenciones-ayer",r="no-data-intervenciones-ayer",i=(0,e.resultsetWithFields)(n);if(!s(i,"YYYYMMDD"))return;0===i.length?(0,e.printNoDataChart)(`#${o}`,`#${r}`):(0,e.printDataChart)(`#${r}`,`#${o}`);const l=i.filter(e=>"TOTAL INTERVENCIONES"!==e.id).map(e=>({name:e.id,value:Number(e.num_ayer)}));a.series[0].data=l,(0,e.initChart)(o,a)}function A(t){const n=JSON.parse(JSON.stringify(v));n.series[0].label.formatter=v.series[0].label.formatter,n.tooltip.formatter=v.tooltip.formatter;const a="chart-incid-ciudadanas-estado-ayer",o="no-data-incid-ciudadanas-estado-ayer",i=(0,e.resultsetWithFields)(t);0===i.length?(0,e.printNoDataChart)(`#${a}`,`#${o}`):(0,e.printDataChart)(`#${o}`,`#${a}`);const c=i.map(e=>({name:e.id,value:Number(e.num_incidencias_ayer)}));n.series[0].data=c,(0,e.initChart)(a,n);const u=document.getElementById("list-incidencias-ciudadanas-estado"),m=u.querySelector("ul");if(i&&0!==i.length){if(!s(i,"YYYY-MM-DD")){const e=document.getElementById("incidencias-ciudadanas");return l("incidencias-ciudadanas-estado"),void d(e,"No hay datos de incidencias registradas de ayer.")}r(i,m,{idPrefijo:"estado-incidencia",camposLeft:[{campo:"id",clase:"value",idSufijo:"estado"}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{label:"vs SEMANA PASADA",campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]})}else d(u,"Ayer no hubo incidencias.")}function M(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("incid-ciudadanas-tipologia-top-3"),o=a.querySelector("ul");n&&0!==n.length?s(n,"YYYY-MM-DD")?r(n,o,{idPrefijo:"tipo-incidencia",camposLeft:[{campo:"id",clase:"name",idSufijo:"tipologia"}],camposVariacion:[{campo:"num_incidencias_ayer",idSufijo:"num",clase:"number",aplicarEstilosVariacion:!1},{campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]}):l("incidencias-ciudadanas-tipologia"):d(a,"No hay datos disponibles.")}function D(t){const n=document.getElementById("accesos-trafico"),a={"TOTAL VEHICULOS/HORA EN EL DIA":{veh_ayer:{element:"#accesos-traf-vehiculos",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#accesos-traf-var-dia",variacion_semana_anterior:"#accesos-traf-var-semana"}},r=(0,e.resultsetWithFields)(t);if(!s(r,"YYYY-MM-DD"))return c(n,".datos.big"),void d(n,"No hay datos de los vehículos que accedieron a la ciudad de ayer.");(0,e.printDataInHTMLElements)(r,a);const i=document.getElementById("accesos-traf-var-dia");o(i);const l=document.getElementById("accesos-traf-var-semana");o(l)}function C(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("accesos-trafico-detalle"),o=document.getElementById("accesos-trafico-detalle-lista");if(!n||0===n.length)return void d(a,"No hay datos disponibles.");if(!s(n,"YYYY-MM-DD"))return void d(a,"No hay datos de vehículos en las vías de acceso de ayer.");const i=n.filter(e=>"TOTAL VEHICULOS/HORA EN EL DIA"!==e.id).sort((e,t)=>t.veh_ayer-e.veh_ayer);r(i,o,{idPrefijo:"acceso",camposLeft:[{campo:"id",clase:"name",idSufijo:"nombre"},{campo:"veh_ayer",clase:"number",idSufijo:"vehiculos",format:e=>e.toLocaleString("de-DE")}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}]},!0)}function x(n){const a=(0,e.resultsetWithFields)(n),o=document.getElementById("sensores-clima"),r=o.querySelector("ul");if(r.innerHTML="",!a||0===a.length)return void d(o,"No hay datos disponibles.");if(!s(a,"YYYY-MM-DD"))return void d(o,"No hay datos de clima de ayer.");const i=a[0];[{id:"clima-temp-media",campoBbdd:"temperatura_media",label:"Temperatura",unidad:"°C"},{id:"clima-humedad-media",campoBbdd:"humedad_media",label:"Humedad",unidad:"%"},{id:"clima-precip-acumulada",campoBbdd:"precipitacion_acumulada",label:"Precipitación acumulada",unidad:"mm"},{id:"clima-vel-viento-media",campoBbdd:"velocidad_viento_media",label:"Velocidad del viento",unidad:"km/h"}].forEach(({id:e,campoBbdd:n,label:a,unidad:o})=>{const s=document.createElement("li");s.id=e;const l=document.createElement("div");l.className="label",l.textContent=a;const c=document.createElement("div");var d;c.className="value",c.textContent=(d=i[n],t(d)?Number(d).toLocaleString("es-ES"):d);const u=document.createElement("div");u.className="medida",u.textContent=o,s.append(l,c,u),r.appendChild(s)})}const N=new Map([["NO2alerta",400],["NO2aviso",200],["NO2preaviso",180],["PM10aviso",80],["PM10preaviso",50]]);function $(t){const n=["Extremadamente Desfavorable","Muy Desfavorable","Desfavorable","Regular","Razonablemente Buena","Buena"],a=(0,e.resultsetWithFields)(t);if(!s(a,"YYYY-MM-DD")){const e=document.getElementById("calidad-aire");return l("sensores-calidad-aire"),void d(e,"No hay datos de calidad del aire de ayer.")}const o=a.map(e=>{const t=n.indexOf(e.calidad_ambiental_ciudad),a=-1!==t?"aire-"+(6-t):"";return{...e,calidad_ambiental_ciudad_clase:a}});(0,e.printDataInHTMLElements)(o,{"ESTADO CALIDAD AIRE":{calidad_ambiental_ciudad:{element:"#estado-calidad-aire",format:e=>e},calidad_ambiental_ciudad_clase:{className:"#estado-calidad-aire"}}})}const w=(e,t,n,a)=>{const o=document.createElement("p");o.className=e;const r=document.createElement("strong");return r.textContent=`${h[y].get(e)} ${t}:`,o.appendChild(r),o.append(`${h[y].get(n).replace("{umbral}",N.get(a))}`),o};function L(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("alertas-contaminantes-est-aire");if(!n||0===n.length)return;a.classList.remove("hidden");const o=n[0],r="avisos_horarios",i="NO2";o.cant_alertas>1&&a.appendChild(w("alerta",i,r,"NO2alerta")),o.cant_avisos>1&&a.appendChild(w("aviso",i,r,"NO2aviso")),o.cant_preavisos>1&&a.appendChild(w("preaviso",i,r,"NO2preaviso"))}function _(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("alertas-contaminantes-est-aire");if(!n||0===n.length)return;a.classList.remove("hidden");const o=n[0],r="avisos_diarios",i="PM10";o.cant_avisos>1&&a.appendChild(w("aviso",i,r,"PM10aviso")),o.cant_preavisos>1&&a.appendChild(w("preaviso",i,r,"PM10preaviso"))}const I={hayAlertasDeRuido:!1};function F(e){const t=document.getElementById("sensores-ruido");if(!t)return;c(t,":scope > p"),l("tabla-sensores-ruido");let n=document.getElementById("mensaje-sin-datos-ruido");n||(n=document.createElement("p"),n.id="mensaje-sin-datos-ruido",t.appendChild(n)),n.textContent=e}function O(t,n){const a=(0,e.resultsetWithFields)(t),o=s(a,"YYYY-MM-DD"),r=I.hayAlertasDeRuido;o?!o||r?(function(e,t){function n(e){const t=document.createElement("td");return t.id=e,t.textContent=0,t}[...new Set(t.map(e=>e.areaserved))].forEach(t=>{const a=`estacion-${t.toLowerCase()}`;if(document.getElementById(a))return;const o=document.createElement("tr");o.id=a;const r=n(`${a}-nombre`);r.textContent=t,o.appendChild(r),o.appendChild(n(`${a}-cant-manana`)),o.appendChild(n(`${a}-cant-tarde`)),o.appendChild(n(`${a}-cant-noche`)),e.appendChild(o)})}(document.querySelector("#tabla-sensores-ruido > tbody"),a),function(e,t){const n=e.reduce((e,t)=>(e[t.areaserved]=(e[t.areaserved]||0)+1,e),{});Object.entries(n).forEach(([e,n])=>{const a=`estacion-${e.toLowerCase()}-cant-${t}`,o=document.getElementById(a);o&&(o.textContent=n)})}(a,n)):F("Ayer no hubo alertas de superación de ruido."):F("No hay datos de alertas de superación de ruido de ayer.")}function T(t){var n;n=(0,e.resultsetWithFields)(t)[0].total_alertas>0,I.hayAlertasDeRuido=Boolean(n)}function P(){const t=new Date;t.setDate(t.getDate()-1);const n=[String(t.getDate()).padStart(2,"0"),String(t.getMonth()+1).padStart(2,"0"),t.getFullYear()].join("/");(0,e.initElement)("fecha-datos",e=>{e.textContent=n})}function Y(t){const n=(0,e.resultsetWithFields)(t)[0].token;if(!n)throw new Error("No se pudo obtener el token desde base de datos");!function(e){try{document.querySelector("#if-estados-trafico").setAttribute("src",`https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300&token=${e}`)}catch(e){console.error("No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:",e)}}(n)}function B(e){return e instanceof HTMLButtonElement}function j(){(0,e.initElementsByClass)("guia",e=>{B(e)&&e.addEventListener("click",()=>{document.body.classList.add("historia")})}),(0,e.initElementsByClass)("info",e=>{B(e)&&e.addEventListener("click",()=>{document.body.classList.remove("historia")})})}})(),a})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.inicio=t():e.inicio=t()}(self,()=>(()=>{var e={725(e){var t;self,t=()=>(()=>{"use strict";var e={d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{MONTHS_YEAR:()=>r,MONTHS_YEAR_SHORT:()=>i,TEXTS_COMMON:()=>s,THRESHOLDS:()=>$e,addPointInteger:()=>S,buildCamarasTrafico:()=>Oe,buildTableCalidadAire:()=>we,calculateMaxYAxis:()=>O,calculatePentahoPath:()=>Le,calculateXAxisStart:()=>F,capitalizarTexto:()=>C,checkAllGroupsCollapsed:()=>Me,configureDataBar:()=>V,configureDataGaugeCommon:()=>z,configureDataGaugeMonthCommon:()=>R,configureDataLine:()=>W,configureDataValidate:()=>Ue,configureLinesChartValidates:()=>Xe,convertDateToInteger:()=>b,convertISODateToEUDate:()=>v,convertToLanguageSelectorDateRange:()=>fe,convertToTableTreeView:()=>Ae,downloadCSVTable:()=>De,downloadPDFTable:()=>Ce,formatCellMultiplesLines:()=>ve,formatDayMonthYear:()=>u,formatMilMillionEuros:()=>B,formatMonthAnyo:()=>d,formatName:()=>D,formatNameHeaderColumn:()=>be,formatRoundTooltip:()=>P,formatShortMonthShortYear:()=>f,formatShortMonthYear:()=>m,formatToMillions:()=>E,formatToTons:()=>A,formatTooltip:()=>I,formatTooltipPie:()=>T,formatTrimestre:()=>p,formatWithPrefix:()=>M,getEnvironment:()=>_e,getMaxFieldNumberFromData:()=>G,getMonth:()=>o,getMonthList:()=>h,getSelectCommonOptions:()=>se,getSelectTwoColumnsOptions:()=>le,initBarChart:()=>ze,initBarChartComparationMonth:()=>Ve,initChart:()=>w,initContractAllGroups:()=>xe,initElement:()=>N,initElementsByClass:()=>$,initExpandAllGroups:()=>Ne,initStackedBarChart:()=>Be,initStackedBarChartMonthSeries:()=>je,initTable:()=>ge,initValueDefaultDate:()=>ue,initialCalls:()=>Fe,loadIframeOnClickEvent:()=>qe,printDataChart:()=>_,printDataInHTMLElements:()=>J,printEchart:()=>Y,printNoDataChart:()=>L,resetFilter:()=>ie,resetFilterAndUpdate:()=>ye,resetFilterDate:()=>de,resetFilterDates:()=>ce,resetFilterToDefault:()=>pe,resultsetWithFields:()=>q,selectConfigDatasource:()=>oe,selectConfigDatasourceAllValue:()=>re,selectFilterAll:()=>ne,selectFilterNumItemsDefault:()=>he,selectValueDefaultInFilter:()=>me,separateDayMonthYearToSlash:()=>l,splitDataset:()=>X,subtractOneDay:()=>y,subtractOneMonth:()=>g,traverseRows:()=>Ee,updateDomElement:()=>U,updateObject:()=>H,updateStackedBarOptions:()=>Ye});const n="es_ES",a=(new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]]),{"01":"Enero","02":"Febrero","03":"Marzo","04":"Abril","05":"Mayo","06":"Junio","07":"Julio","08":"Agosto","09":"Septiembre",10:"Octubre",11:"Noviembre",12:"Diciembre"});function o(e){return{1:"Gen",2:"Feb",3:"Mar",4:"Abr",5:"Mai",6:"Jun",7:"Jul",8:"Ago",9:"Sep",10:"Oct",11:"Nov",12:"Des"}[parseInt(e.toString(),10)]}const r={es_ES:new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),ca_ES:new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]])},i={es_ES:new Map([["1","Ene"],["2","Feb"],["3","Mar"],["4","Abr"],["5","May"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Sep"],["10","Oct"],["11","Nov"],["12","Dic"]]),ca_ES:new Map([["1","Gen"],["2","Feb"],["3","Mar"],["4","Abr"],["5","Mai"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Set"],["10","Oct"],["11","Nov"],["12","Des"]])},s={es_ES:new Map([["last_update","Última actualización"]]),ca_ES:new Map([["last_update","Última actualització"]])};function l(e){return`${e.substring(6,8)}/${e.substring(4,6)}/${e.substring(0,4)}`}function c(e){return[e.substring(0,4),a[e.substring(4,6)]]}function d(e){const[t,n]=c(e);return`${n} ${t}`}function u(e){const[t,n,o]=function(e){return[e.substring(0,4),a[e.substring(4,6)],e.substring(6,8)]}(e);return`${o} ${n} ${t}`}function m(e){const[t,n]=c(e);return`${n.substring(0,3)} ${t}`}function f(e){const[t,n]=c(e);return`${n.substring(0,3)} '${t.substring(2,4)}`}function p(e){const[t,n]=e.split("-");return`${parseFloat(n)/3}T ${t}`}function h(){const e=r[n];return Array.from(e.values()).map(e=>e.slice(0,3))}function y(e){const t=Math.floor(e/1e4),n=new Date(t,e%1e4/100-1,e%100);return n.setDate(n.getDate()-1),`${n.getFullYear()}${(n.getMonth()+1).toString().padStart(2,"0")}${n.getDate().toString().padStart(2,"0")}`}function g(e){const t=new Date(Math.floor(e/100),e%100-1,0);return`${t.getFullYear()}${(t.getMonth()+1).toString().padStart(2,"0")}`}function b(e){return"string"==typeof e?parseInt(e.replace("-",""),10):e}function v(e){if(!e||"string"!=typeof e)return"";const[t,n,a]=e.split("-");return`${a}/${n}/${t}`}function S(e,t=2){let n=navigator.language||navigator.userLanguage;n=n.length<=2?`${n}-${n.toUpperCase()}`:n;const a={minimumFractionDigits:0,maximumFractionDigits:t};return"es-ES"===n?e.toLocaleString("de-DE",a):e.toLocaleString(n,a)}function E(e){const t=1e6;return e>=t?e/t+"M":e.toString()}function A(e){return e>=1e3?e/1e3+" Tn":e.toString()}function M(e){let t,n;return e>=1e6?(t=e/1e6,n="G"):e>=1e3?(t=e/1e3,n="M"):(t=e,n="k"),{value:Math.round(100*t)/100,prefix:n}}function D(e,t=29){if(e.length>=t){const n=e.split(" ");let a="",o="";return n.forEach(e=>{`${a} ${e}`.length<=t?a+=(a?" ":"")+e:(o+=`${a}\n`,a=e)}),o+=a,o}return e}function C(e){return e.includes("N/D")?e:e.toLowerCase().replace(/(^|\s|[.,;:!?¡¿(){}[\]])([^\s])/gu,(e,t,n)=>t+n[0].toUpperCase())}function x(e,t,n,a){return new Promise(o=>{document.body.addEventListener(e,()=>{const e=t();e?o(n(e)):(console.error(a),o(null))},{once:!0})})}function N(e,t,n="MainContentLoadedCustom"){const a=document.getElementById(e);return a?Promise.resolve(t(a)):x(n,()=>document.getElementById(e),e=>t(e),`El elemento con ID ${e} aún no está disponible después del evento.`)}function $(e,t,n="MainContentLoadedCustom"){const a=document.getElementsByClassName(e);return a&&0!==a.length?Promise.resolve(Array.from(a).map(e=>t(e))):x(n,()=>{const t=document.getElementsByClassName(e);return t.length>0?Array.from(t):null},e=>e.map(e=>t(e)),`No se encontraron elementos con la clase ${e} después del evento.`)}function w(e,t){return N(e,e=>{const n=echarts.init(e);n.setOption(t,!0),window.addEventListener("resize",()=>{null!=n&&void 0!==n&&n.resize()});const a=document.getElementById("main-content");return a&&(a.addEventListener("shown.bs.collapse",()=>{n.resize()}),a.addEventListener("hidden.bs.collapse",()=>{n.resize()})),n})}function L(e,t){const n=e?document.querySelector(e):null,a=t?document.querySelector(t):null;n&&(n.hidden=!0),a&&(a.style.background="url('./build/images/nodata1.png') no-repeat top center",a.hidden=!1)}function _(e,t){const n=e?document.querySelector(e):null,a=t?document.querySelector(t):null;n&&(n.hidden=!0),a&&(a.style.background="#ffffff",a.hidden=!1)}function I(e,t=!1,n=!0,a=""){let o=`<p style="font-weight: 500;color: #565656;">${e[0].name}</p>`;return e.forEach(e=>{const r=t?Math.round(e.data):e.data,i=n?`<div style="font-weight: 400;color: #666;">${s=e.color,`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}"></span>`} ${e.seriesName}: \n <span style="float: right; margin-left:20px;font-weight: 600;color: #565656;">\n ${e.data?`${S(r)} ${a}`:"-"}\n </span>\n </div>`:`<div>\n <span style="font-weight: 600;color: #565656;">${e.data?`${S(r)} ${a}`:"-"}\n </span>\n </div>`;var s;o+=i}),o}function F(e){return 100*(e-120)/e}function O(e,t){const n=Math.max(...e);return n+(t-n%t)}function T(e,t=!1){const n=`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${e.color}"></span>`,a=t?`${e.percent}%`:S(e.value);return`<div> ${n} ${e.name} <span style="float: right; margin-left:20px;font-weight: 600;color: #333;"> ${a} </span></div>`}function P(e,t){let n=`${e.name} : `;return n+=`<span style="font-weight:500">${S(Math.round(e.value))}</span>`,t&&(n+=`<span> (${e.percent}%)</span>`),e.marker+n}function B(e){const t=1e6,n=Number(e);return n>=0&&n<t?`${S(n)} €`:n>=t?`${S(n/t)} M €`:"-"}function Y(e,t,n){return 0===e.length?(L(`#${t}`,`#${n}`),!1):(_(`#${n}`,`#${t}`),!0)}function j(e,t,n=1){const a=Math.max(...e.map(e=>e[t]))*n;return 5e3*Math.ceil(a/5e3)}function z(e,t,n,a=30,o=15,r=30,i=-70,s=70,l=3){const c=j(e,t.data,1.1),d=s,u=n.slice(),m=[];let f=o,p=r,h=i;for(let n=0;n<e.length;n+=1)m.push({value:e[n][t.data],name:D(String(e[n][t.type]).replace(/\[.*?\]/g,"")),color:u.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(f)}%`],fontFamily:"Montserrat",fontSize:a},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:"Montserrat",width:"33%",formatter:e=>S(Math.round(e))}}),h+=d,(n+1)%l===0&&(p+=r,f+=2*o,h=i);return[c,m]}function R(e,t,n,a=0){return[j(t,n.data,1),e=>function(e,t,n){const a=S(Math.round(t)),r=o(e[n][0]),i=e[n][1],s=`\n${r} ${i} : ${a}`,l=`${a}\n${r} ${i}`;return window.innerWidth<=1710?s:l}(t,e,a),[{value:t[a][n.data]}]]}function k(e,t){const{resultset:n}={resultset:e},a=new Set,o=new Set,r=n.map(([e,n,r])=>{const i=t?Math.round(r):r;return a.add(e),o.add(n),{day:n,type:e,value:i}}),i=Array.from(o.values()),s=Array.from(a.values());return s.sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase(),"es",{ignorePunctuation:!0})),[s.map(e=>{const t=r.filter(t=>t.type===e).map(({day:t,value:n})=>[t,e,n]),n=i.map(e=>{const n=t.find(([t])=>t===e);return n?n[2]:null});return{name:e,data:n}}),s,o]}function W(e,t=[],n=!1){const[a,o,r]=k(e,n);return a.forEach(e=>{e.type="line",e.symbol="circle",e.symbolSize=6,e.smooth=.1,t.length>0&&(e.color=t.shift())}),[a,r,o]}function V(e,t,n=!1){const[a,o,r]=k(e,n);return a.forEach(e=>{e.type="bar",e.color=t.shift(),e.smooth=!1}),[a,r,o]}function q(e){const{resultset:t,metadata:n}=e,a=[];return t.forEach(e=>{const t={};e.forEach((e,a)=>{t[n[a].colName]=e}),a.push(t)}),a}function H(e,t){const n={...e};return Object.keys(t).forEach(a=>{Object.prototype.hasOwnProperty.call(t,a)&&("series"===a&&Array.isArray(t[a])?n[a]=t[a].map((t,n)=>({...Array.isArray(e[a])&&e[a][n]||{},...t})):"object"!=typeof t[a]||null===t[a]||Array.isArray(t[a])?e[a]!==t[a]&&(n[a]=t[a]):n[a]=H(e[a]||{},t[a]))}),n}function J(e,t){const n=()=>{e.forEach(e=>{e.id in t&&Object.entries(t[e.id]).forEach(n=>{const a=n[0],o=n[1];"object"==typeof o?o.className?document.querySelector(o.className).className=e[a]:o.element&&o.format&&(document.querySelector(o.element).textContent=t[e.id][a].format(e[a])):document.querySelector(o).textContent=e[a]})})};try{n()}catch(e){document.body.addEventListener("MainContentLoadedCustom",()=>{n()})}}function G(e,t){const n=q(e),a=[];let o=null;return n.forEach(e=>{const n=e[t];"number"!=typeof n||Number.isNaN(n)||a.push(n)}),a.length>0&&(o=Math.max(...a)),o}function U(e,t){const n=document.querySelector(e);n?n.textContent=t:console.warn(`Elemento ${e} no encontrado en el DOM`)}function X(e,t=!0){const n={Cont:[],Mob:[]};return e.forEach(e=>{"is-res-001-kgs-contenidors"===e[0]&&"total"===e[1]&&(t?n.Cont.push([e[3],e[4],e[2]]):n.Cont.push([e[3],e[2]])),"Mobles"===e[1]&&(t?n.Mob.push([e[3],e[4],e[2]]):n.Mob.push([e[3],e[2]]))}),n}const Z=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],K=["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],Q=["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],ee=["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"],te=["Do","Lu","Ma","Mi","Ju","Vi","Sá"];function ne(e){const t=e.resultset.map(e=>e[0]);return this.dashboard.fireChange(this.parameter,t),e}function ae(e){for(const t of e)if(Array.isArray(t)){if(!ae(t))return!1}else if("All"!==t)return!1;return!0}function oe(e,t,n,a){return ae(t)?(e.queryDefinition.dataAccessId=n,e.dashboard.setParameter(e.parameter,["All"])):e.queryDefinition.dataAccessId=a,!0}function re(e){return e.dashboard.setParameter(e.parameter,["All"]),!0}function ie(e){e.forEach(e=>{Dashboards.fireChange(e,["All"])})}function se(e="Todos"){return{input:{root:{id:"All"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:"No disponible",allItems:e,noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}},Group:{Strings:{allItems:"Todos",noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}}}}}function le(e="Todos"){const t=se(e);return t.input.indexes.id=1,t.input.indexes.label=0,t}function ce(e,t,n,a){const o=Dashboards.getParameterValue(n),r=Dashboards.getParameterValue(a);return Dashboards.fireChange(e,[o]),Dashboards.fireChange(t,[r]),!0}function de(e,t){const n=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,[n]),!0}function ue(e,t){Dashboards.fireChange(t,e.resultset[0][0])}function me(e,t){const n=Dashboards.getParameterValue(t),a=e.parameter;""!==n&&e.dashboard.setParameter(a,[n])}function fe(e){e.regional.es={monthNames:Z,abbreviatedMonthNames:K,dayNames:Q,abbreviatedDayNames:ee,dayNamesMin:te,weekHeader:"Sm",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.setDefaults(e.regional.es)}function pe(e,t){const n=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,Array.isArray(n)?n:[n]),!0}function he(e,t,n,a=0){const o=e.resultset.slice(0,n).map(e=>e[a]);return Dashboards.setParameter(t,o),e}function ye(e,t,n){const a=Array.isArray(t)?t:[t];Dashboards.fireChange(e,a);const o=Dashboards.getComponent(n);o&&o.update()}function ge(e,t){return N(e,e=>new Tabulator(e,t))}function be(e,t){let n=e.getValue();return n.length>t&&(n=`${n.substr(0,t)}<br>${n.substr(t)}`),n}function ve(e,t){const n=e.getValue().split(" ");let a="",o="";return n.forEach(e=>{(o+e).length<=t?o+=`${e} `:(a+=`${o}<br>`,o=`${e} `)}),a+=`${o}<br>`,a}function Se(e,t){"expand"===t?e.treeExpand():e.treeCollapse();const n=e.getTreeChildren();n.length>0&&n.forEach(e=>{e.getTreeChildren().length>0&&Se(e,t)})}function Ee(e,t){e.getRows().forEach(e=>{e.getTreeChildren().length>0&&Se(e,t)})}function Ae(e,t,n,a){const o=[];return Object.keys(e).forEach(r=>{if(Object.prototype.hasOwnProperty.call(e,r)){const i=e[r],s={[t]:i[0],_children:[]};i.shift(),i.forEach((e,o)=>{const r={[t]:n[o],[a]:e};s._children.push(r)}),o.push(s)}}),o}function Me(e){let t=!0;return e.getGroups().forEach(e=>{e._group.visible&&(t=!1)}),t}function De(e,t,n){const a=document.getElementById(n),o=a.cloneNode(!0);a.parentNode.replaceChild(o,a),o.addEventListener("click",()=>{e.download("csv",`${t}.csv`,{delimiter:";",bom:!0})})}function Ce(e,t,n){const a=document.getElementById(n),o=a.cloneNode(!0);a.parentNode.replaceChild(o,a),o.addEventListener("click",()=>{const n=e.getRows().map(e=>e.getData()),a=e.getColumns(),o={};a.forEach((e,t)=>{const a=e.getField();a&&n.every(e=>{const t=e[a];return null==t||/^-?\d+([.,]\d+)?$/.test(t.toString().trim())})&&(o[t]={halign:"right"})}),e.download("pdf",`${t}.pdf`,{title:t,rowCalcStyles:{fontSize:8,fontStyle:"bold"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:"center"},columnStyles:o}})})}function xe(e,t,n){const a=document.getElementById(n);a&&a.addEventListener("click",()=>{e.setGroupStartOpen(!1),e.setData(t)})}function Ne(e,t,n){const a=document.getElementById(n);a&&a.addEventListener("click",()=>{e.setGroupStartOpen(!0),e.setData(t)})}const $e={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function we(e){const t=[],n={0:"b",1:"a",2:"d",3:"m",4:"mm",5:"em",6:"",7:"nd"};function a(e,t,a){const o=document.createElement("td");if(o.setAttribute("id",e),null!=t){o.innerHTML=t;const e=function(e,t){let a;return void 0===t?a=6:"ND"===t?a=7:(a=5,e.forEach((e,n)=>{t<=e&&5===a&&(a=n)})),n[a]}(a,t);o.classList.add(e)}return o}return e.forEach(e=>{const n=e;"noData"===n.operationalstatus&&(n.so2value="ND",n.no2value="ND",n.o3value="ND",n.pm10value="ND",n.pm25value="ND");const o=document.createElement("tr"),r=document.createElement("td");r.innerHTML=n.address,o.appendChild(r),o.appendChild(a(`${n.entityid}_so2`,n.so2value,$e.SO2)),o.appendChild(a(`${n.entityid}_no2`,n.no2value,$e.NO2)),o.appendChild(a(`${n.entityid}_o3`,n.o3value,$e.O3)),o.appendChild(a(`${n.entityid}_pm10`,n.pm10value,$e.PM10)),o.appendChild(a(`${n.entityid}_pm25`,n.pm25value,$e.PM25)),t.push(o)}),t}function Le(e){document.location=`${document.documentURI.split("%3A")[0]}%3A${document.documentURI.split("%3A")[1]}%3A${document.documentURI.split("%3A")[2]}%3A${document.documentURI.split("%3A")[3]}%3A${e}`}function _e(){const e=window.location.href;let t="";return t=e.includes("localhost")?"local":e.includes("sc_valencia_pre")?"PRE":"PRO",t}function Ie(e,t){document.querySelectorAll(`[${e}]`).forEach(n=>{!function(e,t,n){const a=t;if(e){const t=new XMLHttpRequest;t.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(a.innerHTML=this.responseText,n&&n()),404===this.status&&(a.innerHTML="No se ha podido cargar correctamente."))},t.open("GET",e,!0),t.send()}}(n.getAttribute(e),n,t)})}function Fe(e){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn("Dashboards.init bloqueado temporalmente")},Ie("include-html-cabecera",function(){!function(){const e=_e();"PRO"!==e&&(document.title+=` (${e})`)}(),function(){const e=_e();"PRO"!==e&&(document.querySelector("nav").querySelectorAll("span")[1].textContent+=` (${e})`)}()}),Ie("include-html-menu"),Ie("include-html-main-container",function(){document.body.dispatchEvent(new Event("MainContentLoadedCustom")),function(){const e=document.querySelector("body");e.classList.remove("inicio"),e.classList.add(document.documentURI.split("%3A")[4].match(/(.*?).wcdf/)[1])}(),e&&e()}),Ie("include-html-copyright"),function(e="MainContentLoadedCustom"){document.body.addEventListener(e,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(e){console.warn("No se pudo restaurar Dashboards.init; la función original no está disponible.")}},{once:!0})}()}function Oe(e,t,n,a,o,r){let i=!1,s=!1;const l=document.querySelector(e),c=document.querySelector(t),d=()=>{"undefined"!=typeof Liferay&&"ca-ES"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=cas")):(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=val"))};function u(e=!0){const t=document.querySelector(n);e?(l&&(l.src="about:blank"),c&&(c.src="about:blank"),t.classList.add("blur"),s=!0):(t.classList.remove("blur"),d(),s=!1)}const m=e=>{new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(s||d(),i||(i=!0,window.setTimeout(u,r)))})}).observe(e)};!function(){const{userAgent:e}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(e)&&!window.MSStream}()?(l&&(l.setAttribute("sandbox","allow-scripts"),m(l)),c&&(c.setAttribute("sandbox","allow-scripts"),m(c)),document.querySelector(o).addEventListener("click",()=>{u(!1),window.setTimeout(u,r)})):document.querySelectorAll(a)[0].style.display="none"}const Te={grid:{containLabel:!0},title:{left:"center",top:"0",textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"}},legend:{orient:"horizontal",bottom:"0",left:"center",width:"100%",textStyle:{fontSize:11,fontFamily:"Montserrat",fontWeight:400,color:"#666"}},toolbox:{show:!0,right:"0",top:"0",feature:{restore:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}},emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}}},tooltip:{textStyle:{fontFamily:"Montserrat",fontSize:12}},xAxis:[{type:"category",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:"Montserrat",fontSize:11}},data:[]}],yAxis:[{type:"value",alignTicks:!0,position:"right",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${e}%`}},{type:"value",position:"left",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${E(e)}€`}}]},Pe=(e,t)=>{t.sort((e,t)=>parseInt(e.anyo)-parseInt(t.anyo));const n={};t.forEach(t=>{const a=t[1],o=t[0];o!==e.seriesName||n[a]||(n[a]=0),o===e.seriesName&&(n[a]+=t[2])});let a=`<p>${e.seriesName}</p>`;for(const[t,o]of Object.entries(n))a+=`<div>${e.marker} ${t}: <span style="float: right; margin-left:20px;font-weight: 600;">${S(o)}</span></div>`;return a};function Be(e,t,n=void 0,a=void 0){const o=null===a?void 0:a,r=new Set(t.map(e=>e[1]));let i;const s={title:{text:"SIN TITULO",left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},tooltip:{axisPointer:{type:"shadow"},trigger:"item",formatter:e=>Pe(e,t),textStyle:{fontFamily:"Montserrat"},position(e,t,n,a,o){const r={},i=o.contentSize[1]/2,s=o.viewSize[1],l=e[1];return l<i?r.top=10:l+i>s?r.bottom=10:r.top=l-i,e[0]<o.viewSize[0]/2?r.left=e[0]+20:r.right=o.viewSize[0]-e[0]+20,r}},legend:{padding:40,textStyle:{fontFamily:"Montserrat"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"value",splitNumber:10,name:"SIN NOMBRE",nameLocation:"start",nameTextStyle:{fontWeight:"bold",fontFamily:"Montserrat",color:"#666",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:"Montserrat"},formatter:e=>S(e)},splitLine:{lineStyle:{color:"#DDD"}}},yAxis:{type:"category",data:Array.from(r),axisLabel:{textStyle:{fontFamily:"Montserrat"}}},series:(()=>{const e={name:"SIN NOMBRE",type:"bar",stack:"total",label:{show:!0,fontFamily:"Montserrat",fontSize:10,formatter:e=>S(Math.round(e.value))},itemStyle:void 0,emphasis:{focus:"series"},data:void 0};o&&o.itemStyle&&Array.isArray(o.itemStyle.borderColor)&&(i=[...o.itemStyle.borderColor],delete o.itemStyle.borderColor);const n=function(e){return e.reduce((e,t)=>{const n=t[0];return e[n]||(e[n]=[]),e[n].push(t),e},{})}(t),a=Object.keys(n);r.forEach(e=>{a.forEach(t=>{void 0===n[t].find(t=>t[1]===e)&&(n[t].push([n[t][0][0],e,void 0]),n[t].sort())})});const s=[];return Object.keys(n).forEach(t=>{i&&(e.itemStyle={borderColor:i.shift()}),e.name=t,e.data=n[t].map(e=>e[2]);let a={};a=void 0!==o?H(e,o):e,s.push({...a})}),s})(),toolbox:{show:!0,feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:50}};let l={};l=void 0!==n?H(s,n):s,w(e,l)}function Ye(e){let t={};return t=H(Te,e),t}function je(e,t,n={},a={}){let r={};r=H(n,{color:["#81B1CC","#ABD9EA","#C2EEF9","#F9E2AF","#F9C780","#FDAE61","#F46D43","#FDAE61","#F9E2AF","#C2EEF9","#ABD9EA","#81B1CC"],yAxis:{data:function(){const e=new Set;return t.forEach(t=>{e.add(t[1])}),Array.from(e).sort((e,t)=>e-t)}()}});const i={itemStyle:{borderWidth:2,borderColor:["#448DAD","#89CADB","#A0DEE8","#F4D28C","#F4B569","#F79646","#F25930","#F79646","#F4D28C","#A0DEE8","#89CADB","#448DAD"]}},s=null===a?i:H(a,i),l=t;l.forEach((e,t)=>{l[t][0]=o(e[0])}),Be(e,l,r,s)}function ze(e,t=void 0){const n={title:{text:"SIN TITULO",left:"center",top:"top",padding:50,textStyle:{fontSize:14,fontFamily:"Montserrat",fontWeight:400,color:"#333"}},legend:{show:!1},grid:{top:"30%",bottom:"5%",left:"8%",right:"8%"},xAxis:{type:"value",show:!1},yAxis:{show:!1,type:"category"},tooltip:{show:!0,textStyle:{fontFamily:"Montserrat",fontWeight:"600"},appendToBody:!0,formatter:e=>P(e,!1)},series:[{type:"bar",showBackground:!0}]};let a={};a=void 0!==t?H(n,t):n,w(e,a)}function Re(e){return Math.max(...e.map(e=>Number(e[0])))}function ke(e){const t=e.filter(t=>Number(t[0])===Re(e)),n=Array.from({length:12},()=>0);return t.forEach(([e,t,a])=>{const o=parseInt(t,10)-1;n[o]=a}),n}function We(e){const t=e.filter(t=>Number(t[0])===Re(e)-1),n=Array.from({length:12},()=>0);return t.forEach(([e,t,a])=>{const o=parseInt(t,10)-1;n[o]=a}),n}function Ve(e,t,n=void 0){const a=Re(t).toString(),o=(Re(t)-1).toString();ze(e,H({title:{left:"center",top:"-12%",textStyle:{fontSize:15,fontFamily:"Montserrat"}},legend:{top:"10%",show:!0,data:[o,a],textStyle:{fontFamily:"Montserrat"}},grid:{bottom:"8%",top:"20%",right:"2%"},xAxis:[{type:"category",data:h(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],yAxis:[{type:"value",axisLabel:{formatter:e=>e.toLocaleString("es-ES"),textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],series:[{name:o,type:"bar",data:We(t)},{name:a,type:"bar",barGap:0,data:ke(t)}]},n))}function qe(e,t,n){const a=document.querySelector(t),o=document.querySelector(e);let r=!1;o.addEventListener("click",()=>{!1===r&&(r=!0,a.setAttribute("src","about:blank"),a.setAttribute("src",n),a.onload=()=>{r=!1})}),o.disabled=!1}const He="id",Je="fecha",Ge="value";function Ue(e,t,n,a,o="es_ES"){const[r,i]=function(e,t,n){const a=[],o=[];return e.forEach(e=>{t.includes(`${e[He]}`)?a.push(`${e[Je]}`):n.includes(`${e[He]}`)&&o.push(`${e[Je]}`)}),[a.map(e=>[e,0]),o.map(e=>[e,0])]}(e,n,a);let s="es_ES"==o?"Datos sin validar":"Dades sense validar";0===i.length&&(s="");const l={name:"Datos validados",type:"line",data:[...r,i[0]],lineStyle:{color:"#00A9A0",width:4},showSymbol:!1,tooltip:{show:!1}};let c="",d="";if(0===i.length){const t=e[e.length-1].fecha;c=t,d=t}else c=i[0][0],d=i[i.length-1][0];return[...t,l,{name:"Datos NO validados",type:"line",data:i,lineStyle:{color:"#80D4CF",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:"#eee"},tooltip:{show:!1},label:{color:"#333",fontStyle:"normal",fontWeight:"400",fontFamily:"Montserrat",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:"end",xAxis:d,yAxis:Math.max(...e.filter(e=>null!==e[Ge]).map(e=>parseInt(`${e[Ge]}`,10)))}]]}}]}function Xe(e,t,n=void 0){w(e,H({grid:{left:"2.5%",right:"5%",bottom:"70",top:"150",containLabel:!0},title:{left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},legend:{type:"plain",top:"50",width:"98%",textStyle:{fontFamily:"Montserrat"}},tooltip:{trigger:"axis",show:!0,formatter:e=>I(e),textStyle:{fontFamily:"Montserrat"}},xAxis:{type:"category",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},yAxis:{type:"value",nameLocation:"end",nameGap:"0",nameTextStyle:{fontFamily:"Montserrat",fontWeight:"500",padding:[-25,0,0,-48],margin:0,align:"left",verticalAlign:"top",width:"auto"},scale:!0,splitNumber:"6",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},dataZoom:{end:100,borderColor:"#eee",fillerColor:"rgba(0,0,0,.05)",textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#333",textBorderColor:"#fff",textBorderWidth:3,fontWeight:"600"},selectedDataBackground:{lineStyle:{color:"#333"},areaStyle:{color:"#ffcd00"}},dataBackground:{backgroundColor:"rgba(0,0,0,1)",lineStyle:{color:"#333"},areaStyle:{color:"rgba(0,0,0,0.5)"}},handleStyle:{color:"rgba(0,0,0,0.2)"},moveHandleStyle:{color:"rgba(0,0,0,0.3)"},emphasis:{handleStyle:{color:"rgba(255,205,0,1)"},moveHandleStyle:{color:"rgba(255,205,0,1)"}}},toolbox:{feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:"1%",top:"0%"},series:t},n))}return t})(),e.exports=t()}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{"use strict";n.r(a),n.d(a,{callesCongestionadas:()=>f,callesCortadas:()=>m,countAlertasDeRuido:()=>T,echartIncidenciasPorEstadoPie:()=>A,echartIntervencionesTotalesPie:()=>E,initializeUI:()=>j,intervencionesPoliciales:()=>S,medioambienteAlertasDiarias:()=>_,medioambienteAlertasHorarias:()=>L,medioambienteClima:()=>x,medioambienteEstadoCalidadAire:()=>$,sensoresRuido:()=>O,setFechaDatos:()=>P,setToken:()=>B,top3IncidenciasPorTipologia:()=>M,traficoAccesosCiudad:()=>D,traficoAccesosCiudadDetalle:()=>C});var e=n(725);const t=e=>!Number.isNaN(Number(e)),o=(e,n=!0)=>{const a=e;if(!t(a.textContent))return;if(a.classList.add((e=>{const t=Number(e.trim());return 0===t?null:t>0?"pos":"neg"})(e.textContent)),a.textContent=(e=>{return t=e.textContent,Number(t.trim())>0?e.textContent:e.textContent.replace("-","");var t})(e),!n)return;const o=document.createElement("span");o.textContent="%",e.append(o)},r=(e,t,n,a=!1)=>{if(!Array.isArray(e)||0===e.length)return;const{idPrefijo:r,camposLeft:i,camposVariacion:s}=n;t.innerHTML="";const l=i[1]?e[0][i[1].campo]:0;e.forEach((e,c)=>{const d=c+1,u=document.createElement("li");u.id=`${r}-${d}`,u.className="list-item";const m=document.createElement("div");m.className="datos";const f=((e,t,n,a)=>{const o=document.createElement("div");return o.className="left",t.forEach(t=>{const r=document.createElement("div");let i;if(r.className=t.clase,r.id=`${n}-${a}-${t.idSufijo}`,"campo"in t?(i=e[t.campo],t.format&&(i=t.format(i))):"texto"in t&&(i=t.texto),r.textContent=i,t.span){const e=document.createElement("span");e.textContent=t.span,r.append(e)}o.append(r)}),o})(e,i,r,d),p=((e,t,n,a)=>{const r=document.createElement("div");return r.className="changes",t.forEach(t=>{let i=!0;"aplicarEstilosVariacion"in t&&(i=t.aplicarEstilosVariacion);let s=!0;"mostrarPorcentaje"in t&&(s=t.mostrarPorcentaje),r.append(((e,t,n,a="value",r=!0,i=!0)=>{const s=document.createElement("div");if(s.className="mini",e){const t=document.createElement("div");t.className="label",t.textContent=e,s.append(t)}const l=document.createElement("div");return l.id=n,l.classList.add(a),l.textContent=t,r&&o(l,i),s.append(l),s})(t.label,e[t.campo],`${n}-${a}-${t.idSufijo}`,t.clase,i,s))}),r})(e,s,r,d);if(m.append(f,p),n.extra){const t=n.extra(e,d);t&&u.append(t)}if(u.append(m),a){const t=((e,t)=>{const n=document.createElement("div");return n.className="progress",n.style.width=100*e/t+"%",n})(e[i[1].campo],l);u.append(t)}t.append(u)})},i={YYYYMMDD:({yyyy:e,mm:t,dd:n})=>`${e}${t}${n}`,"YYYY-MM-DD":({yyyy:e,mm:t,dd:n})=>`${e}-${t}-${n}`,"DD-MM-YYYY":({yyyy:e,mm:t,dd:n})=>`${n}-${t}-${e}`};function s(e,t,n="fecha"){const a=function(e){const t=new Date;return t.setDate(t.getDate()-1),(i[e]||i.YYYYMMDD)((n=t,{yyyy:String(n.getFullYear()),mm:String(n.getMonth()+1).padStart(2,"0"),dd:String(n.getDate()).padStart(2,"0")}));var n}(t);return e.some(e=>e[n]===a)}function l(e){u(document.getElementById(e))}function c(e,t){u(e.querySelector(t))}function d(e,t){const n=document.createElement("p");n.textContent=t,e.appendChild(n)}function u(e){e&&e.classList.add("hidden")}function m(t){const n={"TOTAL CALLES CORTADAS":{num_ayer:{element:"#calles-cortadas-num",format:e=>Number(e).toLocaleString("de-DE")},diferencia_dia_anterior:"#calles-cortadas-num-ayer",diferencia_semana_anterior:"#calles-cortadas-num-semana-prev"}},a=document.getElementById("calles-cortadas-trafico"),r=(0,e.resultsetWithFields)(t);if(!s(r,"YYYY-MM-DD"))return c(a,".indicador"),c(a,".mapa"),void d(a,"No hay datos de calles cortadas de ayer.");(0,e.printDataInHTMLElements)(r,n);const i=document.getElementById("calles-cortadas-num-ayer");o(i,!1);const l=document.getElementById("calles-cortadas-num-semana-prev");o(l,!1)}function f(t){const n=(0,e.resultsetWithFields)(t).sort((e,t)=>t.minutos_ayer-e.minutos_ayer),a=s(n,"YYYY-MM-DD"),o=document.getElementById("calles-congestionadas-trafico"),i=o.querySelector(":scope > ul"),l=o.querySelector(":scope > p");return a&&function(e){return e.some(e=>"Ayer no hubo calles congestionadas"===e.id)}(n)?(u(l),void d(o,"Ayer no hubo calles congestionadas.")):a?(r(n,i,{idPrefijo:"calle-cong",camposLeft:[{texto:"AYER",clase:"label",idSufijo:"label"},{campo:"minutos_ayer",clase:"number",idSufijo:"minutos",format:e=>e.toLocaleString("de-DE"),span:"min."}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}],extra:(e,t)=>{const n=document.createElement("div");return n.className="name",n.id=`calle-cong-${t}-nombre`,n.textContent=e.id,n}}),void i.querySelectorAll('[id$="var-dia"], [id$="var-semana"]').forEach(e=>{"Sin congestión"===e.textContent.trim()&&e.classList.add("no-congestion")})):(u(l),u(i),void d(o,"No hay datos de congestión de calles de ayer."))}const p={es_ES:new Map([["download","Descargar"],["intervenciones_totales","INTERVENCIONES TOTALES"],["intervenciones","intervenciones"],["tipologia_nivel","TIPOLOGÍA NIVEL"],["incidencias","incidencias"],["incidencias_totales","INCIDENCIAS TOTALES"]]),ca_ES:new Map([["download","Desar"],["intervenciones_totales","INTERVENCIONS TOTALS"],["intervenciones","intervencions"],["tipologia_nivel","TIPOLOGIA NIVELL"],["incidencias","incidències"],["incidencias_totales","INCIDÈNCIES TOTALS"]])},h={es_ES:new Map([["alerta","Alerta"],["aviso","Aviso"],["preaviso","Preaviso"],["avisos_diarios","Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones."],["avisos_horarios","Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones"]]),ca_ES:new Map([["alerta","Alerta"],["aviso","Avís"],["preaviso","Preavís"],["avisos_diarios","Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions."],["avisos_horarios","Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions"]])},y="es_ES",g={naranjaPalido:"#F1AB86",tealPalido:"#48A9A6",amarilloPalido:"#ffbf69",azulPalido:"#4BA3C3",cranberryPalido:"#e56b6f",marinoPalido:"#284B63",naranja:"#F96E46",teal:"#307473",amarillo:"#F6AE2D",azulCeruleo:"#05668d",cranberry:"#A23E48",marino:"#0B3948",verdeClaro:"#6a9c81",tealApagado:"#7AA8A7"},b={color:Object.values(g),grid:{left:"1%",right:"1%",bottom:"2%",top:"20%",containLabel:!0},title:{show:!1,text:p[y].get("intervenciones_totales"),subtext:`${p[y].get("tipologia_nivel")} 1`,left:"center",top:"0",itemGap:5,textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"},subtextStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:400,color:"#666",width:"100%"}},legend:{orient:"vertical",top:"middle",left:"right",selectedMode:!1,textStyle:{fontSize:"11",fontFamily:"Montserrat",fontWeight:"400",color:"#333"}},toolbox:{show:!1,right:"0",top:"0",emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}},feature:{saveAsImage:{title:p[y].get("download"),textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}}},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${p[y].get("intervenciones")}`},series:[{type:"pie",radius:["0","80%"],center:["23%","50%"],startAngle:0,data:[],label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1,length:10},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]},v={color:[g.cranberryPalido,g.tealApagado],grid:{left:"0",right:"0",bottom:"0",top:"0",containLabel:!0},title:{show:!1},legend:{show:!1},toolbox:{show:!1},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${p[y].get("incidencias")}`},series:[{type:"pie",radius:["0","80%"],center:["40%","50%"],startAngle:0,data:[],itemStyle:{borderWidth:1,borderColor:g.cranberryPalido},label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};function S(t){const n={"TOTAL INTERVENCIONES":{num_ayer:{element:"#interv-pol-total",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#interv-pol-var-dia",variacion_semana_anterior:"#interv-pol-var-semana"}},a=(0,e.resultsetWithFields)(t);if(!s(a,"YYYYMMDD")){const e=document.getElementById("intervenciones-policiales");return c(e,".indicador"),c(e,".intervenciones-policiales-detalle"),void d(e,"No hay datos de intervenciones de ayer.")}(0,e.printDataInHTMLElements)(a,n);const r=document.getElementById("interv-pol-var-dia");o(r);const i=document.getElementById("interv-pol-var-semana");o(i)}function E(t,n){const a=JSON.parse(JSON.stringify(b));a.series[0].label.formatter=b.series[0].label.formatter,a.tooltip.formatter=b.tooltip.formatter;const o="chart-intervenciones-ayer",r="no-data-intervenciones-ayer",i=(0,e.resultsetWithFields)(n);if(!s(i,"YYYYMMDD"))return;0===i.length?(0,e.printNoDataChart)(`#${o}`,`#${r}`):(0,e.printDataChart)(`#${r}`,`#${o}`);const l=i.filter(e=>"TOTAL INTERVENCIONES"!==e.id).map(e=>({name:e.id,value:Number(e.num_ayer)}));a.series[0].data=l,(0,e.initChart)(o,a)}function A(t){const n=JSON.parse(JSON.stringify(v));n.series[0].label.formatter=v.series[0].label.formatter,n.tooltip.formatter=v.tooltip.formatter;const a="chart-incid-ciudadanas-estado-ayer",o="no-data-incid-ciudadanas-estado-ayer",i=(0,e.resultsetWithFields)(t);0===i.length?(0,e.printNoDataChart)(`#${a}`,`#${o}`):(0,e.printDataChart)(`#${o}`,`#${a}`);const c=i.map(e=>({name:e.id,value:Number(e.num_incidencias_ayer)}));n.series[0].data=c,(0,e.initChart)(a,n);const u=document.getElementById("list-incidencias-ciudadanas-estado"),m=u.querySelector("ul");if(i&&0!==i.length){if(!s(i,"YYYY-MM-DD")){const e=document.getElementById("incidencias-ciudadanas");return l("incidencias-ciudadanas-estado"),void d(e,"No hay datos de incidencias registradas de ayer.")}r(i,m,{idPrefijo:"estado-incidencia",camposLeft:[{campo:"id",clase:"value",idSufijo:"estado"}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{label:"vs SEMANA PASADA",campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]})}else d(u,"Ayer no hubo incidencias.")}function M(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("incid-ciudadanas-tipologia-top-3"),o=a.querySelector("ul");n&&0!==n.length?s(n,"YYYY-MM-DD")?r(n,o,{idPrefijo:"tipo-incidencia",camposLeft:[{campo:"id",clase:"name",idSufijo:"tipologia"}],camposVariacion:[{campo:"num_incidencias_ayer",idSufijo:"num",clase:"number",aplicarEstilosVariacion:!1},{campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]}):l("incidencias-ciudadanas-tipologia"):d(a,"No hay datos disponibles.")}function D(t){const n=document.getElementById("accesos-trafico"),a={"TOTAL VEHICULOS/HORA EN EL DIA":{veh_ayer:{element:"#accesos-traf-vehiculos",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#accesos-traf-var-dia",variacion_semana_anterior:"#accesos-traf-var-semana"}},r=(0,e.resultsetWithFields)(t);if(!s(r,"YYYY-MM-DD"))return c(n,".datos.big"),void d(n,"No hay datos de los vehículos que accedieron a la ciudad de ayer.");(0,e.printDataInHTMLElements)(r,a);const i=document.getElementById("accesos-traf-var-dia");o(i);const l=document.getElementById("accesos-traf-var-semana");o(l)}function C(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("accesos-trafico-detalle"),o=document.getElementById("accesos-trafico-detalle-lista");if(!n||0===n.length)return void d(a,"No hay datos disponibles.");if(!s(n,"YYYY-MM-DD"))return void d(a,"No hay datos de vehículos en las vías de acceso de ayer.");const i=n.filter(e=>"TOTAL VEHICULOS/HORA EN EL DIA"!==e.id).sort((e,t)=>t.veh_ayer-e.veh_ayer);r(i,o,{idPrefijo:"acceso",camposLeft:[{campo:"id",clase:"name",idSufijo:"nombre"},{campo:"veh_ayer",clase:"number",idSufijo:"vehiculos",format:e=>e.toLocaleString("de-DE")}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}]},!0)}function x(n){const a=(0,e.resultsetWithFields)(n),o=document.getElementById("sensores-clima"),r=o.querySelector("ul");if(r.innerHTML="",!a||0===a.length)return void d(o,"No hay datos disponibles.");if(!s(a,"YYYY-MM-DD"))return void d(o,"No hay datos de clima de ayer.");const i=a[0],l=[{id:"clima-temp-media",campoBbdd:"temperatura_media",label:"Temperatura",unidad:"°"},{id:"clima-temp-maxima",campoBbdd:"temperatura_maxima",label:"Máx.",unidad:"°"},{id:"clima-temp-minima",campoBbdd:"temperatura_minima",label:"Mín.",unidad:"°"},{id:"clima-humedad-media",campoBbdd:"humedad_media",label:"Humedad",unidad:"%"},{id:"clima-precip-acumulada",campoBbdd:"precipitacion_acumulada",label:"Precipitación acumulada",unidad:"mm"},{id:"clima-vel-viento-media",campoBbdd:"velocidad_viento_media",label:"Velocidad del viento",unidad:"km/h"}],[c,u]=[l.slice(0,3),l.slice(3,6)],m=document.createElement("ul");m.className="list",m.id="temp";const f=document.createElement("ul");function p(e,n){e.forEach(({id:e,campoBbdd:a,label:o,unidad:r})=>{const s=document.createElement("li");s.id=e;const l=document.createElement("div");l.className="label",l.textContent=o;const c=document.createElement("div");var d;c.className="value",c.textContent=(d=i[a],t(d)?Number(d).toLocaleString("es-ES"):d);const u=document.createElement("div");u.className="medida",u.textContent=r,s.append(l,c,u),n.appendChild(s)})}f.className="list",p(c,m),p(u,f),r.appendChild(m),r.appendChild(f)}const N=new Map([["NO2alerta",400],["NO2aviso",200],["NO2preaviso",180],["PM10aviso",80],["PM10preaviso",50]]);function $(t){const n=["Extremadamente Desfavorable","Muy Desfavorable","Desfavorable","Regular","Razonablemente Buena","Buena"],a=(0,e.resultsetWithFields)(t);if(!s(a,"YYYY-MM-DD")){const e=document.getElementById("calidad-aire");return l("sensores-calidad-aire"),void d(e,"No hay datos de calidad del aire de ayer.")}const o=a.map(e=>{const t=n.indexOf(e.calidad_ambiental_ciudad),a=-1!==t?"aire-"+(6-t):"";return{...e,calidad_ambiental_ciudad_clase:a}});(0,e.printDataInHTMLElements)(o,{"ESTADO CALIDAD AIRE":{calidad_ambiental_ciudad:{element:"#estado-calidad-aire",format:e=>e},calidad_ambiental_ciudad_clase:{className:"#estado-calidad-aire"}}})}const w=(e,t,n,a)=>{const o=document.createElement("p");o.className=e;const r=document.createElement("strong");return r.textContent=`${h[y].get(e)} ${t}:`,o.appendChild(r),o.append(`${h[y].get(n).replace("{umbral}",N.get(a))}`),o};function L(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("alertas-contaminantes-est-aire");if(!n||0===n.length)return;a.classList.remove("hidden");const o=n[0],r="avisos_horarios",i="NO2";o.cant_alertas>1&&a.appendChild(w("alerta",i,r,"NO2alerta")),o.cant_avisos>1&&a.appendChild(w("aviso",i,r,"NO2aviso")),o.cant_preavisos>1&&a.appendChild(w("preaviso",i,r,"NO2preaviso"))}function _(t){const n=(0,e.resultsetWithFields)(t),a=document.getElementById("alertas-contaminantes-est-aire");if(!n||0===n.length)return;a.classList.remove("hidden");const o=n[0],r="avisos_diarios",i="PM10";o.cant_avisos>1&&a.appendChild(w("aviso",i,r,"PM10aviso")),o.cant_preavisos>1&&a.appendChild(w("preaviso",i,r,"PM10preaviso"))}const I={hayAlertasDeRuido:!1};function F(e){const t=document.getElementById("sensores-ruido");if(!t)return;c(t,":scope > p"),l("tabla-sensores-ruido");let n=document.getElementById("mensaje-sin-datos-ruido");n||(n=document.createElement("p"),n.id="mensaje-sin-datos-ruido",t.appendChild(n)),n.textContent=e}function O(t,n){const a=(0,e.resultsetWithFields)(t),o=s(a,"YYYY-MM-DD"),r=I.hayAlertasDeRuido;o?!o||r?(function(e,t){function n(e){const t=document.createElement("td");return t.id=e,t.textContent=0,t}[...new Set(t.map(e=>e.areaserved))].forEach(t=>{const a=`estacion-${t.toLowerCase()}`;if(document.getElementById(a))return;const o=document.createElement("tr");o.id=a;const r=n(`${a}-nombre`);r.textContent=t,o.appendChild(r),o.appendChild(n(`${a}-cant-manana`)),o.appendChild(n(`${a}-cant-tarde`)),o.appendChild(n(`${a}-cant-noche`)),e.appendChild(o)})}(document.querySelector("#tabla-sensores-ruido > tbody"),a),function(e,t){const n=e.reduce((e,t)=>(e[t.areaserved]=(e[t.areaserved]||0)+1,e),{});Object.entries(n).forEach(([e,n])=>{const a=`estacion-${e.toLowerCase()}-cant-${t}`,o=document.getElementById(a);o&&(o.textContent=n)})}(a,n)):F("Ayer no hubo alertas de superación de ruido."):F("No hay datos de alertas de superación de ruido de ayer.")}function T(t){var n;n=(0,e.resultsetWithFields)(t)[0].total_alertas>0,I.hayAlertasDeRuido=Boolean(n)}function P(){const t=new Date;t.setDate(t.getDate()-1);const n=[String(t.getDate()).padStart(2,"0"),String(t.getMonth()+1).padStart(2,"0"),t.getFullYear()].join("/");(0,e.initElement)("fecha-datos",e=>{e.textContent=n})}function B(t){const n=(0,e.resultsetWithFields)(t)[0].token;if(!n)throw new Error("No se pudo obtener el token desde base de datos");!function(e){try{document.querySelector("#if-estados-trafico").setAttribute("src",`https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300&token=${e}`)}catch(e){console.error("No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:",e)}}(n)}function Y(e){return e instanceof HTMLButtonElement}function j(){(0,e.initElementsByClass)("guia",e=>{Y(e)&&e.addEventListener("click",()=>{document.body.classList.add("historia")})}),(0,e.initElementsByClass)("info",e=>{Y(e)&&e.addEventListener("click",()=>{document.body.classList.remove("historia")})})}})(),a})());
2
2
  //# sourceMappingURL=inicio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inicio.js","mappings":"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","sources":["webpack://@vlci/cdmvalencia_ahir/webpack/universalModuleDefinition","webpack://@vlci/cdmvalencia_ahir/./node_modules/@vlci/vlcishared/dist/js/vlcishared.js","webpack://@vlci/cdmvalencia_ahir/webpack/bootstrap","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/define property getters","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/hasOwnProperty shorthand","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/make namespace object","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/numbers.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/format.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/variacion.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/date.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/data.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/elements.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/estado-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/texts.js","webpack://@vlci/cdmvalencia_ahir/./src/common-language.js","webpack://@vlci/cdmvalencia_ahir/./src/style/colors.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/options-charts.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/intervenciones-policiales.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/incidencias-ciudadanas.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/trafico-accesos-ciudad.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-clima.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/config.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-calidad-aire.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/sensores-ruido.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/fecha.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/mapa-geoportal-estados-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/events/button-events.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/ui.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"inicio\"] = factory();\n\telse\n\t\troot[\"inicio\"] = factory();\n})(self, () => {\nreturn ","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.vlcishared=e():t.vlcishared=e()}(self,()=>(()=>{\"use strict\";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.r(e),t.d(e,{MONTHS_YEAR:()=>a,MONTHS_YEAR_SHORT:()=>i,TEXTS_COMMON:()=>s,THRESHOLDS:()=>$t,addPointInteger:()=>v,buildCamarasTrafico:()=>It,buildTableCalidadAire:()=>Ft,calculateMaxYAxis:()=>I,calculatePentahoPath:()=>Nt,calculateXAxisStart:()=>O,capitalizarTexto:()=>x,checkAllGroupsCollapsed:()=>Dt,configureDataBar:()=>j,configureDataGaugeCommon:()=>R,configureDataGaugeMonthCommon:()=>q,configureDataLine:()=>W,configureDataValidate:()=>Yt,configureLinesChartValidates:()=>Xt,convertDateToInteger:()=>b,convertISODateToEUDate:()=>S,convertToLanguageSelectorDateRange:()=>mt,convertToTableTreeView:()=>At,downloadCSVTable:()=>Et,downloadPDFTable:()=>xt,formatCellMultiplesLines:()=>St,formatDayMonthYear:()=>d,formatMilMillionEuros:()=>k,formatMonthAnyo:()=>u,formatName:()=>E,formatNameHeaderColumn:()=>bt,formatRoundTooltip:()=>P,formatShortMonthShortYear:()=>m,formatShortMonthYear:()=>f,formatToMillions:()=>M,formatToTons:()=>A,formatTooltip:()=>T,formatTooltipPie:()=>z,formatTrimestre:()=>p,formatWithPrefix:()=>D,getEnvironment:()=>Lt,getMaxFieldNumberFromData:()=>U,getMonth:()=>r,getMonthList:()=>h,getSelectCommonOptions:()=>st,getSelectTwoColumnsOptions:()=>lt,initBarChart:()=>Rt,initBarChartComparationMonth:()=>jt,initChart:()=>F,initContractAllGroups:()=>Ct,initElement:()=>w,initElementsByClass:()=>$,initExpandAllGroups:()=>wt,initStackedBarChart:()=>kt,initStackedBarChartMonthSeries:()=>_t,initTable:()=>gt,initValueDefaultDate:()=>dt,initialCalls:()=>Ot,loadIframeOnClickEvent:()=>Gt,printDataChart:()=>L,printDataInHTMLElements:()=>H,printEchart:()=>B,printNoDataChart:()=>N,resetFilter:()=>it,resetFilterAndUpdate:()=>yt,resetFilterDate:()=>ut,resetFilterDates:()=>ct,resetFilterToDefault:()=>pt,resultsetWithFields:()=>G,selectConfigDatasource:()=>rt,selectConfigDatasourceAllValue:()=>at,selectFilterAll:()=>nt,selectFilterNumItemsDefault:()=>ht,selectValueDefaultInFilter:()=>ft,separateDayMonthYearToSlash:()=>l,splitDataset:()=>X,subtractOneDay:()=>y,subtractOneMonth:()=>g,traverseRows:()=>Mt,updateDomElement:()=>Y,updateObject:()=>V,updateStackedBarOptions:()=>Bt});const n=\"es_ES\",o=(new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]]),{\"01\":\"Enero\",\"02\":\"Febrero\",\"03\":\"Marzo\",\"04\":\"Abril\",\"05\":\"Mayo\",\"06\":\"Junio\",\"07\":\"Julio\",\"08\":\"Agosto\",\"09\":\"Septiembre\",10:\"Octubre\",11:\"Noviembre\",12:\"Diciembre\"});function r(t){return{1:\"Gen\",2:\"Feb\",3:\"Mar\",4:\"Abr\",5:\"Mai\",6:\"Jun\",7:\"Jul\",8:\"Ago\",9:\"Sep\",10:\"Oct\",11:\"Nov\",12:\"Des\"}[parseInt(t.toString(),10)]}const a={es_ES:new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),ca_ES:new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]])},i={es_ES:new Map([[\"1\",\"Ene\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"May\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Sep\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Dic\"]]),ca_ES:new Map([[\"1\",\"Gen\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"Mai\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Set\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Des\"]])},s={es_ES:new Map([[\"last_update\",\"Última actualización\"]]),ca_ES:new Map([[\"last_update\",\"Última actualització\"]])};function l(t){return`${t.substring(6,8)}/${t.substring(4,6)}/${t.substring(0,4)}`}function c(t){return[t.substring(0,4),o[t.substring(4,6)]]}function u(t){const[e,n]=c(t);return`${n} ${e}`}function d(t){const[e,n,r]=function(t){return[t.substring(0,4),o[t.substring(4,6)],t.substring(6,8)]}(t);return`${r} ${n} ${e}`}function f(t){const[e,n]=c(t);return`${n.substring(0,3)} ${e}`}function m(t){const[e,n]=c(t);return`${n.substring(0,3)} '${e.substring(2,4)}`}function p(t){const[e,n]=t.split(\"-\");return`${parseFloat(n)/3}T ${e}`}function h(){const t=a[n];return Array.from(t.values()).map(t=>t.slice(0,3))}function y(t){const e=Math.floor(t/1e4),n=new Date(e,t%1e4/100-1,t%100);return n.setDate(n.getDate()-1),`${n.getFullYear()}${(n.getMonth()+1).toString().padStart(2,\"0\")}${n.getDate().toString().padStart(2,\"0\")}`}function g(t){const e=new Date(Math.floor(t/100),t%100-1,0);return`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,\"0\")}`}function b(t){return\"string\"==typeof t?parseInt(t.replace(\"-\",\"\"),10):t}function S(t){if(!t||\"string\"!=typeof t)return\"\";const[e,n,o]=t.split(\"-\");return`${o}/${n}/${e}`}function v(t,e=2){let n=navigator.language||navigator.userLanguage;n=n.length<=2?`${n}-${n.toUpperCase()}`:n;const o={minimumFractionDigits:0,maximumFractionDigits:e};return\"es-ES\"===n?t.toLocaleString(\"de-DE\",o):t.toLocaleString(n,o)}function M(t){const e=1e6;return t>=e?t/e+\"M\":t.toString()}function A(t){return t>=1e3?t/1e3+\" Tn\":t.toString()}function D(t){let e,n;return t>=1e6?(e=t/1e6,n=\"G\"):t>=1e3?(e=t/1e3,n=\"M\"):(e=t,n=\"k\"),{value:Math.round(100*e)/100,prefix:n}}function E(t,e=29){if(t.length>=e){const n=t.split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{`${o} ${t}`.length<=e?o+=(o?\" \":\"\")+t:(r+=`${o}\\n`,o=t)}),r+=o,r}return t}function x(t){return t.includes(\"N/D\")?t:t.toLowerCase().replace(/(^|\\s|[.,;:!?¡¿(){}[\\]])([^\\s])/gu,(t,e,n)=>e+n[0].toUpperCase())}function C(t,e,n,o){return new Promise(r=>{document.body.addEventListener(t,()=>{const t=e();t?r(n(t)):(console.error(o),r(null))},{once:!0})})}function w(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementById(t);return o?Promise.resolve(e(o)):C(n,()=>document.getElementById(t),t=>e(t),`El elemento con ID ${t} aún no está disponible después del evento.`)}function $(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementsByClassName(t);return o&&0!==o.length?Promise.resolve(Array.from(o).map(t=>e(t))):C(n,()=>{const e=document.getElementsByClassName(t);return e.length>0?Array.from(e):null},t=>t.map(t=>e(t)),`No se encontraron elementos con la clase ${t} después del evento.`)}function F(t,e){return w(t,t=>{const n=echarts.init(t);n.setOption(e,!0),window.addEventListener(\"resize\",()=>{null!=n&&void 0!==n&&n.resize()});const o=document.getElementById(\"main-content\");return o&&(o.addEventListener(\"shown.bs.collapse\",()=>{n.resize()}),o.addEventListener(\"hidden.bs.collapse\",()=>{n.resize()})),n})}function N(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"url('./build/images/nodata1.png') no-repeat top center\",o.hidden=!1)}function L(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"#ffffff\",o.hidden=!1)}function T(t,e=!1,n=!0,o=\"\"){let r=`<p style=\"font-weight: 500;color: #565656;\">${t[0].name}</p>`;return t.forEach(t=>{const a=e?Math.round(t.data):t.data,i=n?`<div style=\"font-weight: 400;color: #666;\">${s=t.color,`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}\"></span>`} ${t.seriesName}: \\n <span style=\"float: right; margin-left:20px;font-weight: 600;color: #565656;\">\\n ${t.data?`${v(a)} ${o}`:\"-\"}\\n </span>\\n </div>`:`<div>\\n <span style=\"font-weight: 600;color: #565656;\">${t.data?`${v(a)} ${o}`:\"-\"}\\n </span>\\n </div>`;var s;r+=i}),r}function O(t){return 100*(t-120)/t}function I(t,e){const n=Math.max(...t);return n+(e-n%e)}function z(t,e=!1){const n=`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${t.color}\"></span>`,o=e?`${t.percent}%`:v(t.value);return`<div> ${n} ${t.name} <span style=\"float: right; margin-left:20px;font-weight: 600;color: #333;\"> ${o} </span></div>`}function P(t,e){let n=`${t.name} : `;return n+=`<span style=\"font-weight:500\">${v(Math.round(t.value))}</span>`,e&&(n+=`<span> (${t.percent}%)</span>`),t.marker+n}function k(t){const e=1e6,n=Number(t);return n>=0&&n<e?`${v(n)} €`:n>=e?`${v(n/e)} M €`:\"-\"}function B(t,e,n){return 0===t.length?(N(`#${e}`,`#${n}`),!1):(L(`#${n}`,`#${e}`),!0)}function _(t,e,n=1){const o=Math.max(...t.map(t=>t[e]))*n;return 5e3*Math.ceil(o/5e3)}function R(t,e,n,o=30,r=15,a=30,i=-70,s=70,l=3){const c=_(t,e.data,1.1),u=s,d=n.slice(),f=[];let m=r,p=a,h=i;for(let n=0;n<t.length;n+=1)f.push({value:t[n][e.data],name:E(String(t[n][e.type]).replace(/\\[.*?\\]/g,\"\")),color:d.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(m)}%`],fontFamily:\"Montserrat\",fontSize:o},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:\"Montserrat\",width:\"33%\",formatter:t=>v(Math.round(t))}}),h+=u,(n+1)%l===0&&(p+=a,m+=2*r,h=i);return[c,f]}function q(t,e,n,o=0){return[_(e,n.data,1),t=>function(t,e,n){const o=v(Math.round(e)),a=r(t[n][0]),i=t[n][1],s=`\\n${a} ${i} : ${o}`,l=`${o}\\n${a} ${i}`;return window.innerWidth<=1710?s:l}(e,t,o),[{value:e[o][n.data]}]]}function J(t,e){const{resultset:n}={resultset:t},o=new Set,r=new Set,a=n.map(([t,n,a])=>{const i=e?Math.round(a):a;return o.add(t),r.add(n),{day:n,type:t,value:i}}),i=Array.from(r.values()),s=Array.from(o.values());return s.sort((t,e)=>t.toLowerCase().localeCompare(e.toLowerCase(),\"es\",{ignorePunctuation:!0})),[s.map(t=>{const e=a.filter(e=>e.type===t).map(({day:e,value:n})=>[e,t,n]),n=i.map(t=>{const n=e.find(([e])=>e===t);return n?n[2]:null});return{name:t,data:n}}),s,r]}function W(t,e=[],n=!1){const[o,r,a]=J(t,n);return o.forEach(t=>{t.type=\"line\",t.symbol=\"circle\",t.symbolSize=6,t.smooth=.1,e.length>0&&(t.color=e.shift())}),[o,a,r]}function j(t,e,n=!1){const[o,r,a]=J(t,n);return o.forEach(t=>{t.type=\"bar\",t.color=e.shift(),t.smooth=!1}),[o,a,r]}function G(t){const{resultset:e,metadata:n}=t,o=[];return e.forEach(t=>{const e={};t.forEach((t,o)=>{e[n[o].colName]=t}),o.push(e)}),o}function V(t,e){const n={...t};return Object.keys(e).forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)&&(\"series\"===o&&Array.isArray(e[o])?n[o]=e[o].map((e,n)=>({...Array.isArray(t[o])&&t[o][n]||{},...e})):\"object\"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?t[o]!==e[o]&&(n[o]=e[o]):n[o]=V(t[o]||{},e[o]))}),n}function H(t,e){const n=()=>{t.forEach(t=>{t.id in e&&Object.entries(e[t.id]).forEach(n=>{const o=n[0],r=n[1];\"object\"==typeof r?r.className?document.querySelector(r.className).className=t[o]:r.element&&r.format&&(document.querySelector(r.element).textContent=e[t.id][o].format(t[o])):document.querySelector(r).textContent=t[o]})})};try{n()}catch(t){document.body.addEventListener(\"MainContentLoadedCustom\",()=>{n()})}}function U(t,e){const n=G(t),o=[];let r=null;return n.forEach(t=>{const n=t[e];\"number\"!=typeof n||Number.isNaN(n)||o.push(n)}),o.length>0&&(r=Math.max(...o)),r}function Y(t,e){const n=document.querySelector(t);n?n.textContent=e:console.warn(`Elemento ${t} no encontrado en el DOM`)}function X(t,e=!0){const n={Cont:[],Mob:[]};return t.forEach(t=>{\"is-res-001-kgs-contenidors\"===t[0]&&\"total\"===t[1]&&(e?n.Cont.push([t[3],t[4],t[2]]):n.Cont.push([t[3],t[2]])),\"Mobles\"===t[1]&&(e?n.Mob.push([t[3],t[4],t[2]]):n.Mob.push([t[3],t[2]]))}),n}const Z=[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"],K=[\"Ene\",\"Feb\",\"Mar\",\"Abr\",\"May\",\"Jun\",\"Jul\",\"Ago\",\"Sep\",\"Oct\",\"Nov\",\"Dic\"],Q=[\"Domingo\",\"Lunes\",\"Martes\",\"Miércoles\",\"Jueves\",\"Viernes\",\"Sábado\"],tt=[\"Dom\",\"Lun\",\"Mar\",\"Mié\",\"Juv\",\"Vie\",\"Sáb\"],et=[\"Do\",\"Lu\",\"Ma\",\"Mi\",\"Ju\",\"Vi\",\"Sá\"];function nt(t){const e=t.resultset.map(t=>t[0]);return this.dashboard.fireChange(this.parameter,e),t}function ot(t){for(const e of t)if(Array.isArray(e)){if(!ot(e))return!1}else if(\"All\"!==e)return!1;return!0}function rt(t,e,n,o){return ot(e)?(t.queryDefinition.dataAccessId=n,t.dashboard.setParameter(t.parameter,[\"All\"])):t.queryDefinition.dataAccessId=o,!0}function at(t){return t.dashboard.setParameter(t.parameter,[\"All\"]),!0}function it(t){t.forEach(t=>{Dashboards.fireChange(t,[\"All\"])})}function st(t=\"Todos\"){return{input:{root:{id:\"All\"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:\"No disponible\",allItems:t,noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}},Group:{Strings:{allItems:\"Todos\",noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}}}}}function lt(t=\"Todos\"){const e=st(t);return e.input.indexes.id=1,e.input.indexes.label=0,e}function ct(t,e,n,o){const r=Dashboards.getParameterValue(n),a=Dashboards.getParameterValue(o);return Dashboards.fireChange(t,[r]),Dashboards.fireChange(e,[a]),!0}function ut(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,[n]),!0}function dt(t,e){Dashboards.fireChange(e,t.resultset[0][0])}function ft(t,e){const n=Dashboards.getParameterValue(e),o=t.parameter;\"\"!==n&&t.dashboard.setParameter(o,[n])}function mt(t){t.regional.es={monthNames:Z,abbreviatedMonthNames:K,dayNames:Q,abbreviatedDayNames:tt,dayNamesMin:et,weekHeader:\"Sm\",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:\"\"},t.setDefaults(t.regional.es)}function pt(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,Array.isArray(n)?n:[n]),!0}function ht(t,e,n,o=0){const r=t.resultset.slice(0,n).map(t=>t[o]);return Dashboards.setParameter(e,r),t}function yt(t,e,n){const o=Array.isArray(e)?e:[e];Dashboards.fireChange(t,o);const r=Dashboards.getComponent(n);r&&r.update()}function gt(t,e){return w(t,t=>new Tabulator(t,e))}function bt(t,e){let n=t.getValue();return n.length>e&&(n=`${n.substr(0,e)}<br>${n.substr(e)}`),n}function St(t,e){const n=t.getValue().split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{(r+t).length<=e?r+=`${t} `:(o+=`${r}<br>`,r=`${t} `)}),o+=`${r}<br>`,o}function vt(t,e){\"expand\"===e?t.treeExpand():t.treeCollapse();const n=t.getTreeChildren();n.length>0&&n.forEach(t=>{t.getTreeChildren().length>0&&vt(t,e)})}function Mt(t,e){t.getRows().forEach(t=>{t.getTreeChildren().length>0&&vt(t,e)})}function At(t,e,n,o){const r=[];return Object.keys(t).forEach(a=>{if(Object.prototype.hasOwnProperty.call(t,a)){const i=t[a],s={[e]:i[0],_children:[]};i.shift(),i.forEach((t,r)=>{const a={[e]:n[r],[o]:t};s._children.push(a)}),r.push(s)}}),r}function Dt(t){let e=!0;return t.getGroups().forEach(t=>{t._group.visible&&(e=!1)}),e}function Et(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{t.download(\"csv\",`${e}.csv`,{delimiter:\";\",bom:!0})})}function xt(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{const n=t.getRows().map(t=>t.getData()),o=t.getColumns(),r={};o.forEach((t,e)=>{const o=t.getField();o&&n.every(t=>{const e=t[o];return null==e||/^-?\\d+([.,]\\d+)?$/.test(e.toString().trim())})&&(r[e]={halign:\"right\"})}),t.download(\"pdf\",`${e}.pdf`,{title:e,rowCalcStyles:{fontSize:8,fontStyle:\"bold\"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:\"center\"},columnStyles:r}})})}function Ct(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!1),t.setData(e)})}function wt(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!0),t.setData(e)})}const $t={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function Ft(t){const e=[],n={0:\"b\",1:\"a\",2:\"d\",3:\"m\",4:\"mm\",5:\"em\",6:\"\",7:\"nd\"};function o(t,e,o){const r=document.createElement(\"td\");if(r.setAttribute(\"id\",t),null!=e){r.innerHTML=e;const t=function(t,e){let o;return void 0===e?o=6:\"ND\"===e?o=7:(o=5,t.forEach((t,n)=>{e<=t&&5===o&&(o=n)})),n[o]}(o,e);r.classList.add(t)}return r}return t.forEach(t=>{const n=t;\"noData\"===n.operationalstatus&&(n.so2value=\"ND\",n.no2value=\"ND\",n.o3value=\"ND\",n.pm10value=\"ND\",n.pm25value=\"ND\");const r=document.createElement(\"tr\"),a=document.createElement(\"td\");a.innerHTML=n.address,r.appendChild(a),r.appendChild(o(`${n.entityid}_so2`,n.so2value,$t.SO2)),r.appendChild(o(`${n.entityid}_no2`,n.no2value,$t.NO2)),r.appendChild(o(`${n.entityid}_o3`,n.o3value,$t.O3)),r.appendChild(o(`${n.entityid}_pm10`,n.pm10value,$t.PM10)),r.appendChild(o(`${n.entityid}_pm25`,n.pm25value,$t.PM25)),e.push(r)}),e}function Nt(t){document.location=`${document.documentURI.split(\"%3A\")[0]}%3A${document.documentURI.split(\"%3A\")[1]}%3A${document.documentURI.split(\"%3A\")[2]}%3A${document.documentURI.split(\"%3A\")[3]}%3A${t}`}function Lt(){const t=window.location.href;let e=\"\";return e=t.includes(\"localhost\")?\"local\":t.includes(\"sc_valencia_pre\")?\"PRE\":\"PRO\",e}function Tt(t,e){document.querySelectorAll(`[${t}]`).forEach(n=>{!function(t,e,n){const o=e;if(t){const e=new XMLHttpRequest;e.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(o.innerHTML=this.responseText,n&&n()),404===this.status&&(o.innerHTML=\"No se ha podido cargar correctamente.\"))},e.open(\"GET\",t,!0),e.send()}}(n.getAttribute(t),n,e)})}function Ot(t){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn(\"Dashboards.init bloqueado temporalmente\")},Tt(\"include-html-cabecera\",function(){!function(){const t=Lt();\"PRO\"!==t&&(document.title+=` (${t})`)}(),function(){const t=Lt();\"PRO\"!==t&&(document.querySelector(\"nav\").querySelectorAll(\"span\")[1].textContent+=` (${t})`)}()}),Tt(\"include-html-menu\"),Tt(\"include-html-main-container\",function(){document.body.dispatchEvent(new Event(\"MainContentLoadedCustom\")),function(){const t=document.querySelector(\"body\");t.classList.remove(\"inicio\"),t.classList.add(document.documentURI.split(\"%3A\")[4].match(/(.*?).wcdf/)[1])}(),t&&t()}),Tt(\"include-html-copyright\"),function(t=\"MainContentLoadedCustom\"){document.body.addEventListener(t,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(t){console.warn(\"No se pudo restaurar Dashboards.init; la función original no está disponible.\")}},{once:!0})}()}function It(t,e,n,o,r,a){let i=!1,s=!1;const l=document.querySelector(t),c=document.querySelector(e),u=()=>{\"undefined\"!=typeof Liferay&&\"ca-ES\"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=cas\")):(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=val\"))};function d(t=!0){const e=document.querySelector(n);t?(l&&(l.src=\"about:blank\"),c&&(c.src=\"about:blank\"),e.classList.add(\"blur\"),s=!0):(e.classList.remove(\"blur\"),u(),s=!1)}const f=t=>{new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(s||u(),i||(i=!0,window.setTimeout(d,a)))})}).observe(t)};!function(){const{userAgent:t}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(t)&&!window.MSStream}()?(l&&(l.setAttribute(\"sandbox\",\"allow-scripts\"),f(l)),c&&(c.setAttribute(\"sandbox\",\"allow-scripts\"),f(c)),document.querySelector(r).addEventListener(\"click\",()=>{d(!1),window.setTimeout(d,a)})):document.querySelectorAll(o)[0].style.display=\"none\"}const zt={grid:{containLabel:!0},title:{left:\"center\",top:\"0\",textStyle:{fontSize:15,fontFamily:\"Montserrat\",fontWeight:500,color:\"#666\"}},legend:{orient:\"horizontal\",bottom:\"0\",left:\"center\",width:\"100%\",textStyle:{fontSize:11,fontFamily:\"Montserrat\",fontWeight:400,color:\"#666\"}},toolbox:{show:!0,right:\"0\",top:\"0\",feature:{restore:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}}},emphasis:{iconStyle:{borderColor:\"#ffcd00\",textFill:\"#666\"}}},tooltip:{textStyle:{fontFamily:\"Montserrat\",fontSize:12}},xAxis:[{type:\"category\",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:\"Montserrat\",fontSize:11}},data:[]}],yAxis:[{type:\"value\",alignTicks:!0,position:\"right\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${t}%`}},{type:\"value\",position:\"left\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${M(t)}€`}}]},Pt=(t,e)=>{e.sort((t,e)=>parseInt(t.anyo)-parseInt(e.anyo));const n={};e.forEach(e=>{const o=e[1],r=e[0];r!==t.seriesName||n[o]||(n[o]=0),r===t.seriesName&&(n[o]+=e[2])});let o=`<p>${t.seriesName}</p>`;for(const[e,r]of Object.entries(n))o+=`<div>${t.marker} ${e}: <span style=\"float: right; margin-left:20px;font-weight: 600;\">${v(r)}</span></div>`;return o};function kt(t,e,n=void 0,o=void 0){const r=null===o?void 0:o,a=new Set(e.map(t=>t[1]));let i;const s={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},tooltip:{axisPointer:{type:\"shadow\"},trigger:\"item\",formatter:t=>Pt(t,e),textStyle:{fontFamily:\"Montserrat\"},position(t,e,n,o,r){const a={},i=r.contentSize[1]/2,s=r.viewSize[1],l=t[1];return l<i?a.top=10:l+i>s?a.bottom=10:a.top=l-i,t[0]<r.viewSize[0]/2?a.left=t[0]+20:a.right=r.viewSize[0]-t[0]+20,a}},legend:{padding:40,textStyle:{fontFamily:\"Montserrat\"}},grid:{left:\"3%\",right:\"4%\",bottom:\"3%\",containLabel:!0},xAxis:{type:\"value\",splitNumber:10,name:\"SIN NOMBRE\",nameLocation:\"start\",nameTextStyle:{fontWeight:\"bold\",fontFamily:\"Montserrat\",color:\"#666\",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:\"Montserrat\"},formatter:t=>v(t)},splitLine:{lineStyle:{color:\"#DDD\"}}},yAxis:{type:\"category\",data:Array.from(a),axisLabel:{textStyle:{fontFamily:\"Montserrat\"}}},series:(()=>{const t={name:\"SIN NOMBRE\",type:\"bar\",stack:\"total\",label:{show:!0,fontFamily:\"Montserrat\",fontSize:10,formatter:t=>v(Math.round(t.value))},itemStyle:void 0,emphasis:{focus:\"series\"},data:void 0};r&&r.itemStyle&&Array.isArray(r.itemStyle.borderColor)&&(i=[...r.itemStyle.borderColor],delete r.itemStyle.borderColor);const n=function(t){return t.reduce((t,e)=>{const n=e[0];return t[n]||(t[n]=[]),t[n].push(e),t},{})}(e),o=Object.keys(n);a.forEach(t=>{o.forEach(e=>{void 0===n[e].find(e=>e[1]===t)&&(n[e].push([n[e][0][0],t,void 0]),n[e].sort())})});const s=[];return Object.keys(n).forEach(e=>{i&&(t.itemStyle={borderColor:i.shift()}),t.name=e,t.data=n[e].map(t=>t[2]);let o={};o=void 0!==r?V(t,r):t,s.push({...o})}),s})(),toolbox:{show:!0,feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:50}};let l={};l=void 0!==n?V(s,n):s,F(t,l)}function Bt(t){let e={};return e=V(zt,t),e}function _t(t,e,n={},o={}){let a={};a=V(n,{color:[\"#81B1CC\",\"#ABD9EA\",\"#C2EEF9\",\"#F9E2AF\",\"#F9C780\",\"#FDAE61\",\"#F46D43\",\"#FDAE61\",\"#F9E2AF\",\"#C2EEF9\",\"#ABD9EA\",\"#81B1CC\"],yAxis:{data:function(){const t=new Set;return e.forEach(e=>{t.add(e[1])}),Array.from(t).sort((t,e)=>t-e)}()}});const i={itemStyle:{borderWidth:2,borderColor:[\"#448DAD\",\"#89CADB\",\"#A0DEE8\",\"#F4D28C\",\"#F4B569\",\"#F79646\",\"#F25930\",\"#F79646\",\"#F4D28C\",\"#A0DEE8\",\"#89CADB\",\"#448DAD\"]}},s=null===o?i:V(o,i),l=e;l.forEach((t,e)=>{l[e][0]=r(t[0])}),kt(t,l,a,s)}function Rt(t,e=void 0){const n={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",padding:50,textStyle:{fontSize:14,fontFamily:\"Montserrat\",fontWeight:400,color:\"#333\"}},legend:{show:!1},grid:{top:\"30%\",bottom:\"5%\",left:\"8%\",right:\"8%\"},xAxis:{type:\"value\",show:!1},yAxis:{show:!1,type:\"category\"},tooltip:{show:!0,textStyle:{fontFamily:\"Montserrat\",fontWeight:\"600\"},appendToBody:!0,formatter:t=>P(t,!1)},series:[{type:\"bar\",showBackground:!0}]};let o={};o=void 0!==e?V(n,e):n,F(t,o)}function qt(t){return Math.max(...t.map(t=>Number(t[0])))}function Jt(t){const e=t.filter(e=>Number(e[0])===qt(t)),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function Wt(t){const e=t.filter(e=>Number(e[0])===qt(t)-1),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function jt(t,e,n=void 0){const o=qt(e).toString(),r=(qt(e)-1).toString();Rt(t,V({title:{left:\"center\",top:\"-12%\",textStyle:{fontSize:15,fontFamily:\"Montserrat\"}},legend:{top:\"10%\",show:!0,data:[r,o],textStyle:{fontFamily:\"Montserrat\"}},grid:{bottom:\"8%\",top:\"20%\",right:\"2%\"},xAxis:[{type:\"category\",data:h(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],yAxis:[{type:\"value\",axisLabel:{formatter:t=>t.toLocaleString(\"es-ES\"),textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],series:[{name:r,type:\"bar\",data:Wt(e)},{name:o,type:\"bar\",barGap:0,data:Jt(e)}]},n))}function Gt(t,e,n){const o=document.querySelector(e),r=document.querySelector(t);let a=!1;r.addEventListener(\"click\",()=>{!1===a&&(a=!0,o.setAttribute(\"src\",\"about:blank\"),o.setAttribute(\"src\",n),o.onload=()=>{a=!1})}),r.disabled=!1}const Vt=\"id\",Ht=\"fecha\",Ut=\"value\";function Yt(t,e,n,o,r=\"es_ES\"){const[a,i]=function(t,e,n){const o=[],r=[];return t.forEach(t=>{e.includes(`${t[Vt]}`)?o.push(`${t[Ht]}`):n.includes(`${t[Vt]}`)&&r.push(`${t[Ht]}`)}),[o.map(t=>[t,0]),r.map(t=>[t,0])]}(t,n,o);let s=\"es_ES\"==r?\"Datos sin validar\":\"Dades sense validar\";0===i.length&&(s=\"\");const l={name:\"Datos validados\",type:\"line\",data:[...a,i[0]],lineStyle:{color:\"#00A9A0\",width:4},showSymbol:!1,tooltip:{show:!1}};let c=\"\",u=\"\";if(0===i.length){const e=t[t.length-1].fecha;c=e,u=e}else c=i[0][0],u=i[i.length-1][0];return[...e,l,{name:\"Datos NO validados\",type:\"line\",data:i,lineStyle:{color:\"#80D4CF\",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:\"#eee\"},tooltip:{show:!1},label:{color:\"#333\",fontStyle:\"normal\",fontWeight:\"400\",fontFamily:\"Montserrat\",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:\"end\",xAxis:u,yAxis:Math.max(...t.filter(t=>null!==t[Ut]).map(t=>parseInt(`${t[Ut]}`,10)))}]]}}]}function Xt(t,e,n=void 0){F(t,V({grid:{left:\"2.5%\",right:\"5%\",bottom:\"70\",top:\"150\",containLabel:!0},title:{left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},legend:{type:\"plain\",top:\"50\",width:\"98%\",textStyle:{fontFamily:\"Montserrat\"}},tooltip:{trigger:\"axis\",show:!0,formatter:t=>T(t),textStyle:{fontFamily:\"Montserrat\"}},xAxis:{type:\"category\",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},yAxis:{type:\"value\",nameLocation:\"end\",nameGap:\"0\",nameTextStyle:{fontFamily:\"Montserrat\",fontWeight:\"500\",padding:[-25,0,0,-48],margin:0,align:\"left\",verticalAlign:\"top\",width:\"auto\"},scale:!0,splitNumber:\"6\",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},dataZoom:{end:100,borderColor:\"#eee\",fillerColor:\"rgba(0,0,0,.05)\",textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#333\",textBorderColor:\"#fff\",textBorderWidth:3,fontWeight:\"600\"},selectedDataBackground:{lineStyle:{color:\"#333\"},areaStyle:{color:\"#ffcd00\"}},dataBackground:{backgroundColor:\"rgba(0,0,0,1)\",lineStyle:{color:\"#333\"},areaStyle:{color:\"rgba(0,0,0,0.5)\"}},handleStyle:{color:\"rgba(0,0,0,0.2)\"},moveHandleStyle:{color:\"rgba(0,0,0,0.3)\"},emphasis:{handleStyle:{color:\"rgba(255,205,0,1)\"},moveHandleStyle:{color:\"rgba(255,205,0,1)\"}}},toolbox:{feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:\"1%\",top:\"0%\"},series:e},n))}return e})());\n//# sourceMappingURL=vlcishared.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const esNumber = (valor) => !Number.isNaN(Number(valor));\n\nexport const esPositivo = (valor) => Number(valor.trim()) > 0;","import { esNumber, esPositivo } from './numbers';\n\nexport const quitarSigno = (elemento) =>\n esPositivo(elemento.textContent)\n ? elemento.textContent\n : elemento.textContent.replace('-', '');\n\nexport const obtenerClaseVariacion = (valor) => {\n const num = Number(valor.trim());\n if (num === 0) return null;\n return num > 0 ? 'pos' : 'neg';\n};\n\nexport const aplicarEstilosVariacion = (elemento, porcentaje = true) => {\n const el = elemento;\n if (!esNumber(el.textContent)) return;\n\n el.classList.add(obtenerClaseVariacion(elemento.textContent));\n el.textContent = quitarSigno(elemento);\n\n if (!porcentaje) return;\n\n const porcentajeEl = document.createElement('span');\n porcentajeEl.textContent = '%';\n\n elemento.append(porcentajeEl);\n};\n","import { aplicarEstilosVariacion } from './format';\n\nexport const crearBloqueLeft = (item, camposLeft, idPrefijo, numId) => {\n const divLeft = document.createElement('div');\n divLeft.className = 'left';\n\n camposLeft.forEach((el) => {\n const div = document.createElement('div');\n div.className = el.clase;\n div.id = `${idPrefijo}-${numId}-${el.idSufijo}`;\n\n let valor;\n if ('campo' in el) {\n valor = item[el.campo];\n if (el.format) valor = el.format(valor);\n } else if ('texto' in el) {\n valor = el.texto;\n }\n\n div.textContent = valor;\n\n if (el.span) {\n const span = document.createElement('span');\n span.textContent = el.span;\n div.append(span);\n }\n\n divLeft.append(div);\n });\n\n return divLeft;\n};\n\nexport const crearBloqueVariacion = (\n label,\n valor,\n id,\n clase = 'value',\n aplicarEstilos = true,\n mostrarPorcentaje = true,\n) => {\n const contenedor = document.createElement('div');\n contenedor.className = 'mini';\n\n if (label) {\n const labelEl = document.createElement('div');\n labelEl.className = 'label';\n labelEl.textContent = label;\n contenedor.append(labelEl);\n }\n\n const valueEl = document.createElement('div');\n valueEl.id = id;\n valueEl.classList.add(clase);\n\n valueEl.textContent = valor;\n if (aplicarEstilos)\n aplicarEstilosVariacion(valueEl, mostrarPorcentaje);\n\n contenedor.append(valueEl);\n return contenedor;\n};\n\nexport const crearBloqueChanges = (item, camposVariacion, idPrefijo, numId) => {\n const divChanges = document.createElement('div');\n divChanges.className = 'changes';\n\n camposVariacion.forEach((cambio) => {\n let aplicarEstilos = true;\n if ('aplicarEstilosVariacion' in cambio)\n aplicarEstilos = cambio.aplicarEstilosVariacion;\n\n let mostrarPorcentaje = true;\n if ('mostrarPorcentaje' in cambio)\n mostrarPorcentaje = cambio.mostrarPorcentaje;\n\n divChanges.append(\n crearBloqueVariacion(\n cambio.label,\n item[cambio.campo],\n `${idPrefijo}-${numId}-${cambio.idSufijo}`,\n cambio.clase,\n aplicarEstilos,\n mostrarPorcentaje,\n ),\n );\n });\n\n return divChanges;\n};\n\nexport const crearProgresoVariacion = (valorActual, mayorValor) => {\n const divProgreso = document.createElement('div');\n divProgreso.className = 'progress';\n divProgreso.style.width = `${(valorActual * 100) / mayorValor}%`;\n return divProgreso;\n};\n\n/**\n * Crea una lista de ítems HTML a partir de datos dinámicos.\n *\n * @param {Array<Object>} datos - Lista de datos a renderizar.\n * @param {HTMLElement} contenedorLista - Elemento UL donde se insertan los LI.\n * @param {Object} config - Configuración de los campos.\n * @param {string} config.prefijoId - Prefijo para los IDs de cada fila.\n * @param {Array<Object>} config.camposLeft - Campos que aparecen en la columna izquierda.\n * @param {Array<Object>} config.camposVariacion - Variaciones que aparecen en la derecha.\n * @param {Function} [config.renderExtra] - Renderiza contenido extra encima de `.datos`.\n * @param {Bool} mostrarProgreso - Muestra una barra de progreso (opcional).\n *\n * Ejemplo de config.camposLeft:\n * config = {\n * idPrefijo: 'acceso', // prefijo de IDs de cada fila\n * camposLeft: [\n * { campo: 'id' / texto: 'AYER', clase: 'name', idSufijo: 'nombre'},\n * {\n * campo: 'veh_ayer',\n * clase: 'number',\n * idSufijo: 'veh-ayer',\n * format: v => v.toLocaleString('de-DE') // opcional,\n * span: '.min' // opcional,\n * }\n * ],\n * camposVariacion: [\n * { label: 'COMPARACIÓN vs ANTEAYER', campo: 'variacion_dia_anterior', idSufijo: 'var-dia', clase: 'value', mostrarPorcentaje: false},\n * { label: 'vs SEMANA PASADA', campo: 'variacion_semana_anterior', idSufijo: 'var-semana', clase: 'value', aplicarEstilosVariacion: false}\n * ],\n * extra: (item) => HTMLElement // opcional\n * }\n */\nexport const crearWidgetVariacion = (\n datos,\n contenedor,\n config,\n mostrarProgreso = false,\n) => {\n if (!Array.isArray(datos) || datos.length === 0) return;\n\n const { idPrefijo, camposLeft, camposVariacion } = config;\n\n // eslint-disable-next-line no-param-reassign\n contenedor.innerHTML = '';\n\n const mayorValor = camposLeft[1] ? datos[0][camposLeft[1].campo] : 0;\n\n datos.forEach((item, i) => {\n const numId = i + 1;\n\n const listItem = document.createElement('li');\n listItem.id = `${idPrefijo}-${numId}`;\n listItem.className = 'list-item';\n\n const divDatos = document.createElement('div');\n divDatos.className = 'datos';\n\n const divLeft = crearBloqueLeft(item, camposLeft, idPrefijo, numId);\n const divChanges = crearBloqueChanges(\n item,\n camposVariacion,\n idPrefijo,\n numId,\n );\n\n divDatos.append(divLeft, divChanges);\n\n if (config.extra) {\n const extra = config.extra(item, numId);\n if (extra) listItem.append(extra);\n }\n\n listItem.append(divDatos);\n\n if (mostrarProgreso) {\n const divProgreso = crearProgresoVariacion(\n item[camposLeft[1].campo],\n mayorValor,\n );\n listItem.append(divProgreso);\n }\n\n contenedor.append(listItem);\n });\n};\n","const FORMATEADORES = {\n YYYYMMDD: ({ yyyy, mm, dd }) => `${yyyy}${mm}${dd}`,\n 'YYYY-MM-DD': ({ yyyy, mm, dd }) => `${yyyy}-${mm}-${dd}`,\n 'DD-MM-YYYY': ({ yyyy, mm, dd }) => `${dd}-${mm}-${yyyy}`,\n};\n\nfunction descomponerFecha(fecha) {\n const yyyy = String(fecha.getFullYear());\n const mm = String(fecha.getMonth() + 1).padStart(2, '0');\n const dd = String(fecha.getDate()).padStart(2, '0');\n return { yyyy, mm, dd };\n}\n\nexport function obtenerFechaAyer(formatoFecha) {\n const ayer = new Date();\n ayer.setDate(ayer.getDate() - 1);\n\n const formatear = FORMATEADORES[formatoFecha] || FORMATEADORES.YYYYMMDD;\n return formatear(descomponerFecha(ayer));\n}\n","import { obtenerFechaAyer } from './date';\n\nexport function existenDatosDeAyer(\n dataWithFields,\n formatoFecha,\n nombreCampoFecha = 'fecha',\n) {\n const fechaAyer = obtenerFechaAyer(formatoFecha);\n return dataWithFields.some((fila) => fila[nombreCampoFecha] === fechaAyer);\n}\n\nexport function existeFilaConValor(dataWithFields, filaABuscar, valor) {\n return dataWithFields.some((fila) => fila[filaABuscar] === valor);\n}\n","export function ocultarElementoPorId(idElemento) {\n const elemento = document.getElementById(idElemento);\n ocultarElemento(elemento);\n}\n\nexport function ocultarElementoPorClase(contenedor, clase) {\n const elemento = contenedor.querySelector(clase);\n ocultarElemento(elemento);\n}\n\nexport function mostrarMensajeNoDatos(contenedor, textoMensaje) {\n const elementoMensaje = document.createElement('p');\n elementoMensaje.textContent = textoMensaje;\n contenedor.appendChild(elementoMensaje);\n}\n\nexport function ocultarElemento(elemento) {\n if (elemento) {\n elemento.classList.add('hidden');\n }\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existeFilaConValor, existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n mostrarMensajeNoDatos,\n ocultarElemento,\n} from './utils/elements';\n\nexport function callesCortadas(data) {\n const dataConfig = {\n 'TOTAL CALLES CORTADAS': {\n num_ayer: {\n element: '#calles-cortadas-num',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n diferencia_dia_anterior: '#calles-cortadas-num-ayer',\n diferencia_semana_anterior: '#calles-cortadas-num-semana-prev',\n },\n };\n\n const contenedor = document.getElementById('calles-cortadas-trafico');\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.mapa');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calles cortadas de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('calles-cortadas-num-ayer');\n aplicarEstilosVariacion(elementVarDia, false);\n\n const elementVarSem = document.getElementById(\n 'calles-cortadas-num-semana-prev',\n );\n aplicarEstilosVariacion(elementVarSem, false);\n}\n\nexport function callesCongestionadas(data) {\n const dataWithFields = resultsetWithFields(data).sort(\n (a, b) => b.minutos_ayer - a.minutos_ayer,\n );\n\n const existenDatosDeCongestionAyer = existenDatosDeAyer(\n dataWithFields,\n 'YYYY-MM-DD',\n );\n\n const contenedor = document.getElementById('calles-congestionadas-trafico');\n\n const contenedorLista = contenedor.querySelector(':scope > ul');\n\n const descripcion = contenedor.querySelector(':scope > p');\n\n if (\n existenDatosDeCongestionAyer &&\n existeFilaConValor(\n dataWithFields,\n 'id',\n 'Ayer no hubo calles congestionadas',\n )\n ) {\n ocultarElemento(descripcion);\n mostrarMensajeNoDatos(contenedor, 'Ayer no hubo calles congestionadas.');\n\n return;\n }\n\n if (!existenDatosDeCongestionAyer) {\n ocultarElemento(descripcion);\n ocultarElemento(contenedorLista);\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de congestión de calles de ayer.',\n );\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'calle-cong',\n camposLeft: [\n {\n texto: 'AYER',\n clase: 'label',\n idSufijo: 'label',\n },\n {\n campo: 'minutos_ayer',\n clase: 'number',\n idSufijo: 'minutos',\n format: (v) => v.toLocaleString('de-DE'),\n span: 'min.',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n extra: (item, numId) => {\n const divNombre = document.createElement('div');\n divNombre.className = 'name';\n divNombre.id = `calle-cong-${numId}-nombre`;\n divNombre.textContent = item.id;\n return divNombre;\n },\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n\n const variaciones = contenedorLista.querySelectorAll(\n '[id$=\"var-dia\"], [id$=\"var-semana\"]',\n );\n\n variaciones.forEach((el) => {\n if (el.textContent.trim() === 'Sin congestión') {\n el.classList.add('no-congestion');\n }\n });\n}\n","export const TEXTS_SEGURIDAD = {\n es_ES: new Map([\n ['download', 'Descargar'],\n ['intervenciones_totales', 'INTERVENCIONES TOTALES'],\n ['intervenciones', 'intervenciones'],\n ['tipologia_nivel', 'TIPOLOGÍA NIVEL'],\n ['incidencias', 'incidencias'],\n ['incidencias_totales', 'INCIDENCIAS TOTALES'],\n ]),\n ca_ES: new Map([\n ['download', 'Desar'],\n ['intervenciones_totales', 'INTERVENCIONS TOTALS'],\n ['intervenciones', 'intervencions'],\n ['tipologia_nivel', 'TIPOLOGIA NIVELL'],\n ['incidencias', 'incidències'],\n ['incidencias_totales', 'INCIDÈNCIES TOTALS'],\n ]),\n};\n\nexport const TEXTS_MEDIOAMBIENTE = {\n es_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Aviso'],\n ['preaviso', 'Preaviso'],\n [\n 'avisos_diarios',\n 'Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones.',\n ],\n [\n 'avisos_horarios',\n 'Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones',\n ],\n ]),\n ca_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Avís'],\n ['preaviso', 'Preavís'],\n [\n 'avisos_diarios',\n 'Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions.',\n ],\n [\n 'avisos_horarios',\n 'Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions',\n ],\n ]),\n};\n","export const DEFAULT_LANGUAGE = 'es_ES';\n","export const COLORS = {\n naranjaPalido: '#F1AB86',\n tealPalido: '#48A9A6',\n amarilloPalido: '#ffbf69',\n azulPalido: '#4BA3C3',\n cranberryPalido: '#e56b6f',\n marinoPalido: '#284B63',\n naranja: '#F96E46',\n teal: '#307473',\n amarillo: '#F6AE2D',\n azulCeruleo: '#05668d',\n cranberry: '#A23E48',\n marino: '#0B3948',\n verdeClaro: '#6a9c81',\n tealApagado: '#7AA8A7',\n};\n","import { addPointInteger, capitalizarTexto } from 'vlcishared';\nimport { TEXTS_SEGURIDAD } from './utils/texts';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { COLORS } from '../style/colors';\n\n// Gráfica sección seguridad ciudadana | Tarta de Intervenciones totales Nivel 1\nexport const OPTIONS_INTERVENCIONES_PIE = {\n color: Object.values(COLORS),\n grid: {\n left: '1%',\n right: '1%',\n bottom: '2%',\n top: '20%',\n containLabel: true,\n },\n title: {\n show: false,\n text: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('intervenciones_totales'),\n subtext: `${TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('tipologia_nivel')} 1`,\n left: 'center',\n top: '0',\n itemGap: 5,\n textStyle: {\n fontSize: 15,\n fontFamily: 'Montserrat',\n fontWeight: 500,\n color: '#666',\n },\n subtextStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: 400,\n color: '#666',\n width: '100%',\n },\n },\n legend: {\n orient: 'vertical',\n top: 'middle',\n left: 'right',\n selectedMode: false,\n textStyle: {\n fontSize: '11',\n fontFamily: 'Montserrat',\n fontWeight: '400',\n color: '#333',\n },\n },\n toolbox: {\n show: false,\n right: '0',\n top: '0',\n emphasis: {\n iconStyle: {\n borderColor: '#ffcd00',\n textFill: '#666',\n },\n },\n feature: {\n saveAsImage: {\n title: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('download'),\n textStyle: {\n fontSize: 6,\n fontFamily: 'Montserrat',\n fontWeight: 300,\n },\n },\n },\n },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('intervenciones')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['23%', '50%'],\n startAngle: 0,\n data: [],\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: {\n show: false,\n length: 10,\n },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n\n// Gráfica sección incidencias ciudadanas | Tarta de Intervenciones por estado Nivel 1\nexport const OPTIONS_INCIDENCIAS_PIE = {\n color: [COLORS.cranberryPalido, COLORS.tealApagado],\n grid: {\n left: '0',\n right: '0',\n bottom: '0',\n top: '0',\n containLabel: true,\n },\n title: { show: false },\n legend: { show: false },\n toolbox: { show: false },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('incidencias')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['40%', '50%'],\n startAngle: 0,\n data: [],\n itemStyle: {\n borderWidth: 1,\n borderColor: COLORS.cranberryPalido,\n },\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: { show: false },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n","import {\n initChart,\n printDataChart,\n printDataInHTMLElements,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { OPTIONS_INTERVENCIONES_PIE as options } from './options-charts';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function intervencionesPoliciales(data) {\n const dataConfig = {\n 'TOTAL INTERVENCIONES': {\n num_ayer: {\n element: '#interv-pol-total',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#interv-pol-var-dia',\n variacion_semana_anterior: '#interv-pol-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n const contenedor = document.getElementById('intervenciones-policiales');\n\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.intervenciones-policiales-detalle');\n\n mostrarMensajeNoDatos(contenedor, 'No hay datos de intervenciones de ayer.');\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('interv-pol-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n\n const elementVarSem = document.getElementById('interv-pol-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function echartIntervencionesTotalesPie(vis, data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-intervenciones-ayer';\n const idNoData = 'no-data-intervenciones-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n return;\n }\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields\n .filter((dato) => dato.id !== 'TOTAL INTERVENCIONES')\n .map((dato) => ({\n name: dato.id,\n value: Number(dato.num_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n}\n","import {\n initChart,\n printDataChart,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { OPTIONS_INCIDENCIAS_PIE as options } from './options-charts';\nimport { existenDatosDeAyer } from './utils/data';\nimport { ocultarElementoPorId, mostrarMensajeNoDatos } from './utils/elements';\n\nexport function echartIncidenciasPorEstadoPie(data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-incid-ciudadanas-estado-ayer';\n const idNoData = 'no-data-incid-ciudadanas-estado-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields.map((dato) => ({\n name: dato.id,\n value: Number(dato.num_incidencias_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n\n const contenedor = document.getElementById(\n 'list-incidencias-ciudadanas-estado',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'Ayer no hubo incidencias.');\n\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n const contenedorIncidenciasCiudadanas = document.getElementById(\n 'incidencias-ciudadanas',\n );\n ocultarElementoPorId('incidencias-ciudadanas-estado');\n\n mostrarMensajeNoDatos(\n contenedorIncidenciasCiudadanas,\n 'No hay datos de incidencias registradas de ayer.',\n );\n return;\n }\n\n const configWidget = {\n idPrefijo: 'estado-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'value',\n idSufijo: 'estado',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n\nexport function top3IncidenciasPorTipologia(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById(\n 'incid-ciudadanas-tipologia-top-3',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorId('incidencias-ciudadanas-tipologia');\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'tipo-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'tipologia',\n },\n ],\n camposVariacion: [\n {\n campo: 'num_incidencias_ayer',\n idSufijo: 'num',\n clase: 'number',\n aplicarEstilosVariacion: false,\n },\n {\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function traficoAccesosCiudad(data) {\n const contenedor = document.getElementById('accesos-trafico');\n const dataConfig = {\n 'TOTAL VEHICULOS/HORA EN EL DIA': {\n veh_ayer: {\n element: '#accesos-traf-vehiculos',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#accesos-traf-var-dia',\n variacion_semana_anterior: '#accesos-traf-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de los vehículos que accedieron a la ciudad de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('accesos-traf-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n const elementVarSem = document.getElementById('accesos-traf-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function traficoAccesosCiudadDetalle(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('accesos-trafico-detalle');\n const contenedorLista = document.getElementById(\n 'accesos-trafico-detalle-lista',\n );\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de vehículos en las vías de acceso de ayer.',\n );\n return;\n }\n\n const accesosFiltrados = dataWithFields\n .filter((a) => a.id !== 'TOTAL VEHICULOS/HORA EN EL DIA')\n .sort((a, b) => b.veh_ayer - a.veh_ayer);\n\n const configWidget = {\n idPrefijo: 'acceso',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'nombre',\n },\n {\n campo: 'veh_ayer',\n clase: 'number',\n idSufijo: 'vehiculos',\n format: (v) => v.toLocaleString('de-DE'),\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n };\n\n crearWidgetVariacion(accesosFiltrados, contenedorLista, configWidget, true);\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { esNumber } from './utils/numbers';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos } from './utils/elements';\n\nexport function medioambienteClima(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('sensores-clima');\n const ul = contenedor.querySelector('ul');\n ul.innerHTML = '';\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos de clima de ayer.');\n return;\n }\n\n const fila = dataWithFields[0];\n\n const campos = [\n {\n id: 'clima-temp-media',\n campoBbdd: 'temperatura_media',\n label: 'Temperatura',\n unidad: '°C',\n },\n {\n id: 'clima-humedad-media',\n campoBbdd: 'humedad_media',\n label: 'Humedad',\n unidad: '%',\n },\n {\n id: 'clima-precip-acumulada',\n campoBbdd: 'precipitacion_acumulada',\n label: 'Precipitación acumulada',\n unidad: 'mm',\n },\n {\n id: 'clima-vel-viento-media',\n campoBbdd: 'velocidad_viento_media',\n label: 'Velocidad del viento',\n unidad: 'km/h',\n },\n ];\n\n const formatNumber = (value) =>\n esNumber(value) ? Number(value).toLocaleString('es-ES') : value;\n\n campos.forEach(({ id, campoBbdd, label, unidad }) => {\n const li = document.createElement('li');\n li.id = id;\n\n const divLabel = document.createElement('div');\n divLabel.className = 'label';\n divLabel.textContent = label;\n\n const divValue = document.createElement('div');\n divValue.className = 'value';\n divValue.textContent = formatNumber(fila[campoBbdd]);\n\n const divUnidad = document.createElement('div');\n divUnidad.className = 'medida';\n divUnidad.textContent = unidad;\n\n li.append(divLabel, divValue, divUnidad);\n ul.appendChild(li);\n });\n}\n","export const CONFIG_MEDIOAMBIENTE = new Map([\n ['NO2alerta', 400],\n ['NO2aviso', 200],\n ['NO2preaviso', 180],\n ['PM10aviso', 80],\n ['PM10preaviso', 50],\n]);\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { TEXTS_MEDIOAMBIENTE } from './utils/texts';\nimport { CONFIG_MEDIOAMBIENTE } from './utils/config';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos, ocultarElementoPorId } from './utils/elements';\n\nexport function medioambienteEstadoCalidadAire(data) {\n const estados = [\n 'Extremadamente Desfavorable',\n 'Muy Desfavorable',\n 'Desfavorable',\n 'Regular',\n 'Razonablemente Buena',\n 'Buena',\n ];\n\n const dataConfig = {\n 'ESTADO CALIDAD AIRE': {\n calidad_ambiental_ciudad: {\n element: '#estado-calidad-aire',\n format: (value) => value,\n },\n calidad_ambiental_ciudad_clase: {\n className: '#estado-calidad-aire',\n },\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n const contenedor = document.getElementById('calidad-aire');\n\n ocultarElementoPorId('sensores-calidad-aire');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calidad del aire de ayer.',\n );\n\n return;\n }\n\n const adaptedData = dataWithFields.map((item) => {\n const index = estados.indexOf(item.calidad_ambiental_ciudad);\n const clase = index !== -1 ? `aire-${6 - index}` : '';\n return {\n ...item,\n calidad_ambiental_ciudad_clase: clase,\n };\n });\n\n printDataInHTMLElements(adaptedData, dataConfig);\n}\n\nconst crearLinea = (tipo, contaminante, claveTexto, claveUmbral) => {\n const p = document.createElement('p');\n p.className = tipo;\n\n const strong = document.createElement('strong');\n strong.textContent = `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(\n tipo,\n )} ${contaminante}:`;\n\n p.appendChild(strong);\n p.append(\n `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(claveTexto).replace(\n '{umbral}',\n CONFIG_MEDIOAMBIENTE.get(claveUmbral),\n )}`,\n );\n\n return p;\n};\n\nexport function medioambienteAlertasHorarias(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_horarios';\n const contaminante = 'NO2';\n\n if (datos.cant_alertas > 1)\n contenedor.appendChild(\n crearLinea('alerta', contaminante, claveTexto, 'NO2alerta'),\n );\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'NO2aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'NO2preaviso'),\n );\n}\n\nexport function medioambienteAlertasDiarias(data) {\n const dataWithFields = resultsetWithFields(data);\n\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_diarios';\n const contaminante = 'PM10';\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'PM10aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'PM10preaviso'),\n );\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n ocultarElementoPorId,\n} from './utils/elements';\n\nconst hayAlertasDeRuido = { hayAlertasDeRuido: false };\n\nfunction getHayAlertasDeRuido() {\n return hayAlertasDeRuido.hayAlertasDeRuido;\n}\n\nfunction setHayAlertasDeRuido(valor) {\n hayAlertasDeRuido.hayAlertasDeRuido = Boolean(valor);\n}\n\nfunction mostrarEstadoSinDatosRuido(textoMensaje) {\n const contenedor = document.getElementById('sensores-ruido');\n if (!contenedor) return;\n\n ocultarElementoPorClase(contenedor, ':scope > p');\n\n ocultarElementoPorId('tabla-sensores-ruido');\n\n let mensaje = document.getElementById('mensaje-sin-datos-ruido');\n if (!mensaje) {\n mensaje = document.createElement('p');\n mensaje.id = 'mensaje-sin-datos-ruido';\n contenedor.appendChild(mensaje);\n }\n\n mensaje.textContent = textoMensaje;\n}\n\nfunction buildTableSensoresRuido(tbody, resultset) {\n function createTd(idName) {\n const td = document.createElement('td');\n td.id = idName;\n td.textContent = 0;\n return td;\n }\n\n const estaciones = [...new Set(resultset.map((item) => item.areaserved))];\n\n estaciones.forEach((estacion) => {\n const id = `estacion-${estacion.toLowerCase()}`;\n\n if (document.getElementById(id)) return;\n\n const tr = document.createElement('tr');\n tr.id = id;\n\n const tdNombre = createTd(`${id}-nombre`);\n tdNombre.textContent = estacion;\n tr.appendChild(tdNombre);\n\n tr.appendChild(createTd(`${id}-cant-manana`));\n tr.appendChild(createTd(`${id}-cant-tarde`));\n tr.appendChild(createTd(`${id}-cant-noche`));\n\n tbody.appendChild(tr);\n });\n}\n\nexport function fillTableSensoresRuido(resultset, tiempo) {\n const cantidadesEstacion = resultset.reduce((acc, item) => {\n acc[item.areaserved] = (acc[item.areaserved] || 0) + 1;\n return acc;\n }, {});\n\n Object.entries(cantidadesEstacion).forEach(([estacion, count]) => {\n const id = `estacion-${estacion.toLowerCase()}-cant-${tiempo}`;\n const td = document.getElementById(id);\n if (td) td.textContent = count;\n });\n}\n\nexport function sensoresRuido(data, tiempo) {\n const dataWithFields = resultsetWithFields(data);\n\n const existenDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n\n const existenAlertasDeRuido = getHayAlertasDeRuido();\n\n if (!existenDatosAyer) {\n mostrarEstadoSinDatosRuido(\n 'No hay datos de alertas de superación de ruido de ayer.',\n );\n return;\n }\n\n if (existenDatosAyer && !existenAlertasDeRuido) {\n mostrarEstadoSinDatosRuido('Ayer no hubo alertas de superación de ruido.');\n return;\n }\n\n const tbody = document.querySelector('#tabla-sensores-ruido > tbody');\n\n buildTableSensoresRuido(tbody, dataWithFields);\n fillTableSensoresRuido(dataWithFields, tiempo);\n}\n\nexport function countAlertasDeRuido(data) {\n const dataWithFields = resultsetWithFields(data);\n const alertasRuido = dataWithFields[0].total_alertas;\n\n if (alertasRuido > 0) {\n setHayAlertasDeRuido(true);\n } else {\n setHayAlertasDeRuido(false);\n }\n}\n","import { initElement } from 'vlcishared';\n\nexport function setFechaDatos() {\n const fechaDatos = new Date();\n fechaDatos.setDate(fechaDatos.getDate() - 1);\n\n const fechaFormateada = [\n String(fechaDatos.getDate()).padStart(2, '0'),\n String(fechaDatos.getMonth() + 1).padStart(2, '0'),\n fechaDatos.getFullYear(),\n ].join('/');\n\n initElement('fecha-datos', (el) => {\n // eslint-disable-next-line no-param-reassign\n el.textContent = fechaFormateada;\n });\n}\n","import { resultsetWithFields } from 'vlcishared';\n\nexport function setToken(data) {\n const resultSet = resultsetWithFields(data);\n const token = resultSet[0].token;\n if (!token) {\n throw new Error('No se pudo obtener el token desde base de datos');\n }\n mostrarMapaEstadosTrafico(token);\n}\n\nfunction mostrarMapaEstadosTrafico(token) {\n\n const URL_GEOPORTAL =\n 'https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300';\n\n try {\n const iframeMapaEstadosTrafico = document.querySelector(\n '#if-estados-trafico',\n );\n\n iframeMapaEstadosTrafico.setAttribute(\n 'src',\n `${URL_GEOPORTAL}&token=${token}`,\n );\n } catch (error) {\n console.error(\n 'No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:',\n error,\n );\n }\n}\n","import { initElementsByClass } from 'vlcishared';\n\nfunction isButton(element) {\n return element instanceof HTMLButtonElement;\n}\n\nexport function initGuiaButtons() {\n initElementsByClass('guia', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.add('historia');\n });\n });\n}\n\nexport function initInfoButtons() {\n initElementsByClass('info', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.remove('historia');\n });\n });\n}\n","import { initGuiaButtons, initInfoButtons } from '../events/button-events';\n\nexport function initializeUI() {\n initGuiaButtons();\n initInfoButtons();\n}\n"],"names":["root","factory","exports","module","define","amd","self","e","t","d","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","MONTHS_YEAR","a","MONTHS_YEAR_SHORT","i","TEXTS_COMMON","s","THRESHOLDS","$t","addPointInteger","v","buildCamarasTrafico","It","buildTableCalidadAire","Ft","calculateMaxYAxis","I","calculatePentahoPath","Nt","calculateXAxisStart","O","capitalizarTexto","x","checkAllGroupsCollapsed","Dt","configureDataBar","j","configureDataGaugeCommon","R","configureDataGaugeMonthCommon","q","configureDataLine","W","configureDataValidate","Yt","configureLinesChartValidates","Xt","convertDateToInteger","b","convertISODateToEUDate","S","convertToLanguageSelectorDateRange","mt","convertToTableTreeView","At","downloadCSVTable","Et","downloadPDFTable","xt","formatCellMultiplesLines","St","formatDayMonthYear","formatMilMillionEuros","k","formatMonthAnyo","u","formatName","E","formatNameHeaderColumn","bt","formatRoundTooltip","P","formatShortMonthShortYear","m","formatShortMonthYear","f","formatToMillions","M","formatToTons","A","formatTooltip","T","formatTooltipPie","z","formatTrimestre","p","formatWithPrefix","D","getEnvironment","Lt","getMaxFieldNumberFromData","U","getMonth","getMonthList","h","getSelectCommonOptions","st","getSelectTwoColumnsOptions","lt","initBarChart","Rt","initBarChartComparationMonth","jt","initChart","F","initContractAllGroups","Ct","initElement","w","initElementsByClass","$","initExpandAllGroups","wt","initStackedBarChart","kt","initStackedBarChartMonthSeries","_t","initTable","gt","initValueDefaultDate","dt","initialCalls","Ot","loadIframeOnClickEvent","Gt","printDataChart","L","printDataInHTMLElements","H","printEchart","B","printNoDataChart","N","resetFilter","it","resetFilterAndUpdate","yt","resetFilterDate","ut","resetFilterDates","ct","resetFilterToDefault","pt","resultsetWithFields","G","selectConfigDatasource","rt","selectConfigDatasourceAllValue","at","selectFilterAll","nt","selectFilterNumItemsDefault","ht","selectValueDefaultInFilter","ft","separateDayMonthYearToSlash","l","splitDataset","X","subtractOneDay","y","subtractOneMonth","g","traverseRows","Mt","updateDomElement","Y","updateObject","V","updateStackedBarOptions","Bt","Map","parseInt","toString","es_ES","ca_ES","substring","c","split","parseFloat","Array","from","values","map","slice","Math","floor","Date","setDate","getDate","getFullYear","padStart","replace","navigator","language","userLanguage","length","toUpperCase","minimumFractionDigits","maximumFractionDigits","toLocaleString","round","prefix","forEach","includes","toLowerCase","C","Promise","document","body","addEventListener","console","error","once","getElementById","resolve","getElementsByClassName","echarts","init","setOption","window","resize","querySelector","hidden","style","background","name","data","color","seriesName","max","percent","marker","Number","_","ceil","push","String","type","shift","title","offsetCenter","fontFamily","fontSize","detail","width","formatter","innerWidth","J","resultset","Set","add","day","sort","localeCompare","ignorePunctuation","filter","find","symbol","symbolSize","smooth","metadata","colName","keys","isArray","id","entries","className","element","format","textContent","isNaN","warn","Cont","Mob","Z","K","Q","tt","et","this","dashboard","fireChange","parameter","ot","queryDefinition","dataAccessId","setParameter","Dashboards","input","indexes","label","component","Root","strings","isDisabled","allItems","noItems","btnApply","btnCancel","Group","Strings","getParameterValue","regional","es","monthNames","abbreviatedMonthNames","dayNames","abbreviatedDayNames","dayNamesMin","weekHeader","firstDay","isRTL","showMonthAfterYear","yearSuffix","setDefaults","getComponent","update","Tabulator","getValue","substr","vt","treeExpand","treeCollapse","getTreeChildren","getRows","_children","getGroups","_group","visible","cloneNode","parentNode","replaceChild","download","delimiter","bom","getData","getColumns","getField","every","test","trim","halign","rowCalcStyles","fontStyle","autoTable","styles","lineWidth","lineColor","headStyles","columnStyles","setGroupStartOpen","setData","SO2","NO2","O3","PM10","PM25","createElement","setAttribute","innerHTML","classList","operationalstatus","so2value","no2value","o3value","pm10value","pm25value","address","appendChild","entityid","location","documentURI","href","Tt","querySelectorAll","XMLHttpRequest","onreadystatechange","readyState","status","responseText","open","send","getAttribute","realDashboardsInit","dispatchEvent","Event","remove","match","Liferay","ThemeDisplay","getBCP47LanguageId","src","IntersectionObserver","isIntersecting","setTimeout","observe","userAgent","MSStream","display","zt","grid","containLabel","left","top","textStyle","fontWeight","legend","orient","bottom","toolbox","show","right","feature","restore","saveAsImage","emphasis","iconStyle","borderColor","textFill","tooltip","xAxis","axisLabel","interval","yAxis","alignTicks","position","Pt","anyo","text","axisPointer","trigger","contentSize","viewSize","padding","splitNumber","nameLocation","nameTextStyle","margin","splitLine","lineStyle","series","stack","itemStyle","focus","reduce","borderWidth","appendToBody","showBackground","qt","Jt","Wt","barGap","onload","disabled","Vt","Ht","Ut","showSymbol","fecha","markArea","silent","opacity","boundaryGap","nameGap","align","verticalAlign","scale","dataZoom","end","fillerColor","textBorderColor","textBorderWidth","selectedDataBackground","areaStyle","dataBackground","backgroundColor","handleStyle","moveHandleStyle","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","key","obj","prop","esNumber","valor","aplicarEstilosVariacion","elemento","porcentaje","el","num","obtenerClaseVariacion","esPositivo","quitarSigno","porcentajeEl","append","crearWidgetVariacion","datos","contenedor","config","mostrarProgreso","idPrefijo","camposLeft","camposVariacion","mayorValor","campo","item","numId","listItem","divDatos","divLeft","div","clase","idSufijo","texto","span","crearBloqueLeft","divChanges","cambio","aplicarEstilos","mostrarPorcentaje","labelEl","valueEl","crearBloqueVariacion","crearBloqueChanges","extra","divProgreso","valorActual","crearProgresoVariacion","FORMATEADORES","YYYYMMDD","yyyy","mm","dd","existenDatosDeAyer","dataWithFields","formatoFecha","nombreCampoFecha","fechaAyer","ayer","obtenerFechaAyer","some","fila","ocultarElementoPorId","idElemento","ocultarElemento","ocultarElementoPorClase","mostrarMensajeNoDatos","textoMensaje","elementoMensaje","callesCortadas","dataConfig","num_ayer","diferencia_dia_anterior","diferencia_semana_anterior","elementVarDia","elementVarSem","callesCongestionadas","minutos_ayer","existenDatosDeCongestionAyer","contenedorLista","descripcion","existeFilaConValor","divNombre","TEXTS_SEGURIDAD","TEXTS_MEDIOAMBIENTE","DEFAULT_LANGUAGE","COLORS","naranjaPalido","tealPalido","amarilloPalido","azulPalido","cranberryPalido","marinoPalido","naranja","teal","amarillo","azulCeruleo","cranberry","marino","verdeClaro","tealApagado","OPTIONS_INTERVENCIONES_PIE","subtext","itemGap","subtextStyle","selectedMode","confine","param","radius","center","startAngle","distanceToLabelLine","lineHeight","labelLine","shadowBlur","shadowOffsetX","shadowColor","OPTIONS_INCIDENCIAS_PIE","intervencionesPoliciales","variacion_dia_anterior","variacion_semana_anterior","echartIntervencionesTotalesPie","vis","chartOptions","JSON","parse","stringify","idChart","idNoData","dato","echartIncidenciasPorEstadoPie","num_incidencias_ayer","contenedorIncidenciasCiudadanas","top3IncidenciasPorTipologia","traficoAccesosCiudad","veh_ayer","traficoAccesosCiudadDetalle","accesosFiltrados","medioambienteClima","ul","campoBbdd","unidad","li","divLabel","divValue","divUnidad","CONFIG_MEDIOAMBIENTE","medioambienteEstadoCalidadAire","estados","adaptedData","index","indexOf","calidad_ambiental_ciudad","calidad_ambiental_ciudad_clase","crearLinea","tipo","contaminante","claveTexto","claveUmbral","strong","medioambienteAlertasHorarias","cant_alertas","cant_avisos","cant_preavisos","medioambienteAlertasDiarias","hayAlertasDeRuido","mostrarEstadoSinDatosRuido","mensaje","sensoresRuido","tiempo","existenDatosAyer","existenAlertasDeRuido","tbody","createTd","idName","td","areaserved","estacion","tr","tdNombre","buildTableSensoresRuido","cantidadesEstacion","acc","count","fillTableSensoresRuido","countAlertasDeRuido","total_alertas","Boolean","setFechaDatos","fechaDatos","fechaFormateada","join","setToken","token","Error","mostrarMapaEstadosTrafico","isButton","HTMLButtonElement","initializeUI"],"sourceRoot":""}
1
+ {"version":3,"file":"inicio.js","mappings":"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","sources":["webpack://@vlci/cdmvalencia_ahir/webpack/universalModuleDefinition","webpack://@vlci/cdmvalencia_ahir/./node_modules/@vlci/vlcishared/dist/js/vlcishared.js","webpack://@vlci/cdmvalencia_ahir/webpack/bootstrap","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/define property getters","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/hasOwnProperty shorthand","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/make namespace object","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/numbers.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/format.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/variacion.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/date.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/data.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/elements.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/estado-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/texts.js","webpack://@vlci/cdmvalencia_ahir/./src/common-language.js","webpack://@vlci/cdmvalencia_ahir/./src/style/colors.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/options-charts.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/intervenciones-policiales.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/incidencias-ciudadanas.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/trafico-accesos-ciudad.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-clima.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/config.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-calidad-aire.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/sensores-ruido.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/fecha.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/mapa-geoportal-estados-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/events/button-events.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/ui.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"inicio\"] = factory();\n\telse\n\t\troot[\"inicio\"] = factory();\n})(self, () => {\nreturn ","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.vlcishared=e():t.vlcishared=e()}(self,()=>(()=>{\"use strict\";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.r(e),t.d(e,{MONTHS_YEAR:()=>a,MONTHS_YEAR_SHORT:()=>i,TEXTS_COMMON:()=>s,THRESHOLDS:()=>$t,addPointInteger:()=>v,buildCamarasTrafico:()=>It,buildTableCalidadAire:()=>Ft,calculateMaxYAxis:()=>I,calculatePentahoPath:()=>Nt,calculateXAxisStart:()=>O,capitalizarTexto:()=>x,checkAllGroupsCollapsed:()=>Dt,configureDataBar:()=>j,configureDataGaugeCommon:()=>R,configureDataGaugeMonthCommon:()=>q,configureDataLine:()=>W,configureDataValidate:()=>Yt,configureLinesChartValidates:()=>Xt,convertDateToInteger:()=>b,convertISODateToEUDate:()=>S,convertToLanguageSelectorDateRange:()=>mt,convertToTableTreeView:()=>At,downloadCSVTable:()=>Et,downloadPDFTable:()=>xt,formatCellMultiplesLines:()=>St,formatDayMonthYear:()=>d,formatMilMillionEuros:()=>k,formatMonthAnyo:()=>u,formatName:()=>E,formatNameHeaderColumn:()=>bt,formatRoundTooltip:()=>P,formatShortMonthShortYear:()=>m,formatShortMonthYear:()=>f,formatToMillions:()=>M,formatToTons:()=>A,formatTooltip:()=>T,formatTooltipPie:()=>z,formatTrimestre:()=>p,formatWithPrefix:()=>D,getEnvironment:()=>Lt,getMaxFieldNumberFromData:()=>U,getMonth:()=>r,getMonthList:()=>h,getSelectCommonOptions:()=>st,getSelectTwoColumnsOptions:()=>lt,initBarChart:()=>Rt,initBarChartComparationMonth:()=>jt,initChart:()=>F,initContractAllGroups:()=>Ct,initElement:()=>w,initElementsByClass:()=>$,initExpandAllGroups:()=>wt,initStackedBarChart:()=>kt,initStackedBarChartMonthSeries:()=>_t,initTable:()=>gt,initValueDefaultDate:()=>dt,initialCalls:()=>Ot,loadIframeOnClickEvent:()=>Gt,printDataChart:()=>L,printDataInHTMLElements:()=>H,printEchart:()=>B,printNoDataChart:()=>N,resetFilter:()=>it,resetFilterAndUpdate:()=>yt,resetFilterDate:()=>ut,resetFilterDates:()=>ct,resetFilterToDefault:()=>pt,resultsetWithFields:()=>G,selectConfigDatasource:()=>rt,selectConfigDatasourceAllValue:()=>at,selectFilterAll:()=>nt,selectFilterNumItemsDefault:()=>ht,selectValueDefaultInFilter:()=>ft,separateDayMonthYearToSlash:()=>l,splitDataset:()=>X,subtractOneDay:()=>y,subtractOneMonth:()=>g,traverseRows:()=>Mt,updateDomElement:()=>Y,updateObject:()=>V,updateStackedBarOptions:()=>Bt});const n=\"es_ES\",o=(new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]]),{\"01\":\"Enero\",\"02\":\"Febrero\",\"03\":\"Marzo\",\"04\":\"Abril\",\"05\":\"Mayo\",\"06\":\"Junio\",\"07\":\"Julio\",\"08\":\"Agosto\",\"09\":\"Septiembre\",10:\"Octubre\",11:\"Noviembre\",12:\"Diciembre\"});function r(t){return{1:\"Gen\",2:\"Feb\",3:\"Mar\",4:\"Abr\",5:\"Mai\",6:\"Jun\",7:\"Jul\",8:\"Ago\",9:\"Sep\",10:\"Oct\",11:\"Nov\",12:\"Des\"}[parseInt(t.toString(),10)]}const a={es_ES:new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),ca_ES:new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]])},i={es_ES:new Map([[\"1\",\"Ene\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"May\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Sep\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Dic\"]]),ca_ES:new Map([[\"1\",\"Gen\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"Mai\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Set\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Des\"]])},s={es_ES:new Map([[\"last_update\",\"Última actualización\"]]),ca_ES:new Map([[\"last_update\",\"Última actualització\"]])};function l(t){return`${t.substring(6,8)}/${t.substring(4,6)}/${t.substring(0,4)}`}function c(t){return[t.substring(0,4),o[t.substring(4,6)]]}function u(t){const[e,n]=c(t);return`${n} ${e}`}function d(t){const[e,n,r]=function(t){return[t.substring(0,4),o[t.substring(4,6)],t.substring(6,8)]}(t);return`${r} ${n} ${e}`}function f(t){const[e,n]=c(t);return`${n.substring(0,3)} ${e}`}function m(t){const[e,n]=c(t);return`${n.substring(0,3)} '${e.substring(2,4)}`}function p(t){const[e,n]=t.split(\"-\");return`${parseFloat(n)/3}T ${e}`}function h(){const t=a[n];return Array.from(t.values()).map(t=>t.slice(0,3))}function y(t){const e=Math.floor(t/1e4),n=new Date(e,t%1e4/100-1,t%100);return n.setDate(n.getDate()-1),`${n.getFullYear()}${(n.getMonth()+1).toString().padStart(2,\"0\")}${n.getDate().toString().padStart(2,\"0\")}`}function g(t){const e=new Date(Math.floor(t/100),t%100-1,0);return`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,\"0\")}`}function b(t){return\"string\"==typeof t?parseInt(t.replace(\"-\",\"\"),10):t}function S(t){if(!t||\"string\"!=typeof t)return\"\";const[e,n,o]=t.split(\"-\");return`${o}/${n}/${e}`}function v(t,e=2){let n=navigator.language||navigator.userLanguage;n=n.length<=2?`${n}-${n.toUpperCase()}`:n;const o={minimumFractionDigits:0,maximumFractionDigits:e};return\"es-ES\"===n?t.toLocaleString(\"de-DE\",o):t.toLocaleString(n,o)}function M(t){const e=1e6;return t>=e?t/e+\"M\":t.toString()}function A(t){return t>=1e3?t/1e3+\" Tn\":t.toString()}function D(t){let e,n;return t>=1e6?(e=t/1e6,n=\"G\"):t>=1e3?(e=t/1e3,n=\"M\"):(e=t,n=\"k\"),{value:Math.round(100*e)/100,prefix:n}}function E(t,e=29){if(t.length>=e){const n=t.split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{`${o} ${t}`.length<=e?o+=(o?\" \":\"\")+t:(r+=`${o}\\n`,o=t)}),r+=o,r}return t}function x(t){return t.includes(\"N/D\")?t:t.toLowerCase().replace(/(^|\\s|[.,;:!?¡¿(){}[\\]])([^\\s])/gu,(t,e,n)=>e+n[0].toUpperCase())}function C(t,e,n,o){return new Promise(r=>{document.body.addEventListener(t,()=>{const t=e();t?r(n(t)):(console.error(o),r(null))},{once:!0})})}function w(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementById(t);return o?Promise.resolve(e(o)):C(n,()=>document.getElementById(t),t=>e(t),`El elemento con ID ${t} aún no está disponible después del evento.`)}function $(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementsByClassName(t);return o&&0!==o.length?Promise.resolve(Array.from(o).map(t=>e(t))):C(n,()=>{const e=document.getElementsByClassName(t);return e.length>0?Array.from(e):null},t=>t.map(t=>e(t)),`No se encontraron elementos con la clase ${t} después del evento.`)}function F(t,e){return w(t,t=>{const n=echarts.init(t);n.setOption(e,!0),window.addEventListener(\"resize\",()=>{null!=n&&void 0!==n&&n.resize()});const o=document.getElementById(\"main-content\");return o&&(o.addEventListener(\"shown.bs.collapse\",()=>{n.resize()}),o.addEventListener(\"hidden.bs.collapse\",()=>{n.resize()})),n})}function N(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"url('./build/images/nodata1.png') no-repeat top center\",o.hidden=!1)}function L(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"#ffffff\",o.hidden=!1)}function T(t,e=!1,n=!0,o=\"\"){let r=`<p style=\"font-weight: 500;color: #565656;\">${t[0].name}</p>`;return t.forEach(t=>{const a=e?Math.round(t.data):t.data,i=n?`<div style=\"font-weight: 400;color: #666;\">${s=t.color,`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}\"></span>`} ${t.seriesName}: \\n <span style=\"float: right; margin-left:20px;font-weight: 600;color: #565656;\">\\n ${t.data?`${v(a)} ${o}`:\"-\"}\\n </span>\\n </div>`:`<div>\\n <span style=\"font-weight: 600;color: #565656;\">${t.data?`${v(a)} ${o}`:\"-\"}\\n </span>\\n </div>`;var s;r+=i}),r}function O(t){return 100*(t-120)/t}function I(t,e){const n=Math.max(...t);return n+(e-n%e)}function z(t,e=!1){const n=`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${t.color}\"></span>`,o=e?`${t.percent}%`:v(t.value);return`<div> ${n} ${t.name} <span style=\"float: right; margin-left:20px;font-weight: 600;color: #333;\"> ${o} </span></div>`}function P(t,e){let n=`${t.name} : `;return n+=`<span style=\"font-weight:500\">${v(Math.round(t.value))}</span>`,e&&(n+=`<span> (${t.percent}%)</span>`),t.marker+n}function k(t){const e=1e6,n=Number(t);return n>=0&&n<e?`${v(n)} €`:n>=e?`${v(n/e)} M €`:\"-\"}function B(t,e,n){return 0===t.length?(N(`#${e}`,`#${n}`),!1):(L(`#${n}`,`#${e}`),!0)}function _(t,e,n=1){const o=Math.max(...t.map(t=>t[e]))*n;return 5e3*Math.ceil(o/5e3)}function R(t,e,n,o=30,r=15,a=30,i=-70,s=70,l=3){const c=_(t,e.data,1.1),u=s,d=n.slice(),f=[];let m=r,p=a,h=i;for(let n=0;n<t.length;n+=1)f.push({value:t[n][e.data],name:E(String(t[n][e.type]).replace(/\\[.*?\\]/g,\"\")),color:d.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(m)}%`],fontFamily:\"Montserrat\",fontSize:o},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:\"Montserrat\",width:\"33%\",formatter:t=>v(Math.round(t))}}),h+=u,(n+1)%l===0&&(p+=a,m+=2*r,h=i);return[c,f]}function q(t,e,n,o=0){return[_(e,n.data,1),t=>function(t,e,n){const o=v(Math.round(e)),a=r(t[n][0]),i=t[n][1],s=`\\n${a} ${i} : ${o}`,l=`${o}\\n${a} ${i}`;return window.innerWidth<=1710?s:l}(e,t,o),[{value:e[o][n.data]}]]}function J(t,e){const{resultset:n}={resultset:t},o=new Set,r=new Set,a=n.map(([t,n,a])=>{const i=e?Math.round(a):a;return o.add(t),r.add(n),{day:n,type:t,value:i}}),i=Array.from(r.values()),s=Array.from(o.values());return s.sort((t,e)=>t.toLowerCase().localeCompare(e.toLowerCase(),\"es\",{ignorePunctuation:!0})),[s.map(t=>{const e=a.filter(e=>e.type===t).map(({day:e,value:n})=>[e,t,n]),n=i.map(t=>{const n=e.find(([e])=>e===t);return n?n[2]:null});return{name:t,data:n}}),s,r]}function W(t,e=[],n=!1){const[o,r,a]=J(t,n);return o.forEach(t=>{t.type=\"line\",t.symbol=\"circle\",t.symbolSize=6,t.smooth=.1,e.length>0&&(t.color=e.shift())}),[o,a,r]}function j(t,e,n=!1){const[o,r,a]=J(t,n);return o.forEach(t=>{t.type=\"bar\",t.color=e.shift(),t.smooth=!1}),[o,a,r]}function G(t){const{resultset:e,metadata:n}=t,o=[];return e.forEach(t=>{const e={};t.forEach((t,o)=>{e[n[o].colName]=t}),o.push(e)}),o}function V(t,e){const n={...t};return Object.keys(e).forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)&&(\"series\"===o&&Array.isArray(e[o])?n[o]=e[o].map((e,n)=>({...Array.isArray(t[o])&&t[o][n]||{},...e})):\"object\"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?t[o]!==e[o]&&(n[o]=e[o]):n[o]=V(t[o]||{},e[o]))}),n}function H(t,e){const n=()=>{t.forEach(t=>{t.id in e&&Object.entries(e[t.id]).forEach(n=>{const o=n[0],r=n[1];\"object\"==typeof r?r.className?document.querySelector(r.className).className=t[o]:r.element&&r.format&&(document.querySelector(r.element).textContent=e[t.id][o].format(t[o])):document.querySelector(r).textContent=t[o]})})};try{n()}catch(t){document.body.addEventListener(\"MainContentLoadedCustom\",()=>{n()})}}function U(t,e){const n=G(t),o=[];let r=null;return n.forEach(t=>{const n=t[e];\"number\"!=typeof n||Number.isNaN(n)||o.push(n)}),o.length>0&&(r=Math.max(...o)),r}function Y(t,e){const n=document.querySelector(t);n?n.textContent=e:console.warn(`Elemento ${t} no encontrado en el DOM`)}function X(t,e=!0){const n={Cont:[],Mob:[]};return t.forEach(t=>{\"is-res-001-kgs-contenidors\"===t[0]&&\"total\"===t[1]&&(e?n.Cont.push([t[3],t[4],t[2]]):n.Cont.push([t[3],t[2]])),\"Mobles\"===t[1]&&(e?n.Mob.push([t[3],t[4],t[2]]):n.Mob.push([t[3],t[2]]))}),n}const Z=[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"],K=[\"Ene\",\"Feb\",\"Mar\",\"Abr\",\"May\",\"Jun\",\"Jul\",\"Ago\",\"Sep\",\"Oct\",\"Nov\",\"Dic\"],Q=[\"Domingo\",\"Lunes\",\"Martes\",\"Miércoles\",\"Jueves\",\"Viernes\",\"Sábado\"],tt=[\"Dom\",\"Lun\",\"Mar\",\"Mié\",\"Juv\",\"Vie\",\"Sáb\"],et=[\"Do\",\"Lu\",\"Ma\",\"Mi\",\"Ju\",\"Vi\",\"Sá\"];function nt(t){const e=t.resultset.map(t=>t[0]);return this.dashboard.fireChange(this.parameter,e),t}function ot(t){for(const e of t)if(Array.isArray(e)){if(!ot(e))return!1}else if(\"All\"!==e)return!1;return!0}function rt(t,e,n,o){return ot(e)?(t.queryDefinition.dataAccessId=n,t.dashboard.setParameter(t.parameter,[\"All\"])):t.queryDefinition.dataAccessId=o,!0}function at(t){return t.dashboard.setParameter(t.parameter,[\"All\"]),!0}function it(t){t.forEach(t=>{Dashboards.fireChange(t,[\"All\"])})}function st(t=\"Todos\"){return{input:{root:{id:\"All\"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:\"No disponible\",allItems:t,noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}},Group:{Strings:{allItems:\"Todos\",noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}}}}}function lt(t=\"Todos\"){const e=st(t);return e.input.indexes.id=1,e.input.indexes.label=0,e}function ct(t,e,n,o){const r=Dashboards.getParameterValue(n),a=Dashboards.getParameterValue(o);return Dashboards.fireChange(t,[r]),Dashboards.fireChange(e,[a]),!0}function ut(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,[n]),!0}function dt(t,e){Dashboards.fireChange(e,t.resultset[0][0])}function ft(t,e){const n=Dashboards.getParameterValue(e),o=t.parameter;\"\"!==n&&t.dashboard.setParameter(o,[n])}function mt(t){t.regional.es={monthNames:Z,abbreviatedMonthNames:K,dayNames:Q,abbreviatedDayNames:tt,dayNamesMin:et,weekHeader:\"Sm\",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:\"\"},t.setDefaults(t.regional.es)}function pt(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,Array.isArray(n)?n:[n]),!0}function ht(t,e,n,o=0){const r=t.resultset.slice(0,n).map(t=>t[o]);return Dashboards.setParameter(e,r),t}function yt(t,e,n){const o=Array.isArray(e)?e:[e];Dashboards.fireChange(t,o);const r=Dashboards.getComponent(n);r&&r.update()}function gt(t,e){return w(t,t=>new Tabulator(t,e))}function bt(t,e){let n=t.getValue();return n.length>e&&(n=`${n.substr(0,e)}<br>${n.substr(e)}`),n}function St(t,e){const n=t.getValue().split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{(r+t).length<=e?r+=`${t} `:(o+=`${r}<br>`,r=`${t} `)}),o+=`${r}<br>`,o}function vt(t,e){\"expand\"===e?t.treeExpand():t.treeCollapse();const n=t.getTreeChildren();n.length>0&&n.forEach(t=>{t.getTreeChildren().length>0&&vt(t,e)})}function Mt(t,e){t.getRows().forEach(t=>{t.getTreeChildren().length>0&&vt(t,e)})}function At(t,e,n,o){const r=[];return Object.keys(t).forEach(a=>{if(Object.prototype.hasOwnProperty.call(t,a)){const i=t[a],s={[e]:i[0],_children:[]};i.shift(),i.forEach((t,r)=>{const a={[e]:n[r],[o]:t};s._children.push(a)}),r.push(s)}}),r}function Dt(t){let e=!0;return t.getGroups().forEach(t=>{t._group.visible&&(e=!1)}),e}function Et(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{t.download(\"csv\",`${e}.csv`,{delimiter:\";\",bom:!0})})}function xt(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{const n=t.getRows().map(t=>t.getData()),o=t.getColumns(),r={};o.forEach((t,e)=>{const o=t.getField();o&&n.every(t=>{const e=t[o];return null==e||/^-?\\d+([.,]\\d+)?$/.test(e.toString().trim())})&&(r[e]={halign:\"right\"})}),t.download(\"pdf\",`${e}.pdf`,{title:e,rowCalcStyles:{fontSize:8,fontStyle:\"bold\"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:\"center\"},columnStyles:r}})})}function Ct(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!1),t.setData(e)})}function wt(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!0),t.setData(e)})}const $t={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function Ft(t){const e=[],n={0:\"b\",1:\"a\",2:\"d\",3:\"m\",4:\"mm\",5:\"em\",6:\"\",7:\"nd\"};function o(t,e,o){const r=document.createElement(\"td\");if(r.setAttribute(\"id\",t),null!=e){r.innerHTML=e;const t=function(t,e){let o;return void 0===e?o=6:\"ND\"===e?o=7:(o=5,t.forEach((t,n)=>{e<=t&&5===o&&(o=n)})),n[o]}(o,e);r.classList.add(t)}return r}return t.forEach(t=>{const n=t;\"noData\"===n.operationalstatus&&(n.so2value=\"ND\",n.no2value=\"ND\",n.o3value=\"ND\",n.pm10value=\"ND\",n.pm25value=\"ND\");const r=document.createElement(\"tr\"),a=document.createElement(\"td\");a.innerHTML=n.address,r.appendChild(a),r.appendChild(o(`${n.entityid}_so2`,n.so2value,$t.SO2)),r.appendChild(o(`${n.entityid}_no2`,n.no2value,$t.NO2)),r.appendChild(o(`${n.entityid}_o3`,n.o3value,$t.O3)),r.appendChild(o(`${n.entityid}_pm10`,n.pm10value,$t.PM10)),r.appendChild(o(`${n.entityid}_pm25`,n.pm25value,$t.PM25)),e.push(r)}),e}function Nt(t){document.location=`${document.documentURI.split(\"%3A\")[0]}%3A${document.documentURI.split(\"%3A\")[1]}%3A${document.documentURI.split(\"%3A\")[2]}%3A${document.documentURI.split(\"%3A\")[3]}%3A${t}`}function Lt(){const t=window.location.href;let e=\"\";return e=t.includes(\"localhost\")?\"local\":t.includes(\"sc_valencia_pre\")?\"PRE\":\"PRO\",e}function Tt(t,e){document.querySelectorAll(`[${t}]`).forEach(n=>{!function(t,e,n){const o=e;if(t){const e=new XMLHttpRequest;e.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(o.innerHTML=this.responseText,n&&n()),404===this.status&&(o.innerHTML=\"No se ha podido cargar correctamente.\"))},e.open(\"GET\",t,!0),e.send()}}(n.getAttribute(t),n,e)})}function Ot(t){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn(\"Dashboards.init bloqueado temporalmente\")},Tt(\"include-html-cabecera\",function(){!function(){const t=Lt();\"PRO\"!==t&&(document.title+=` (${t})`)}(),function(){const t=Lt();\"PRO\"!==t&&(document.querySelector(\"nav\").querySelectorAll(\"span\")[1].textContent+=` (${t})`)}()}),Tt(\"include-html-menu\"),Tt(\"include-html-main-container\",function(){document.body.dispatchEvent(new Event(\"MainContentLoadedCustom\")),function(){const t=document.querySelector(\"body\");t.classList.remove(\"inicio\"),t.classList.add(document.documentURI.split(\"%3A\")[4].match(/(.*?).wcdf/)[1])}(),t&&t()}),Tt(\"include-html-copyright\"),function(t=\"MainContentLoadedCustom\"){document.body.addEventListener(t,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(t){console.warn(\"No se pudo restaurar Dashboards.init; la función original no está disponible.\")}},{once:!0})}()}function It(t,e,n,o,r,a){let i=!1,s=!1;const l=document.querySelector(t),c=document.querySelector(e),u=()=>{\"undefined\"!=typeof Liferay&&\"ca-ES\"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=cas\")):(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=val\"))};function d(t=!0){const e=document.querySelector(n);t?(l&&(l.src=\"about:blank\"),c&&(c.src=\"about:blank\"),e.classList.add(\"blur\"),s=!0):(e.classList.remove(\"blur\"),u(),s=!1)}const f=t=>{new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(s||u(),i||(i=!0,window.setTimeout(d,a)))})}).observe(t)};!function(){const{userAgent:t}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(t)&&!window.MSStream}()?(l&&(l.setAttribute(\"sandbox\",\"allow-scripts\"),f(l)),c&&(c.setAttribute(\"sandbox\",\"allow-scripts\"),f(c)),document.querySelector(r).addEventListener(\"click\",()=>{d(!1),window.setTimeout(d,a)})):document.querySelectorAll(o)[0].style.display=\"none\"}const zt={grid:{containLabel:!0},title:{left:\"center\",top:\"0\",textStyle:{fontSize:15,fontFamily:\"Montserrat\",fontWeight:500,color:\"#666\"}},legend:{orient:\"horizontal\",bottom:\"0\",left:\"center\",width:\"100%\",textStyle:{fontSize:11,fontFamily:\"Montserrat\",fontWeight:400,color:\"#666\"}},toolbox:{show:!0,right:\"0\",top:\"0\",feature:{restore:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}}},emphasis:{iconStyle:{borderColor:\"#ffcd00\",textFill:\"#666\"}}},tooltip:{textStyle:{fontFamily:\"Montserrat\",fontSize:12}},xAxis:[{type:\"category\",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:\"Montserrat\",fontSize:11}},data:[]}],yAxis:[{type:\"value\",alignTicks:!0,position:\"right\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${t}%`}},{type:\"value\",position:\"left\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${M(t)}€`}}]},Pt=(t,e)=>{e.sort((t,e)=>parseInt(t.anyo)-parseInt(e.anyo));const n={};e.forEach(e=>{const o=e[1],r=e[0];r!==t.seriesName||n[o]||(n[o]=0),r===t.seriesName&&(n[o]+=e[2])});let o=`<p>${t.seriesName}</p>`;for(const[e,r]of Object.entries(n))o+=`<div>${t.marker} ${e}: <span style=\"float: right; margin-left:20px;font-weight: 600;\">${v(r)}</span></div>`;return o};function kt(t,e,n=void 0,o=void 0){const r=null===o?void 0:o,a=new Set(e.map(t=>t[1]));let i;const s={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},tooltip:{axisPointer:{type:\"shadow\"},trigger:\"item\",formatter:t=>Pt(t,e),textStyle:{fontFamily:\"Montserrat\"},position(t,e,n,o,r){const a={},i=r.contentSize[1]/2,s=r.viewSize[1],l=t[1];return l<i?a.top=10:l+i>s?a.bottom=10:a.top=l-i,t[0]<r.viewSize[0]/2?a.left=t[0]+20:a.right=r.viewSize[0]-t[0]+20,a}},legend:{padding:40,textStyle:{fontFamily:\"Montserrat\"}},grid:{left:\"3%\",right:\"4%\",bottom:\"3%\",containLabel:!0},xAxis:{type:\"value\",splitNumber:10,name:\"SIN NOMBRE\",nameLocation:\"start\",nameTextStyle:{fontWeight:\"bold\",fontFamily:\"Montserrat\",color:\"#666\",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:\"Montserrat\"},formatter:t=>v(t)},splitLine:{lineStyle:{color:\"#DDD\"}}},yAxis:{type:\"category\",data:Array.from(a),axisLabel:{textStyle:{fontFamily:\"Montserrat\"}}},series:(()=>{const t={name:\"SIN NOMBRE\",type:\"bar\",stack:\"total\",label:{show:!0,fontFamily:\"Montserrat\",fontSize:10,formatter:t=>v(Math.round(t.value))},itemStyle:void 0,emphasis:{focus:\"series\"},data:void 0};r&&r.itemStyle&&Array.isArray(r.itemStyle.borderColor)&&(i=[...r.itemStyle.borderColor],delete r.itemStyle.borderColor);const n=function(t){return t.reduce((t,e)=>{const n=e[0];return t[n]||(t[n]=[]),t[n].push(e),t},{})}(e),o=Object.keys(n);a.forEach(t=>{o.forEach(e=>{void 0===n[e].find(e=>e[1]===t)&&(n[e].push([n[e][0][0],t,void 0]),n[e].sort())})});const s=[];return Object.keys(n).forEach(e=>{i&&(t.itemStyle={borderColor:i.shift()}),t.name=e,t.data=n[e].map(t=>t[2]);let o={};o=void 0!==r?V(t,r):t,s.push({...o})}),s})(),toolbox:{show:!0,feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:50}};let l={};l=void 0!==n?V(s,n):s,F(t,l)}function Bt(t){let e={};return e=V(zt,t),e}function _t(t,e,n={},o={}){let a={};a=V(n,{color:[\"#81B1CC\",\"#ABD9EA\",\"#C2EEF9\",\"#F9E2AF\",\"#F9C780\",\"#FDAE61\",\"#F46D43\",\"#FDAE61\",\"#F9E2AF\",\"#C2EEF9\",\"#ABD9EA\",\"#81B1CC\"],yAxis:{data:function(){const t=new Set;return e.forEach(e=>{t.add(e[1])}),Array.from(t).sort((t,e)=>t-e)}()}});const i={itemStyle:{borderWidth:2,borderColor:[\"#448DAD\",\"#89CADB\",\"#A0DEE8\",\"#F4D28C\",\"#F4B569\",\"#F79646\",\"#F25930\",\"#F79646\",\"#F4D28C\",\"#A0DEE8\",\"#89CADB\",\"#448DAD\"]}},s=null===o?i:V(o,i),l=e;l.forEach((t,e)=>{l[e][0]=r(t[0])}),kt(t,l,a,s)}function Rt(t,e=void 0){const n={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",padding:50,textStyle:{fontSize:14,fontFamily:\"Montserrat\",fontWeight:400,color:\"#333\"}},legend:{show:!1},grid:{top:\"30%\",bottom:\"5%\",left:\"8%\",right:\"8%\"},xAxis:{type:\"value\",show:!1},yAxis:{show:!1,type:\"category\"},tooltip:{show:!0,textStyle:{fontFamily:\"Montserrat\",fontWeight:\"600\"},appendToBody:!0,formatter:t=>P(t,!1)},series:[{type:\"bar\",showBackground:!0}]};let o={};o=void 0!==e?V(n,e):n,F(t,o)}function qt(t){return Math.max(...t.map(t=>Number(t[0])))}function Jt(t){const e=t.filter(e=>Number(e[0])===qt(t)),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function Wt(t){const e=t.filter(e=>Number(e[0])===qt(t)-1),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function jt(t,e,n=void 0){const o=qt(e).toString(),r=(qt(e)-1).toString();Rt(t,V({title:{left:\"center\",top:\"-12%\",textStyle:{fontSize:15,fontFamily:\"Montserrat\"}},legend:{top:\"10%\",show:!0,data:[r,o],textStyle:{fontFamily:\"Montserrat\"}},grid:{bottom:\"8%\",top:\"20%\",right:\"2%\"},xAxis:[{type:\"category\",data:h(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],yAxis:[{type:\"value\",axisLabel:{formatter:t=>t.toLocaleString(\"es-ES\"),textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],series:[{name:r,type:\"bar\",data:Wt(e)},{name:o,type:\"bar\",barGap:0,data:Jt(e)}]},n))}function Gt(t,e,n){const o=document.querySelector(e),r=document.querySelector(t);let a=!1;r.addEventListener(\"click\",()=>{!1===a&&(a=!0,o.setAttribute(\"src\",\"about:blank\"),o.setAttribute(\"src\",n),o.onload=()=>{a=!1})}),r.disabled=!1}const Vt=\"id\",Ht=\"fecha\",Ut=\"value\";function Yt(t,e,n,o,r=\"es_ES\"){const[a,i]=function(t,e,n){const o=[],r=[];return t.forEach(t=>{e.includes(`${t[Vt]}`)?o.push(`${t[Ht]}`):n.includes(`${t[Vt]}`)&&r.push(`${t[Ht]}`)}),[o.map(t=>[t,0]),r.map(t=>[t,0])]}(t,n,o);let s=\"es_ES\"==r?\"Datos sin validar\":\"Dades sense validar\";0===i.length&&(s=\"\");const l={name:\"Datos validados\",type:\"line\",data:[...a,i[0]],lineStyle:{color:\"#00A9A0\",width:4},showSymbol:!1,tooltip:{show:!1}};let c=\"\",u=\"\";if(0===i.length){const e=t[t.length-1].fecha;c=e,u=e}else c=i[0][0],u=i[i.length-1][0];return[...e,l,{name:\"Datos NO validados\",type:\"line\",data:i,lineStyle:{color:\"#80D4CF\",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:\"#eee\"},tooltip:{show:!1},label:{color:\"#333\",fontStyle:\"normal\",fontWeight:\"400\",fontFamily:\"Montserrat\",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:\"end\",xAxis:u,yAxis:Math.max(...t.filter(t=>null!==t[Ut]).map(t=>parseInt(`${t[Ut]}`,10)))}]]}}]}function Xt(t,e,n=void 0){F(t,V({grid:{left:\"2.5%\",right:\"5%\",bottom:\"70\",top:\"150\",containLabel:!0},title:{left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},legend:{type:\"plain\",top:\"50\",width:\"98%\",textStyle:{fontFamily:\"Montserrat\"}},tooltip:{trigger:\"axis\",show:!0,formatter:t=>T(t),textStyle:{fontFamily:\"Montserrat\"}},xAxis:{type:\"category\",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},yAxis:{type:\"value\",nameLocation:\"end\",nameGap:\"0\",nameTextStyle:{fontFamily:\"Montserrat\",fontWeight:\"500\",padding:[-25,0,0,-48],margin:0,align:\"left\",verticalAlign:\"top\",width:\"auto\"},scale:!0,splitNumber:\"6\",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},dataZoom:{end:100,borderColor:\"#eee\",fillerColor:\"rgba(0,0,0,.05)\",textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#333\",textBorderColor:\"#fff\",textBorderWidth:3,fontWeight:\"600\"},selectedDataBackground:{lineStyle:{color:\"#333\"},areaStyle:{color:\"#ffcd00\"}},dataBackground:{backgroundColor:\"rgba(0,0,0,1)\",lineStyle:{color:\"#333\"},areaStyle:{color:\"rgba(0,0,0,0.5)\"}},handleStyle:{color:\"rgba(0,0,0,0.2)\"},moveHandleStyle:{color:\"rgba(0,0,0,0.3)\"},emphasis:{handleStyle:{color:\"rgba(255,205,0,1)\"},moveHandleStyle:{color:\"rgba(255,205,0,1)\"}}},toolbox:{feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:\"1%\",top:\"0%\"},series:e},n))}return e})());\n//# sourceMappingURL=vlcishared.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const esNumber = (valor) => !Number.isNaN(Number(valor));\n\nexport const esPositivo = (valor) => Number(valor.trim()) > 0;","import { esNumber, esPositivo } from './numbers';\n\nexport const quitarSigno = (elemento) =>\n esPositivo(elemento.textContent)\n ? elemento.textContent\n : elemento.textContent.replace('-', '');\n\nexport const obtenerClaseVariacion = (valor) => {\n const num = Number(valor.trim());\n if (num === 0) return null;\n return num > 0 ? 'pos' : 'neg';\n};\n\nexport const aplicarEstilosVariacion = (elemento, porcentaje = true) => {\n const el = elemento;\n if (!esNumber(el.textContent)) return;\n\n el.classList.add(obtenerClaseVariacion(elemento.textContent));\n el.textContent = quitarSigno(elemento);\n\n if (!porcentaje) return;\n\n const porcentajeEl = document.createElement('span');\n porcentajeEl.textContent = '%';\n\n elemento.append(porcentajeEl);\n};\n","import { aplicarEstilosVariacion } from './format';\n\nexport const crearBloqueLeft = (item, camposLeft, idPrefijo, numId) => {\n const divLeft = document.createElement('div');\n divLeft.className = 'left';\n\n camposLeft.forEach((el) => {\n const div = document.createElement('div');\n div.className = el.clase;\n div.id = `${idPrefijo}-${numId}-${el.idSufijo}`;\n\n let valor;\n if ('campo' in el) {\n valor = item[el.campo];\n if (el.format) valor = el.format(valor);\n } else if ('texto' in el) {\n valor = el.texto;\n }\n\n div.textContent = valor;\n\n if (el.span) {\n const span = document.createElement('span');\n span.textContent = el.span;\n div.append(span);\n }\n\n divLeft.append(div);\n });\n\n return divLeft;\n};\n\nexport const crearBloqueVariacion = (\n label,\n valor,\n id,\n clase = 'value',\n aplicarEstilos = true,\n mostrarPorcentaje = true,\n) => {\n const contenedor = document.createElement('div');\n contenedor.className = 'mini';\n\n if (label) {\n const labelEl = document.createElement('div');\n labelEl.className = 'label';\n labelEl.textContent = label;\n contenedor.append(labelEl);\n }\n\n const valueEl = document.createElement('div');\n valueEl.id = id;\n valueEl.classList.add(clase);\n\n valueEl.textContent = valor;\n if (aplicarEstilos)\n aplicarEstilosVariacion(valueEl, mostrarPorcentaje);\n\n contenedor.append(valueEl);\n return contenedor;\n};\n\nexport const crearBloqueChanges = (item, camposVariacion, idPrefijo, numId) => {\n const divChanges = document.createElement('div');\n divChanges.className = 'changes';\n\n camposVariacion.forEach((cambio) => {\n let aplicarEstilos = true;\n if ('aplicarEstilosVariacion' in cambio)\n aplicarEstilos = cambio.aplicarEstilosVariacion;\n\n let mostrarPorcentaje = true;\n if ('mostrarPorcentaje' in cambio)\n mostrarPorcentaje = cambio.mostrarPorcentaje;\n\n divChanges.append(\n crearBloqueVariacion(\n cambio.label,\n item[cambio.campo],\n `${idPrefijo}-${numId}-${cambio.idSufijo}`,\n cambio.clase,\n aplicarEstilos,\n mostrarPorcentaje,\n ),\n );\n });\n\n return divChanges;\n};\n\nexport const crearProgresoVariacion = (valorActual, mayorValor) => {\n const divProgreso = document.createElement('div');\n divProgreso.className = 'progress';\n divProgreso.style.width = `${(valorActual * 100) / mayorValor}%`;\n return divProgreso;\n};\n\n/**\n * Crea una lista de ítems HTML a partir de datos dinámicos.\n *\n * @param {Array<Object>} datos - Lista de datos a renderizar.\n * @param {HTMLElement} contenedorLista - Elemento UL donde se insertan los LI.\n * @param {Object} config - Configuración de los campos.\n * @param {string} config.prefijoId - Prefijo para los IDs de cada fila.\n * @param {Array<Object>} config.camposLeft - Campos que aparecen en la columna izquierda.\n * @param {Array<Object>} config.camposVariacion - Variaciones que aparecen en la derecha.\n * @param {Function} [config.renderExtra] - Renderiza contenido extra encima de `.datos`.\n * @param {Bool} mostrarProgreso - Muestra una barra de progreso (opcional).\n *\n * Ejemplo de config.camposLeft:\n * config = {\n * idPrefijo: 'acceso', // prefijo de IDs de cada fila\n * camposLeft: [\n * { campo: 'id' / texto: 'AYER', clase: 'name', idSufijo: 'nombre'},\n * {\n * campo: 'veh_ayer',\n * clase: 'number',\n * idSufijo: 'veh-ayer',\n * format: v => v.toLocaleString('de-DE') // opcional,\n * span: '.min' // opcional,\n * }\n * ],\n * camposVariacion: [\n * { label: 'COMPARACIÓN vs ANTEAYER', campo: 'variacion_dia_anterior', idSufijo: 'var-dia', clase: 'value', mostrarPorcentaje: false},\n * { label: 'vs SEMANA PASADA', campo: 'variacion_semana_anterior', idSufijo: 'var-semana', clase: 'value', aplicarEstilosVariacion: false}\n * ],\n * extra: (item) => HTMLElement // opcional\n * }\n */\nexport const crearWidgetVariacion = (\n datos,\n contenedor,\n config,\n mostrarProgreso = false,\n) => {\n if (!Array.isArray(datos) || datos.length === 0) return;\n\n const { idPrefijo, camposLeft, camposVariacion } = config;\n\n // eslint-disable-next-line no-param-reassign\n contenedor.innerHTML = '';\n\n const mayorValor = camposLeft[1] ? datos[0][camposLeft[1].campo] : 0;\n\n datos.forEach((item, i) => {\n const numId = i + 1;\n\n const listItem = document.createElement('li');\n listItem.id = `${idPrefijo}-${numId}`;\n listItem.className = 'list-item';\n\n const divDatos = document.createElement('div');\n divDatos.className = 'datos';\n\n const divLeft = crearBloqueLeft(item, camposLeft, idPrefijo, numId);\n const divChanges = crearBloqueChanges(\n item,\n camposVariacion,\n idPrefijo,\n numId,\n );\n\n divDatos.append(divLeft, divChanges);\n\n if (config.extra) {\n const extra = config.extra(item, numId);\n if (extra) listItem.append(extra);\n }\n\n listItem.append(divDatos);\n\n if (mostrarProgreso) {\n const divProgreso = crearProgresoVariacion(\n item[camposLeft[1].campo],\n mayorValor,\n );\n listItem.append(divProgreso);\n }\n\n contenedor.append(listItem);\n });\n};\n","const FORMATEADORES = {\n YYYYMMDD: ({ yyyy, mm, dd }) => `${yyyy}${mm}${dd}`,\n 'YYYY-MM-DD': ({ yyyy, mm, dd }) => `${yyyy}-${mm}-${dd}`,\n 'DD-MM-YYYY': ({ yyyy, mm, dd }) => `${dd}-${mm}-${yyyy}`,\n};\n\nfunction descomponerFecha(fecha) {\n const yyyy = String(fecha.getFullYear());\n const mm = String(fecha.getMonth() + 1).padStart(2, '0');\n const dd = String(fecha.getDate()).padStart(2, '0');\n return { yyyy, mm, dd };\n}\n\nexport function obtenerFechaAyer(formatoFecha) {\n const ayer = new Date();\n ayer.setDate(ayer.getDate() - 1);\n\n const formatear = FORMATEADORES[formatoFecha] || FORMATEADORES.YYYYMMDD;\n return formatear(descomponerFecha(ayer));\n}\n","import { obtenerFechaAyer } from './date';\n\nexport function existenDatosDeAyer(\n dataWithFields,\n formatoFecha,\n nombreCampoFecha = 'fecha',\n) {\n const fechaAyer = obtenerFechaAyer(formatoFecha);\n return dataWithFields.some((fila) => fila[nombreCampoFecha] === fechaAyer);\n}\n\nexport function existeFilaConValor(dataWithFields, filaABuscar, valor) {\n return dataWithFields.some((fila) => fila[filaABuscar] === valor);\n}\n","export function ocultarElementoPorId(idElemento) {\n const elemento = document.getElementById(idElemento);\n ocultarElemento(elemento);\n}\n\nexport function ocultarElementoPorClase(contenedor, clase) {\n const elemento = contenedor.querySelector(clase);\n ocultarElemento(elemento);\n}\n\nexport function mostrarMensajeNoDatos(contenedor, textoMensaje) {\n const elementoMensaje = document.createElement('p');\n elementoMensaje.textContent = textoMensaje;\n contenedor.appendChild(elementoMensaje);\n}\n\nexport function ocultarElemento(elemento) {\n if (elemento) {\n elemento.classList.add('hidden');\n }\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existeFilaConValor, existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n mostrarMensajeNoDatos,\n ocultarElemento,\n} from './utils/elements';\n\nexport function callesCortadas(data) {\n const dataConfig = {\n 'TOTAL CALLES CORTADAS': {\n num_ayer: {\n element: '#calles-cortadas-num',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n diferencia_dia_anterior: '#calles-cortadas-num-ayer',\n diferencia_semana_anterior: '#calles-cortadas-num-semana-prev',\n },\n };\n\n const contenedor = document.getElementById('calles-cortadas-trafico');\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.mapa');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calles cortadas de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('calles-cortadas-num-ayer');\n aplicarEstilosVariacion(elementVarDia, false);\n\n const elementVarSem = document.getElementById(\n 'calles-cortadas-num-semana-prev',\n );\n aplicarEstilosVariacion(elementVarSem, false);\n}\n\nexport function callesCongestionadas(data) {\n const dataWithFields = resultsetWithFields(data).sort(\n (a, b) => b.minutos_ayer - a.minutos_ayer,\n );\n\n const existenDatosDeCongestionAyer = existenDatosDeAyer(\n dataWithFields,\n 'YYYY-MM-DD',\n );\n\n const contenedor = document.getElementById('calles-congestionadas-trafico');\n\n const contenedorLista = contenedor.querySelector(':scope > ul');\n\n const descripcion = contenedor.querySelector(':scope > p');\n\n if (\n existenDatosDeCongestionAyer &&\n existeFilaConValor(\n dataWithFields,\n 'id',\n 'Ayer no hubo calles congestionadas',\n )\n ) {\n ocultarElemento(descripcion);\n mostrarMensajeNoDatos(contenedor, 'Ayer no hubo calles congestionadas.');\n\n return;\n }\n\n if (!existenDatosDeCongestionAyer) {\n ocultarElemento(descripcion);\n ocultarElemento(contenedorLista);\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de congestión de calles de ayer.',\n );\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'calle-cong',\n camposLeft: [\n {\n texto: 'AYER',\n clase: 'label',\n idSufijo: 'label',\n },\n {\n campo: 'minutos_ayer',\n clase: 'number',\n idSufijo: 'minutos',\n format: (v) => v.toLocaleString('de-DE'),\n span: 'min.',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n extra: (item, numId) => {\n const divNombre = document.createElement('div');\n divNombre.className = 'name';\n divNombre.id = `calle-cong-${numId}-nombre`;\n divNombre.textContent = item.id;\n return divNombre;\n },\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n\n const variaciones = contenedorLista.querySelectorAll(\n '[id$=\"var-dia\"], [id$=\"var-semana\"]',\n );\n\n variaciones.forEach((el) => {\n if (el.textContent.trim() === 'Sin congestión') {\n el.classList.add('no-congestion');\n }\n });\n}\n","export const TEXTS_SEGURIDAD = {\n es_ES: new Map([\n ['download', 'Descargar'],\n ['intervenciones_totales', 'INTERVENCIONES TOTALES'],\n ['intervenciones', 'intervenciones'],\n ['tipologia_nivel', 'TIPOLOGÍA NIVEL'],\n ['incidencias', 'incidencias'],\n ['incidencias_totales', 'INCIDENCIAS TOTALES'],\n ]),\n ca_ES: new Map([\n ['download', 'Desar'],\n ['intervenciones_totales', 'INTERVENCIONS TOTALS'],\n ['intervenciones', 'intervencions'],\n ['tipologia_nivel', 'TIPOLOGIA NIVELL'],\n ['incidencias', 'incidències'],\n ['incidencias_totales', 'INCIDÈNCIES TOTALS'],\n ]),\n};\n\nexport const TEXTS_MEDIOAMBIENTE = {\n es_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Aviso'],\n ['preaviso', 'Preaviso'],\n [\n 'avisos_diarios',\n 'Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones.',\n ],\n [\n 'avisos_horarios',\n 'Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones',\n ],\n ]),\n ca_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Avís'],\n ['preaviso', 'Preavís'],\n [\n 'avisos_diarios',\n 'Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions.',\n ],\n [\n 'avisos_horarios',\n 'Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions',\n ],\n ]),\n};\n","export const DEFAULT_LANGUAGE = 'es_ES';\n","export const COLORS = {\n naranjaPalido: '#F1AB86',\n tealPalido: '#48A9A6',\n amarilloPalido: '#ffbf69',\n azulPalido: '#4BA3C3',\n cranberryPalido: '#e56b6f',\n marinoPalido: '#284B63',\n naranja: '#F96E46',\n teal: '#307473',\n amarillo: '#F6AE2D',\n azulCeruleo: '#05668d',\n cranberry: '#A23E48',\n marino: '#0B3948',\n verdeClaro: '#6a9c81',\n tealApagado: '#7AA8A7',\n};\n","import { addPointInteger, capitalizarTexto } from 'vlcishared';\nimport { TEXTS_SEGURIDAD } from './utils/texts';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { COLORS } from '../style/colors';\n\n// Gráfica sección seguridad ciudadana | Tarta de Intervenciones totales Nivel 1\nexport const OPTIONS_INTERVENCIONES_PIE = {\n color: Object.values(COLORS),\n grid: {\n left: '1%',\n right: '1%',\n bottom: '2%',\n top: '20%',\n containLabel: true,\n },\n title: {\n show: false,\n text: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('intervenciones_totales'),\n subtext: `${TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('tipologia_nivel')} 1`,\n left: 'center',\n top: '0',\n itemGap: 5,\n textStyle: {\n fontSize: 15,\n fontFamily: 'Montserrat',\n fontWeight: 500,\n color: '#666',\n },\n subtextStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: 400,\n color: '#666',\n width: '100%',\n },\n },\n legend: {\n orient: 'vertical',\n top: 'middle',\n left: 'right',\n selectedMode: false,\n textStyle: {\n fontSize: '11',\n fontFamily: 'Montserrat',\n fontWeight: '400',\n color: '#333',\n },\n },\n toolbox: {\n show: false,\n right: '0',\n top: '0',\n emphasis: {\n iconStyle: {\n borderColor: '#ffcd00',\n textFill: '#666',\n },\n },\n feature: {\n saveAsImage: {\n title: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('download'),\n textStyle: {\n fontSize: 6,\n fontFamily: 'Montserrat',\n fontWeight: 300,\n },\n },\n },\n },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('intervenciones')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['23%', '50%'],\n startAngle: 0,\n data: [],\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: {\n show: false,\n length: 10,\n },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n\n// Gráfica sección incidencias ciudadanas | Tarta de Intervenciones por estado Nivel 1\nexport const OPTIONS_INCIDENCIAS_PIE = {\n color: [COLORS.cranberryPalido, COLORS.tealApagado],\n grid: {\n left: '0',\n right: '0',\n bottom: '0',\n top: '0',\n containLabel: true,\n },\n title: { show: false },\n legend: { show: false },\n toolbox: { show: false },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('incidencias')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['40%', '50%'],\n startAngle: 0,\n data: [],\n itemStyle: {\n borderWidth: 1,\n borderColor: COLORS.cranberryPalido,\n },\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: { show: false },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n","import {\n initChart,\n printDataChart,\n printDataInHTMLElements,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { OPTIONS_INTERVENCIONES_PIE as options } from './options-charts';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function intervencionesPoliciales(data) {\n const dataConfig = {\n 'TOTAL INTERVENCIONES': {\n num_ayer: {\n element: '#interv-pol-total',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#interv-pol-var-dia',\n variacion_semana_anterior: '#interv-pol-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n const contenedor = document.getElementById('intervenciones-policiales');\n\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.intervenciones-policiales-detalle');\n\n mostrarMensajeNoDatos(contenedor, 'No hay datos de intervenciones de ayer.');\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('interv-pol-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n\n const elementVarSem = document.getElementById('interv-pol-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function echartIntervencionesTotalesPie(vis, data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-intervenciones-ayer';\n const idNoData = 'no-data-intervenciones-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n return;\n }\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields\n .filter((dato) => dato.id !== 'TOTAL INTERVENCIONES')\n .map((dato) => ({\n name: dato.id,\n value: Number(dato.num_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n}\n","import {\n initChart,\n printDataChart,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { OPTIONS_INCIDENCIAS_PIE as options } from './options-charts';\nimport { existenDatosDeAyer } from './utils/data';\nimport { ocultarElementoPorId, mostrarMensajeNoDatos } from './utils/elements';\n\nexport function echartIncidenciasPorEstadoPie(data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-incid-ciudadanas-estado-ayer';\n const idNoData = 'no-data-incid-ciudadanas-estado-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields.map((dato) => ({\n name: dato.id,\n value: Number(dato.num_incidencias_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n\n const contenedor = document.getElementById(\n 'list-incidencias-ciudadanas-estado',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'Ayer no hubo incidencias.');\n\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n const contenedorIncidenciasCiudadanas = document.getElementById(\n 'incidencias-ciudadanas',\n );\n ocultarElementoPorId('incidencias-ciudadanas-estado');\n\n mostrarMensajeNoDatos(\n contenedorIncidenciasCiudadanas,\n 'No hay datos de incidencias registradas de ayer.',\n );\n return;\n }\n\n const configWidget = {\n idPrefijo: 'estado-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'value',\n idSufijo: 'estado',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n\nexport function top3IncidenciasPorTipologia(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById(\n 'incid-ciudadanas-tipologia-top-3',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorId('incidencias-ciudadanas-tipologia');\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'tipo-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'tipologia',\n },\n ],\n camposVariacion: [\n {\n campo: 'num_incidencias_ayer',\n idSufijo: 'num',\n clase: 'number',\n aplicarEstilosVariacion: false,\n },\n {\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function traficoAccesosCiudad(data) {\n const contenedor = document.getElementById('accesos-trafico');\n const dataConfig = {\n 'TOTAL VEHICULOS/HORA EN EL DIA': {\n veh_ayer: {\n element: '#accesos-traf-vehiculos',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#accesos-traf-var-dia',\n variacion_semana_anterior: '#accesos-traf-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de los vehículos que accedieron a la ciudad de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('accesos-traf-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n const elementVarSem = document.getElementById('accesos-traf-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function traficoAccesosCiudadDetalle(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('accesos-trafico-detalle');\n const contenedorLista = document.getElementById(\n 'accesos-trafico-detalle-lista',\n );\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de vehículos en las vías de acceso de ayer.',\n );\n return;\n }\n\n const accesosFiltrados = dataWithFields\n .filter((a) => a.id !== 'TOTAL VEHICULOS/HORA EN EL DIA')\n .sort((a, b) => b.veh_ayer - a.veh_ayer);\n\n const configWidget = {\n idPrefijo: 'acceso',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'nombre',\n },\n {\n campo: 'veh_ayer',\n clase: 'number',\n idSufijo: 'vehiculos',\n format: (v) => v.toLocaleString('de-DE'),\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n };\n\n crearWidgetVariacion(accesosFiltrados, contenedorLista, configWidget, true);\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { esNumber } from './utils/numbers';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos } from './utils/elements';\n\nexport function medioambienteClima(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('sensores-clima');\n const ul = contenedor.querySelector('ul');\n ul.innerHTML = '';\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos de clima de ayer.');\n return;\n }\n\n const fila = dataWithFields[0];\n\n const campos = [\n {\n id: 'clima-temp-media',\n campoBbdd: 'temperatura_media',\n label: 'Temperatura',\n unidad: '°',\n },\n {\n id: 'clima-temp-maxima',\n campoBbdd: 'temperatura_maxima',\n label: 'Máx.',\n unidad: '°',\n },\n {\n id: 'clima-temp-minima',\n campoBbdd: 'temperatura_minima',\n label: 'Mín.',\n unidad: '°',\n },\n {\n id: 'clima-humedad-media',\n campoBbdd: 'humedad_media',\n label: 'Humedad',\n unidad: '%',\n },\n {\n id: 'clima-precip-acumulada',\n campoBbdd: 'precipitacion_acumulada',\n label: 'Precipitación acumulada',\n unidad: 'mm',\n },\n {\n id: 'clima-vel-viento-media',\n campoBbdd: 'velocidad_viento_media',\n label: 'Velocidad del viento',\n unidad: 'km/h',\n },\n ];\n\n const formatNumber = (value) =>\n esNumber(value) ? Number(value).toLocaleString('es-ES') : value;\n\n const [primeraMitad, segundaMitad] = [campos.slice(0, 3), campos.slice(3, 6)];\n\n const ul1 = document.createElement('ul');\n ul1.className = 'list';\n ul1.id = 'temp';\n\n const ul2 = document.createElement('ul');\n ul2.className = 'list';\n\n function renderLista(listaCampos, listaUl) {\n listaCampos.forEach(({ id, campoBbdd, label, unidad }) => {\n const li = document.createElement('li');\n li.id = id;\n\n const divLabel = document.createElement('div');\n divLabel.className = 'label';\n divLabel.textContent = label;\n\n const divValue = document.createElement('div');\n divValue.className = 'value';\n divValue.textContent = formatNumber(fila[campoBbdd]);\n\n const divUnidad = document.createElement('div');\n divUnidad.className = 'medida';\n divUnidad.textContent = unidad;\n\n li.append(divLabel, divValue, divUnidad);\n listaUl.appendChild(li);\n });\n }\n\n renderLista(primeraMitad, ul1);\n renderLista(segundaMitad, ul2);\n\n ul.appendChild(ul1);\n ul.appendChild(ul2);\n}\n","export const CONFIG_MEDIOAMBIENTE = new Map([\n ['NO2alerta', 400],\n ['NO2aviso', 200],\n ['NO2preaviso', 180],\n ['PM10aviso', 80],\n ['PM10preaviso', 50],\n]);\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { TEXTS_MEDIOAMBIENTE } from './utils/texts';\nimport { CONFIG_MEDIOAMBIENTE } from './utils/config';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos, ocultarElementoPorId } from './utils/elements';\n\nexport function medioambienteEstadoCalidadAire(data) {\n const estados = [\n 'Extremadamente Desfavorable',\n 'Muy Desfavorable',\n 'Desfavorable',\n 'Regular',\n 'Razonablemente Buena',\n 'Buena',\n ];\n\n const dataConfig = {\n 'ESTADO CALIDAD AIRE': {\n calidad_ambiental_ciudad: {\n element: '#estado-calidad-aire',\n format: (value) => value,\n },\n calidad_ambiental_ciudad_clase: {\n className: '#estado-calidad-aire',\n },\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n const contenedor = document.getElementById('calidad-aire');\n\n ocultarElementoPorId('sensores-calidad-aire');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calidad del aire de ayer.',\n );\n\n return;\n }\n\n const adaptedData = dataWithFields.map((item) => {\n const index = estados.indexOf(item.calidad_ambiental_ciudad);\n const clase = index !== -1 ? `aire-${6 - index}` : '';\n return {\n ...item,\n calidad_ambiental_ciudad_clase: clase,\n };\n });\n\n printDataInHTMLElements(adaptedData, dataConfig);\n}\n\nconst crearLinea = (tipo, contaminante, claveTexto, claveUmbral) => {\n const p = document.createElement('p');\n p.className = tipo;\n\n const strong = document.createElement('strong');\n strong.textContent = `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(\n tipo,\n )} ${contaminante}:`;\n\n p.appendChild(strong);\n p.append(\n `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(claveTexto).replace(\n '{umbral}',\n CONFIG_MEDIOAMBIENTE.get(claveUmbral),\n )}`,\n );\n\n return p;\n};\n\nexport function medioambienteAlertasHorarias(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_horarios';\n const contaminante = 'NO2';\n\n if (datos.cant_alertas > 1)\n contenedor.appendChild(\n crearLinea('alerta', contaminante, claveTexto, 'NO2alerta'),\n );\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'NO2aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'NO2preaviso'),\n );\n}\n\nexport function medioambienteAlertasDiarias(data) {\n const dataWithFields = resultsetWithFields(data);\n\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_diarios';\n const contaminante = 'PM10';\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'PM10aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'PM10preaviso'),\n );\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n ocultarElementoPorId,\n} from './utils/elements';\n\nconst hayAlertasDeRuido = { hayAlertasDeRuido: false };\n\nfunction getHayAlertasDeRuido() {\n return hayAlertasDeRuido.hayAlertasDeRuido;\n}\n\nfunction setHayAlertasDeRuido(valor) {\n hayAlertasDeRuido.hayAlertasDeRuido = Boolean(valor);\n}\n\nfunction mostrarEstadoSinDatosRuido(textoMensaje) {\n const contenedor = document.getElementById('sensores-ruido');\n if (!contenedor) return;\n\n ocultarElementoPorClase(contenedor, ':scope > p');\n\n ocultarElementoPorId('tabla-sensores-ruido');\n\n let mensaje = document.getElementById('mensaje-sin-datos-ruido');\n if (!mensaje) {\n mensaje = document.createElement('p');\n mensaje.id = 'mensaje-sin-datos-ruido';\n contenedor.appendChild(mensaje);\n }\n\n mensaje.textContent = textoMensaje;\n}\n\nfunction buildTableSensoresRuido(tbody, resultset) {\n function createTd(idName) {\n const td = document.createElement('td');\n td.id = idName;\n td.textContent = 0;\n return td;\n }\n\n const estaciones = [...new Set(resultset.map((item) => item.areaserved))];\n\n estaciones.forEach((estacion) => {\n const id = `estacion-${estacion.toLowerCase()}`;\n\n if (document.getElementById(id)) return;\n\n const tr = document.createElement('tr');\n tr.id = id;\n\n const tdNombre = createTd(`${id}-nombre`);\n tdNombre.textContent = estacion;\n tr.appendChild(tdNombre);\n\n tr.appendChild(createTd(`${id}-cant-manana`));\n tr.appendChild(createTd(`${id}-cant-tarde`));\n tr.appendChild(createTd(`${id}-cant-noche`));\n\n tbody.appendChild(tr);\n });\n}\n\nexport function fillTableSensoresRuido(resultset, tiempo) {\n const cantidadesEstacion = resultset.reduce((acc, item) => {\n acc[item.areaserved] = (acc[item.areaserved] || 0) + 1;\n return acc;\n }, {});\n\n Object.entries(cantidadesEstacion).forEach(([estacion, count]) => {\n const id = `estacion-${estacion.toLowerCase()}-cant-${tiempo}`;\n const td = document.getElementById(id);\n if (td) td.textContent = count;\n });\n}\n\nexport function sensoresRuido(data, tiempo) {\n const dataWithFields = resultsetWithFields(data);\n\n const existenDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n\n const existenAlertasDeRuido = getHayAlertasDeRuido();\n\n if (!existenDatosAyer) {\n mostrarEstadoSinDatosRuido(\n 'No hay datos de alertas de superación de ruido de ayer.',\n );\n return;\n }\n\n if (existenDatosAyer && !existenAlertasDeRuido) {\n mostrarEstadoSinDatosRuido('Ayer no hubo alertas de superación de ruido.');\n return;\n }\n\n const tbody = document.querySelector('#tabla-sensores-ruido > tbody');\n\n buildTableSensoresRuido(tbody, dataWithFields);\n fillTableSensoresRuido(dataWithFields, tiempo);\n}\n\nexport function countAlertasDeRuido(data) {\n const dataWithFields = resultsetWithFields(data);\n const alertasRuido = dataWithFields[0].total_alertas;\n\n if (alertasRuido > 0) {\n setHayAlertasDeRuido(true);\n } else {\n setHayAlertasDeRuido(false);\n }\n}\n","import { initElement } from 'vlcishared';\n\nexport function setFechaDatos() {\n const fechaDatos = new Date();\n fechaDatos.setDate(fechaDatos.getDate() - 1);\n\n const fechaFormateada = [\n String(fechaDatos.getDate()).padStart(2, '0'),\n String(fechaDatos.getMonth() + 1).padStart(2, '0'),\n fechaDatos.getFullYear(),\n ].join('/');\n\n initElement('fecha-datos', (el) => {\n // eslint-disable-next-line no-param-reassign\n el.textContent = fechaFormateada;\n });\n}\n","import { resultsetWithFields } from 'vlcishared';\n\nexport function setToken(data) {\n const resultSet = resultsetWithFields(data);\n const token = resultSet[0].token;\n if (!token) {\n throw new Error('No se pudo obtener el token desde base de datos');\n }\n mostrarMapaEstadosTrafico(token);\n}\n\nfunction mostrarMapaEstadosTrafico(token) {\n\n const URL_GEOPORTAL =\n 'https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300';\n\n try {\n const iframeMapaEstadosTrafico = document.querySelector(\n '#if-estados-trafico',\n );\n\n iframeMapaEstadosTrafico.setAttribute(\n 'src',\n `${URL_GEOPORTAL}&token=${token}`,\n );\n } catch (error) {\n console.error(\n 'No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:',\n error,\n );\n }\n}\n","import { initElementsByClass } from 'vlcishared';\n\nfunction isButton(element) {\n return element instanceof HTMLButtonElement;\n}\n\nexport function initGuiaButtons() {\n initElementsByClass('guia', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.add('historia');\n });\n });\n}\n\nexport function initInfoButtons() {\n initElementsByClass('info', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.remove('historia');\n });\n });\n}\n","import { initGuiaButtons, initInfoButtons } from '../events/button-events';\n\nexport function initializeUI() {\n initGuiaButtons();\n initInfoButtons();\n}\n"],"names":["root","factory","exports","module","define","amd","self","e","t","d","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","MONTHS_YEAR","a","MONTHS_YEAR_SHORT","i","TEXTS_COMMON","s","THRESHOLDS","$t","addPointInteger","v","buildCamarasTrafico","It","buildTableCalidadAire","Ft","calculateMaxYAxis","I","calculatePentahoPath","Nt","calculateXAxisStart","O","capitalizarTexto","x","checkAllGroupsCollapsed","Dt","configureDataBar","j","configureDataGaugeCommon","R","configureDataGaugeMonthCommon","q","configureDataLine","W","configureDataValidate","Yt","configureLinesChartValidates","Xt","convertDateToInteger","b","convertISODateToEUDate","S","convertToLanguageSelectorDateRange","mt","convertToTableTreeView","At","downloadCSVTable","Et","downloadPDFTable","xt","formatCellMultiplesLines","St","formatDayMonthYear","formatMilMillionEuros","k","formatMonthAnyo","u","formatName","E","formatNameHeaderColumn","bt","formatRoundTooltip","P","formatShortMonthShortYear","m","formatShortMonthYear","f","formatToMillions","M","formatToTons","A","formatTooltip","T","formatTooltipPie","z","formatTrimestre","p","formatWithPrefix","D","getEnvironment","Lt","getMaxFieldNumberFromData","U","getMonth","getMonthList","h","getSelectCommonOptions","st","getSelectTwoColumnsOptions","lt","initBarChart","Rt","initBarChartComparationMonth","jt","initChart","F","initContractAllGroups","Ct","initElement","w","initElementsByClass","$","initExpandAllGroups","wt","initStackedBarChart","kt","initStackedBarChartMonthSeries","_t","initTable","gt","initValueDefaultDate","dt","initialCalls","Ot","loadIframeOnClickEvent","Gt","printDataChart","L","printDataInHTMLElements","H","printEchart","B","printNoDataChart","N","resetFilter","it","resetFilterAndUpdate","yt","resetFilterDate","ut","resetFilterDates","ct","resetFilterToDefault","pt","resultsetWithFields","G","selectConfigDatasource","rt","selectConfigDatasourceAllValue","at","selectFilterAll","nt","selectFilterNumItemsDefault","ht","selectValueDefaultInFilter","ft","separateDayMonthYearToSlash","l","splitDataset","X","subtractOneDay","y","subtractOneMonth","g","traverseRows","Mt","updateDomElement","Y","updateObject","V","updateStackedBarOptions","Bt","Map","parseInt","toString","es_ES","ca_ES","substring","c","split","parseFloat","Array","from","values","map","slice","Math","floor","Date","setDate","getDate","getFullYear","padStart","replace","navigator","language","userLanguage","length","toUpperCase","minimumFractionDigits","maximumFractionDigits","toLocaleString","round","prefix","forEach","includes","toLowerCase","C","Promise","document","body","addEventListener","console","error","once","getElementById","resolve","getElementsByClassName","echarts","init","setOption","window","resize","querySelector","hidden","style","background","name","data","color","seriesName","max","percent","marker","Number","_","ceil","push","String","type","shift","title","offsetCenter","fontFamily","fontSize","detail","width","formatter","innerWidth","J","resultset","Set","add","day","sort","localeCompare","ignorePunctuation","filter","find","symbol","symbolSize","smooth","metadata","colName","keys","isArray","id","entries","className","element","format","textContent","isNaN","warn","Cont","Mob","Z","K","Q","tt","et","this","dashboard","fireChange","parameter","ot","queryDefinition","dataAccessId","setParameter","Dashboards","input","indexes","label","component","Root","strings","isDisabled","allItems","noItems","btnApply","btnCancel","Group","Strings","getParameterValue","regional","es","monthNames","abbreviatedMonthNames","dayNames","abbreviatedDayNames","dayNamesMin","weekHeader","firstDay","isRTL","showMonthAfterYear","yearSuffix","setDefaults","getComponent","update","Tabulator","getValue","substr","vt","treeExpand","treeCollapse","getTreeChildren","getRows","_children","getGroups","_group","visible","cloneNode","parentNode","replaceChild","download","delimiter","bom","getData","getColumns","getField","every","test","trim","halign","rowCalcStyles","fontStyle","autoTable","styles","lineWidth","lineColor","headStyles","columnStyles","setGroupStartOpen","setData","SO2","NO2","O3","PM10","PM25","createElement","setAttribute","innerHTML","classList","operationalstatus","so2value","no2value","o3value","pm10value","pm25value","address","appendChild","entityid","location","documentURI","href","Tt","querySelectorAll","XMLHttpRequest","onreadystatechange","readyState","status","responseText","open","send","getAttribute","realDashboardsInit","dispatchEvent","Event","remove","match","Liferay","ThemeDisplay","getBCP47LanguageId","src","IntersectionObserver","isIntersecting","setTimeout","observe","userAgent","MSStream","display","zt","grid","containLabel","left","top","textStyle","fontWeight","legend","orient","bottom","toolbox","show","right","feature","restore","saveAsImage","emphasis","iconStyle","borderColor","textFill","tooltip","xAxis","axisLabel","interval","yAxis","alignTicks","position","Pt","anyo","text","axisPointer","trigger","contentSize","viewSize","padding","splitNumber","nameLocation","nameTextStyle","margin","splitLine","lineStyle","series","stack","itemStyle","focus","reduce","borderWidth","appendToBody","showBackground","qt","Jt","Wt","barGap","onload","disabled","Vt","Ht","Ut","showSymbol","fecha","markArea","silent","opacity","boundaryGap","nameGap","align","verticalAlign","scale","dataZoom","end","fillerColor","textBorderColor","textBorderWidth","selectedDataBackground","areaStyle","dataBackground","backgroundColor","handleStyle","moveHandleStyle","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","key","obj","prop","esNumber","valor","aplicarEstilosVariacion","elemento","porcentaje","el","num","obtenerClaseVariacion","esPositivo","quitarSigno","porcentajeEl","append","crearWidgetVariacion","datos","contenedor","config","mostrarProgreso","idPrefijo","camposLeft","camposVariacion","mayorValor","campo","item","numId","listItem","divDatos","divLeft","div","clase","idSufijo","texto","span","crearBloqueLeft","divChanges","cambio","aplicarEstilos","mostrarPorcentaje","labelEl","valueEl","crearBloqueVariacion","crearBloqueChanges","extra","divProgreso","valorActual","crearProgresoVariacion","FORMATEADORES","YYYYMMDD","yyyy","mm","dd","existenDatosDeAyer","dataWithFields","formatoFecha","nombreCampoFecha","fechaAyer","ayer","obtenerFechaAyer","some","fila","ocultarElementoPorId","idElemento","ocultarElemento","ocultarElementoPorClase","mostrarMensajeNoDatos","textoMensaje","elementoMensaje","callesCortadas","dataConfig","num_ayer","diferencia_dia_anterior","diferencia_semana_anterior","elementVarDia","elementVarSem","callesCongestionadas","minutos_ayer","existenDatosDeCongestionAyer","contenedorLista","descripcion","existeFilaConValor","divNombre","TEXTS_SEGURIDAD","TEXTS_MEDIOAMBIENTE","DEFAULT_LANGUAGE","COLORS","naranjaPalido","tealPalido","amarilloPalido","azulPalido","cranberryPalido","marinoPalido","naranja","teal","amarillo","azulCeruleo","cranberry","marino","verdeClaro","tealApagado","OPTIONS_INTERVENCIONES_PIE","subtext","itemGap","subtextStyle","selectedMode","confine","param","radius","center","startAngle","distanceToLabelLine","lineHeight","labelLine","shadowBlur","shadowOffsetX","shadowColor","OPTIONS_INCIDENCIAS_PIE","intervencionesPoliciales","variacion_dia_anterior","variacion_semana_anterior","echartIntervencionesTotalesPie","vis","chartOptions","JSON","parse","stringify","idChart","idNoData","dato","echartIncidenciasPorEstadoPie","num_incidencias_ayer","contenedorIncidenciasCiudadanas","top3IncidenciasPorTipologia","traficoAccesosCiudad","veh_ayer","traficoAccesosCiudadDetalle","accesosFiltrados","medioambienteClima","ul","campos","campoBbdd","unidad","primeraMitad","segundaMitad","ul1","ul2","renderLista","listaCampos","listaUl","li","divLabel","divValue","divUnidad","CONFIG_MEDIOAMBIENTE","medioambienteEstadoCalidadAire","estados","adaptedData","index","indexOf","calidad_ambiental_ciudad","calidad_ambiental_ciudad_clase","crearLinea","tipo","contaminante","claveTexto","claveUmbral","strong","medioambienteAlertasHorarias","cant_alertas","cant_avisos","cant_preavisos","medioambienteAlertasDiarias","hayAlertasDeRuido","mostrarEstadoSinDatosRuido","mensaje","sensoresRuido","tiempo","existenDatosAyer","existenAlertasDeRuido","tbody","createTd","idName","td","areaserved","estacion","tr","tdNombre","buildTableSensoresRuido","cantidadesEstacion","acc","count","fillTableSensoresRuido","countAlertasDeRuido","total_alertas","Boolean","setFechaDatos","fechaDatos","fechaFormateada","join","setToken","token","Error","mostrarMapaEstadosTrafico","isButton","HTMLButtonElement","initializeUI"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vlci/cdmvalencia_ahir",
3
- "version": "6.0.0",
3
+ "version": "7.0.0",
4
4
  "description": "JavaScript library for CdM Valencia Ahir",
5
5
  "main": "index.js",
6
6
  "scripts": {