diff --git a/src/app/openaire-library b/src/app/openaire-library
index 6ecde00..056faac 160000
--- a/src/app/openaire-library
+++ b/src/app/openaire-library
@@ -1 +1 @@
-Subproject commit 6ecde003afe2cc7f4917b1d0f616d8c4b6355346
+Subproject commit 056faac88fd45f2ebcf48a550f21517455b8a80c
diff --git a/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.html b/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.html
index 789fe6a..d8ac6c4 100644
--- a/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.html
+++ b/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.html
@@ -74,12 +74,12 @@
0">
- -
+
-
- All Rules ({{result.analysisResult.length | number}})
- Successful ({{result.successfulAnalysisResult.length | number}})
diff --git a/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.ts b/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.ts
index 97b2360..6bb5670 100644
--- a/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.ts
+++ b/src/app/pages/oaipmh-validator/validation-analysis/oaipmh-analysis.component.ts
@@ -1,4 +1,4 @@
-import {Component, OnInit, ViewChild} from '@angular/core';
+import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';
import {UntypedFormGroup} from "@angular/forms";
import {OaipmhValidatorService} from "../../../services/oaipmh-validator.service";
import {Subscriber} from "rxjs";
@@ -53,14 +53,13 @@ export class OaipmhAnalysisComponent implements OnInit {
['OpenAIRE FAIR Guidelines for Data Repositories Profile', 'oai_datacite']
]);
- constructor(private route: ActivatedRoute, private validator: OaipmhValidatorService) {
- }
+ constructor(private route: ActivatedRoute, private cdr: ChangeDetectorRef, private validator: OaipmhValidatorService) {}
ngOnInit(): void {
this.subscriptions.push(this.route.queryParams.subscribe(params => {
this.jobId = params['jobId'];
- this.validationResult = new Map;
+ // this.validationResult = new Map;
// this.analysisResult = [];
// this.successfulAnalysisResult = [];
// this.warningAnalysisResult = [];
@@ -95,25 +94,30 @@ export class OaipmhAnalysisComponent implements OnInit {
public getAnalysis() {
this.subscriptions.push(this.validator.getAnalysis(this.jobId).subscribe(
(result: RulePerJob[]) => {
- console.log(result);
// this.analysisResult = result;
+
+ let validationResult: Map =
+ new Map;
+
for(let rulePerJob of result) {
- if(!this.validationResult.has(rulePerJob.guidelines)) {
- this.validationResult.set(rulePerJob.guidelines, {analysisResult: [], successfulAnalysisResult: [], warningAnalysisResult: [], failedAnalysisResult: []});
+ if(!validationResult.has(rulePerJob.guidelines)) {
+ validationResult.set(rulePerJob.guidelines, {analysisResult: [], successfulAnalysisResult: [], warningAnalysisResult: [], failedAnalysisResult: []});
}
- this.validationResult.get(rulePerJob.guidelines).analysisResult.push(rulePerJob);
+ validationResult.get(rulePerJob.guidelines).analysisResult.push(rulePerJob);
if(rulePerJob.rule_status == Status.FAILURE || rulePerJob.rule_status == Status.ERROR) {
- this.validationResult.get(rulePerJob.guidelines).failedAnalysisResult.push(rulePerJob);
+ validationResult.get(rulePerJob.guidelines).failedAnalysisResult.push(rulePerJob);
} else {
if(rulePerJob.has_warnings || rulePerJob.has_errors || rulePerJob.internal_error) {
- this.validationResult.get(rulePerJob.guidelines).warningAnalysisResult.push(rulePerJob);
+ validationResult.get(rulePerJob.guidelines).warningAnalysisResult.push(rulePerJob);
} else {
- this.validationResult.get(rulePerJob.guidelines).successfulAnalysisResult.push(rulePerJob);
+ validationResult.get(rulePerJob.guidelines).successfulAnalysisResult.push(rulePerJob);
}
}
}
+ this.validationResult = validationResult;
+ this.cdr.detectChanges();
}
));
}
@@ -182,5 +186,13 @@ export class OaipmhAnalysisComponent implements OnInit {
));
}
+ public getKeys(map) {
+ return Array.from(map.keys());
+ }
+
+ public getValues(map) {
+ return Array.from(map.values());
+ }
+
protected readonly Status = Status;
}
diff --git a/src/app/pages/oaipmh-validator/validation-history/oaipmh-history.component.html b/src/app/pages/oaipmh-validator/validation-history/oaipmh-history.component.html
index 508ecfc..6129e9a 100644
--- a/src/app/pages/oaipmh-validator/validation-history/oaipmh-history.component.html
+++ b/src/app/pages/oaipmh-validator/validation-history/oaipmh-history.component.html
@@ -38,10 +38,10 @@
class="uk-label" [ngClass]="result.status == Status.SUCCESS ? 'uk-label-success' : 'uk-label-danger'">
{{result.status}}
-
+
{{result.progress}}
-
+
{
- this.result = result;
- }
- ));
+ this.subscriptions.push(this.validator.getJobResult(this.jobId)
+ .pipe(
+ repeat({ delay: 5000 }),
+ filter((result: JobResult) => {
+ this.result = result;
+ return result.progress !== Progress.IN_PROGRESS
+ }),
+ take(1)
+ )
+ .subscribe()
+ );
}
protected readonly Status = Status;
diff --git a/src/app/pages/oaipmh-validator/validation-settings/oaipmh-validator.component.html b/src/app/pages/oaipmh-validator/validation-settings/oaipmh-validator.component.html
index 62a1b5b..e5abb80 100644
--- a/src/app/pages/oaipmh-validator/validation-settings/oaipmh-validator.component.html
+++ b/src/app/pages/oaipmh-validator/validation-settings/oaipmh-validator.component.html
@@ -47,7 +47,7 @@
diff --git a/src/assets/openaire-theme b/src/assets/openaire-theme
index cf3dab8..5268f27 160000
--- a/src/assets/openaire-theme
+++ b/src/assets/openaire-theme
@@ -1 +1 @@
-Subproject commit cf3dab89f7356b88abfe6f125930076466e8a780
+Subproject commit 5268f277246347aad42349a06eecb915a452841b
|