Improve dashboard rendering speed by using ajax for graphs. Improve perfs by using more index on query. Add function to find invalid numbers and export as csv

This commit is contained in:
osaajani 2024-10-28 21:35:01 +01:00
parent 52c849e043
commit 2be8242d5e
16 changed files with 494 additions and 56 deletions

View file

@ -53,6 +53,7 @@
<input type="submit" class="btn btn-success ml-4" value="Valider" />
</form>
<canvas id="bar-chart-sms-status"></canvas>
<div id="bar-chart-sms-status-loader" class="text-center mb-5"><div class="loader"></div></div>
</div>
</div>
</div>
@ -81,9 +82,8 @@
const formatedEndDate = endDate.toISOString().split('T')[0]
const id_phone = document.getElementById('id_phone').value;
const query_infos = <?= json_encode(['url' => \descartes\Router::url('Api', 'get_sms_status_stats')])?>;
let url = `${query_infos.url}?start=${formatedStartDate}&end=${formatedEndDate}`;
let url = <?= json_encode(\descartes\Router::url('Api', 'get_sms_status_stats'))?>;
url += `?start=${formatedStartDate}&end=${formatedEndDate}`;
url += id_phone ? `&id_phone=${id_phone}` : '';
const response = await fetch(url);
const data = (await response.json()).response;
@ -187,6 +187,8 @@
plugins: [noDataPlugin],
};
document.getElementById('bar-chart-sms-status-loader').classList.add('hidden');
// On first run create chart, after update
if (!smsStatusChart) {
smsStatusChart = new Chart(ctx, config);