aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webui/src/pages/list/Filter.tsx6
-rw-r--r--webui/src/pages/list/FilterToolbar.tsx7
2 files changed, 9 insertions, 4 deletions
diff --git a/webui/src/pages/list/Filter.tsx b/webui/src/pages/list/Filter.tsx
index 54b2262b..2ba6ffaf 100644
--- a/webui/src/pages/list/Filter.tsx
+++ b/webui/src/pages/list/Filter.tsx
@@ -28,7 +28,7 @@ function parse(query: string): Query {
const params: Query = {};
// TODO: support escaping without quotes
- const re = /(\w+):([A-Za-z0-9-]+|(["'])(([^\3]|\\.)*)\3)+/g;
+ const re = /(\w+):([A-Za-z0-9-]+|"([^"]*)")/g;
let matches;
while ((matches = re.exec(query)) !== null) {
if (!params[matches[1]]) {
@@ -36,8 +36,8 @@ function parse(query: string): Query {
}
let value;
- if (matches[4]) {
- value = matches[4];
+ if (matches[3]) {
+ value = matches[3];
} else {
value = matches[2];
}
diff --git a/webui/src/pages/list/FilterToolbar.tsx b/webui/src/pages/list/FilterToolbar.tsx
index 59a09226..cf5994ab 100644
--- a/webui/src/pages/list/FilterToolbar.tsx
+++ b/webui/src/pages/list/FilterToolbar.tsx
@@ -96,6 +96,8 @@ function FilterToolbar({ query, queryLocation }: Props) {
params[key] && params[key].length > 0;
const hasValue = (key: string, value: string): boolean =>
hasKey(key) && params[key].includes(value);
+ const containsValue = (key: string, value: string): boolean =>
+ hasKey(key) && params[key].indexOf(value) !== -1;
const loc = pipe(stringify, queryLocation);
const replaceParam = (key: string, value: string) => (
params: Query
@@ -170,7 +172,10 @@ function FilterToolbar({ query, queryLocation }: Props) {
</FilterDropdown>
<FilterDropdown
dropdown={labels}
- itemActive={(key) => hasValue('label', key)}
+ itemActive={(key) => {
+ console.log(params, params[key], key);
+ return containsValue('label', key);
+ }}
to={(key) => pipe(toggleOrAddParam('label', key), loc)(params)}
hasFilter
>