(ns quoi
(require quoi)
(def ajax-counter 0)
(defn gen-ajax-id []
(set! ajax-counter (+ ajax-counter 1))
(clj->string ajax-counter))
(defn ajax-button [name cb cbs]
(let [id (gen-ajax-id)]
(quoi#page (append "/ajax/" (append id "$"))
(fn [S] (cb S)))
#[span
#[input ^{:type "submit" :id id :value name}]
#[script
(append-list
"
$(document).ready(function(){
$('#" id "').on('click', function(){
" (if (equal (#::on-click cbs) nil) "" (#::on-click cbs)) "
$.ajax({url: '/ajax/" id "'}).done("
(if (equal (#::ajax-done cbs) nil) "" (#::ajax-done cbs))
");
})});
")]]))
)