mirror of
https://github.com/basicswap/basicswap.git
synced 2024-11-17 00:07:56 +00:00
Fix: Chart JS
This commit is contained in:
parent
c6f3c684a8
commit
54983913e1
1 changed files with 69 additions and 76 deletions
|
@ -866,77 +866,71 @@ const app = {
|
||||||
},
|
},
|
||||||
|
|
||||||
init: () => {
|
init: () => {
|
||||||
window.addEventListener('load', async () => {
|
window.addEventListener('load', app.onLoad);
|
||||||
ui.showLoader();
|
|
||||||
try {
|
|
||||||
volumeToggle.init();
|
|
||||||
await app.updateBTCPrice();
|
|
||||||
|
|
||||||
chartModule.initChart();
|
|
||||||
chartModule.showChartLoader();
|
|
||||||
} else {
|
|
||||||
console.warn('Chart container not found, skipping chart initialization');
|
|
||||||
}
|
|
||||||
|
|
||||||
const coinDataPromises = config.coins.map(coin => app.loadCoinData(coin));
|
|
||||||
await Promise.all(coinDataPromises);
|
|
||||||
|
|
||||||
if (chartModule.chart) {
|
|
||||||
config.currentResolution = 'month';
|
|
||||||
await chartModule.updateChart('BTC');
|
|
||||||
app.updateResolutionButtons('BTC');
|
|
||||||
}
|
|
||||||
|
|
||||||
ui.setActiveContainer('btc-container');
|
|
||||||
|
|
||||||
// Set up event listeners for coin containers
|
|
||||||
config.coins.forEach(coin => {
|
|
||||||
const container = document.getElementById(`${coin.symbol.toLowerCase()}-container`);
|
|
||||||
if (container) {
|
|
||||||
container.addEventListener('click', () => {
|
|
||||||
ui.setActiveContainer(`${coin.symbol.toLowerCase()}-container`);
|
|
||||||
if (chartModule.chart) {
|
|
||||||
if (coin.symbol === 'WOW') {
|
|
||||||
config.currentResolution = 'day';
|
|
||||||
}
|
|
||||||
chartModule.updateChart(coin.symbol);
|
|
||||||
app.updateResolutionButtons(coin.symbol);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
app.initializeSelectImages();
|
|
||||||
app.initAutoRefresh();
|
|
||||||
|
|
||||||
const refreshAllButton = document.getElementById('refresh-all');
|
|
||||||
if (refreshAllButton) {
|
|
||||||
refreshAllButton.addEventListener('click', app.refreshAllData);
|
|
||||||
}
|
|
||||||
|
|
||||||
const headers = document.querySelectorAll('th');
|
|
||||||
headers.forEach((header, index) => {
|
|
||||||
header.addEventListener('click', () => app.sortTable(index, header.classList.contains('disabled')));
|
|
||||||
});
|
|
||||||
|
|
||||||
const closeErrorButton = document.getElementById('close-error');
|
|
||||||
if (closeErrorButton) {
|
|
||||||
closeErrorButton.addEventListener('click', ui.hideErrorMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error during initialization:', error);
|
|
||||||
ui.displayErrorMessage('Failed to initialize the dashboard. Please try refreshing the page.');
|
|
||||||
} finally {
|
|
||||||
ui.hideLoader();
|
|
||||||
if (chartModule.chart) {
|
|
||||||
chartModule.hideChartLoader();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
app.loadLastRefreshedTime();
|
app.loadLastRefreshedTime();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onLoad: async () => {
|
||||||
|
ui.showLoader();
|
||||||
|
try {
|
||||||
|
volumeToggle.init();
|
||||||
|
await app.updateBTCPrice();
|
||||||
|
const chartContainer = document.getElementById('coin-chart');
|
||||||
|
if (chartContainer) {
|
||||||
|
chartModule.initChart();
|
||||||
|
chartModule.showChartLoader();
|
||||||
|
} else {
|
||||||
|
console.warn('Chart container not found, skipping chart initialization');
|
||||||
|
}
|
||||||
|
for (const coin of config.coins) {
|
||||||
|
await app.loadCoinData(coin);
|
||||||
|
}
|
||||||
|
if (chartModule.chart) {
|
||||||
|
config.currentResolution = 'month';
|
||||||
|
await chartModule.updateChart('BTC');
|
||||||
|
app.updateResolutionButtons('BTC');
|
||||||
|
}
|
||||||
|
ui.setActiveContainer('btc-container');
|
||||||
|
config.coins.forEach(coin => {
|
||||||
|
const container = document.getElementById(`${coin.symbol.toLowerCase()}-container`);
|
||||||
|
if (container) {
|
||||||
|
container.addEventListener('click', () => {
|
||||||
|
ui.setActiveContainer(`${coin.symbol.toLowerCase()}-container`);
|
||||||
|
if (chartModule.chart) {
|
||||||
|
if (coin.symbol === 'WOW') {
|
||||||
|
config.currentResolution = 'day';
|
||||||
|
}
|
||||||
|
chartModule.updateChart(coin.symbol);
|
||||||
|
app.updateResolutionButtons(coin.symbol);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const refreshAllButton = document.getElementById('refresh-all');
|
||||||
|
if (refreshAllButton) {
|
||||||
|
refreshAllButton.addEventListener('click', app.refreshAllData);
|
||||||
|
}
|
||||||
|
app.initializeSelectImages();
|
||||||
|
const headers = document.querySelectorAll('th');
|
||||||
|
headers.forEach((header, index) => {
|
||||||
|
header.addEventListener('click', () => app.sortTable(index, header.classList.contains('disabled')));
|
||||||
|
});
|
||||||
|
const closeErrorButton = document.getElementById('close-error');
|
||||||
|
if (closeErrorButton) {
|
||||||
|
closeErrorButton.addEventListener('click', ui.hideErrorMessage);
|
||||||
|
}
|
||||||
|
app.initAutoRefresh();
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error during initialization:', error);
|
||||||
|
ui.displayErrorMessage('Failed to initialize the dashboard. Please try refreshing the page.');
|
||||||
|
} finally {
|
||||||
|
ui.hideLoader();
|
||||||
|
if (chartModule.chart) {
|
||||||
|
chartModule.hideChartLoader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
loadCoinData: async (coin) => {
|
loadCoinData: async (coin) => {
|
||||||
const cacheKey = `coinData_${coin.symbol}`;
|
const cacheKey = `coinData_${coin.symbol}`;
|
||||||
let cachedData = cache.get(cacheKey);
|
let cachedData = cache.get(cacheKey);
|
||||||
|
@ -1029,14 +1023,13 @@ const app = {
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleAutoRefresh: () => {
|
toggleAutoRefresh: () => {
|
||||||
if (app.isAutoRefreshEnabled) {
|
if (app.isAutoRefreshEnabled) {
|
||||||
app.stopAutoRefresh();
|
app.stopAutoRefresh();
|
||||||
} else {
|
} else {
|
||||||
app.startAutoRefresh();
|
app.startAutoRefresh();
|
||||||
app.startSpinAnimation();
|
}
|
||||||
}
|
app.updateAutoRefreshButton();
|
||||||
app.updateAutoRefreshButton();
|
},
|
||||||
},
|
|
||||||
|
|
||||||
updateNextRefreshTime: () => {
|
updateNextRefreshTime: () => {
|
||||||
const nextRefreshSpan = document.getElementById('next-refresh-time');
|
const nextRefreshSpan = document.getElementById('next-refresh-time');
|
||||||
|
|
Loading…
Reference in a new issue