fix dossier stats's weird behaviour
This commit is contained in:
parent
2034f00e75
commit
5ccf8b2111
@ -1,4 +1,4 @@
|
||||
<iqser-status-bar *ngIf="dossierStats$ | async as stats" [configs]="statusConfig(stats)"></iqser-status-bar>
|
||||
<iqser-status-bar *ngIf="stats" [configs]="statusConfig(stats)"></iqser-status-bar>
|
||||
|
||||
<div (longPress)="forceReanalysisAction($event)" class="action-buttons" redactionLongPress>
|
||||
<iqser-circle-button
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { CircleButtonTypes, StatusBarConfig } from '@iqser/common-ui';
|
||||
import { UserService } from '@services/user.service';
|
||||
@ -10,8 +10,6 @@ import { UserPreferenceService } from '@services/user-preference.service';
|
||||
import { FilesMapService } from '@services/entity-services/files-map.service';
|
||||
import { ReanalysisService } from '@services/reanalysis.service';
|
||||
import { switchMapTo, tap } from 'rxjs/operators';
|
||||
import { DossierStatsService } from '@services/entity-services/dossier-stats.service';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dossiers-listing-actions',
|
||||
@ -19,15 +17,16 @@ import { Observable } from 'rxjs';
|
||||
styleUrls: ['./dossiers-listing-actions.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class DossiersListingActionsComponent implements OnInit {
|
||||
export class DossiersListingActionsComponent {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = this._userService.currentUser;
|
||||
|
||||
analysisForced: boolean;
|
||||
|
||||
@Input() dossier: Dossier;
|
||||
@Input() stats: DossierStats;
|
||||
|
||||
@Output() readonly actionPerformed = new EventEmitter<Dossier | undefined>();
|
||||
dossierStats$: Observable<DossierStats>;
|
||||
|
||||
constructor(
|
||||
readonly appStateService: AppStateService,
|
||||
@ -36,14 +35,9 @@ export class DossiersListingActionsComponent implements OnInit {
|
||||
readonly permissionsService: PermissionsService,
|
||||
readonly filesMapService: FilesMapService,
|
||||
private readonly _dialogService: DossiersDialogService,
|
||||
private readonly _dossierStatsService: DossierStatsService,
|
||||
private readonly _userPreferenceService: UserPreferenceService,
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.dossierStats$ = this._dossierStatsService.watch$(this.dossier.dossierId);
|
||||
}
|
||||
|
||||
statusConfig(stats: DossierStats): readonly StatusBarConfig<string>[] {
|
||||
return Object.keys(stats.fileCountPerWorkflowStatus)
|
||||
.sort(StatusSorter.byStatus)
|
||||
|
||||
@ -1,17 +1,19 @@
|
||||
<ng-container *ngIf="dossierStatsService.watch$(dossier.dossierId) | async as stats">
|
||||
<div class="cell">
|
||||
<redaction-dossiers-listing-dossier-name [dossierStats]="stats" [dossier]="dossier"></redaction-dossiers-listing-dossier-name>
|
||||
</div>
|
||||
<div class="cell">
|
||||
<redaction-dossiers-listing-dossier-name [dossierStats]="stats" [dossier]="dossier"></redaction-dossiers-listing-dossier-name>
|
||||
</div>
|
||||
|
||||
<div class="cell">
|
||||
<redaction-dossier-workload-column [dossierStats]="stats" [dossier]="dossier"></redaction-dossier-workload-column>
|
||||
</div>
|
||||
</ng-container>
|
||||
<div class="cell">
|
||||
<redaction-dossier-workload-column [dossierStats]="stats" [dossier]="dossier"></redaction-dossier-workload-column>
|
||||
</div>
|
||||
|
||||
<div class="cell user-column">
|
||||
<redaction-initials-avatar [user]="dossier.ownerId" [withName]="true"></redaction-initials-avatar>
|
||||
</div>
|
||||
|
||||
<div class="cell status-container">
|
||||
<redaction-dossiers-listing-actions (actionPerformed)="calculateData.emit()" [dossier]="dossier"></redaction-dossiers-listing-actions>
|
||||
<redaction-dossiers-listing-actions
|
||||
(actionPerformed)="calculateData.emit()"
|
||||
[dossier]="dossier"
|
||||
[stats]="stats"
|
||||
></redaction-dossiers-listing-actions>
|
||||
</div>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { Dossier } from '@red/domain';
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';
|
||||
import { Dossier, DossierStats } from '@red/domain';
|
||||
import { Required } from '@iqser/common-ui';
|
||||
import { DossierStatsService } from '@services/entity-services/dossier-stats.service';
|
||||
|
||||
@ -9,9 +9,15 @@ import { DossierStatsService } from '@services/entity-services/dossier-stats.ser
|
||||
styleUrls: ['./table-item.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class TableItemComponent {
|
||||
export class TableItemComponent implements OnChanges {
|
||||
@Input() @Required() dossier!: Dossier;
|
||||
@Output() readonly calculateData = new EventEmitter();
|
||||
|
||||
stats: DossierStats;
|
||||
|
||||
constructor(readonly dossierStatsService: DossierStatsService) {}
|
||||
|
||||
ngOnChanges() {
|
||||
this.stats = this.dossierStatsService.get(this.dossier.dossierId);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user