You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
5 years ago
|
import { Component, OnInit } from '@angular/core';
|
||
|
import { PostsService } from 'app/posts.services';
|
||
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
||
|
|
||
|
@Component({
|
||
|
selector: 'app-update-progress-dialog',
|
||
|
templateUrl: './update-progress-dialog.component.html',
|
||
|
styleUrls: ['./update-progress-dialog.component.scss']
|
||
|
})
|
||
|
export class UpdateProgressDialogComponent implements OnInit {
|
||
|
|
||
|
updateStatus = null;
|
||
|
updateInterval = 250;
|
||
|
errored = false;
|
||
|
|
||
|
constructor(private postsService: PostsService, private snackBar: MatSnackBar) { }
|
||
|
|
||
|
ngOnInit(): void {
|
||
|
this.getUpdateProgress();
|
||
|
setInterval(() => {
|
||
|
this.getUpdateProgress();
|
||
|
}, 250);
|
||
|
}
|
||
|
|
||
|
getUpdateProgress() {
|
||
|
this.postsService.getUpdaterStatus().subscribe(res => {
|
||
|
this.updateStatus = res;
|
||
|
if (!this.updateStatus) {
|
||
|
// update complete?
|
||
|
console.log('Update complete? or not started');
|
||
|
}
|
||
|
if (this.updateStatus && this.updateStatus['error']) {
|
||
|
this.openSnackBar('Update failed. Check logs for more details.');
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
public openSnackBar(message: string, action: string = '') {
|
||
|
this.snackBar.open(message, action, {
|
||
|
duration: 2000,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
}
|