Hello,
I have difficulties to run the following code inside a flask app. I did “copy/paste” the main part from user guide (CustomJS for Selections)
@app.route(’/select’, methods=[“POST”, “GET”])
def select():
x = [random() for x in range(500)]
y = [random() for y in range(500)]
s1 = ColumnDataSource(data=dict(x=x, y=y))
p1 = figure(plot_width=300, plot_height=300, tools=“lasso_select”, title=“Select Here”)
p1.circle(‘x’, ‘y’, source=s1, alpha=0.6)
s2 = ColumnDataSource(data=dict(x=, y=))
p2 = figure(plot_width=300, plot_height=300, x_range=(0, 1), y_range=(0, 1),
tools="", title=“Watch Here”)
p2.circle(‘x’, ‘y’, source=s2, alpha=0.6)
s1.callback = CustomJS(args=dict(s2=s2), code="""
var inds = cb_obj.selected[‘1d’].indices;
var d1 = cb_obj.data;
var d2 = s2.data;
d2[‘x’] =
d2[‘y’] =
for (i = 0; i < inds.length; i++) {
d2[‘x’].push(d1[‘x’][inds[i]])
d2[‘y’].push(d1[‘y’][inds[i]])
}
s2.change.emit();
“”")
layout = row(p1, p2)
script, div = components(layout, INLINE)
return jsonify(
script=script,
div=div,
js_resources=INLINE.render_js(),
css_resources=INLINE.render_css()
)
``
The selected points in p1 are not displayed in p2 . An error in the console says “Uncaught TypeError: Cannot read property ‘emit’ of undefined” . Any ideas what is wrong?
Thanks,
Vitali

