mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-08 14:18:12 +08:00
dispose and delete
This commit is contained in:
Vendored
+13
-12
@@ -275,23 +275,18 @@ const Controls = (
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
case "clear differential expression": {
|
case "clear differential expression": {
|
||||||
const { world, universe, crossfilter, dimensionMap } = state;
|
const { world, universe, dimensionMap } = state;
|
||||||
const _dimensionMap = dimensionMap;
|
const _dimensionMap = dimensionMap;
|
||||||
const universeVarDataCache = universe.varDataCache;
|
const universeVarDataCache = universe.varDataCache;
|
||||||
const worldVarDataCache = world.varDataCache;
|
const worldVarDataCache = world.varDataCache;
|
||||||
|
|
||||||
_.forEach(action.diffExp, values => {
|
_.forEach(action.diffExp, values => {
|
||||||
const { name } = world.varAnnotations[values[0]].name;
|
const { name } = world.varAnnotations[values[0]];
|
||||||
// clean up crossfilter dimensions
|
// clean up crossfilter dimensions
|
||||||
const filterID = dimensionMap[diffexpDimensionName(name)];
|
console.log("clear", name);
|
||||||
const dimension = crossfilter.filters.find(d => d.id === filterID);
|
const dimension = dimensionMap[diffexpDimensionName(name)];
|
||||||
dimension.dim.dispose();
|
dimension.dispose();
|
||||||
|
delete dimensionMap[diffexpDimensionName(name)];
|
||||||
// clean up dimensionsMap
|
|
||||||
delete _dimensionMap[diffexpDimensionName(name)];
|
|
||||||
// clean up the varDataCaches
|
|
||||||
delete universeVarDataCache[name];
|
|
||||||
delete worldVarDataCache[name];
|
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
@@ -320,13 +315,19 @@ const Controls = (
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
case "clear user defined gene": {
|
case "clear user defined gene": {
|
||||||
const { userDefinedGenes } = state;
|
const { userDefinedGenes, dimensionMap } = state;
|
||||||
const newUserDefinedGenes = _.filter(
|
const newUserDefinedGenes = _.filter(
|
||||||
userDefinedGenes,
|
userDefinedGenes,
|
||||||
d => d !== action.data
|
d => d !== action.data
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const dimension = dimensionMap[userDefinedDimensionName(action.data)];
|
||||||
|
dimension.dispose();
|
||||||
|
delete dimensionMap[userDefinedDimensionName(action.data)];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
|
dimensionMap,
|
||||||
userDefinedGenes: newUserDefinedGenes
|
userDefinedGenes: newUserDefinedGenes
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user