mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2024-12-26 13:29:05 +01:00
change default range to 12h, rework layout in system node views
This commit is contained in:
parent
6019891591
commit
0eb0aa1d3b
@ -13,6 +13,7 @@
|
|||||||
import {
|
import {
|
||||||
Row,
|
Row,
|
||||||
Col,
|
Col,
|
||||||
|
Input,
|
||||||
InputGroup,
|
InputGroup,
|
||||||
InputGroupText,
|
InputGroupText,
|
||||||
Icon,
|
Icon,
|
||||||
@ -43,7 +44,7 @@
|
|||||||
if (from == null || to == null) {
|
if (from == null || to == null) {
|
||||||
to = new Date(Date.now());
|
to = new Date(Date.now());
|
||||||
from = new Date(to.getTime());
|
from = new Date(to.getTime());
|
||||||
from.setMinutes(from.getMinutes() - 30);
|
from.setHours(from.getHours() - 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
const initialized = getContext("initialized")
|
const initialized = getContext("initialized")
|
||||||
@ -135,26 +136,38 @@
|
|||||||
{:else if $initq.fetching}
|
{:else if $initq.fetching}
|
||||||
<Spinner />
|
<Spinner />
|
||||||
{:else}
|
{:else}
|
||||||
|
<!-- Node Col -->
|
||||||
<Col>
|
<Col>
|
||||||
<InputGroup>
|
<InputGroup>
|
||||||
<InputGroupText><Icon name="hdd" /></InputGroupText>
|
<InputGroupText><Icon name="hdd" /></InputGroupText>
|
||||||
<InputGroupText>{hostname} ({cluster})</InputGroupText>
|
<InputGroupText>Selected Node</InputGroupText>
|
||||||
|
<Input style="background-color: white;"type="text" value="{hostname} ({cluster})" disabled/>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
</Col>
|
</Col>
|
||||||
|
<!-- Time Col -->
|
||||||
|
<Col>
|
||||||
|
<TimeSelection bind:from bind:to />
|
||||||
|
</Col>
|
||||||
|
<!-- Concurrent Col -->
|
||||||
<Col>
|
<Col>
|
||||||
{#if $nodeJobsData.fetching}
|
{#if $nodeJobsData.fetching}
|
||||||
<Spinner />
|
<Spinner />
|
||||||
{:else if $nodeJobsData.data}
|
{:else if $nodeJobsData.data}
|
||||||
Currently running jobs on this node: {$nodeJobsData.data.jobs.count}
|
<InputGroup>
|
||||||
[
|
<InputGroupText><Icon name="activity" /></InputGroupText>
|
||||||
<a
|
<InputGroupText>Activity</InputGroupText>
|
||||||
href="/monitoring/jobs/?cluster={cluster}&state=running&node={hostname}"
|
<Input style="background-color: white;"type="text" value="{$nodeJobsData.data.jobs.count} Jobs" disabled/>
|
||||||
target="_blank">View in Job List</a
|
<a title="Show jobs running on this node" href="/monitoring/jobs/?cluster={cluster}&state=running&node={hostname}" target="_blank" class="btn btn-outline-secondary" role="button" aria-disabled="true">
|
||||||
> ]
|
<Icon name="view-list" /> Show List
|
||||||
|
</a>
|
||||||
|
</InputGroup>
|
||||||
{:else}
|
{:else}
|
||||||
|
<Input type="text" disabled>
|
||||||
No currently running jobs.
|
No currently running jobs.
|
||||||
|
</Input>
|
||||||
{/if}
|
{/if}
|
||||||
</Col>
|
</Col>
|
||||||
|
<!-- Refresh Col-->
|
||||||
<Col>
|
<Col>
|
||||||
<Refresher
|
<Refresher
|
||||||
on:refresh={() => {
|
on:refresh={() => {
|
||||||
@ -164,9 +177,6 @@
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col>
|
|
||||||
<TimeSelection bind:from bind:to />
|
|
||||||
</Col>
|
|
||||||
{/if}
|
{/if}
|
||||||
</Row>
|
</Row>
|
||||||
<br />
|
<br />
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
if (from == null || to == null) {
|
if (from == null || to == null) {
|
||||||
to = new Date(Date.now());
|
to = new Date(Date.now());
|
||||||
from = new Date(to.getTime());
|
from = new Date(to.getTime());
|
||||||
from.setMinutes(from.getMinutes() - 30);
|
from.setHours(from.getHours() - 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
const initialized = getContext("initialized");
|
const initialized = getContext("initialized");
|
||||||
@ -117,18 +117,23 @@
|
|||||||
{:else if $initq.fetching}
|
{:else if $initq.fetching}
|
||||||
<Spinner />
|
<Spinner />
|
||||||
{:else}
|
{:else}
|
||||||
|
<!-- Node Col-->
|
||||||
<Col>
|
<Col>
|
||||||
<Refresher
|
<InputGroup>
|
||||||
on:refresh={() => {
|
<InputGroupText><Icon name="hdd" /></InputGroupText>
|
||||||
const diff = Date.now() - to;
|
<InputGroupText>Find Node</InputGroupText>
|
||||||
from = new Date(from.getTime() + diff);
|
<Input
|
||||||
to = new Date(to.getTime() + diff);
|
placeholder="hostname..."
|
||||||
}}
|
type="text"
|
||||||
/>
|
bind:value={hostnameFilter}
|
||||||
|
/>
|
||||||
|
</InputGroup>
|
||||||
</Col>
|
</Col>
|
||||||
|
<!-- Range Col-->
|
||||||
<Col>
|
<Col>
|
||||||
<TimeSelection bind:from bind:to />
|
<TimeSelection bind:from bind:to />
|
||||||
</Col>
|
</Col>
|
||||||
|
<!-- Metric Col-->
|
||||||
<Col>
|
<Col>
|
||||||
<InputGroup>
|
<InputGroup>
|
||||||
<InputGroupText><Icon name="graph-up" /></InputGroupText>
|
<InputGroupText><Icon name="graph-up" /></InputGroupText>
|
||||||
@ -142,16 +147,15 @@
|
|||||||
</select>
|
</select>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
</Col>
|
</Col>
|
||||||
|
<!-- Refresh Col-->
|
||||||
<Col>
|
<Col>
|
||||||
<InputGroup>
|
<Refresher
|
||||||
<InputGroupText><Icon name="hdd" /></InputGroupText>
|
on:refresh={() => {
|
||||||
<InputGroupText>Find Node</InputGroupText>
|
const diff = Date.now() - to;
|
||||||
<Input
|
from = new Date(from.getTime() + diff);
|
||||||
placeholder="hostname..."
|
to = new Date(to.getTime() + diff);
|
||||||
type="text"
|
}}
|
||||||
bind:value={hostnameFilter}
|
/>
|
||||||
/>
|
|
||||||
</InputGroup>
|
|
||||||
</Col>
|
</Col>
|
||||||
{/if}
|
{/if}
|
||||||
</Row>
|
</Row>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
-->
|
-->
|
||||||
<script>
|
<script>
|
||||||
import { createEventDispatcher } from "svelte";
|
import { createEventDispatcher } from "svelte";
|
||||||
import { Button, Icon, InputGroup } from "@sveltestrap/sveltestrap";
|
import { Button, Icon, Input, InputGroup } from "@sveltestrap/sveltestrap";
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
@ -32,15 +32,8 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<InputGroup>
|
<InputGroup>
|
||||||
<Button
|
<Input
|
||||||
outline
|
type="select"
|
||||||
on:click={() => dispatch("refresh")}
|
|
||||||
disabled={refreshInterval != null}
|
|
||||||
>
|
|
||||||
<Icon name="arrow-clockwise" /> Refresh
|
|
||||||
</Button>
|
|
||||||
<select
|
|
||||||
class="form-select"
|
|
||||||
bind:value={refreshInterval}
|
bind:value={refreshInterval}
|
||||||
on:change={refreshIntervalChanged}
|
on:change={refreshIntervalChanged}
|
||||||
>
|
>
|
||||||
@ -49,6 +42,13 @@
|
|||||||
<option value={60 * 1000}>Update every minute</option>
|
<option value={60 * 1000}>Update every minute</option>
|
||||||
<option value={2 * 60 * 1000}>Update every two minutes</option>
|
<option value={2 * 60 * 1000}>Update every two minutes</option>
|
||||||
<option value={5 * 60 * 1000}>Update every 5 minutes</option>
|
<option value={5 * 60 * 1000}>Update every 5 minutes</option>
|
||||||
</select>
|
</Input>
|
||||||
|
<Button
|
||||||
|
outline
|
||||||
|
on:click={() => dispatch("refresh")}
|
||||||
|
disabled={refreshInterval != null}
|
||||||
|
>
|
||||||
|
<Icon name="arrow-clockwise" /> Refresh
|
||||||
|
</Button>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user