Commit 3f69ca7ef6e03a7a4ecbf4513cda1446d8122d94
1 parent
36e23d45
Minor improvements on selectors
Showing
1 changed file
with
25 additions
and
12 deletions
Show diff stats
calexium_lib/web/CXM_making_a_web_site.anubis
| @@ -915,7 +915,9 @@ public type Actioner_Aspect: | @@ -915,7 +915,9 @@ public type Actioner_Aspect: | ||
| 915 | submit (List(CoreAttrs),String text), | 915 | submit (List(CoreAttrs),String text), |
| 916 | button (String url_off, String url_on), // rollover button | 916 | button (String url_off, String url_on), // rollover button |
| 917 | button (String url_off, String url_on, Int32 w, Int32 h), // idem with size | 917 | button (String url_off, String url_on, Int32 w, Int32 h), // idem with size |
| 918 | - immediate_selector (String name, Int32 size, List(String) choices). | 918 | + immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices), |
| 919 | + immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices, String selected). | ||
| 920 | + | ||
| 919 | 921 | ||
| 920 | 922 | ||
| 921 | public type Actioner_Local_Action: | 923 | public type Actioner_Local_Action: |
| @@ -989,13 +991,13 @@ public type HTML_In_Form: | @@ -989,13 +991,13 @@ public type HTML_In_Form: | ||
| 989 | password_input (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width), | 991 | password_input (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width), |
| 990 | text_area (List(TextAreaOption), String name, String init, Int32 width, Int32 height), | 992 | text_area (List(TextAreaOption), String name, String init, Int32 width, Int32 height), |
| 991 | file_upload (String label, HtmlId id, WebArgName name, Int32 width), | 993 | file_upload (String label, HtmlId id, WebArgName name, Int32 width), |
| 992 | - selector (String name, Int32 size, List(String) choices), | ||
| 993 | - selector (String name, Int32 size, List(String) choices, String selected), | 994 | + selector (WebArgName name, Int32 size, List(String) choices), |
| 995 | + selector (WebArgName name, Int32 size, List(String) choices, String selected), | ||
| 994 | // List((String,String)) = List((code,name)) where : | 996 | // List((String,String)) = List((code,name)) where : |
| 995 | - // name appears in selector | ||
| 996 | // code is the web-arg value | 997 | // code is the web-arg value |
| 997 | - selector_c (String name, Int32 size, List((String,String)) choices), | ||
| 998 | - selector_c (String name, Int32 size, List((String,String)) choices, String selected), | 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 | radio_button (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked), | 1001 | radio_button (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked), |
| 1000 | radio_button_r (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked), | 1002 | radio_button_r (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked), |
| 1001 | check_box (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked), | 1003 | check_box (List(InputAttrs), String label_text, HtmlId id, WebArgName name, WebArgValue value, Bool checked), |
| @@ -2676,20 +2678,20 @@ public define Printable_tree | @@ -2676,20 +2678,20 @@ public define Printable_tree | ||
| 2676 | public define Printable_tree | 2678 | public define Printable_tree |
| 2677 | format_choices | 2679 | format_choices |
| 2678 | ( | 2680 | ( |
| 2679 | - List((String,String)) l | 2681 | + List((WebArgValue,String)) l |
| 2680 | ) = | 2682 | ) = |
| 2681 | if l is | 2683 | if l is |
| 2682 | { | 2684 | { |
| 2683 | [ ] then [ ], | 2685 | [ ] then [ ], |
| 2684 | [h . t] then | 2686 | [h . t] then |
| 2685 | if h is (val,item) | 2687 | if h is (val,item) |
| 2686 | - then ["<option value=\""+val+"\">",item . format_choices(t)] | 2688 | + then ["<option value=\""+val.value+"\">",item . format_choices(t)] |
| 2687 | }. | 2689 | }. |
| 2688 | 2690 | ||
| 2689 | public define Printable_tree | 2691 | public define Printable_tree |
| 2690 | format_choices | 2692 | format_choices |
| 2691 | ( | 2693 | ( |
| 2692 | - List((String,String)) l, | 2694 | + List((WebArgValue,String)) l, |
| 2693 | String selected | 2695 | String selected |
| 2694 | ) = | 2696 | ) = |
| 2695 | if l is | 2697 | if l is |
| @@ -2698,8 +2700,8 @@ public define Printable_tree | @@ -2698,8 +2700,8 @@ public define Printable_tree | ||
| 2698 | [h . t] then | 2700 | [h . t] then |
| 2699 | if h is (val,item) then | 2701 | if h is (val,item) then |
| 2700 | if item = selected | 2702 | if item = selected |
| 2701 | - then ["<option value=\""+val+"\" selected>",item . format_choices(t)] | ||
| 2702 | - else ["<option value=\""+val+"\">",item . format_choices(t,selected)] | 2703 | + then ["<option value=\""+val.value+"\" selected>",item . format_choices(t)] |
| 2704 | + else ["<option value=\""+val.value+"\">",item . format_choices(t,selected)] | ||
| 2703 | }. | 2705 | }. |
| 2704 | 2706 | ||
| 2705 | 2707 | ||
| @@ -3038,6 +3040,7 @@ define Maybe(String) | @@ -3038,6 +3040,7 @@ define Maybe(String) | ||
| 3038 | button(_,_) then failure, | 3040 | button(_,_) then failure, |
| 3039 | button(_,_,_,_) then failure, | 3041 | button(_,_,_,_) then failure, |
| 3040 | immediate_selector(_,_,_) then failure, | 3042 | immediate_selector(_,_,_) then failure, |
| 3043 | + immediate_selector(_,_,_,_) then failure, | ||
| 3041 | }. | 3044 | }. |
| 3042 | 3045 | ||
| 3043 | define Printable_tree | 3046 | define Printable_tree |
| @@ -3131,7 +3134,16 @@ define Printable_tree | @@ -3131,7 +3134,16 @@ define Printable_tree | ||
| 3131 | }, | 3134 | }, |
| 3132 | "\" name=o",name," size=",size,">", | 3135 | "\" name=o",name," size=",size,">", |
| 3133 | format_choices(choices),"</select>" | 3136 | format_choices(choices),"</select>" |
| 3134 | - ] | 3137 | + ], |
| 3138 | + immediate_selector(name,size,choices,selected) then | ||
| 3139 | + [ if action is | ||
| 3140 | + { | ||
| 3141 | + url(u) then ["<select href=\"",u] | ||
| 3142 | + javascript(s,h) then [s,"<select onchange=\"",h] | ||
| 3143 | + }, | ||
| 3144 | + "\" name=o",name," size=",size,">", | ||
| 3145 | + format_choices(choices, selected),"</select>" | ||
| 3146 | + ], | ||
| 3135 | }. | 3147 | }. |
| 3136 | 3148 | ||
| 3137 | 3149 | ||
| @@ -3168,6 +3180,7 @@ define Printable_tree | @@ -3168,6 +3180,7 @@ define Printable_tree | ||
| 3168 | ], | 3180 | ], |
| 3169 | 3181 | ||
| 3170 | immediate_selector(name,size,choices) then alert, | 3182 | immediate_selector(name,size,choices) then alert, |
| 3183 | + immediate_selector(name,size,choices,selected) then alert, | ||
| 3171 | 3184 | ||
| 3172 | }, | 3185 | }, |
| 3173 | "</a>"]. | 3186 | "</a>"]. |