index.erl 675 B

123456789101112131415
  1. -module(index).
  2. -compile(export_all).
  3. -include_lib("n2o/include/wf.hrl").
  4. -include_lib("nitro/include/nitro.hrl").
  5. peer() -> wf:to_list(wf:peer(?REQ)).
  6. message() -> wf:js_escape(wf:html_encode(wf:to_list(wf:q(message)))).
  7. main() -> #dtl{file="index",app=sample,bindings=[{body,body()}]}.
  8. body() -> [ #panel{id=history}, #textbox{id=message},
  9. #button{id=send,body="Chat",postback=chat,source=[message]} ].
  10. event(init) -> wf:reg(room);
  11. event(chat) -> wf:send(room,{client,{peer(),message()}});
  12. event({client,{P,M}}) -> wf:insert_bottom(history,#panel{id=history,body=[P,": ",M,#br{}]});
  13. event(Event) -> wf:info(?MODULE,"Unknown Event: ~p~n",[Event]).