Quantcast
Channel: All Developer posts
Viewing all articles
Browse latest Browse all 50513

Re: Custom visual selection: values in the selector are reset

$
0
0

As discussed privately, I haven't got much experience in this area, but I have had a quick look, and if you're using this tutorial, then I think that it's a case of enabling multiSelect on your select call.

You can see the specification for the select method in ISelectionManager here. Notice that there is an optional multiSelect property.

I've checked out the sample repo and can't get it to compile to verify, unfortunately, but I presume that your code would need to look as follows (based on the tutorial; change higlighted in red):

let selectionManager = this.selectionManager;

//This must be an anonymous function instead of a lambda because
//d3 uses 'this' as the reference to the element that was clicked.
bars.on('click', function(d) {
    selectionManager.select(d.selectionId, true).then((ids: ISelectionId[]) => {
        bars.attr({
            'fill-opacity': ids.length > 0 ? BarChart.Config.transparentOpacity : BarChart.Config.solidOpacity
        });

        d3.select(this).attr({
            'fill-opacity': BarChart.Config.solidOpacity
        });
    });

    (<Event>d3.event).stopPropagation();
});

There's also a great series on YouTube that works through a similar tutorial. It's for an older version of the SDK but a lot of the concepts still work. Here's a timestamped-link to where the above is illustrated, but the whole video is worth watching IMHO as it includes functionality such as dimming unselected data points.

Hopefully this should give you some options to explore. Good luck!

Daniel


Viewing all articles
Browse latest Browse all 50513

Trending Articles