What is my goal? My goal is to reduce the data traffic bettween client and server. Hence limit the data transfer between Input/State and Output.
Initally I had 14 inputs, 8 states and 1 output. But there is too much unnecessary data roaming between each callback call.
Since callbacks are not allowed to share the same output, I tried to create a generic callback:
Output(component_id={'id': ALL, 'type': ALL, 'plot':'map'},component_property= 'figure'),
[Input(component_id={'id': ALL, 'type': MATCH, 'plot': 'histogram'}, component_property='clickData'),
Input(component_id={'id': ALL, 'type': MATCH, 'plot': 'scatter'}, component_property='clickData')],
[State(component_id={'id': ALL, 'type': ALL, 'plot': 'map'}, component_property='figure'),
State(component_id={'id': ALL, 'type': MATCH, 'plot': 'scatter'}, component_property='figure')],
I know the meaning of the following error callback, but is there a cheeky way around it? Or a method to create multiple callbacks for one unique output?
In the callback for output(s):
{"id":"mapbox-graph","plot":"map","type":"mapbox"}.figure
State 1 ({"id":ALL,"plot":"scatter","type":MATCH}.figure)
has MATCH or ALLSMALLER on key(s) type
where Output 0 ({"id":"mapbox-graph","plot":"map","type":"mapbox"}.figure)
does not have a MATCH wildcard. Inputs and State do not
need every MATCH from the Output(s), but they cannot have
extras beyond the Output(s).