Modification de la gestion dynamique des sélections dans pda

This commit is contained in:
Fabrication du Numérique 2025-06-04 10:09:41 +02:00
parent e1e288f201
commit 977f5e4369
2 changed files with 13 additions and 0 deletions

1
app/plan_d_action/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
jobs/

View File

@ -86,12 +86,24 @@ def tableau_de_bord(chains, produits, composants, mineraux, seuils):
produits_disponibles = sorted({c["produit"] for c in chains})
sel_prod = st.selectbox("Produit", produits_disponibles, index=produits_disponibles.index(st.session_state.sel_prod) if st.session_state.sel_prod else 0)
if sel_prod != st.session_state.sel_prod:
st.session_state.sel_prod = sel_prod
st.session_state.sel_comp = None
st.session_state.sel_miner = None
st.rerun()
composants_dispo = sorted({c["composant"] for c in chains if c["produit"] == sel_prod})
sel_comp = st.selectbox("Composant", composants_dispo, index=composants_dispo.index(st.session_state.sel_comp) if st.session_state.sel_comp else 0)
if sel_comp != st.session_state.sel_comp:
st.session_state.sel_comp = sel_comp
st.session_state.sel_miner = None
st.rerun()
mineraux_dispo = sorted({c["minerai"] for c in chains if c["produit"] == sel_prod and c["composant"] == sel_comp})
sel_miner = st.selectbox("Minerai", mineraux_dispo, index=mineraux_dispo.index(st.session_state.sel_miner) if st.session_state.sel_miner else 0)
if sel_miner != st.session_state.sel_miner:
st.session_state.sel_miner = sel_miner
st.rerun()
with col_right:
top_chains = analyser_chaines(chains, produits, composants, mineraux, seuils, top_n=5)
st.markdown("**<u>Top chaînes critiques pour sélection rapide</u>**", unsafe_allow_html=True)