feat: unify network and topology table column filters

Replace top filter bars with shared Excel-style column menus, fix select-all and modal interactions, and use plain dropdown indicators. Apply exact-value filters before pagination and export. Isolate pytest database state and cover filter behavior.
This commit is contained in:
oliver 2026-10-12 23:36:00 +08:00
parent ed820126df
commit 3c9e0efd2b
32 changed files with 1429 additions and 645 deletions

View file

@ -3,6 +3,18 @@ const networkDevices = {
keywordPh: "Name / IP / ID",
allSource: "All sources",
empty: "No network elements.",
emptyFiltered: "No network elements match these filters. Adjust or clear the filters.",
columnFilterPh: "Search values",
selectAllColumnValues: "Select all",
applyColumnFilter: "Apply",
clearColumnFilter: "Clear filter",
blankFilterValue: "(Blanks)",
loadingFilterOptions: "Loading values…",
noFilterOptions: "No values available",
cancelColumnFilter: "Cancel",
filterOptionsError: "Failed to load values",
retryFilterOptions: "Retry",
moreFilterOptions: "Show more",
exportName: "network-devices",
col: {
source: "Source",

View file

@ -271,6 +271,7 @@ const ume = {
hostName: "Host",
neType: "NE type",
cause: "Cause",
cleared: "Cleared status",
},
},
};

View file

@ -3,6 +3,18 @@ const networkDevices = {
keywordPh: "名称 / IP / ID",
allSource: "全部来源",
empty: "暂无网元。",
emptyFiltered: "没有符合当前筛选条件的网元,请调整或清除筛选条件。",
columnFilterPh: "搜索值",
selectAllColumnValues: "全选",
applyColumnFilter: "应用",
clearColumnFilter: "清除筛选",
blankFilterValue: "(空白)",
loadingFilterOptions: "正在加载选项…",
noFilterOptions: "没有可选值",
cancelColumnFilter: "取消",
filterOptionsError: "选项加载失败",
retryFilterOptions: "重试",
moreFilterOptions: "显示更多",
exportName: "network-devices",
col: {
source: "来源",

View file

@ -271,6 +271,7 @@ const ume = {
hostName: "主机名",
neType: "网元类型",
cause: "原因",
cleared: "清除状态",
},
},
};