Files
KI/resources/views/home/indicadores.blade.php

64 lines
1.8 KiB
PHP

<div id="indicadores">
<div class="ui container">
<div class="ui grid">
</div>
</div>
</div>
@push('scripts')
<script type="text/javascript">
var indicadores = {
indicadores: [
@foreach ($indicadores as $indicador => $titulo)
{
sim: '{{$indicador}}',
titulo: '{{$titulo}}'
},
@endforeach
],
id: '#indicadores',
current: {{count($indicadores)}},
findIndicador: (i) => {
var indicador = indicadores.indicadores[i]
return $.ajax({
url: '{{$urls->base}}/indicador/' + indicador.sim,
success: (data) => {
var div = $('<div></div>').attr('class', 'two wide center aligned column').append(
$('<div></div>').attr('class', 'ui header').append(indicador.titulo).append(
$('<div></div>').attr('class', 'sub header').html(data.valor)
)
)
$(indicadores.id).find('.grid').append(
div
)
}
})
},
findNext: () => {
console.log('Next call')
next = indicadores.current + 1
if (next > indicadores.indicadores.length) {
next = 0
}
indicadores.findIndicador(next).done(() => {
$(indicadores.id).find('.grid').find('.column:first-child').remove()
indicadores.current = next
setTimeout(indicadores.findNext(), 30000)
})
},
setup: () => {
var promises = []
$.each(indicadores.indicadores, (i, el) => {
promises.push(indicadores.findIndicador(i))
})
Promise.all(promises).then(() => {
setTimeout(indicadores.findNext(), 30000)
})
}
}
$(document).ready(() => {
indicadores.setup()
})
</script>
@endpush