in src/bookmarks.ts [147:187]
export function loadSelectionFromBookmarks(facetsVisual) {
facetsVisual.clearFilters();
facetsVisual.selectedInstances = [];
if (facetsVisual.bookmarkSelection) {
parseSQExpr(facetsVisual.bookmarkSelection, facetsVisual);
const selection = {
range: facetsVisual.filter && facetsVisual.filter.range,
selectedInstances: facetsVisual.selectedInstances || [],
};
if (selection.range) {
facetsVisual.filter = facetsVisual.filter || {};
facetsVisual.filter.range = selection.range;
const rangeFacets = facetsVisual.data.facetsData.filter((group: any) => group.isRange);
rangeFacets.forEach((facetData: any) => {
const range = selection.range[facetData.key];
if (range) {
const group = facetsVisual.facets._getGroup(facetData.key);
const facet = group.facets.find(f => f.key === facetData.key);
if (facet) {
const bars = facet._histogram._bars;
range.from.index = bars.findIndex(bar => bar.metadata.find(datum =>
compareValues(datum.metadata.rangeValue, range.from.metadata[0].rangeValue)));
range.to.index = bars.findIndex(bar => bar.metadata.find(datum =>
compareValues(datum.metadata.rangeValue, range.to.metadata[0].rangeValue)));
facetData.facets[0].selection['range'] = {
from: range.from.index,
to: range.to.index,
};
group.replace(facetData);
}
}
});
}
if (facetsVisual.data.hasHighlight) {
facetsVisual.facets.select(facetsVisual.data.facetsSelectionData);
}
facetsVisual.runWithNoAnimation(facetsVisual.updateFacetsSelection, facetsVisual, facetsVisual.selectedInstances);
}
}