comparison tests/crud1.ur @ 362:24a31b35e08f

Reusable column handlers for Crud
author Adam Chlipala <adamc@hcoop.net>
date Tue, 14 Oct 2008 17:18:59 -0400
parents c1e96b387115
children
comparison
equal deleted inserted replaced
361:260b680a6a04 362:24a31b35e08f
1 table t1 : {Id : int, A : int, B : string, C : float, D : bool} 1 table t1 : {Id : int, A : int, B : string, C : float, D : bool}
2
3 val a = {Nam = "A",
4 Show = txt _,
5 Widget = fn nm :: Name => <xml><textbox{nm}/></xml>,
6 WidgetPopulated = fn (nm :: Name) n =>
7 <xml><textbox{nm} value={show _ n}/></xml>,
8 Parse = readError _,
9 Inject = _}
10
11 val b = {Nam = "B",
12 Show = txt _,
13 Widget = fn nm :: Name => <xml><textbox{nm}/></xml>,
14 WidgetPopulated = fn (nm :: Name) s =>
15 <xml><textbox{nm} value={s}/></xml>,
16 Parse = readError _,
17 Inject = _}
18
19 val c = {Nam = "C",
20 Show = txt _,
21 Widget = fn nm :: Name => <xml><textbox{nm}/></xml>,
22 WidgetPopulated = fn (nm :: Name) n =>
23 <xml><textbox{nm} value={show _ n}/></xml>,
24 Parse = readError _,
25 Inject = _}
26
27 val d = {Nam = "D",
28 Show = txt _,
29 Widget = fn nm :: Name => <xml><checkbox{nm}/></xml>,
30 WidgetPopulated = fn (nm :: Name) b =>
31 <xml><checkbox{nm} checked={b}/></xml>,
32 Parse = fn x => x,
33 Inject = _}
34 2
35 open Crud.Make(struct 3 open Crud.Make(struct
36 val tab = t1 4 val tab = t1
37 5
38 val title = "Crud1" 6 val title = "Crud1"
39 7
40 val cols = {A = a, 8 val cols = {A = Crud.int "A",
41 B = b, 9 B = Crud.string "B",
42 C = c, 10 C = Crud.float "C",
43 D = d} 11 D = Crud.bool "D"}
44 end) 12 end)