Spaces:
Paused
Paused
Update app.py via AI Editor
Browse files
app.py
CHANGED
@@ -364,8 +364,29 @@ def get_right_col_content(selected_type, store_data):
|
|
364 |
], className="mb-2")
|
365 |
)
|
366 |
controls.append(html.Hr())
|
367 |
-
|
368 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
return dbc.Card(dbc.CardBody(controls))
|
370 |
|
371 |
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP], suppress_callback_exceptions=True)
|
@@ -385,24 +406,31 @@ app.layout = dbc.Container([
|
|
385 |
dcc.Store(id='main-loader-trigger'),
|
386 |
dbc.Row([
|
387 |
dbc.Col(
|
388 |
-
html.H2(id='main-title', className="mt-3 mb-2", style={'textAlign': '
|
389 |
-
width=
|
390 |
-
)
|
|
|
|
|
391 |
dbc.Col(
|
392 |
dcc.Loading(
|
393 |
id="main-progress-dot",
|
394 |
type="dot",
|
395 |
children=html.Div(id="main-progress-dot-output"),
|
396 |
-
style={'
|
397 |
),
|
398 |
-
width=
|
399 |
-
style={'textAlign':'right', 'marginBottom':'10px'}
|
400 |
)
|
401 |
-
]),
|
402 |
dbc.Row([
|
403 |
dbc.Col(
|
404 |
dbc.Card(
|
405 |
-
dbc.CardBody(get_left_col_content())
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
),
|
407 |
width=3
|
408 |
),
|
@@ -412,7 +440,7 @@ app.layout = dbc.Container([
|
|
412 |
]),
|
413 |
width=9
|
414 |
)
|
415 |
-
])
|
416 |
], fluid=True)
|
417 |
|
418 |
@app.callback(
|
@@ -611,12 +639,10 @@ def unified_handler(contents_lists, n_clicks_generate_list, n_clicks_download, s
|
|
611 |
t.join(timeout=60)
|
612 |
generated_doc = result_holder.get('result', 'Error: No document generated.')
|
613 |
set_generated_doc(selected_type, generated_doc)
|
614 |
-
# Always show preview after generation. Make sure preview uses the latest generated_doc variable.
|
615 |
if selected_type in spreadsheet_types:
|
616 |
preview = markdown_table_preview(generated_doc)
|
617 |
else:
|
618 |
preview = markdown_narrative_preview(generated_doc)
|
619 |
-
# Save generated doc to store-generated-doc so it can be previewed even after switching tabs.
|
620 |
return stores + [file_list, uploaded_doc_name_shred, preview, generated_doc, dash.no_update, loader_trigger]
|
621 |
|
622 |
if "btn-download" in trigger:
|
@@ -656,7 +682,6 @@ def unified_handler(contents_lists, n_clicks_generate_list, n_clicks_download, s
|
|
656 |
download_data = dcc.send_bytes(content, filename=f"{selected_type}_output.md")
|
657 |
return stores + [file_list, uploaded_doc_name_shred, dash.no_update, dash.no_update, download_data, loader_trigger]
|
658 |
|
659 |
-
# Always show the latest generated doc as preview if it exists in store or DB
|
660 |
doc = prev_generated
|
661 |
if not doc:
|
662 |
doc = get_generated_doc(selected_type)
|
@@ -666,7 +691,6 @@ def unified_handler(contents_lists, n_clicks_generate_list, n_clicks_download, s
|
|
666 |
else:
|
667 |
preview = markdown_narrative_preview(doc)
|
668 |
else:
|
669 |
-
# Show uploaded doc preview if no generated doc yet
|
670 |
if selected_type == "Shred" and stores[0]:
|
671 |
preview = markdown_table_preview(stores[0])
|
672 |
elif selected_type in spreadsheet_types:
|
|
|
364 |
], className="mb-2")
|
365 |
)
|
366 |
controls.append(html.Hr())
|
367 |
+
controls.append(
|
368 |
+
dbc.Card(
|
369 |
+
dbc.CardBody(
|
370 |
+
html.Div(
|
371 |
+
id='document-preview',
|
372 |
+
style={
|
373 |
+
'height': 'calc(100vh - 260px)',
|
374 |
+
'maxHeight': '740px',
|
375 |
+
'overflowY': 'auto',
|
376 |
+
'overflowX': 'auto',
|
377 |
+
'padding': '8px'
|
378 |
+
}
|
379 |
+
)
|
380 |
+
),
|
381 |
+
style={
|
382 |
+
'marginBottom': '10px',
|
383 |
+
'height': 'calc(100vh - 260px)',
|
384 |
+
'maxHeight': '740px',
|
385 |
+
'minHeight': '320px',
|
386 |
+
'boxSizing': 'border-box'
|
387 |
+
}
|
388 |
+
)
|
389 |
+
)
|
390 |
return dbc.Card(dbc.CardBody(controls))
|
391 |
|
392 |
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP], suppress_callback_exceptions=True)
|
|
|
406 |
dcc.Store(id='main-loader-trigger'),
|
407 |
dbc.Row([
|
408 |
dbc.Col(
|
409 |
+
html.H2(id='main-title', className="mt-3 mb-2", style={'textAlign': 'center', 'width':'100%'}),
|
410 |
+
width=12
|
411 |
+
)
|
412 |
+
], justify='center'),
|
413 |
+
dbc.Row([
|
414 |
dbc.Col(
|
415 |
dcc.Loading(
|
416 |
id="main-progress-dot",
|
417 |
type="dot",
|
418 |
children=html.Div(id="main-progress-dot-output"),
|
419 |
+
style={'display': 'flex', 'justifyContent': 'center', 'alignItems': 'center', 'height':'40px'}
|
420 |
),
|
421 |
+
width=12
|
|
|
422 |
)
|
423 |
+
], justify='center'),
|
424 |
dbc.Row([
|
425 |
dbc.Col(
|
426 |
dbc.Card(
|
427 |
+
dbc.CardBody(get_left_col_content()),
|
428 |
+
style={
|
429 |
+
'height': 'calc(100vh - 140px)',
|
430 |
+
'maxHeight': '820px',
|
431 |
+
'minHeight': '460px',
|
432 |
+
'boxSizing': 'border-box'
|
433 |
+
}
|
434 |
),
|
435 |
width=3
|
436 |
),
|
|
|
440 |
]),
|
441 |
width=9
|
442 |
)
|
443 |
+
], align='start')
|
444 |
], fluid=True)
|
445 |
|
446 |
@app.callback(
|
|
|
639 |
t.join(timeout=60)
|
640 |
generated_doc = result_holder.get('result', 'Error: No document generated.')
|
641 |
set_generated_doc(selected_type, generated_doc)
|
|
|
642 |
if selected_type in spreadsheet_types:
|
643 |
preview = markdown_table_preview(generated_doc)
|
644 |
else:
|
645 |
preview = markdown_narrative_preview(generated_doc)
|
|
|
646 |
return stores + [file_list, uploaded_doc_name_shred, preview, generated_doc, dash.no_update, loader_trigger]
|
647 |
|
648 |
if "btn-download" in trigger:
|
|
|
682 |
download_data = dcc.send_bytes(content, filename=f"{selected_type}_output.md")
|
683 |
return stores + [file_list, uploaded_doc_name_shred, dash.no_update, dash.no_update, download_data, loader_trigger]
|
684 |
|
|
|
685 |
doc = prev_generated
|
686 |
if not doc:
|
687 |
doc = get_generated_doc(selected_type)
|
|
|
691 |
else:
|
692 |
preview = markdown_narrative_preview(doc)
|
693 |
else:
|
|
|
694 |
if selected_type == "Shred" and stores[0]:
|
695 |
preview = markdown_table_preview(stores[0])
|
696 |
elif selected_type in spreadsheet_types:
|