|
|
@@ -42,7 +42,9 @@ def create_directory_selector(
|
|
|
source_cfg = next(src for src in data_sources if src["name"] == selected_name)
|
|
|
|
|
|
# 🔑 保存当前选择的数据源配置到 session_state
|
|
|
- st.session_state.current_data_source = source_cfg
|
|
|
+ if "current_data_source" not in st.session_state or st.session_state.current_data_source != source_cfg:
|
|
|
+ st.session_state.current_data_source = source_cfg
|
|
|
+ st.session_state.dir_selected_index = 0
|
|
|
|
|
|
# 获取输出配置(优先使用数据源自己的 output)
|
|
|
output_cfg = source_cfg.get("output", global_output_config)
|
|
|
@@ -57,7 +59,7 @@ def create_directory_selector(
|
|
|
st.sidebar.info(f"🔧 工具: {tool.upper()}")
|
|
|
|
|
|
# 构建/缓存目录清单
|
|
|
- catalog_key = f"catalog::{selected_name}"
|
|
|
+ catalog_key = f"catalog::{source_cfg['json_dir']}"
|
|
|
if catalog_key not in st.session_state:
|
|
|
st.session_state[catalog_key] = build_data_source_catalog(source_cfg)
|
|
|
catalog = st.session_state[catalog_key]
|