Skip to content
Snippets Groups Projects
Commit e1596310 authored by BARTHES Nicolas's avatar BARTHES Nicolas
Browse files

moved selectbox interface to style/header.py and called on eah pages

parent 46661aa8
No related branches found
No related tags found
No related merge requests found
......@@ -3,9 +3,10 @@ from Class_Mod import Plsr, LinearPCA, Umap, find_col_index, PinardPlsr, Nmf, AP
from Class_Mod import LWPLSR, list_files, metrics, TpeIpls, reg_plot, resid_plot, Sk_Kmeans, DxRead, Hdbscan, read_dx, PlsProcess
from Class_Mod.DATA_HANDLING import *
from Class_Mod.Miscellaneous import prediction, download_results, plot_spectra, local_css
from style.header import add_header
from Report import report
css_file = Path("style/")
pages_folder = Path("pages/")
from style.header import add_header, add_sidebar
from config.config import pdflatex_path
local_css(css_file / "style.css")
......
from Packages import *
st.set_page_config(page_title="NIRS Utils", page_icon=":goat:", layout="wide",)
if 'interface' not in st.session_state:
st.session_state['interface'] = 'simple'
from Modules import *
from Class_Mod.DATA_HANDLING import *
add_header()
pages_folder = Path("pages/")
# # TOC menu on the left
show_pages(
[Page("app.py", "Home"),
Page(str(pages_folder / "4-inputs.py"), "Inputs"),
Page(str(pages_folder / "1-samples_selection.py"), "Samples Selection"),
Page(str(pages_folder / "2-model_creation.py"), "Models Creation & Predictions"),
]
)
with st.sidebar:
interface = st.selectbox(label="Interface", options=['simple', 'advanced'], key='interface')
# st.page_link(str(pages_folder / '1-samples_selection.py'))
if st.session_state['interface'] == 'simple':
# st.page_link(str(pages_folder / '2-model_creation.py'))
pass
# if advanced interface, split Models Creation and Predictions
elif st.session_state['interface'] == 'advanced':
show_pages(
[Page("app.py", "Home"),
Page(str(pages_folder / "4-inputs.py"), "Inputs"),
Page(str(pages_folder / "1-samples_selection.py"), "Samples Selection"),
Page(str(pages_folder / "2-model_creation.py"), "Models Creation"),
Page(str(pages_folder / "3-prediction.py"), "Predictions"),
]
)
# st.page_link(str(pages_folder / '2-model_creation.py'))
# st.page_link(str(pages_folder / '3-prediction.py'))
add_sidebar(pages_folder)
# Page header
with st.container():
......
......@@ -15,6 +15,8 @@ if os.path.exists(repertoire_a_vider):
add_header()
#load specific model page css
local_css(css_file / "style_model.css")
add_sidebar(pages_folder)
#define some variables
tcr=pd.DataFrame()
......@@ -24,8 +26,6 @@ dim_red_methods=['', 'PCA','UMAP', 'NMF'] # List of dimensionality reduction al
cluster_methods = ['', 'Kmeans','HDBSCAN', 'AP'] # List of clustering algos
selec_strategy = ['center','random']
# check session state and define default values if simple interface to automate processing
st.session_state["interface"] = st.session_state.get('interface')
if st.session_state["interface"] == 'simple':
st.write(':red[Automated Simple Interface]')
hide_pages("Predictions")
......
......@@ -5,6 +5,7 @@ from Modules import *
from Class_Mod.DATA_HANDLING import *
from Class_Mod.Miscellaneous import desc_stats
add_header()
add_sidebar(pages_folder)
repertoire_a_vider = Path('Report/figures')
if os.path.exists(repertoire_a_vider):
......@@ -17,13 +18,6 @@ if os.path.exists(repertoire_a_vider):
json_sp = pd.DataFrame()
st.session_state["interface"] = st.session_state.get('interface')
if st.session_state["interface"] == 'simple':
hide_pages("Predictions")
#path = os.path.dirname(os.path.abspath(__file__)).replace('\\','/')
#css_file = path[:path.find('/pages')]+'/style'
#local_css(css_file +"/style_model.css")
local_css(css_file / "style_model.css")
####################################### page Design #######################################
......
......@@ -11,8 +11,8 @@ from Class_Mod.DATA_HANDLING import *
# # Injecter le code HTML du bandeau
# st.markdown(bandeau_html, unsafe_allow_html=True)
add_header()
add_sidebar(pages_folder)
st.session_state["interface"] = st.session_state.get('interface')
local_css(css_file / "style_model.css")
......
......@@ -8,4 +8,37 @@ def add_header():
</div>
""",
unsafe_allow_html=True,
)
\ No newline at end of file
)
def add_sidebar(pages_folder):
if 'interface' not in st.session_state:
st.session_state['interface'] = 'simple'
# # TOC menu on the left
show_pages(
[Page("app.py", "Home"),
Page(str(pages_folder / "4-inputs.py"), "Inputs"),
Page(str(pages_folder / "1-samples_selection.py"), "Samples Selection"),
Page(str(pages_folder / "2-model_creation.py"), "Models Creation & Predictions"),
]
)
with st.sidebar:
interface = st.selectbox(label="Interface", options=['simple', 'advanced'], key='interface')
# st.page_link(str(pages_folder / '1-samples_selection.py'))
if st.session_state['interface'] == 'simple':
# st.page_link(str(pages_folder / '2-model_creation.py'))
pass
# if advanced interface, split Models Creation and Predictions
elif st.session_state['interface'] == 'advanced':
show_pages(
[Page("app.py", "Home"),
Page(str(pages_folder / "4-inputs.py"), "Inputs"),
Page(str(pages_folder / "1-samples_selection.py"), "Samples Selection"),
Page(str(pages_folder / "2-model_creation.py"), "Models Creation"),
Page(str(pages_folder / "3-prediction.py"), "Predictions"),
]
)
# st.page_link(str(pages_folder / '2-model_creation.py'))
# st.page_link(str(pages_folder / '3-prediction.py'))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment