Symptom
OnSelect event triggered multiple times unexpectedly.
Environment
SAC Application Designer
Reproducing the Issue
Use onselect() within a chart.
Cause
This is the designed behavior with the chart widget. If you click outside a chart widget, it will lose the datapoint selection. This behavior is inherited from the story mode.
Detail:
The actual meaning of chart's "onSelect" event would be "selectionChange", but due to some historical and design reasons, it's still named "onSelect". This is root cause of the misunderstanding.
Resolution
Add code to prevent the logic code from the second trigger . Below are some ideas on this check.
1) Check length
if(Chart_1.getSelections().length !== 0){
//your event code
}
There are other mechanisms that may also work
2) Global Flag
set the flag 0 when opening the app the first time. Check flag at onselect beginning, exit if not 0. Set it to 1 at the end of the console update. Reset flag to 0 when user does refresh.
3) Selection comparison
store selection as var. Compare the previous selection type/id/description...etc to existing. exit if the same
Keywords
KBA , LOD-ANA-AD , Analytics Designer , Problem