I'm messing around with Ur and I was trying to include one of your modules
from the tutorials into my application.

It seems your module has links that return entirely new pages (starting
from body) and I just want it to return fragments so I can have these
templated "Master Pages"

Any suggestions?


datatype masterPageMode = Normal | NoLeft

fun masterPage pageType header left right footer = 
    case pageType of 
        Normal => return <xml>
          <head>
            <title>CRM Application</title>
          </head>
          <body>
            <div>{header}</div>
            <div>{left}</div>
            <div>{right}</div>
            <div>{footer}</div>
          </body>
        </xml>
        | NoLeft => return <xml>
          <head>
            <title>Login</title>
          </head>
          <body>
            <div>{header}</div>
            <div>{right}</div>
            <div>{footer}</div>
          </body>
         </xml>

val header = <xml>HEADER</xml>
val left = <xml>LEFT</xml>
val footer = <xml>FOOTER</xml>

fun masterPage' pageType left right = masterPage pageType header left right
footer

table users : { Id : int, Username : string, Password : string} PRIMARY KEY
Id

structure UsersCRUD = Crud.Make(struct
                   val tab = users
                             
                   val title = "Users"
                               
                   val cols = {
                               Username = Crud.string "Username",
                               Password = Crud.string "Password"
                              }
               end)


fun register () = 
    reg <- UsersCRUD.main ();
    masterPage' NoLeft <xml/> reg


fun welcome r = return <xml>
Hello {[r.Login]}, I can see your password: {[r.Password]}
</xml>

fun login () = return <xml>
  <div>
    <form>
      Login: <textbox {#Login} /><br/>
      Password: <textbox {#Password} /><br/>
      <submit action={handler}/><br/>
      Not Registered? <a link={register ()}>Click Here</a>
    </form>
  </div>
</xml>

and handler r = 
    msg <- welcome r;
    masterPage' Normal left msg

fun main () = 
l <- login();
masterPage' NoLeft (<xml/>) l


_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur

Reply via email to