allow multiple range_change selectors
This commit is contained in:
@ -143,17 +143,18 @@ class Events:
|
|||||||
{chart.id}.search = Handler.makeSearchBox({chart.id})
|
{chart.id}.search = Handler.makeSearchBox({chart.id})
|
||||||
''')
|
''')
|
||||||
)
|
)
|
||||||
self.range_change = JSEmitter(chart, f'range_change{chart.id}',
|
salt = chart.id[chart.id.index('.')+1:]
|
||||||
|
self.range_change = JSEmitter(chart, f'range_change{salt}',
|
||||||
lambda o: chart.run_script(f'''
|
lambda o: chart.run_script(f'''
|
||||||
let checkLogicalRange = (logical) => {{
|
let checkLogicalRange{salt} = (logical) => {{
|
||||||
{chart.id}.chart.timeScale().unsubscribeVisibleLogicalRangeChange(checkLogicalRange)
|
{chart.id}.chart.timeScale().unsubscribeVisibleLogicalRangeChange(checkLogicalRange{salt})
|
||||||
|
|
||||||
let barsInfo = {chart.id}.series.barsInLogicalRange(logical)
|
let barsInfo = {chart.id}.series.barsInLogicalRange(logical)
|
||||||
if (barsInfo) window.callbackFunction(`range_change{chart.id}_~_${{barsInfo.barsBefore}};;;${{barsInfo.barsAfter}}`)
|
if (barsInfo) window.callbackFunction(`range_change{salt}_~_${{barsInfo.barsBefore}};;;${{barsInfo.barsAfter}}`)
|
||||||
|
|
||||||
setTimeout(() => {chart.id}.chart.timeScale().subscribeVisibleLogicalRangeChange(checkLogicalRange), 50)
|
setTimeout(() => {chart.id}.chart.timeScale().subscribeVisibleLogicalRangeChange(checkLogicalRange{salt}), 50)
|
||||||
}}
|
}}
|
||||||
{chart.id}.chart.timeScale().subscribeVisibleLogicalRangeChange(checkLogicalRange)
|
{chart.id}.chart.timeScale().subscribeVisibleLogicalRangeChange(checkLogicalRange{salt})
|
||||||
'''),
|
'''),
|
||||||
wrapper=lambda o, c, *arg: o(c, *[float(a) for a in arg])
|
wrapper=lambda o, c, *arg: o(c, *[float(a) for a in arg])
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user