diff --git a/web/frontend/src/Jobs.root.svelte b/web/frontend/src/Jobs.root.svelte index fb49b39..f7c99ff 100644 --- a/web/frontend/src/Jobs.root.svelte +++ b/web/frontend/src/Jobs.root.svelte @@ -38,6 +38,7 @@ ? !!ccconfig[`plot_list_showFootprint:${filterPresets.cluster}`] : !!ccconfig.plot_list_showFootprint; let selectedCluster = filterPresets?.cluster ? filterPresets.cluster : null; + let presetProject = filterPresets?.project ? filterPresets.project : "" // The filterPresets are handled by the Filters component, // so we need to wait for it to be ready before we can start a query. @@ -87,6 +88,7 @@ filterComponent.update(detail)} diff --git a/web/frontend/src/User.root.svelte b/web/frontend/src/User.root.svelte index c60ea20..41969d9 100644 --- a/web/frontend/src/User.root.svelte +++ b/web/frontend/src/User.root.svelte @@ -12,6 +12,7 @@ } from "@sveltestrap/sveltestrap"; import { queryStore, gql, getContextClient } from "@urql/svelte"; import Filters from "./filters/Filters.svelte"; + import TextFilter from "./filters/TextFilter.svelte" import JobList from "./joblist/JobList.svelte"; import Sorting from "./joblist/SortSelection.svelte"; import Refresher from "./joblist/Refresher.svelte"; @@ -132,6 +133,11 @@ /> + filterComponent.update(detail)} + /> + + jobList.refresh()} /> diff --git a/web/frontend/src/filters/Filters.svelte b/web/frontend/src/filters/Filters.svelte index a27c799..7253ff7 100644 --- a/web/frontend/src/filters/Filters.svelte +++ b/web/frontend/src/filters/Filters.svelte @@ -194,7 +194,7 @@ if (filters.project) opts.push(`project=${filters.project}`); if (filters.jobName) opts.push(`jobName=${filters.jobName}`); if (filters.arrayJobId) opts.push(`arrayJobId=${filters.arrayJobId}`); - if (filters.projectMatch != "contains") + if (filters.project && filters.projectMatch != "contains") opts.push(`projectMatch=${filters.projectMatch}`); if (opts.length == 0 && window.location.search.length <= 1) return; diff --git a/web/frontend/src/filters/TextFilter.svelte b/web/frontend/src/filters/TextFilter.svelte index 80f454a..b010175 100644 --- a/web/frontend/src/filters/TextFilter.svelte +++ b/web/frontend/src/filters/TextFilter.svelte @@ -1,28 +1,29 @@ @@ -67,10 +76,12 @@ bind:value={mode} on:change={modeChanged} > - {#if authlevel >= roles.manager} + {#if !presetProject} + + {/if} + {#if roles && authlevel >= roles.manager} {/if} - termChanged()} on:keyup={(event) => termChanged(event.key == "Enter" ? 0 : throttle)} - placeholder={`filter ${mode}...`} + placeholder={presetProject ? `Filter ${mode} in ${presetProject} ...` : `Filter ${mode} ...`} /> + {#if presetProject} + + {/if}