Jquery Dependency removed

pull/1813/head
Saiful Islam 2023-03-06 16:07:58 +06:00
parent f2ed2c6642
commit b21bd3d699
1 changed files with 23 additions and 24 deletions

View File

@ -1,12 +1,7 @@
/* eslint-disable */ /* eslint-disable */
if (typeof jQuery === 'undefined') {
const script = document.createElement('script');
script.src = '//code.jquery.com/jquery.js';
document.head.appendChild(script);
}
if (typeof Chart === 'undefined') { if (typeof Chart === 'undefined') {
const script = document.createElement('script'); var script = document.createElement('script');
script.src = '//cdn.jsdelivr.net/npm/chart.js'; script.src = '//cdn.jsdelivr.net/npm/chart.js';
script.onload = function () { script.onload = function () {
window.unamiChart = false; window.unamiChart = false;
@ -16,13 +11,14 @@ if (typeof Chart === 'undefined') {
} }
function loadUnamiStat() { function loadUnamiStat() {
var startAt = $('#unamiChart').data('start-at'); var unamiChart = document.getElementById('unamiChart');
var endAt = $('#unamiChart').data('end-at'); if (unamiChart) {
var unit = $('#unamiChart').data('unit'); var startAt = unamiChart.getAttribute('data-start-at');
var tz = $('#unamiChart').data('tz'); var endAt = unamiChart.getAttribute('data-end-at');
var shareId = $('#unamiChart').data('share-id'); var unit = unamiChart.getAttribute('data-unit');
var reload = Number($('#unamiChart').data('reload')); var tz = unamiChart.getAttribute('data-tz');
if ($('#unamiChart').length) { var shareId = unamiChart.getAttribute('data-share-id');
var reload = Number(unamiChart.getAttribute('data-reload'));
loadUnamiDataAjax(startAt, endAt, unit, tz, shareId); loadUnamiDataAjax(startAt, endAt, unit, tz, shareId);
if (reload > 0) { if (reload > 0) {
setInterval(function () { setInterval(function () {
@ -41,8 +37,9 @@ function loadUnamiDataAjax(startAt, endAt, unit, tz, shareId) {
if (endAt == 'auto') { if (endAt == 'auto') {
endAt = new Date() * 1; endAt = new Date() * 1;
} }
var website = $('#unamiChart').data('website'); var unamiChart = document.getElementById('unamiChart');
var apiUrl = $('#unamiChart').data('url'); var website = unamiChart.getAttribute('data-website');
var apiUrl = unamiChart.getAttribute('data-url');
var chartOptions = { var chartOptions = {
responsive: true, responsive: true,
maintainAspectRatio: false, maintainAspectRatio: false,
@ -50,10 +47,12 @@ function loadUnamiDataAjax(startAt, endAt, unit, tz, shareId) {
scales: { x: { stacked: true }, y: { stacked: true } }, scales: { x: { stacked: true }, y: { stacked: true } },
}; };
var url = `${apiUrl}/api/websites/${website}/pageviews?start_at=${startAt}&end_at=${endAt}&unit=${unit}&tz=${tz}&shareId=${shareId}`; var url = `${apiUrl}/api/websites/${website}/pageviews?start_at=${startAt}&end_at=${endAt}&unit=${unit}&tz=${tz}&shareId=${shareId}`;
$.ajax({
method: 'GET', var xhr = new XMLHttpRequest();
url: url, xhr.open('GET', url);
success: function (data) { xhr.onload = function () {
if (xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
var labels = data.pageviews.map(p => { var labels = data.pageviews.map(p => {
var date = new Date(p.t); var date = new Date(p.t);
var hours = date.getHours(); var hours = date.getHours();
@ -92,9 +91,9 @@ function loadUnamiDataAjax(startAt, endAt, unit, tz, shareId) {
window.unamiChart.data = chartData; window.unamiChart.data = chartData;
window.unamiChart.update('none'); window.unamiChart.update('none');
} }
}, } else {
error: function (error) { console.log('Request failed. Returned status of ' + xhr.status);
console.log(error); }
}, };
}); xhr.send();
} }