';
}
listEl.innerHTML=h; pageEl.innerHTML='';
}
function catName(post){
var groups = (post._embedded && post._embedded['wp:term']) || [];
for (var g=0; g';
}
return '5';
}
function render(posts){
if (!posts.length){
listEl.innerHTML='
There are no reports matching your search. Try other words or press Clear.
';
return;
}
listEl.innerHTML = posts.map(function(p){
var title = decode(p.title && p.title.rendered);
var cat = catName(p);
return '
';
}).join('');
}
function renderPag(total){
if (previoustotal';
var pages=[];
for (var i=1;i1) h+='…';
h+='';
last=n;
});
h+='';
pageEl.innerHTML=h;
}
function load(){
var id=++reqId;
skeleton();
var q = ['_embed','per_page='+state.perPage,'page='+state.page,'orderby=date','order=desc'];
if (state.search) q.push('search='+encodeURIComponent(state.search));
if (state.catParam && state.catId) q.push(encodeURIComponent(state.catParam)+'='+state.catId);
if (state.tagParam && state.tagId) q.push(encodeURIComponent(state.tagParam)+'='+state.tagId);
fetch(origin + state.endpoint + '?' + q.join('&'))
.then(function(r){
if (!r.ok) throw new Error(r.status);
var tp = parseInt(r.headers.get('X-WP-TotalPages'),10) || 1;
return r.json().then(function(d){ return {posts:d, pages:tp}; });
})
.then(function(res){
if (id!==reqId) return;
render(res.posts || []); renderPage(res.pages);
})
.catch(function(){
if (id!==reqId) return;
listEl.innerHTML='
Reports could not be loaded. Check that the WPCode PHP snippet is active and '+esc(state.endpoint)+' is responding.
';
pageEl.innerHTML='';
});
}
ppBtns.forEach(function(b){
b.addEventListener('click', function(){
state.perPage=parseInt(b.getAttribute('data-pp'),10); state.page=1; markPP(); load();
});
});
pEl.addEventListener('click', function(e){
var b=e.target.closest('button[data-go]');
if (!b || b.disabled) return;
state.page=parseInt(b.getAttribute('data-go'),10);
load();
var top=root.getBoundingClientRect().top+window.pageYOffset-100;
window.scrollTo({top:top, behavior:'smooth'});
});
document.addEventListener(eventName, function(e){
var d=e.detail||{};
state.search=d.search||'';
if (d.endpoint) state.endpoint=d.endpoint;
state.catParam=d.catParam||''; state.catId=d.categoryId||null;
state.tagParam=d.tagParam||''; state.tagId=d.tagId||null;
state.page=1;
load();
});
markPP();
load();
}
function init(){ document.querySelectorAll('[data-c5pl-wrap]').forEach(initWidget); }
if (document.readyState==='loading') document.addEventListener('DOMContentLoaded', init); else init();
})();
A trajectory that supports every decision.
Since 1990, we have accompanied companies and institutions in the Canary Islands with a multidisciplinary team, specialised knowledge and a close-up view of each project.