in source/webapp/src/lib/js/videoCard.js [358:428]
async domInit(badge = false) {
if (this.domInitialized()) {
return;
}
const video = (this.proxies || []).filter(x =>
x.type === 'video').shift();
const original = await VideoCard.fileExists(SO0050.Ingest.Bucket, this.key);
const proxy = (video || {}).key && await VideoCard.fileExists(SO0050.Proxy.Bucket, video.key);
const imageUrl = this.getThumbnail();
const actions = [];
if (!original) {
actions.push('not-found');
} else if (!proxy) {
actions.push('restore');
} else {
actions.push('play');
if (!this.hasAnalyzed()) {
actions.push('metadata');
}
}
const dom = `
<div class="col-sm-4 mt-4">
<div class="card" id="card-${this.uuid}">
<!-- loading icon -->
<div
id="indicator-${this.uuid}"
class="spinner-grow text-light indicator collapse"
style="animation: spinner-grow 1.2s linear infinite;"
role="status">
<span class="sr-only">Loading...</span>
</div>
<div class="overlay-container">
<img class="card-img-top" src="${imageUrl}" alt="thumbnail">
<div class="state-status-overlay mb-2 small pl-2 pr-2">
${this.domCreateIngestOverlayStatus()}
${this.domCreateAnalysisOverlayStatus()}
${this.domCreateLabelingOverlayStatus()}
</div>
${this.domCreateOverlayActions(actions)}
</div>
<div class="card-body small">
<h6 class="card-title text-truncate lead">${this.basename}</h6>
<dl class="row small">
<dt class="col-sm-3 text-truncate">Name</dt><dd class="col-sm-9 text-truncate" data-field="name">${this.basename}</dd>
<dt class="col-sm-3 text-truncate">ID</dt><dd class="col-sm-9 text-truncate" data-field="uuid">${this.uuid}</dd>
<dt class="col-sm-3 text-truncate">LastModified</dt><dd class="col-sm-9 text-truncate" data-field="ingestDate">${this.lastModifiedISOFormat || '--'}</dd>
</dl>
<div class="float-right">
<a href="#" class="overlay-action">
<i class="far fa-trash-alt fa-lg" style="color: #111"
alt="Remove asset"
data-action="remove"
data-toggle="tooltip"
data-placement="bottom"
title="Remove asset and delete database records">
</i>
</a>
</div>
</div>
</div>
</div>
`;
this.element = $(dom);
await this.domRegisterEvents();
}