20 lines
572 B
JavaScript
20 lines
572 B
JavaScript
export class ViewerProgressBar {
|
|
constructor(contentEl) {
|
|
this.bar = document.createElement('div');
|
|
this.bar.className = 'viewer-progress-bar';
|
|
this.fill = document.createElement('div');
|
|
this.fill.className = 'viewer-progress-fill';
|
|
this.bar.appendChild(this.fill);
|
|
contentEl.prepend(this.bar);
|
|
}
|
|
|
|
update(ratio) {
|
|
this.fill.style.width = `${Math.min(Math.round(ratio * 100), 100)}%`;
|
|
}
|
|
|
|
finish() {
|
|
this.fill.style.width = '100%';
|
|
setTimeout(() => this.bar.remove(), 300);
|
|
}
|
|
}
|