diff --git a/web/frontend/src/Jobs.root.svelte b/web/frontend/src/Jobs.root.svelte index 204a4e3..fb49b39 100644 --- a/web/frontend/src/Jobs.root.svelte +++ b/web/frontend/src/Jobs.root.svelte @@ -14,7 +14,7 @@ import Refresher from "./joblist/Refresher.svelte"; import Sorting from "./joblist/SortSelection.svelte"; import MetricSelection from "./MetricSelection.svelte"; - import UserOrProject from "./filters/UserOrProject.svelte"; + import TextFilter from "./filters/TextFilter.svelte"; const { query: initq } = init(); @@ -86,7 +86,7 @@ - filterComponent.update(detail)} diff --git a/web/frontend/src/filters/UserOrProject.svelte b/web/frontend/src/filters/TextFilter.svelte similarity index 52% rename from web/frontend/src/filters/UserOrProject.svelte rename to web/frontend/src/filters/TextFilter.svelte index 983192c..80f454a 100644 --- a/web/frontend/src/filters/UserOrProject.svelte +++ b/web/frontend/src/filters/TextFilter.svelte @@ -4,21 +4,25 @@ const dispatch = createEventDispatcher(); - export let user = ""; - export let project = ""; export let authlevel; export let roles; - let mode = "user", - term = ""; + let mode = "user"; + let term = ""; + let user = ""; + let project = ""; + let jobName = ""; const throttle = 500; function modeChanged() { if (mode == "user") { project = term; term = user; - } else { + } else if (mode == "project") { user = term; term = project; + } else { + jobName = term; + term = jobName; } termChanged(0); } @@ -28,7 +32,8 @@ function termChanged(sleep = throttle) { if (authlevel >= roles.manager) { if (mode == "user") user = term; - else project = term; + else if (mode == "project") project = term; + else jobName = term; if (timeoutId != null) clearTimeout(timeoutId); @@ -36,49 +41,44 @@ dispatch("update", { user, project, + jobName }); }, sleep); } else { - project = term; + if (mode == "project") project = term; + else jobName = term; + if (timeoutId != null) clearTimeout(timeoutId); timeoutId = setTimeout(() => { dispatch("update", { project, + jobName }); }, sleep); } } -{#if authlevel >= roles.manager} - - + {#if authlevel >= roles.manager} - - - termChanged()} - on:keyup={(event) => termChanged(event.key == "Enter" ? 0 : throttle)} - placeholder={mode == "user" ? "filter username..." : "filter project..."} - /> - -{:else} - - - termChanged()} - on:keyup={(event) => termChanged(event.key == "Enter" ? 0 : throttle)} - placeholder="filter project..." - /> - -{/if} + {/if} + + + + termChanged()} + on:keyup={(event) => termChanged(event.key == "Enter" ? 0 : throttle)} + placeholder={`filter ${mode}...`} + /> + +