maher-tradingview-api
Version:
Tradingview instant stocks API, indicator alerts, trading bot, and more !
90 lines (79 loc) • 3.7 kB
JavaScript
/* eslint-disable linebreak-style */
/* eslint-disable indent */
/* eslint-disable linebreak-style */
/* eslint-disable arrow-parens */
/* eslint-disable no-undef */
/* eslint-disable linebreak-style */
// US Market functionality
document.addEventListener('DOMContentLoaded', () => {
// Handle popular stock symbol clicks
const symbolTags = document.querySelectorAll('.symbol-tag');
const symbolInput = document.getElementById('symbol');
const marketQueryInput = document.getElementById('market-query');
symbolTags.forEach(tag => {
tag.addEventListener('click', () => {
const symbol = tag.getAttribute('data-symbol');
// If we're on the market search section, fill the search input
if (marketQueryInput) {
marketQueryInput.value = symbol;
}
// If we're on the market data section, fill the symbol input
if (symbolInput) {
symbolInput.value = symbol;
}
});
});
// Handle exchange button clicks
const exchangeBtns = document.querySelectorAll('.exchange-btn');
const popularSymbols = document.getElementById('popular-symbols');
const nyseSymbols = `
<span class="symbol-tag" data-symbol="NYSE:JPM">JP Morgan (JPM)</span>
<span class="symbol-tag" data-symbol="NYSE:V">Visa (V)</span>
<span class="symbol-tag" data-symbol="NYSE:WMT">Walmart (WMT)</span>
<span class="symbol-tag" data-symbol="NYSE:DIS">Disney (DIS)</span>
<span class="symbol-tag" data-symbol="NYSE:PFE">Pfizer (PFE)</span>
<span class="symbol-tag" data-symbol="NYSE:KO">Coca-Cola (KO)</span>
<span class="symbol-tag" data-symbol="NYSE:BAC">Bank of America (BAC)</span>
<span class="symbol-tag" data-symbol="NYSE:XOM">ExxonMobil (XOM)</span>
<span class="symbol-tag" data-symbol="NYSE:CVX">Chevron (CVX)</span>
<span class="symbol-tag" data-symbol="NYSE:JNJ">Johnson & Johnson (JNJ)</span>
`;
const nasdaqSymbols = `
<span class="symbol-tag" data-symbol="NASDAQ:AAPL">Apple (AAPL)</span>
<span class="symbol-tag" data-symbol="NASDAQ:MSFT">Microsoft (MSFT)</span>
<span class="symbol-tag" data-symbol="NASDAQ:AMZN">Amazon (AMZN)</span>
<span class="symbol-tag" data-symbol="NASDAQ:TSLA">Tesla (TSLA)</span>
<span class="symbol-tag" data-symbol="NASDAQ:NVDA">NVIDIA (NVDA)</span>
<span class="symbol-tag" data-symbol="NASDAQ:PYPL">PayPal (PYPL)</span>
<span class="symbol-tag" data-symbol="NASDAQ:NFLX">Netflix (NFLX)</span>
<span class="symbol-tag" data-symbol="NASDAQ:INTC">Intel (INTC)</span>
<span class="symbol-tag" data-symbol="NASDAQ:CSCO">Cisco (CSCO)</span>
<span class="symbol-tag" data-symbol="NASDAQ:CMCSA">Comcast (CMCSA)</span>
`;
exchangeBtns.forEach(btn => {
btn.addEventListener('click', () => {
// Update active state
exchangeBtns.forEach(b => b.classList.remove('active'));
btn.classList.add('active');
// Update symbols based on selected exchange
const exchange = btn.getAttribute('data-exchange');
if (exchange === 'NYSE') {
popularSymbols.innerHTML = nyseSymbols;
} else if (exchange === 'NASDAQ') {
popularSymbols.innerHTML = nasdaqSymbols;
}
// Reattach event listeners to new symbols
document.querySelectorAll('.symbol-tag').forEach(tag => {
tag.addEventListener('click', () => {
const symbol = tag.getAttribute('data-symbol');
if (marketQueryInput) {
marketQueryInput.value = symbol;
}
if (symbolInput) {
symbolInput.value = symbol;
}
});
});
});
});
});