swirl/views/container/logs.jet
cuigh 999b9ec5a1 Support executing command in containers
This feature is only valid on single node since container API is not Swarmable
2018-06-14 18:41:22 +08:00

105 lines
3.5 KiB
Go

{{ extends "../_layouts/default" }}
{{ block script() }}
<script>$(() => new Swirl.Task.LogsPage())</script>
{{ end }}
{{ block body() }}
<section class="hero is-info">
<div class="hero-body">
<div class="container has-text-centered">
<h1 class="title is-2 is-uppercase">{{ i18n("container.title") }}</h1>
<h2 class="subtitle is-5">{{ i18n("container.description") }}</h2>
</div>
</div>
</section>
<div class="container">
<nav class="breadcrumb has-succeeds-separator is-small is-marginless" aria-label="breadcrumbs">
<ul>
<li><a href="/">{{ i18n("menu.home") }}</a></li>
<li><a href="/container/">{{ i18n("menu.container") }}</a></li>
<li class="is-active"><a>{{ i18n("menu.log") }}</a></li>
</ul>
</nav>
</div>
<section class="hero is-small is-light">
<div class="hero-body">
<div class="container">
<h2 class="title is-2">
{{ .Container.ContainerJSONBase.Name }}
</h2>
</div>
</div>
</section>
<nav class="navbar has-shadow">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item is-tab" href="/container/{{.Container.ContainerJSONBase.ID}}/detail">{{ i18n("menu.detail") }}</a>
<a class="navbar-item is-tab" href="/container/{{.Container.ContainerJSONBase.ID}}/raw">{{ i18n("menu.raw") }}</a>
<a class="navbar-item is-tab is-active" href="/container/{{.Container.ContainerJSONBase.ID}}/logs">{{ i18n("menu.log") }}</a>
<a class="navbar-item is-tab" href="/container/{{.Container.ContainerJSONBase.ID}}/exec">{{ i18n("menu.exec") }}</a>
</div>
</div>
</nav>
<section class="section">
<div class="container">
<nav class="level">
<div class="level-left">
<div class="level-item">
<div class="field has-addons">
<p class="control">
<a class="button is-static">Lines</a>
</p>
<p class="control">
<input id="txt-line" name="line" value="500" class="input" placeholder="Max lines from tail">
</p>
</div>
</div>
<div class="level-item">
<div class="field">
<input id="cb-timestamps" name="timestamps" value="true" type="checkbox" class="switch is-success is-rounded">
<label for="cb-timestamps">Add timestamps</label>
</div>
</div>
<div class="level-item">
<div class="field">
<input id="cb-refresh" name="refresh" value="true" type="checkbox" class="switch is-success is-rounded" checked>
<label for="cb-refresh">Auto refresh</label>
</div>
</div>
</div>
</nav>
<div class="tabs is-boxed" data-target="tab-content">
<ul>
<li class="is-active">
<a><span>Stdout</span></a>
</li>
<li>
<a><span>Stderr</span></a>
</li>
</ul>
</div>
<div id="tab-content" class="content">
<div class="field">
<div class="control">
<textarea id="txt-stdout" class="textarea code is-small" rows="30" readonly></textarea>
</div>
</div>
<div class="field" style="display: none">
<div class="control">
<textarea id="txt-stderr" class="textarea code is-small has-text-danger" rows="30" readonly></textarea>
</div>
</div>
</div>
<a href="/service/" class="button is-primary">
<span class="icon"><i class="fas fa-reply"></i></span>
<span>{{ i18n("button.return") }}</span>
</a>
</div>
</section>
{{ end }}