Hi, I’m trying to add Lottie web animations to my Dash app but can’t figure out how to, given the predefined list of Dash HTML components, and I don’t want to resort to using dangeroulsysetInnerHTML.
I know how to add the required Javascript, but how would I add the html player component, for example:
If you don’t like dangeroulsysetInnerHTML, you could write a Lottie component for Dash. The easiest would probably be to start from the React component,
I never head about Lottie before, but it looks really cool! And since it just started raining, i can’t work on my projects outside, so i decided to implement a small component. All options from the react component should be available, but i have not (yet) implemented events. Here is a small example,
import dash
import dash_html_components as html
import dash_extensions as de
# Setup options.
url = "https://assets9.lottiefiles.com/packages/lf20_YXD37q.json"
options = dict(loop=True, autoplay=True, rendererSettings=dict(preserveAspectRatio='xMidYMid slice'))
# Create example app.
app = dash.Dash(__name__)
app.layout = html.Div(de.Lottie(options=options, width="25%", height="25%", url=url))
if __name__ == '__main__':
app.run_server()
If you decide to give it a spin, you will need the latest version of my dash extensions package,
Hi Emil, thank you for the great work! Unfortunately I tried your Lottie example and it does not seem to work on my side
I use python 3.6 with dash-extensions 0.0.31, dash 1.16.1
Hi guys, after digging into the error it happened to be a proxy issue ! It works well now when I am refering to an url from Lottie. Is there a way to refer to a local file via something like url=“lottie_file.json” ? It keep having a blank page for now. thanks !