62 lines
3.6 KiB
Cheetah
62 lines
3.6 KiB
Cheetah
{{define "instance-card"}}
|
|
<instance-card data-type="{{.Type}}" data-status="{{.Status}}" data-vmid="{{.VMID}}" data-name="{{.Name}}" data-node="{{.Node}}" data-nodestatus="{{.NodeStatus}}">
|
|
<template shadowrootmode="open">
|
|
<link rel="stylesheet" href="modules/w3.css">
|
|
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
|
|
<link rel="stylesheet" href="css/style.css">
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
}
|
|
</style>
|
|
<div class="w3-row" style="margin-top: 1em; margin-bottom: 1em;">
|
|
<hr class="w3-show-small w3-hide-medium w3-hide-large" style="margin: 0; margin-bottom: 1em;">
|
|
<p class="w3-col l1 m2 s6">{{.VMID}}</p>
|
|
<p class="w3-col l2 m3 s6" id="instance-name">{{.Name}}</p>
|
|
<p class="w3-col l1 m2 w3-hide-small">{{.Type}}</p>
|
|
<div class="w3-col l2 m3 s6 flex row nowrap">
|
|
{{if eq .Status "running"}}
|
|
<svg id="status" aria-label="instance is running"><use href="images/status/active.svg#symb"></svg>
|
|
{{else if eq .Status "stopped"}}
|
|
<svg id="status" aria-label="instance is stopped"><use href="images/status/inactive.svg#symb"></svg>
|
|
{{else if eq .Status "loading"}}
|
|
<svg id="status" aria-label="instance is loading"><use href="images/status/loading.svg#symb"></svg>
|
|
{{else}}
|
|
{{end}}
|
|
<p>{{.Status}}</p>
|
|
</div>
|
|
<p class="w3-col l2 w3-hide-medium w3-hide-small">{{.Node}}</p>
|
|
<div class="w3-col l2 w3-hide-medium w3-hide-small flex row nowrap">
|
|
{{if eq .NodeStatus "online"}}
|
|
<svg aria-label="node is online"><use href="images/status/active.svg#symb"></svg>
|
|
{{else if eq .NodeStatus "offline"}}
|
|
<svg aria-label="node is offline"><use href="images/status/inactive.svg#symb"></svg>
|
|
{{else if eq .NodeStatus "unknown"}}
|
|
<svg aria-label="node is offline"><use href="images/status/inactive.svg#symb"></svg>
|
|
{{else}}
|
|
{{end}}
|
|
<p>{{.NodeStatus}}</p>
|
|
</div>
|
|
<div class="w3-col l2 m2 s6 flex row nowrap" style="height: 1lh;">
|
|
{{if and (eq .NodeStatus "online") (eq .Status "running")}}
|
|
<svg id="power-btn" class="clickable" aria-label="shutdown instance"><use href="images/actions/instance/stop.svg#symb"></svg>
|
|
<svg id="configure-btn" aria-label=""><use href="images/actions/instance/config-inactive.svg#symb"></svg>
|
|
<svg id="console-btn" class="clickable" aria-label="open console"><use href="images/actions/instance/console-active.svg#symb"></svg>
|
|
<svg id="delete-btn" aria-label=""><use href="images/actions/instance/delete-inactive.svg#symb"></svg>
|
|
{{else if and (eq .NodeStatus "online") (eq .Status "stopped")}}
|
|
<svg id="power-btn" class="clickable" aria-label="start instance"><use href="images/actions/instance/start.svg#symb"></svg>
|
|
<svg id="configure-btn" class="clickable" aria-label="change configuration"><use href="images/actions/instance/config-active.svg#symb"></svg>
|
|
<svg id="console-btn" aria-label=""><use href="images/actions/instance/console-inactive.svg#symb"></svg>
|
|
<svg id="delete-btn" class="clickable" aria-label="delete instance"><use href="images/actions/instance/delete-active.svg#symb"></svg>
|
|
{{else if and (eq .NodeStatus "online") (eq .Status "loading")}}
|
|
<svg id="power-btn" aria-label=""><use href="images/actions/instance/loading.svg#symb"></svg>
|
|
<svg id="configure-btn" aria-label=""><use href="images/actions/instance/config-inactive.svg#symb"></svg>
|
|
<svg id="console-btn" aria-label=""><use href="images/actions/instance/console-inactive.svg#symb"></svg>
|
|
<svg id="delete-btn" aria-label=""><use href="images/actions/instance/delete-inactive.svg#symb"></svg>
|
|
{{else}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</instance-card>
|
|
{{end}} |