Tengo una aplicación de tablero, donde un botón Imprimir ejecuta una impresión de ventana en Javascript usando una devolución de llamada del lado del cliente. Me gustaría que el botón Imprimir active una devolución de llamada de Python ANTES de que active la impresión de ventana de Javascipt para poder ocultar una función de diseño y evitar que se muestre. No importa lo que intente, la ventana de impresión de javascript se abre primero y solo al cerrar esa ventana se activa la otra devolución de llamada de python. ¿Hay un trabajo alrededor? Gracias
dbc.Button('Print Record', id='printing', outline=True, className="d-print-none", n_clicks=0,) @app.callback( [, Output("printing", "n_clicks"), ], [Input("printing", "n_clicks")], ) def toggle_sidebarnclick(n): "code toggles a layout feature so it doesn't appear on the screen" return n app.clientside_callback( """ function(clicks) { if (clicks > 0) { try { document.execCommand('print', false, null); } catch(e) { window.print(); } } return } """, Output('hidden-content', 'children'), Input('printing', 'n_clicks') )
La solución es sencilla:
{ setTimeout(window.print, 1000) }