view examples/remotePager.ur @ 27:5905b56e0cd9

Adapt to new HTML contexts
author Adam Chlipala <adam@chlipala.net>
date Tue, 20 Dec 2011 21:04:21 -0500
parents 2e397d373289
children
line wrap: on
line source
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>