diff --git a/web/frontend/src/Jobs.root.svelte b/web/frontend/src/Jobs.root.svelte
index 6d05646..73e9600 100644
--- a/web/frontend/src/Jobs.root.svelte
+++ b/web/frontend/src/Jobs.root.svelte
@@ -99,6 +99,7 @@
-
diff --git a/web/frontend/src/generic/Filters.svelte b/web/frontend/src/generic/Filters.svelte
index d1d7469..a64252b 100644
--- a/web/frontend/src/generic/Filters.svelte
+++ b/web/frontend/src/generic/Filters.svelte
@@ -44,6 +44,7 @@
export let disableClusterSelection = false;
export let startTimeQuickSelect = false;
export let matchedJobs = -2;
+ export let showFilter = true;
const startTimeSelectOptions = [
{ range: "", rangeLabel: "No Selection"},
@@ -253,60 +254,63 @@
-
-
-
- Filters
-
-
- Manage Filters
- {#if menuText}
- {menuText}
-
- {/if}
- (isClusterOpen = true)}>
- Cluster/Partition
-
- (isJobStatesOpen = true)}>
- Job States
-
- (isStartTimeOpen = true)}>
- Start Time
-
- (isDurationOpen = true)}>
- Duration
-
- (isTagsOpen = true)}>
- Tags
-
- (isResourcesOpen = true)}>
- Resources
-
- (isEnergyOpen = true)}>
- Energy
-
- (isStatsOpen = true)}>
- (isStatsOpen = true)} /> Statistics
-
- {#if startTimeQuickSelect}
-
- Start Time Quick Selection
- {#each startTimeSelectOptions.filter((stso) => stso.range !== "") as { rangeLabel, range }}
- {
- filters.startTime.from = null
- filters.startTime.to = null
- filters.startTime.range = range;
- updateFilters();
- }}
- >
-
- {rangeLabel}
-
- {/each}
- {/if}
-
-
+ {#if showFilter}
+
+
+
+ Filters
+
+
+ Manage Filters
+ {#if menuText}
+ {menuText}
+
+ {/if}
+ (isClusterOpen = true)}>
+ Cluster/Partition
+
+ (isJobStatesOpen = true)}>
+ Job States
+
+ (isStartTimeOpen = true)}>
+ Start Time
+
+ (isDurationOpen = true)}>
+ Duration
+
+ (isTagsOpen = true)}>
+ Tags
+
+ (isResourcesOpen = true)}>
+ Resources
+
+ (isEnergyOpen = true)}>
+ Energy
+
+ (isStatsOpen = true)}>
+ (isStatsOpen = true)} /> Statistics
+
+ {#if startTimeQuickSelect}
+
+ Start Time Quick Selection
+ {#each startTimeSelectOptions.filter((stso) => stso.range !== "") as { rangeLabel, range }}
+ {
+ filters.startTime.from = null
+ filters.startTime.to = null
+ filters.startTime.range = range;
+ updateFilters();
+ }}
+ >
+
+ {rangeLabel}
+
+ {/each}
+ {/if}
+
+
+ {/if}
+
{#if matchedJobs >= -1}
{matchedJobs == -1 ? 'Loading ...' : `${matchedJobs} jobs`}
@@ -314,109 +318,111 @@
{/if}
-
-{#if filters.cluster}
- (isClusterOpen = true)}>
- {filters.cluster}
- {#if filters.partition}
- ({filters.partition})
- {/if}
-
-{/if}
+{#if showFilter}
+
+ {#if filters.cluster}
+ (isClusterOpen = true)}>
+ {filters.cluster}
+ {#if filters.partition}
+ ({filters.partition})
+ {/if}
+
+ {/if}
-{#if filters.states.length != allJobStates.length}
- (isJobStatesOpen = true)}>
- {filters.states.join(", ")}
-
-{/if}
+ {#if filters.states.length != allJobStates.length}
+ (isJobStatesOpen = true)}>
+ {filters.states.join(", ")}
+
+ {/if}
-{#if filters.startTime.from || filters.startTime.to}
- (isStartTimeOpen = true)}>
- {new Date(filters.startTime.from).toLocaleString()} - {new Date(
- filters.startTime.to,
- ).toLocaleString()}
-
-{/if}
+ {#if filters.startTime.from || filters.startTime.to}
+ (isStartTimeOpen = true)}>
+ {new Date(filters.startTime.from).toLocaleString()} - {new Date(
+ filters.startTime.to,
+ ).toLocaleString()}
+
+ {/if}
-{#if filters.startTime.range}
- (isStartTimeOpen = true)}>
- {startTimeSelectOptions.find((stso) => stso.range === filters.startTime.range).rangeLabel }
-
-{/if}
+ {#if filters.startTime.range}
+ (isStartTimeOpen = true)}>
+ {startTimeSelectOptions.find((stso) => stso.range === filters.startTime.range).rangeLabel }
+
+ {/if}
-{#if filters.duration.from || filters.duration.to}
- (isDurationOpen = true)}>
- {Math.floor(filters.duration.from / 3600)}h:{Math.floor(
- (filters.duration.from % 3600) / 60,
- )}m -
- {Math.floor(filters.duration.to / 3600)}h:{Math.floor(
- (filters.duration.to % 3600) / 60,
- )}m
-
-{/if}
+ {#if filters.duration.from || filters.duration.to}
+ (isDurationOpen = true)}>
+ {Math.floor(filters.duration.from / 3600)}h:{Math.floor(
+ (filters.duration.from % 3600) / 60,
+ )}m -
+ {Math.floor(filters.duration.to / 3600)}h:{Math.floor(
+ (filters.duration.to % 3600) / 60,
+ )}m
+
+ {/if}
-{#if filters.duration.lessThan}
- (isDurationOpen = true)}>
- Duration less than {Math.floor(
- filters.duration.lessThan / 3600,
- )}h:{Math.floor((filters.duration.lessThan % 3600) / 60)}m
-
-{/if}
+ {#if filters.duration.lessThan}
+ (isDurationOpen = true)}>
+ Duration less than {Math.floor(
+ filters.duration.lessThan / 3600,
+ )}h:{Math.floor((filters.duration.lessThan % 3600) / 60)}m
+
+ {/if}
-{#if filters.duration.moreThan}
- (isDurationOpen = true)}>
- Duration more than {Math.floor(
- filters.duration.moreThan / 3600,
- )}h:{Math.floor((filters.duration.moreThan % 3600) / 60)}m
-
-{/if}
+ {#if filters.duration.moreThan}
+ (isDurationOpen = true)}>
+ Duration more than {Math.floor(
+ filters.duration.moreThan / 3600,
+ )}h:{Math.floor((filters.duration.moreThan % 3600) / 60)}m
+
+ {/if}
-{#if filters.tags.length != 0}
- (isTagsOpen = true)}>
- {#each filters.tags as tagId}
- {#key tagId}
-
- {/key}
- {/each}
-
-{/if}
+ {#if filters.tags.length != 0}
+ (isTagsOpen = true)}>
+ {#each filters.tags as tagId}
+ {#key tagId}
+
+ {/key}
+ {/each}
+
+ {/if}
-{#if filters.numNodes.from != null || filters.numNodes.to != null || filters.numHWThreads.from != null || filters.numHWThreads.to != null || filters.numAccelerators.from != null || filters.numAccelerators.to != null}
- (isResourcesOpen = true)}>
- {#if isNodesModified}
- Nodes: {filters.numNodes.from} - {filters.numNodes.to}
- {/if}
- {#if isNodesModified && isHwthreadsModified},
- {/if}
- {#if isHwthreadsModified}
- HWThreads: {filters.numHWThreads.from} - {filters.numHWThreads.to}
- {/if}
- {#if (isNodesModified || isHwthreadsModified) && isAccsModified},
- {/if}
- {#if isAccsModified}
- Accelerators: {filters.numAccelerators.from} - {filters.numAccelerators.to}
- {/if}
-
-{/if}
+ {#if filters.numNodes.from != null || filters.numNodes.to != null || filters.numHWThreads.from != null || filters.numHWThreads.to != null || filters.numAccelerators.from != null || filters.numAccelerators.to != null}
+ (isResourcesOpen = true)}>
+ {#if isNodesModified}
+ Nodes: {filters.numNodes.from} - {filters.numNodes.to}
+ {/if}
+ {#if isNodesModified && isHwthreadsModified},
+ {/if}
+ {#if isHwthreadsModified}
+ HWThreads: {filters.numHWThreads.from} - {filters.numHWThreads.to}
+ {/if}
+ {#if (isNodesModified || isHwthreadsModified) && isAccsModified},
+ {/if}
+ {#if isAccsModified}
+ Accelerators: {filters.numAccelerators.from} - {filters.numAccelerators.to}
+ {/if}
+
+ {/if}
-{#if filters.node != null}
- (isResourcesOpen = true)}>
- Node{nodeMatchLabels[filters.nodeMatch]}: {filters.node}
-
-{/if}
+ {#if filters.node != null}
+ (isResourcesOpen = true)}>
+ Node{nodeMatchLabels[filters.nodeMatch]}: {filters.node}
+
+ {/if}
-{#if filters.energy.from || filters.energy.to}
- (isEnergyOpen = true)}>
- Total Energy: {filters.energy.from} - {filters.energy.to}
-
-{/if}
+ {#if filters.energy.from || filters.energy.to}
+ (isEnergyOpen = true)}>
+ Total Energy: {filters.energy.from} - {filters.energy.to}
+
+ {/if}
-{#if filters.stats.length > 0}
- (isStatsOpen = true)}>
- {filters.stats
- .map((stat) => `${stat.field}: ${stat.from} - ${stat.to}`)
- .join(", ")}
-
+ {#if filters.stats.length > 0}
+ (isStatsOpen = true)}>
+ {filters.stats
+ .map((stat) => `${stat.field}: ${stat.from} - ${stat.to}`)
+ .join(", ")}
+
+ {/if}
{/if}