bluenevus commited on
Commit
936a628
·
1 Parent(s): 1b7894b

Update app.py via AI Editor

Browse files
Files changed (1) hide show
  1. app.py +24 -30
app.py CHANGED
@@ -634,28 +634,6 @@ app.clientside_callback(
634
  Input('dummy-url', 'pathname')
635
  )
636
 
637
- @app.callback(
638
- Output('documents-list', 'children'),
639
- Output('select-document-dropdown', 'options'),
640
- Output('select-document-dropdown', 'value'),
641
- Output('proposals-list', 'children'),
642
- Output('select-proposal-dropdown', 'options'),
643
- Output('select-proposal-dropdown', 'value'),
644
- Output('preview-window-state', 'data'),
645
- Input('session-id-store', 'data'),
646
- prevent_initial_call=False
647
- )
648
- def refresh_session_files(session_id):
649
- sid = get_session_id(session_id)
650
- sess_data = get_session_data(sid)
651
- doc_options = [{'label': truncate_filename(fn), 'value': fn} for fn in sess_data["uploaded_documents"].keys()]
652
- doc_value = next(iter(sess_data["uploaded_documents"]), None) if sess_data["uploaded_documents"] else None
653
- proposal_options = [{'label': truncate_filename(fn), 'value': fn} for fn in sess_data["proposals"].keys()]
654
- proposal_value = next(iter(sess_data["proposals"]), None) if sess_data["proposals"] else None
655
- documents_list = get_documents_list(sess_data["uploaded_documents"], sess_data["shredded_documents"])
656
- proposals_list = get_proposals_list(sess_data["proposals"])
657
- return documents_list, doc_options, doc_value, proposals_list, proposal_options, proposal_value, "expanded"
658
-
659
  @app.callback(
660
  Output('output-data-upload', 'children'),
661
  Output('documents-list', 'children'),
@@ -683,21 +661,25 @@ def refresh_session_files(session_id):
683
  State('chat-input', 'value'),
684
  Input('cancel-action-btn', 'n_clicks'),
685
  State('preview-window-state', 'data'),
686
- State('session-id-store', 'data')
 
687
  ],
688
- prevent_initial_call=True
689
  )
690
- def master_callback(
691
  shred_clicks, proposal_clicks, compliance_clicks, recover_clicks, board_clicks, loe_clicks,
692
  rfp_content, rfp_filename, doc_delete_clicks, selected_doc,
693
  proposal_content, proposal_filename, proposal_delete_clicks, selected_proposal,
694
  chat_input, cancel_clicks, preview_window_state,
695
- session_id
696
  ):
697
- sid = get_session_id(session_id)
 
698
  sess_data = get_session_data(sid)
699
  ctx = callback_context
700
  triggered_id = ctx.triggered[0]['prop_id'].split('.')[0] if ctx.triggered else None
 
 
701
 
702
  def safe_get_n_clicks(ctx, idx):
703
  try:
@@ -707,7 +689,21 @@ def master_callback(
707
 
708
  doc_delete_clicks = safe_get_n_clicks(ctx, 8)
709
  proposal_delete_clicks = safe_get_n_clicks(ctx, 12)
710
- uploaded_rfp_decoded_bytes = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
711
 
712
  if triggered_id == 'cancel-action-btn':
713
  lock = sess_data.get("gemini_lock")
@@ -811,8 +807,6 @@ def master_callback(
811
  proposal_options = [{'label': truncate_filename(fn), 'value': fn} for fn in sess_data["proposals"].keys()]
812
  proposal_value = selected_proposal if selected_proposal in sess_data["proposals"] else (next(iter(sess_data["proposals"]), None) if sess_data["proposals"] else None)
813
 
814
- output_data_upload = html.Div("No action taken yet.", style={"wordWrap": "break-word"})
815
-
816
  action_btns = [
817
  'shred-action-btn', 'proposal-action-btn', 'compliance-action-btn',
818
  'recover-action-btn', 'board-action-btn', 'loe-action-btn'
 
634
  Input('dummy-url', 'pathname')
635
  )
636
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
637
  @app.callback(
638
  Output('output-data-upload', 'children'),
639
  Output('documents-list', 'children'),
 
661
  State('chat-input', 'value'),
662
  Input('cancel-action-btn', 'n_clicks'),
663
  State('preview-window-state', 'data'),
664
+ State('session-id-store', 'data'),
665
+ Input('session-id-store', 'data')
666
  ],
667
+ prevent_initial_call=False
668
  )
669
+ def unified_master_callback(
670
  shred_clicks, proposal_clicks, compliance_clicks, recover_clicks, board_clicks, loe_clicks,
671
  rfp_content, rfp_filename, doc_delete_clicks, selected_doc,
672
  proposal_content, proposal_filename, proposal_delete_clicks, selected_proposal,
673
  chat_input, cancel_clicks, preview_window_state,
674
+ session_id_state, session_id_store_input
675
  ):
676
+ # Determine session_id
677
+ sid = get_session_id(session_id_state if session_id_state else session_id_store_input)
678
  sess_data = get_session_data(sid)
679
  ctx = callback_context
680
  triggered_id = ctx.triggered[0]['prop_id'].split('.')[0] if ctx.triggered else None
681
+ output_data_upload = html.Div("No action taken yet.", style={"wordWrap": "break-word"})
682
+ uploaded_rfp_decoded_bytes = None
683
 
684
  def safe_get_n_clicks(ctx, idx):
685
  try:
 
689
 
690
  doc_delete_clicks = safe_get_n_clicks(ctx, 8)
691
  proposal_delete_clicks = safe_get_n_clicks(ctx, 12)
692
+
693
+ # On first page load, just show the lists
694
+ if not ctx.triggered or triggered_id in ['session-id-store']:
695
+ doc_options = [{'label': truncate_filename(fn), 'value': fn} for fn in sess_data["uploaded_documents"].keys()]
696
+ doc_value = next(iter(sess_data["uploaded_documents"]), None) if sess_data["uploaded_documents"] else None
697
+ proposal_options = [{'label': truncate_filename(fn), 'value': fn} for fn in sess_data["proposals"].keys()]
698
+ proposal_value = next(iter(sess_data["proposals"]), None) if sess_data["proposals"] else None
699
+ documents_list = get_documents_list(sess_data["uploaded_documents"], sess_data["shredded_documents"])
700
+ proposals_list = get_proposals_list(sess_data["proposals"])
701
+ return (
702
+ output_data_upload,
703
+ documents_list, doc_options, doc_value,
704
+ proposals_list, proposal_options, proposal_value,
705
+ "expanded"
706
+ )
707
 
708
  if triggered_id == 'cancel-action-btn':
709
  lock = sess_data.get("gemini_lock")
 
807
  proposal_options = [{'label': truncate_filename(fn), 'value': fn} for fn in sess_data["proposals"].keys()]
808
  proposal_value = selected_proposal if selected_proposal in sess_data["proposals"] else (next(iter(sess_data["proposals"]), None) if sess_data["proposals"] else None)
809
 
 
 
810
  action_btns = [
811
  'shred-action-btn', 'proposal-action-btn', 'compliance-action-btn',
812
  'recover-action-btn', 'board-action-btn', 'loe-action-btn'