make sure that we can filter by platform in the left menu.
This commit is contained in:
parent
dd50faab57
commit
dbc2f49d86
|
@ -14,7 +14,17 @@
|
|||
<span class="switch-button"></span><span class="category-label truncate pl-1 pr-1">{{category.key | medicalSourcesCategoryLookup}}</span>
|
||||
<span *ngIf="!filterService.filterForm.get('categories').get(category.key).value" class="badge badge-primary mr-1">{{bucketDocCount(categories, category.key)}}</span>
|
||||
</label>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<label>Platform</label>
|
||||
<nav formGroupName="platformTypes" class="nav flex-column">
|
||||
<div *ngFor="let platformType of filterService.filterForm.get('platformTypes').value | keyvalue " class="switch-container">
|
||||
<label class="switch text-nowrap">
|
||||
<input type="checkbox" [formControlName]="platformType.key" [value]="platformType.value">
|
||||
<span class="switch-button"></span><span class="category-label truncate pl-1 pr-1">{{platformType.key}}</span>
|
||||
<span *ngIf="!filterService.filterForm.get('platformTypes').get(platformType.key).value" class="badge badge-primary mr-1">{{bucketDocCount(platformTypes, platformType.key)}}</span>
|
||||
</label>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
|
|
@ -26,6 +26,10 @@ export class MedicalSourcesFilterComponent implements OnInit {
|
|||
console.log("SELECTED CATEGORY", category)
|
||||
this.filterService.filterForm.patchValue({'categories': {[category]: true}})
|
||||
}
|
||||
platformTypeSelected(platformType: string){
|
||||
console.log("SELECTED PLATFORMTYPE", platformType)
|
||||
this.filterService.filterForm.patchValue({'platformTypes': {[platformType]: true}})
|
||||
}
|
||||
|
||||
bucketDocCount(aggregationData: LighthouseSourceSearchAggregation, key): number {
|
||||
return aggregationData?.buckets?.find(bucket => bucket.key === key)?.doc_count
|
||||
|
|
|
@ -183,6 +183,13 @@ export class MedicalSourcesComponent implements OnInit {
|
|||
}
|
||||
})
|
||||
|
||||
var currentPlatformTypes = this.filterForm.get('platformTypes').value;
|
||||
this.resultLimits.platformTypesBuckets.buckets.forEach((bucketData) => {
|
||||
if(!currentPlatformTypes.hasOwnProperty(bucketData.key)){
|
||||
(this.filterForm.get('platformTypes') as FormGroup).addControl(bucketData.key, new FormControl(false))
|
||||
}
|
||||
})
|
||||
|
||||
//
|
||||
// this.resultLimits.categoryBuckets.forEach((bucketData) => {
|
||||
// if(!this.globalLimits.categories.some((category) => { return category.id === bucketData.key})){
|
||||
|
|
|
@ -160,9 +160,8 @@ export class MedicalSourcesFilterService {
|
|||
|
||||
//ensure that checkbox list values exist before trying to "patch" them in.
|
||||
if(updateData.platformTypes){
|
||||
var currentFileTypes = this.filterForm.get('platformTypes').value;
|
||||
Object.keys(updateData.platformTypes).forEach((bucketKey) => {
|
||||
if(!currentFileTypes.hasOwnProperty(bucketKey)){
|
||||
if(!this.filterForm.get('platformTypes').get(bucketKey)){
|
||||
(this.filterForm.get('platformTypes') as FormGroup).addControl(bucketKey, new FormControl(false))
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue