Added the marker_list function for setting multiple markers.
This commit is contained in:
@ -250,6 +250,31 @@ class SeriesCommon(Pane):
|
|||||||
''')
|
''')
|
||||||
self.run_script(f'{self.id}.series.update({js_data(series)})')
|
self.run_script(f'{self.id}.series.update({js_data(series)})')
|
||||||
|
|
||||||
|
def marker_list(self, markers: list):
|
||||||
|
"""
|
||||||
|
Creates multiple markers.\n
|
||||||
|
:param markers: The list of markers to set. These should be in the format:\n
|
||||||
|
[
|
||||||
|
{"time": "2021-01-21", "position": "below", "shape": "circle", "color": "#2196F3", "text": ""},
|
||||||
|
{"time": "2021-01-22", "position": "below", "shape": "circle", "color": "#2196F3", "text": ""},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
:return: a list of marker ids.
|
||||||
|
"""
|
||||||
|
markers = markers.copy()
|
||||||
|
marker_ids = []
|
||||||
|
for i, marker in enumerate(markers):
|
||||||
|
markers[i]['time'] = self._single_datetime_format(markers[i]['time'])
|
||||||
|
markers[i]['position'] = marker_position(markers[i]['position'])
|
||||||
|
markers[i]['shape'] = marker_shape(markers[i]['shape'])
|
||||||
|
markers[i]['id'] = self.win._id_gen.generate()
|
||||||
|
marker_ids.append(markers[i]['id'])
|
||||||
|
self.run_script(f"""
|
||||||
|
{self.id}.markers.push(...{markers})
|
||||||
|
{self.id}.series.setMarkers({self.id}.markers)
|
||||||
|
""")
|
||||||
|
return marker_ids
|
||||||
|
|
||||||
def marker(self, time: datetime = None, position: MARKER_POSITION = 'below',
|
def marker(self, time: datetime = None, position: MARKER_POSITION = 'below',
|
||||||
shape: MARKER_SHAPE = 'arrow_up', color: str = '#2196F3', text: str = ''
|
shape: MARKER_SHAPE = 'arrow_up', color: str = '#2196F3', text: str = ''
|
||||||
) -> str:
|
) -> str:
|
||||||
@ -964,7 +989,6 @@ class AbstractChart(Candlestick, Pane):
|
|||||||
|
|
||||||
self.run_script(f'''
|
self.run_script(f'''
|
||||||
{self.id}.commandFunctions.unshift((event) => {{
|
{self.id}.commandFunctions.unshift((event) => {{
|
||||||
console.log(event.key)
|
|
||||||
if ({key_condition}) {{
|
if ({key_condition}) {{
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
window.callbackFunction(`{modifier_key, keys}_~_{key}`)
|
window.callbackFunction(`{modifier_key, keys}_~_{key}`)
|
||||||
|
|||||||
Reference in New Issue
Block a user