Mercurial > gui
diff examples/remotePager.ur @ 16:2e397d373289
Add RemotePager.
author | Karn Kallio <kkallio@eka> |
---|---|
date | Thu, 18 Aug 2011 12:53:17 -0430 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/remotePager.ur Thu Aug 18 12:53:17 2011 -0430 @@ -0,0 +1,30 @@ +fun getPage pg = + return {Content = <xml><h2>This is page {[pg]}.</h2></xml>, + Available = 44} + +structure Pager = RemotePager.Make(struct + type errorMarker = {} + type pageGroup = {} + val initPage = fn _ => getPage 0 + val getPage = fn _ pg => + tm <- now; + if mod (toSeconds tm) 5 = 0 then + return (RemotePager.Bad ()) + else + p <- getPage pg; + return (RemotePager.Good p) + end) + +fun main () = + + pager <- Pager.create (); + + return + <xml> + <head><title>RemotePager Example</title></head> + <body onload={Pager.onError pager (fn _ => alert "bad found")}> + <h1>RemotePager Example</h1> + <div>{Pager.panelXml pager}</div> + <div>{Pager.ctlXml pager}</div> + </body> + </xml>