This commit is contained in:
David Brazda
2024-11-15 07:10:41 +01:00
parent 2c656fa640
commit 1deb397e28
3 changed files with 27 additions and 25 deletions

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@ with open('README.md', 'r', encoding='utf-8') as f:
setup(
name='lightweight_charts',
version='2.2.12',
version='2.2.13',
packages=find_packages(),
python_requires='>=3.8',
install_requires=[

View File

@ -14,6 +14,7 @@ interface LineElement {
export class Legend {
private handler: Handler;
public div: HTMLDivElement;
public contentWrapper: HTMLDivElement;
private ohlcEnabled: boolean = false;
private percentEnabled: boolean = false;
@ -34,29 +35,30 @@ export class Legend {
this.linesEnabled = false
this.colorBasedOnCandle = false
// Create container div
this.div = document.createElement('div');
this.div.classList.add('legend');
this.div.style.maxWidth = `${(handler.scale.width * 100) - 8}vw`
// Important: Set these styles to make it scrollable
this.div.style.height = '300px'; // Fixed height instead of maxHeight
this.div.style.maxWidth = `${(handler.scale.width * 100) - 8}vw`;
this.div.style.maxHeight = '300px';
this.div.style.overflowY = 'auto';
this.div.style.display = 'block'; // Ensure it's a block element
this.div.style.position = 'relative'; // Helps with positioning
this.div.style.overflowX = 'hidden';
this.div.style.display = 'none'; // This will be changed to 'block' when needed
// Optional: Add some styling for better appearance
this.div.style.border = '1px solid #ccc';
this.div.style.padding = '10px';
this.div.style.display = 'none';
// Create a wrapper for the content to ensure proper scrolling
this.contentWrapper = document.createElement('div');
this.contentWrapper.style.minHeight = '100%'; // Ensure content fills the space
this.text = document.createElement('span')
this.text.style.lineHeight = '1.8'
this.candle = document.createElement('div')
this.text = document.createElement('span');
this.text.style.lineHeight = '1.8';
this.text.style.display = 'block'; // Make span block-level
this.div.appendChild(this.text)
this.div.appendChild(this.candle)
handler.div.appendChild(this.div)
this.candle = document.createElement('div');
// this.makeSeriesRows(handler);
// Append in the correct order
this.contentWrapper.appendChild(this.text);
this.contentWrapper.appendChild(this.candle);
this.div.appendChild(this.contentWrapper);
handler.div.appendChild(this.div);
handler.chart.subscribeCrosshairMove(this.legendHandler)
}