64 lines
1.8 KiB
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
|