|
@@ -1,20 +0,0 @@
|
|
|
--module(index).
|
|
|
--compile(export_all).
|
|
|
--include_lib("n2o/include/wf.hrl").
|
|
|
-
|
|
|
-peer() -> io_lib:format("~p",[wf:peer(?REQ)]).
|
|
|
-message() -> wf:js_escape(wf:html_encode(wf:q(message))).
|
|
|
-main() -> #dtl{file="index",app=n2o_sample,bindings=[{body,body()}]}.
|
|
|
-body() ->
|
|
|
- {ok,Pid} = wf:comet(fun() -> chat_loop() end),
|
|
|
- [ #panel{id=history}, #textbox{id=message},
|
|
|
- #button{id=send,body="Chat",postback={chat,Pid},source=[message]} ].
|
|
|
-
|
|
|
-event(init) -> wf:reg(room);
|
|
|
-event({chat,Pid}) -> Pid ! {peer(), message()};
|
|
|
-event(Event) -> skip.
|
|
|
-
|
|
|
-chat_loop() ->
|
|
|
- receive {Peer, Message} ->
|
|
|
- wf:insert_bottom(history,#panel{id=history,body=[Peer,": ",Message,#br{}]}),
|
|
|
- wf:flush(room) end, chat_loop().
|