Publish Docker Image / build-and-push (./build/Dockerfile, git.lzstealth.com/lzstealth/pulse-signage-web, web) (push) Successful in 1m12s
Publish Docker Image / build-and-push (./build/Dockerfile.player, git.lzstealth.com/lzstealth/pulse-signage-player, player) (push) Successful in 30s
78 lines
3.4 KiB
Handlebars
78 lines
3.4 KiB
Handlebars
<div class="page-header">
|
|
<div>
|
|
<h2>{{#if isEdit}}Edit screen group - {{screen.name}}{{else}}Add screen group{{/if}}</h2>
|
|
<p>{{#if isEdit}}Update the display name and assigned playlist.{{else}}Register a player endpoint and connect it to a playlist.{{/if}}</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row g-4">
|
|
<div class="col-12 col-xl-6">
|
|
<div class="card card-outline card-primary admin-form-card h-100">
|
|
<div class="card-header">
|
|
<h3 class="card-title">Screen group details</h3>
|
|
</div>
|
|
<form id="screen-form" method="post" action="{{formAction}}" {{{formAttrs}}}>
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-12 col-md-6">
|
|
<label for="screen-name" class="form-label">Name</label>
|
|
<input id="screen-name" name="name" class="form-control" value="{{screen.name}}" maxlength="128" data-limit-text-length placeholder="Front desk TV" required />
|
|
</div>
|
|
<div class="col-12 col-md-6">
|
|
<label for="screen-slug" class="form-label">Slug</label>
|
|
<input id="screen-slug" name="slug" class="form-control" value="{{screen.slug}}" maxlength="128" data-limit-text-length placeholder="front-desk-tv" {{#if isEdit}}disabled aria-disabled="true" title="Slug cannot be changed after creation"{{/if}} />
|
|
</div>
|
|
<div class="col-12">
|
|
<label for="screen-playlist" class="form-label">Playlist</label>
|
|
<select id="screen-playlist" name="playlist_id" class="form-select">
|
|
<option value="">-- not assigned --</option>
|
|
{{#each playlists}}
|
|
<option value="{{id}}" {{#if (eq ../screen.playlist_id id)}}selected{{/if}}>{{name}}</option>
|
|
{{/each}}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer d-flex justify-content-end">
|
|
{{{saveActionButtons formId="screen-form" saveUrl=formAction cancelUrl=cancelUrl deleteUrl=deleteUrl deleteConfirmMessage=deleteConfirmMessage deleteDisabled=deleteDisabled showSaveAndClose=showSaveSecondaryActions showSaveAndNew=showSaveSecondaryActions}}}
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 col-xl-6">
|
|
<div class="card card-outline card-secondary admin-form-card h-100">
|
|
<div class="card-header">
|
|
<h3 class="card-title">Player URLs</h3>
|
|
</div>
|
|
<div class="card-body table-responsive p-0">
|
|
{{#if screen.player_urls.length}}
|
|
<table class="table table-striped w-100 mb-0" data-table-searchable>
|
|
<thead>
|
|
<tr>
|
|
<th>Player</th>
|
|
<th>URL</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{#each screen.player_urls}}
|
|
<tr>
|
|
<td data-label="Player" class="text-break">{{identifier}}</td>
|
|
<td class="text-break">
|
|
{{#if player_url}}
|
|
<a href="{{player_url}}" target="_blank" rel="noreferrer">{{player_url}}</a>
|
|
{{else}}
|
|
<span class="text-muted">Not available</span>
|
|
{{/if}}
|
|
</td>
|
|
</tr>
|
|
{{/each}}
|
|
</tbody>
|
|
</table>
|
|
{{else}}
|
|
<p class="mb-0 p-3 text-muted">No player URLs are available yet.</p>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |