basic port of view code from js to cljs
event listener core async fn