import streamlit as st from annotated_text import annotated_text, annotation import itertools from utils import save_report def show_as_tags(data_string): if len(data_string) == 0: return "" splits = sorted([item.strip() for item in data_string.split(";")], key=len) splits = [ annotation(split, "", background="#1a2b54", color="#ffffff") for split in splits ] gaps = [" "] * len(splits) return list(itertools.chain(*zip(splits, gaps))) @st.dialog("Dettagli di un Intervento", width="large") def show_modal(name): save_report(st.session_state, modal=name["Titolo"], error=None) st.title(name["Titolo"]) c1, c2 = st.columns([1, 3]) c1.write("**Ente finanziatore**") c2.write(f'**{name["Ente finanziatore"]}**') c1, c2 = st.columns([1, 3]) c1.write("**Linea di finanziamento/bando**") c2.write(name["Linea di finanziamento/bando"]) c1, c2 = st.columns([1, 3]) c1.write("**Capofila**") c2.write(f'{name["Capofila"]} [{name["Geolocalizzazione capofila"]}]') # c1,c2 = st.columns([1,3]) # c1.write("**Tipologia finanziatore**") # c2.write(name["Tipologia finanziatore"].capitalize()) if name["Eventuale cofinanziatore (se noto)"]: c1, c2 = st.columns([1, 3]) c1.write("**Cofinanziatore**") c2.write(name["Eventuale cofinanziatore (se noto)"]) c1, c2 = st.columns([1, 3]) c1.write("**Apprendimento [tag]**") with c2: annotated_text(show_as_tags(name["Apprendimento/privazione educativa"])) c1, c2 = st.columns([1, 3]) c1.write("**Obiettivo [tag]**") with c2: annotated_text(show_as_tags(name["Obiettivo sintetico"])) c1, c2 = st.columns([1, 3]) c1.write("**Attività [tag]**") with c2: annotated_text(show_as_tags(name["Attività sintetico"])) c1, c2 = st.columns([1, 3]) c1.write("**Target [tag]**") with c2: annotated_text(show_as_tags(name["Target"])) st.write("**Sintesi**") st.write(name["Sintesi"]) c1, c2 = st.columns([1, 3]) c1.write("**Link**") c2.write(name["Link"]) with st.expander("Informazioni aggiuntive"): c1, c2 = st.columns([1, 3]) c1.write("**Data inizio**") c2.write(name["Data inizio"]) c1, c2 = st.columns([1, 3]) c1.write("**Data fine**") c2.write(name["Data fine (prevista o effettiva)"]) if name["Comuni di intervento"]: c1, c2 = st.columns([1, 3]) c1.write("**Comuni di intervento**") c2.write(",".join(name["Comuni di intervento"].split(";"))) if name["Province di intervento"]: c1, c2 = st.columns([1, 3]) c1.write("**Province di intervento**") c2.write(",".join(name["Province di intervento"].split(";"))) if name["Regioni di intervento"]: c1, c2 = st.columns([1, 3]) c1.write("**Regioni di intervento**") c2.write(",".join(name["Regioni di intervento"].split(";"))) c1, c2 = st.columns([1, 3]) c1.write("**N° soggetti del partenariato**") c2.write(str(name["N° soggetti del partenariato"])) if name[ "Partner (* indica soggetti che contribuiscono attivamente al progetto ma che possono anche non ricevere un contributo economico. Essi possono contribuire al progetto offrendo spazi, servizi, personale ecc.)" ]: c1, c2 = st.columns([1, 3]) c1.write("**Partner(*)**") c2.write( ",".join( name[ "Partner (* indica soggetti che contribuiscono attivamente al progetto ma che possono anche non ricevere un contributo economico. Essi possono contribuire al progetto offrendo spazi, servizi, personale ecc.)" ].split(";") ) ) st.caption( "* indica soggetti che contribuiscono attivamente al progetto ma che possono anche non ricevere un contributo economico. Essi possono contribuire al progetto offrendo spazi, servizi, personale ecc." ) # c1,c2 = st.columns([1,3]) # c1.write("**Ambito territoriale**") # c2.write(name["Ambito territoriale"]) # if st.button("Close"): # pass #st.rerun()