'ss': smooth_selector, 'pick': picker, 'xr': chart.x_range, 'translate': dict([(x[1], x[0]) for x in DISEASE_DROPDOWN]) } js_history = CustomJS(args=request, code=read_js('history_push.js')) js_toggle_split = CustomJS(args={'pick': picker}, code=read_js('toggle_split.js')) # Events for selector in [disease_selector, smooth_selector]: selector.on_change('value', update_plot) selector.js_on_change('value', js_history) picker.js_on_change('active', js_toggle_split) picker.js_on_change('active', js_history) picker.active = chart_type chart.x_range.callback = js_history download_button.callback = CustomJS(args=dict( source=source_split, save_path='epidemic_co_il_{}.csv'.format( disease_selector.value.lower().replace(' ', '_'))), code=read_js('save_data.js')) # Document for element in [controls, chart_range, chart, chart_split, bars]: element.sizing_mode = "stretch_both" curdoc().add_root(element) curdoc().title = "Epidemic" curdoc().template_variables.update(p=picker.active) if 'disease' in args.keys(): curdoc().title = "Epidemic - {}".format(disease)