[Harvester | master]: eoscservice.ts & harvester.component.html & harvester.component.ts: Model changed - one eosc service can have multiple compatibilities (e.g. b2find).
This commit is contained in:
parent
9f7aca0f10
commit
17faecee76
|
@ -6,5 +6,5 @@ export class EOSCService {
|
|||
|
||||
// configuration template instance info
|
||||
baseurl: string;
|
||||
compatibility: string;
|
||||
compatibilities: string[];
|
||||
}
|
|
@ -64,9 +64,9 @@
|
|||
<span class="uk-text-meta">Base URL: </span>
|
||||
<a target="_blank" [href]="service.baseurl" class="custom-external uk-link">{{service.baseurl}}</a>
|
||||
</div>
|
||||
<div *ngIf="service.compatibility">
|
||||
<span class="uk-text-meta">Compatibility: </span>
|
||||
{{service.compatibility}}
|
||||
<div *ngIf="service.compatibilities">
|
||||
<span class="uk-text-meta">Compatibilities: </span>
|
||||
{{service.compatibilities.join(', ')}}
|
||||
</div>
|
||||
<div *ngIf="service.description" class="uk-margin-top uk-height-max-medium uk-overflow-auto">
|
||||
<p [innerHTML]="service.description"></p>
|
||||
|
|
|
@ -56,13 +56,17 @@ export class HarvesterComponent {
|
|||
let service = new EOSCService();
|
||||
// service.id = serviceId;
|
||||
service.baseurl = subProfile.payload.baseURL;
|
||||
service.compatibility = subProfile.payload.compatibility;
|
||||
servicesMap.set(serviceId, service);
|
||||
|
||||
if (!compatibilitiesSet.has(service.compatibility)) {
|
||||
compatibilitiesSet.add(service.compatibility);
|
||||
this.compatibilityFilterValues.push({"compatibility": service.compatibility, "selected": false});
|
||||
service.compatibilities = [];
|
||||
if(subProfile.payload.compatibility) {
|
||||
service.compatibilities.push(subProfile.payload.compatibility);
|
||||
}
|
||||
servicesMap.set(serviceId, service);
|
||||
} else if(subProfile.payload.compatibility) {
|
||||
servicesMap.get(serviceId).compatibilities.push(subProfile.payload.compatibility);
|
||||
}
|
||||
if (subProfile.payload.compatibility && !compatibilitiesSet.has(subProfile.payload.compatibility)) {
|
||||
compatibilitiesSet.add(subProfile.payload.compatibility);
|
||||
this.compatibilityFilterValues.push({"compatibility": subProfile.payload.compatibility, "selected": false});
|
||||
}
|
||||
|
||||
serviceIds.add(serviceId);
|
||||
|
@ -123,7 +127,7 @@ export class HarvesterComponent {
|
|||
} else {
|
||||
this.services = this.allServices.filter(service => {
|
||||
for (let filter of this.compatibilityFilterValues) {
|
||||
if (filter.selected && service.compatibility == filter.compatibility) {
|
||||
if (filter.selected && service.compatibilities.includes(filter.compatibility)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue