attempting to add scheduler UI
This commit is contained in:
@@ -0,0 +1,236 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Schedules UI</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Manage Your Tasks and Follow-Ups!</h1>
|
||||
|
||||
<!-- login card -->
|
||||
<section class="card" id="auth">
|
||||
<h2>login</h2>
|
||||
<p class="muted">
|
||||
enter your open webui user id (uuid). this is sent as the
|
||||
<code class="inline">x-user-id</code> header on api requests.
|
||||
</p>
|
||||
|
||||
<form id="loginForm">
|
||||
<div class="row">
|
||||
<div>
|
||||
<label for="userId">user id (uuid)</label>
|
||||
<input
|
||||
id="userId"
|
||||
name="userId"
|
||||
type="text"
|
||||
required
|
||||
placeholder="e.g. 5a8d1d7e-..." />
|
||||
</div>
|
||||
<div>
|
||||
<label for="displayName">display name (optional)</label>
|
||||
<input
|
||||
id="displayName"
|
||||
name="displayName"
|
||||
type="text"
|
||||
placeholder="your name" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions" style="margin-top: 0.75rem">
|
||||
<button type="submit">save & set header</button>
|
||||
<button type="button" id="logoutBtn">logout</button>
|
||||
</div>
|
||||
<p id="authStatus" class="muted"></p>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<!-- schedules list -->
|
||||
<section class="card">
|
||||
<div
|
||||
class="actions"
|
||||
style="justify-content: space-between; align-items: center">
|
||||
<h2 style="margin: 0">your schedules</h2>
|
||||
<div class="actions">
|
||||
<button id="refreshBtn">refresh</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
id="listStatus"
|
||||
class="muted"
|
||||
style="margin: 0.4rem 0 0.6rem"></div>
|
||||
<div style="overflow: auto">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>name</th>
|
||||
<th>schedules</th>
|
||||
<th>tz</th>
|
||||
<th>template</th>
|
||||
<th>entrypoint</th>
|
||||
<th>one-shot</th>
|
||||
<th>actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="schedulesTbody"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- create/update schedule -->
|
||||
<section class="card">
|
||||
<h2>create / update schedule</h2>
|
||||
<form id="createForm">
|
||||
<div class="row">
|
||||
<div>
|
||||
<label for="name">name</label>
|
||||
<input
|
||||
id="name"
|
||||
name="name"
|
||||
type="text"
|
||||
required
|
||||
placeholder="daily-report" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="tz">timezone</label>
|
||||
<input
|
||||
id="tz"
|
||||
name="tz"
|
||||
type="text"
|
||||
value="America/New_York" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div>
|
||||
<label for="iso"
|
||||
>run at (iso datetime, or leave empty if using
|
||||
cron)</label
|
||||
>
|
||||
<input id="iso" name="iso" type="datetime-local" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="cron"
|
||||
>cron (min hour day month *), if not using
|
||||
iso</label
|
||||
>
|
||||
<input
|
||||
id="cron"
|
||||
name="cron"
|
||||
type="text"
|
||||
placeholder="30 9 * * *" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div>
|
||||
<label for="templateName">workflow template</label>
|
||||
<input
|
||||
id="templateName"
|
||||
name="templateName"
|
||||
type="text"
|
||||
required
|
||||
placeholder="report-template" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="entrypoint">entrypoint (optional)</label>
|
||||
<input
|
||||
id="entrypoint"
|
||||
name="entrypoint"
|
||||
type="text"
|
||||
placeholder="main" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div>
|
||||
<label
|
||||
><input id="clusterScope" type="checkbox" />
|
||||
template is cluster-scoped</label
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label
|
||||
><input id="oneShot" type="checkbox" /> stop after
|
||||
first success (one-shot)</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label for="params">parameters (json object)</label>
|
||||
<textarea
|
||||
id="params"
|
||||
name="params"
|
||||
placeholder='{"report_kind":"summary"}'></textarea>
|
||||
|
||||
<div class="actions" style="margin-top: 0.75rem">
|
||||
<button type="submit">upsert schedule</button>
|
||||
<button type="button" id="loadTemplatesBtn">
|
||||
load workflow templates
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
id="createStatus"
|
||||
class="muted"
|
||||
style="margin-top: 0.5rem"></div>
|
||||
</form>
|
||||
|
||||
<details style="margin-top: 0.75rem">
|
||||
<summary class="muted">available workflow templates</summary>
|
||||
<ul id="templatesUl" class="muted"></ul>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<!-- run now -->
|
||||
<section class="card">
|
||||
<h2>run now</h2>
|
||||
<form id="runNowForm">
|
||||
<div class="row">
|
||||
<div>
|
||||
<label for="rnName">name (label only)</label>
|
||||
<input
|
||||
id="rnName"
|
||||
type="text"
|
||||
placeholder="ad-hoc-run" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="rnTemplateName">workflow template</label>
|
||||
<input
|
||||
id="rnTemplateName"
|
||||
type="text"
|
||||
placeholder="report-template"
|
||||
required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div>
|
||||
<label for="rnEntrypoint">entrypoint (optional)</label>
|
||||
<input
|
||||
id="rnEntrypoint"
|
||||
type="text"
|
||||
placeholder="main" />
|
||||
</div>
|
||||
<div>
|
||||
<label
|
||||
><input id="rnClusterScope" type="checkbox" />
|
||||
template is cluster-scoped</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<label for="rnParams">parameters (json object)</label>
|
||||
<textarea
|
||||
id="rnParams"
|
||||
placeholder='{"report_kind":"summary"}'></textarea>
|
||||
|
||||
<div class="actions" style="margin-top: 0.75rem">
|
||||
<button type="submit">run now</button>
|
||||
</div>
|
||||
<div
|
||||
id="runNowStatus"
|
||||
class="muted"
|
||||
style="margin-top: 0.5rem"></div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<script type="module" src="script.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user