Skip to content

Commit 4388526

Browse files
authored
NETOBSERV-2438: fix issues when filtering on subnet labels (#1118)
Filtering using the filter icons in side panel didn't work
1 parent 56e40de commit 4388526

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

web/src/model/filters.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ export type TargetedFilterId =
1919
| 'mac'
2020
| 'port'
2121
| 'host_address'
22-
| 'host_name';
22+
| 'host_name'
23+
| 'subnet_label';
2324

2425
export type FilterId =
2526
| 'cluster_name'

web/src/model/topology.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,15 @@ const getDirFilterDefValue = (
126126
});
127127
}
128128

129-
// fallback on addr if not found
130-
if (!def && fields.addr) {
131-
def = findFilter(filterDefinitions, `${dir}_address`)!;
132-
value = fields.addr!;
129+
// fallback on addr and/or subnet label if not found
130+
if (!def) {
131+
if (fields.subnetLabel) {
132+
def = findFilter(filterDefinitions, `${dir}_subnet_label`)!;
133+
value = fields.subnetLabel!;
134+
} else if (fields.addr) {
135+
def = findFilter(filterDefinitions, `${dir}_address`)!;
136+
value = fields.addr!;
137+
}
133138
}
134139
return def && value ? { def, value } : undefined;
135140
};
@@ -213,7 +218,7 @@ export const toggleDirElementFilter = (
213218
const result = _.cloneDeep(filters);
214219
const defValue = getDirFilterDefValue(nodeType, fields, dir, filterDefinitions);
215220
if (!defValue) {
216-
console.error("can't find defValue for fields", fields);
221+
console.error("can't find directional filter definition and value for fields", fields);
217222
return;
218223
}
219224
toggleFilter(result, defValue, isFiltered, setFilters);
@@ -229,7 +234,7 @@ export const toggleElementFilter = (
229234
const result = _.cloneDeep(filters);
230235
const defValue = getFilterDefValue(fields, filterDefinitions);
231236
if (!defValue) {
232-
console.error("can't find defValue for fields", fields);
237+
console.error("can't find filter definition and value for fields", fields);
233238
return;
234239
}
235240
toggleFilter(result, defValue, isFiltered, setFilters);

0 commit comments

Comments
 (0)