def card(node: pipelines.Node) -> str: """A card that shows the system stats, the time line and output for the last runs or a node""" return bootstrap.card( id='last-runs-card', header_left=[ 'Last runs ', _.div(style='display:inline-block;margin-left:20px;')[ html.asynchronous_content( flask.url_for('data_integration.last_runs_selector', path=node.url_path()))] ], body=[ html.spinner_js_function(), html.asynchronous_content(url=flask.url_for( 'data_integration.system_stats', path=node.url_path(), run_id=None), div_id='system-stats'), html.asynchronous_content(url=flask.url_for( 'data_integration.timeline_chart', path=node.url_path(), run_id=None), div_id='timeline-chart'), html.asynchronous_content(url=flask.url_for( 'data_integration.run_output', path=node.url_path(), run_id=None, limit=True), div_id='run-output') ])
def node_url(node: pipelines.Node) -> str: """The url of the page that documents a node""" return flask.url_for('data_integration.node_page', path=node.url_path())
def card(node: pipelines.Node): """A card that shows the duration of the node and its top children over time""" return bootstrap.card(header_left='Run times', body=html.asynchronous_content( flask.url_for('data_integration.run_time_chart', path=node.url_path())))