Added new commands to index.html

This commit is contained in:
Brett Williams
2022-12-08 00:08:09 -08:00
parent fbaf2e3661
commit d0b14fc001
2 changed files with 26 additions and 17 deletions

View File

@@ -58,13 +58,6 @@ class RenderJob:
for key in keys_to_remove:
job_dict['worker'].pop(key, None)
# jobs from current_session generate percent completed
# jobs after loading server pull in a saved value. Have to check if callable object or not
percent_complete = self.worker.percent_complete if isinstance(self.worker.percent_complete, numbers.Number) \
else self.worker.percent_complete()
job_dict['worker']['percent_complete'] = percent_complete
# convert to json and back to auto-convert dates to iso format
def date_serializer(o):
if isinstance(o, datetime):
@@ -105,6 +98,9 @@ class RenderJob:
def log_path(self):
return self.worker.log_path
def percent_complete(self):
return self.worker.percent_complete()
@classmethod
def generate_id(cls):
return str(uuid.uuid4()).split('-')[0]

View File

@@ -6,14 +6,16 @@
<title>Zordon Dashboard</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://kit.fontawesome.com/698705d14d.js" crossorigin="anonymous"></script>
<script type="text/javascript" src="{{ url_for('static', filename = 'modals.js') }}"></script>
</head>
<body>
<nav class="navbar" role="navigation" aria-label="main navigation">
<nav class="navbar is-dark" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item" href="#">
<span class="navbar-item h1">
Zordon Render Server - {{hostname}}
</a>
</span>
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
<span aria-hidden="true"></span>
@@ -70,8 +72,8 @@
<!-- </div>-->
</nav>
<div class="table-container px-2">
<table class="table is-bordered is-striped is-narrow is-hoverable is-fullwidth">
<div class="table-container">
<table class="table is-bordered is-striped is-hoverable is-fullwidth">
<thead>
<tr>
<th>Preview</th>
@@ -80,8 +82,10 @@
<th>Priority</th>
<th>Status</th>
<th>Time Elapsed</th>
<th>%</th>
<th>Frame Count</th>
<th>Client</th>
<th>Last Output</th>
<th>Commands</th>
</tr>
</thead>
@@ -99,22 +103,31 @@
<td>{{job.priority}}</td>
<td>{{job.render_status().value}}</td>
<td>{{job.time_elapsed()}}</td>
<td>{{job.percent_complete()}}</td>
<td>{{job.frame_count()}}</td>
<td>{{job.client}}</td>
<td>{{job.worker.last_output}}</td>
<td>
<div class="buttons are-small">
<button class="button is-outlined" onclick="window.location.href='/ui/job/{{job.id}}/full_details';">Details</button>
<button class="button is-outlined" onclick="window.location.href='/api/job/{{job.id}}/logs';">Logs</button>
<button class="button is-info" onclick="window.location.href='/ui/job/{{job.id}}/full_details';">
<span class="icon"><i class="fa-solid fa-info"></i></span>
</button>
<button class="button is-link" onclick="window.location.href='/api/job/{{job.id}}/logs';">
<span class="icon"><i class="fa-regular fa-file-lines"></i></span>
</button>
{% if job.render_status().value in ['running', 'scheduled', 'not_started']: %}
<button class="button is-warning is-active" onclick="window.location.href='/api/job/{{job.id}}/cancel?confirm=True';">
Cancel
</button>
{% elif job.render_status().value == 'completed': %}
<button class="button is-success is-active" onclick="window.location.href='/api/job/{{job.id}}/download_all';">
Download ({{job.file_list() | length}})
<button class="button is-success" onclick="window.location.href='/api/job/{{job.id}}/download_all';">
<span class="icon"><i class="fa-solid fa-download"></i></span>
<span>{{job.file_list() | length}}</span>
</button>
{% endif %}
<button class="button is-danger is-outlined" onclick="window.location.href='/api/job/{{job.id}}/delete?confirm=True'">Delete</button>
<button class="button is-danger" onclick="window.location.href='/api/job/{{job.id}}/delete?confirm=True'">
<span class="icon"><i class="fa-regular fa-trash-can"></i></span>
</button>
</div>
</td>
</tr>