Commit e88ea85f286e5b734b033a8e14111fc4e71df90d

Authored by Cédric RICARD
1 parent 3f69ca7e

Minor improvements on selectors

Showing 1 changed file with 25 additions and 21 deletions   Show diff stats
calexium_lib/web/CXM_making_a_web_site.anubis
... ... @@ -916,7 +916,7 @@ public type Actioner_Aspect:
916 916 button (String url_off, String url_on), // rollover button
917 917 button (String url_off, String url_on, Int32 w, Int32 h), // idem with size
918 918 immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices),
919   - immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices, String selected).
  919 + immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices, InitialValue selected).
920 920  
921 921  
922 922  
... ... @@ -991,13 +991,13 @@ public type HTML_In_Form:
991 991 password_input (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width),
992 992 text_area (List(TextAreaOption), String name, String init, Int32 width, Int32 height),
993 993 file_upload (String label, HtmlId id, WebArgName name, Int32 width),
994   - selector (WebArgName name, Int32 size, List(String) choices),
995   - selector (WebArgName name, Int32 size, List(String) choices, String selected),
  994 + selector (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List(String) choices),
  995 + selector (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List(String) choices, InitialValue selected),
996 996 // List((String,String)) = List((code,name)) where :
997 997 // code is the web-arg value
998 998 // name appears in selector
999   - selector_c (WebArgName name, Int32 size, List((WebArgValue,String)) choices),
1000   - selector_c (WebArgName name, Int32 size, List((WebArgValue,String)) choices, String selected),
  999 + selector_c (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List((WebArgValue,String)) choices),
  1000 + selector_c (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List((WebArgValue,String)) choices, InitialValue selected),
1001 1001 radio_button (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked),
1002 1002 radio_button_r (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked),
1003 1003 check_box (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked),
... ... @@ -2664,12 +2664,12 @@ public define Printable_tree
2664 2664 format_choices
2665 2665 (
2666 2666 List(String) l,
2667   - String selected
  2667 + InitialValue selected
2668 2668 ) =
2669 2669 if l is
2670 2670 {
2671 2671 [ ] then [ ],
2672   - [h . t] then if h = selected
  2672 + [h . t] then if h = selected.value
2673 2673 then ["<option selected>",h . format_choices(t)]
2674 2674 else ["<option>",h . format_choices(t,selected)]
2675 2675 }.
... ... @@ -2692,14 +2692,14 @@ public define Printable_tree
2692 2692 format_choices
2693 2693 (
2694 2694 List((WebArgValue,String)) l,
2695   - String selected
  2695 + InitialValue selected
2696 2696 ) =
2697 2697 if l is
2698 2698 {
2699 2699 [ ] then [ ],
2700 2700 [h . t] then
2701 2701 if h is (val,item) then
2702   - if item = selected
  2702 + if item = selected.value
2703 2703 then ["<option value=\""+val.value+"\" selected>",item . format_choices(t)]
2704 2704 else ["<option value=\""+val.value+"\">",item . format_choices(t,selected)]
2705 2705 }.
... ... @@ -3743,14 +3743,18 @@ define Printable_tree
3743 3743 file_upload(label, id, n, w) then
3744 3744 ["<label for=\"",id,"\">",label,"</label>",
3745 3745 "<input type=file id=",id," size=",w," name=o",n,">"],
3746   - selector(n,s,cs) then
3747   - ["<select name=o",n," size=",s,">",format_choices(cs),"</select>"],
3748   - selector(n,s,cs,sd) then
3749   - ["<select name=o",n," size=",s,">",format_choices(cs,sd),"</select>"],
3750   - selector_c(n,s,cs) then
3751   - ["<select name=o",n," size=",s,">",format_choices(cs),"</select>"],
3752   - selector_c(n,s,cs,sd) then
3753   - ["<select name=o",n," size=",s,">",format_choices(cs,sd),"</select>"],
  3746 + selector(opts, label, id, n,s,cs) then
  3747 + ["<label for=\"",id,"\">",label,"</label>",
  3748 + "<select name=o",n," size=",s,format_attrs(opts),">",format_choices(cs),"</select>"],
  3749 + selector(opts, label, id, n,s,cs,sd) then
  3750 + ["<label for=\"",id,"\">",label,"</label>",
  3751 + "<select name=o",n," size=",s,format_attrs(opts),">",format_choices(cs,sd),"</select>"],
  3752 + selector_c(opts, label, id, n,s,cs) then
  3753 + ["<label for=\"",id,"\">",label,"</label>",
  3754 + "<select name=o",n," size=",s,format_attrs(opts),">",format_choices(cs),"</select>"],
  3755 + selector_c(opts, label, id, n,s,cs,sd) then
  3756 + ["<label for=\"",id,"\">",label,"</label>",
  3757 + "<select name=o",n," size=",s,format_attrs(opts),">",format_choices(cs,sd),"</select>"],
3754 3758  
3755 3759 radio_button(options, label_text, id, n, v, c) then
3756 3760 [ "<label for=\"",id,"\">",label_text,"</label>",
... ... @@ -3826,10 +3830,10 @@ define Bool
3826 3830 password_input(o,lt,l,n,i,w) then false,
3827 3831 text_area(o,n,i,w,h) then false,
3828 3832 file_upload(l,i,n,w) then true,
3829   - selector(n,s,c) then false,
3830   - selector(n,s,c,p) then false,
3831   - selector_c(n,s,c) then false,
3832   - selector_c(n,s,c,p) then false,
  3833 + selector(o,l,i,n,s,c) then false,
  3834 + selector(o,l,i,n,s,c,p) then false,
  3835 + selector_c(o,l,i,n,s,c) then false,
  3836 + selector_c(o,l,i,n,s,c,p) then false,
3833 3837 radio_button(o,_,_,n,v,c) then false,
3834 3838 radio_button_r(o,_,_,n,v,c) then false,
3835 3839 check_box(o,_,_,n,v,c) then false,
... ...