better toasts, better dashboard, first implementation of consumer status

This commit is contained in:
Jonas Winkler 2020-11-07 12:05:15 +01:00
parent 572e40ca27
commit 036f11acaa
28 changed files with 450 additions and 134 deletions

View file

@ -0,0 +1,10 @@
<h4 class="mt-3">Document consumer status</h4>
<div class="p-2 mb-1 border bg-light" *ngFor="let s of getStatus()">
<div class="mb-1"><strong>{{s.filename}}:</strong> {{s.message}}</div>
<ngb-progressbar [type]="getType(s.status)" [value]="s.current_progress" [max]="s.max_progress" class="mb-2"></ngb-progressbar>
<div *ngIf="isFinished(s)">
<button *ngIf="s.document_id" class="btn btn-sm btn-outline-secondary mr-2" routerLink="/documents/{{s.document_id}}" (click)="dismiss(s)">Open document</button>
<button class="btn btn-sm btn-outline-secondary" (click)="dismiss(s)">Dismiss</button>
</div>
</div>

View file

@ -0,0 +1,25 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ConsumerStatusWidgetComponent } from './consumer-status-widget.component';
describe('ConsumerStatusWidgetComponent', () => {
let component: ConsumerStatusWidgetComponent;
let fixture: ComponentFixture<ConsumerStatusWidgetComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ ConsumerStatusWidgetComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(ConsumerStatusWidgetComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View file

@ -0,0 +1,35 @@
import { Component, OnInit } from '@angular/core';
import { ConsumerStatusService, FileStatus } from 'src/app/services/consumer-status.service';
@Component({
selector: 'app-consumer-status-widget',
templateUrl: './consumer-status-widget.component.html',
styleUrls: ['./consumer-status-widget.component.css']
})
export class ConsumerStatusWidgetComponent implements OnInit {
constructor(private consumerStatusService: ConsumerStatusService) { }
ngOnInit(): void {
}
getStatus() {
return this.consumerStatusService.consumerStatus
}
isFinished(status: FileStatus) {
return status.status == "FAILED" || status.status == "SUCCESS"
}
getType(status) {
switch (status) {
case "WORKING": return "primary"
case "FAILED": return "danger"
case "SUCCESS": return "success"
}
}
dismiss(status: FileStatus) {
this.consumerStatusService.dismiss(status)
}
}