Skip to content
Snippets Groups Projects
Unverified Commit 4da5c48d authored by xgui3783's avatar xgui3783 Committed by GitHub
Browse files

Merge pull request #353 from HumanBrainProject/feat/preserveFilterSelection

feat: preserve filter selection
parents 0eb4d099 9a45f024
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,8 @@ import { GetKgSchemaIdFromFullIdPipe } from "./util/getKgSchemaIdFromFullId.pipe
import { PreviewFileIconPipe } from "./preview/previewFileIcon.pipe";
import { PreviewFileTypePipe } from "./preview/previewFileType.pipe";
import { SingleDatasetListView } from "./singleDataset/listView/singleDatasetListView.component";
import { AppendFilerModalityPipe } from "./util/appendFilterModality.pipe";
import { ResetCounterModalityPipe } from "./util/resetCounterModality.pipe";
@NgModule({
imports:[
......@@ -69,7 +71,9 @@ import { SingleDatasetListView } from "./singleDataset/listView/singleDatasetLis
RegionBackgroundToRgbPipe,
GetKgSchemaIdFromFullIdPipe,
PreviewFileIconPipe,
PreviewFileTypePipe
PreviewFileTypePipe,
AppendFilerModalityPipe,
ResetCounterModalityPipe
],
exports:[
DataBrowser,
......
......@@ -71,7 +71,7 @@ export class DataBrowser implements OnChanges, OnDestroy,OnInit{
)
}
ngOnChanges(changes){
ngOnChanges(){
this.regions = this.regions.map(r => {
/**
......@@ -111,7 +111,6 @@ export class DataBrowser implements OnChanges, OnDestroy,OnInit{
.finally(() => {
this.fetchingFlag = false
this.dataentriesUpdated.emit(this.dataentries)
this.resetFilters()
this.cdr.markForCheck()
})
......
......@@ -143,7 +143,7 @@
<modality-picker
iav-stop="click"
class="w-100"
[countedDataM]="countedDataM"
[countedDataM]="visibleCountedDataM | resetcounterModalityPipe | appendFilterModalityPipe : [countedDataM]"
(modalityFilterEmitter)="handleModalityFilterEvent($event)"
#modalityPickerCmp>
......
<mat-checkbox
[checked]="datamodality.visible"
(change)="toggleModality(datamodality)"
[ngClass]="{'muted': datamodality.occurance === 0}"
*ngFor="let datamodality of countedDataM">
{{ datamodality.name }} <span class="text-muted">({{ datamodality.occurance }})</span>
</mat-checkbox>
\ No newline at end of file
import { Pipe, PipeTransform } from "@angular/core";
import { CountedDataModality } from "../databrowser.service";
@Pipe({
name: 'appendFilterModalityPipe'
})
export class AppendFilerModalityPipe implements PipeTransform{
public transform(root: CountedDataModality[], appending: CountedDataModality[][]): CountedDataModality[]{
let returnArr:CountedDataModality[] = [...root]
for (const mods of appending){
for (const mod of mods){
// preserve the visibility
const { visible } = returnArr.find(({ name }) => name === mod.name) || mod
returnArr = returnArr.filter(({ name }) => name !== mod.name)
returnArr = returnArr.concat({
...mod,
visible
})
}
}
return returnArr
}
}
\ No newline at end of file
import { Pipe, PipeTransform } from "@angular/core";
import { CountedDataModality } from "../databrowser.service";
@Pipe({
name: 'resetcounterModalityPipe'
})
export class ResetCounterModalityPipe implements PipeTransform{
public transform(inc: CountedDataModality[]):CountedDataModality[]{
return inc.map(({ occurance, ...rest }) => {
return {
occurance: 0,
...rest
}
})
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment