Skip to content

Commit aa186ec

Browse files
committed
Keyword filtering in all-surge-alerts
1 parent 537b43a commit aa186ec

File tree

4 files changed

+48
-2
lines changed

4 files changed

+48
-2
lines changed

.changeset/late-hornets-strive.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"go-web-app": patch
3+
---
4+
5+
Position and Keywords filter for all Surge Alerts (/alerts/all)

app/src/views/AllSurgeAlerts/i18n.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"eventFilterLabel": "Emergency",
77
"countryFilterLabel": "Country",
88
"positionFilterLabel": "Position",
9-
"positionFilterPlaceholder": "Search position",
9+
"keywordsFilterLabel": "Keywords",
1010
"defaultPlaceholder": "All",
1111
"failedToCreateExport": "Failed to generate export.",
1212
"surgeAlertDate": "Alert Date",

app/src/views/AllSurgeAlerts/index.tsx

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,20 @@ export function Component() {
126126
(position: string | undefined) => position,
127127
);
128128

129+
const [keywordsFilter, setKeywordsFilter] = useUrlSearchState<string | undefined>(
130+
'keywords',
131+
(searchValue: string | undefined) => {
132+
const potentialValue = isDefined(searchValue)
133+
? String(searchValue)
134+
: undefined;
135+
if (isDefined(potentialValue)) {
136+
setPage(0);
137+
}
138+
return potentialValue;
139+
},
140+
(keywords: string | undefined) => keywords,
141+
);
142+
129143
useRequest({
130144
skip: isNotDefined(eventFilter)
131145
|| (!!eventOptions?.find((event) => event.id === eventFilter)),
@@ -178,6 +192,7 @@ export function Component() {
178192
event: eventFilter,
179193
country: countryFilter,
180194
message__icontains: positionFilter,
195+
molnix_tag_name: keywordsFilter,
181196

182197
// FIXME: this should come from the useFilterState
183198
ordering: 'molnix_status,-opens',
@@ -310,6 +325,7 @@ export function Component() {
310325
event: eventFilter,
311326
country: countryFilter,
312327
message__icontains: positionFilter,
328+
molnix_tag_name: keywordsFilter,
313329
ordering: 'molnix_status,-opens',
314330
},
315331
);
@@ -319,6 +335,7 @@ export function Component() {
319335
eventFilter,
320336
countryFilter,
321337
positionFilter,
338+
keywordsFilter,
322339
]);
323340

324341
const heading = resolveToComponent(
@@ -355,10 +372,17 @@ export function Component() {
355372
<TextInput
356373
name="position"
357374
label={strings.positionFilterLabel}
358-
placeholder={strings.positionFilterPlaceholder}
375+
placeholder={strings.defaultPlaceholder}
359376
value={positionFilter}
360377
onChange={setPositionFilter}
361378
/>
379+
<TextInput
380+
name="keywords"
381+
label={strings.keywordsFilterLabel}
382+
placeholder={strings.defaultPlaceholder}
383+
value={keywordsFilter}
384+
onChange={setKeywordsFilter}
385+
/>
362386
</>
363387
)}
364388
footerActions={(
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"parent": "000052-1758547474974.json",
3+
"actions": [
4+
{
5+
"action": "add",
6+
"key": "keywordsFilterLabel",
7+
"namespace": "allSurgeAlerts",
8+
"value": "Keywords"
9+
},
10+
{
11+
"action": "add",
12+
"key": "positionFilterLabel",
13+
"namespace": "allSurgeAlerts",
14+
"value": "Position"
15+
}
16+
]
17+
}

0 commit comments

Comments
 (0)