Skip to content

Commit

Permalink
Added deletion of empty userDefinedROISet
Browse files Browse the repository at this point in the history
  • Loading branch information
milandomazet committed Sep 4, 2024
1 parent ee8802d commit 4d99517
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 1 deletion.
4 changes: 4 additions & 0 deletions js/roi/ROIManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,10 @@ class ROIManager {
return this.roiSets.find(roiSet => true === roiSet.isUserDefined)
}

deleteUserDefinedROISet(){
this.roiSets = this.roiSets.filter(roiSet => roiSet.isUserDefined !== true);
}

initializeUserDefinedROISet() {

const config =
Expand Down
8 changes: 7 additions & 1 deletion js/roi/ROIMenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,14 @@ class ROIMenu {
'<hr/>',
{
label: 'Delete',
click: () => {
click: async () => {
roiSet.removeFeature(feature)
const userDefinedFeatures = await roiSet.getAllFeatures()

// Delete user defined ROI Set if it is empty
if (Object.keys(userDefinedFeatures).length === 0) {
roiManager.deleteUserDefinedROISet()
}
roiManager.deleteRegionWithKey(regionElement.dataset.region, columnContainer)
roiManager.repaintTable()
}
Expand Down
4 changes: 4 additions & 0 deletions js/roi/ROISet.js
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,10 @@ class DynamicFeatureSource {
if (this.featureMap[chr]) {
const match = `${chr}-${start}-${end}`
this.featureMap[chr] = this.featureMap[chr].filter(feature => match !== `${feature.chr}-${feature.start}-${feature.end}`)
// Check if featureMap for a specific chromosome is empty now and delete it if yes
if (this.featureMap[chr].length === 0) {
delete this.featureMap[chr];
}
}
}
}
Expand Down

0 comments on commit 4d99517

Please sign in to comment.