view demo/subforms.ur @ 2119:5439b35c5d0b

Add 'download' attribute to <a/>, part of HTML5
author Sergey Mironov <grrwlf@gmail.com>
date Sun, 26 Oct 2014 14:07:07 +0000
parents be0c4e2e488a
children
line wrap: on
line source
fun sub r =
    let
        fun sub' ls =
            case ls of
                [] => <xml/>
              | r :: ls => <xml>
                <li>{[r.Num]} = {[r.Text]}</li>
                {sub' ls}
              </xml>
    in
        return <xml><body>
          {sub' r.Lines}
        </body></xml>
    end

fun subfrms n =
    if n <= 0 then
        <xml/>
    else
        <xml>
          <entry>
            <hidden{#Num} value={show n}/>
            <li>{[n]}: <textbox{#Text}/></li>
          </entry>
          {subfrms (n - 1)}
        </xml>

fun form n = return <xml><body>
  <form>
    <subforms{#Lines}>
      {subfrms n}
    </subforms>
    <submit action={sub}/>
  </form>

  <a link={form (n + 1)}>One more blank</a><br/>
  {if n > 0 then
       <xml><a link={form (n - 1)}>One fewer blank</a></xml>
   else
       <xml/>}
</body></xml>

fun main () = form 1