Commit d80e09a7a66e812ea8e3e5c8f1ddc40d08670b2e
1 parent
8c34737c
Several minor improvements on web objects. No compatibility loose except for file upload input.
Showing
1 changed file
with
54 additions
and
30 deletions
Show diff stats
calexium_lib/web/CXM_making_a_web_site.anubis
| @@ -647,7 +647,7 @@ public type Text_Option: | @@ -647,7 +647,7 @@ public type Text_Option: | ||
| 647 | nowrap, | 647 | nowrap, |
| 648 | class(String), //CSS class | 648 | class(String), //CSS class |
| 649 | id(String), | 649 | id(String), |
| 650 | -// name(String), | 650 | + style(String), |
| 651 | tooltip(String). | 651 | tooltip(String). |
| 652 | 652 | ||
| 653 | A list of 'Text_Option' must be given with each text you want to put in your page. | 653 | A list of 'Text_Option' must be given with each text you want to put in your page. |
| @@ -922,8 +922,8 @@ public type Actioner_Aspect: | @@ -922,8 +922,8 @@ public type Actioner_Aspect: | ||
| 922 | button (String url_off, String url_on), // rollover button | 922 | button (String url_off, String url_on), // rollover button |
| 923 | button (String url_off, String url_on, Int32 w, Int32 h), // idem with size | 923 | button (String url_off, String url_on, Int32 w, Int32 h), // idem with size |
| 924 | submit (List(CoreAttrs),String text), | 924 | submit (List(CoreAttrs),String text), |
| 925 | - immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices), | ||
| 926 | - immediate_selector (WebArgName name, Int32 size, List((WebArgValue,String)) choices, InitialValue selected). | 925 | + immediate_selector (List(CoreAttrs),WebArgName name, Int32 size, List((WebArgValue,String)) choices), |
| 926 | + immediate_selector (List(CoreAttrs),WebArgName name, Int32 size, List((WebArgValue,String)) choices, InitialValue selected). | ||
| 927 | 927 | ||
| 928 | 928 | ||
| 929 | 929 | ||
| @@ -1005,7 +1005,7 @@ public type HTML_In_Form: | @@ -1005,7 +1005,7 @@ public type HTML_In_Form: | ||
| 1005 | text_input_ro (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width), | 1005 | text_input_ro (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width), |
| 1006 | password_input (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width), | 1006 | password_input (List(InputAttrs), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width), |
| 1007 | text_area (List(TextAreaOption), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width, Int32 height), | 1007 | text_area (List(TextAreaOption), String label_text, HtmlId id, WebArgName name, InitialValue init, Int32 width, Int32 height), |
| 1008 | - file_upload (String label, HtmlId id, WebArgName name, Int32 width), | 1008 | + file_upload (List(InputAttrs), String label, HtmlId id, WebArgName name, Int32 width), |
| 1009 | selector (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List(String) choices), | 1009 | selector (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List(String) choices), |
| 1010 | selector (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List(String) choices, InitialValue selected), | 1010 | selector (List(InputAttrs), String label_text, HtmlId id, WebArgName name, Int32 size, List(String) choices, InitialValue selected), |
| 1011 | // List((String,String)) = List((code,name)) where : | 1011 | // List((String,String)) = List((code,name)) where : |
| @@ -1155,7 +1155,7 @@ public define HTML_In_Form | @@ -1155,7 +1155,7 @@ public define HTML_In_Form | ||
| 1155 | 1155 | ||
| 1156 | public define HTML_In_Form | 1156 | public define HTML_In_Form |
| 1157 | file_upload (WebArgName name, Int32 width) | 1157 | file_upload (WebArgName name, Int32 width) |
| 1158 | - = file_upload("", htmlId(""), name, width). | 1158 | + = file_upload([], "", htmlId(""), name, width). |
| 1159 | 1159 | ||
| 1160 | 1160 | ||
| 1161 | public type HTML_Off_Form: | 1161 | public type HTML_Off_Form: |
| @@ -1187,8 +1187,8 @@ public type HTML_Off_Form: | @@ -1187,8 +1187,8 @@ public type HTML_Off_Form: | ||
| 1187 | private_download (String abs_path, String name, String extra_ext, | 1187 | private_download (String abs_path, String name, String extra_ext, |
| 1188 | Maybe((String,List((String,String)))) action), | 1188 | Maybe((String,List((String,String)))) action), |
| 1189 | label (String name), | 1189 | label (String name), |
| 1190 | - form (String form_name, List(CoreAttrs), HTML_In_Form content), | ||
| 1191 | - form (String form_name, List(CoreAttrs), | 1190 | + form (HtmlId form_id, List(CoreAttrs), HTML_In_Form content), |
| 1191 | + form (HtmlId form_id, List(CoreAttrs), | ||
| 1192 | String action_name, List((String,String)) extra_ops, | 1192 | String action_name, List((String,String)) extra_ops, |
| 1193 | HTML_In_Form content), | 1193 | HTML_In_Form content), |
| 1194 | div (List(CoreAttrs), HTML_Off_Form content), | 1194 | div (List(CoreAttrs), HTML_Off_Form content), |
| @@ -1196,6 +1196,27 @@ public type HTML_Off_Form: | @@ -1196,6 +1196,27 @@ public type HTML_Off_Form: | ||
| 1196 | 1196 | ||
| 1197 | 'HTML_Off_Form' defines all the elements you may put outside any form. | 1197 | 'HTML_Off_Form' defines all the elements you may put outside any form. |
| 1198 | 1198 | ||
| 1199 | + | ||
| 1200 | +public define HTML_Off_Form | ||
| 1201 | + form | ||
| 1202 | + ( | ||
| 1203 | + String form_name, | ||
| 1204 | + List(CoreAttrs) options, | ||
| 1205 | + HTML_In_Form content | ||
| 1206 | + ) = | ||
| 1207 | + form(htmlId(form_name), options, content). | ||
| 1208 | + | ||
| 1209 | +public define HTML_Off_Form | ||
| 1210 | + form | ||
| 1211 | + ( | ||
| 1212 | + String form_name, | ||
| 1213 | + List(CoreAttrs) options, | ||
| 1214 | + String action_name, | ||
| 1215 | + List((String,String)) extra_ops, | ||
| 1216 | + HTML_In_Form content | ||
| 1217 | + ) = | ||
| 1218 | + form(htmlId(form_name), options, action_name, extra_ops, content). | ||
| 1219 | + | ||
| 1199 | 1220 | ||
| 1200 | public define HTML_Off_Form literal(Printable_tree t) = literal_pt(t). | 1221 | public define HTML_Off_Form literal(Printable_tree t) = literal_pt(t). |
| 1201 | public define HTML_Off_Form fixed_size(HTML_Size width, HTML_Size height, String name_of_HTML_file) | 1222 | public define HTML_Off_Form fixed_size(HTML_Size width, HTML_Size height, String name_of_HTML_file) |
| @@ -2894,8 +2915,8 @@ define List(Text_Option) | @@ -2894,8 +2915,8 @@ define List(Text_Option) | ||
| 2894 | get_text_options(t) | 2915 | get_text_options(t) |
| 2895 | else if h is id(_) then | 2916 | else if h is id(_) then |
| 2896 | get_text_options(t) | 2917 | get_text_options(t) |
| 2897 | -// else if h is name(_) then | ||
| 2898 | -// get_text_options(t) | 2918 | + else if h is style(_) then |
| 2919 | + get_text_options(t) | ||
| 2899 | else if h is tooltip(_) then | 2920 | else if h is tooltip(_) then |
| 2900 | get_text_options(t) | 2921 | get_text_options(t) |
| 2901 | else | 2922 | else |
| @@ -2922,8 +2943,8 @@ define List(CoreAttrs) | @@ -2922,8 +2943,8 @@ define List(CoreAttrs) | ||
| 2922 | [ class(name) . get_css_class(t) ] | 2943 | [ class(name) . get_css_class(t) ] |
| 2923 | else if h is id(name) then | 2944 | else if h is id(name) then |
| 2924 | [ id(name) . get_css_class(t) ] | 2945 | [ id(name) . get_css_class(t) ] |
| 2925 | -// else if h is name(the_name) then | ||
| 2926 | -// [ name(the_name) . get_css_class(t) ] | 2946 | + else if h is style(the_style) then |
| 2947 | + [ style(the_style) . get_css_class(t) ] | ||
| 2927 | else if h is tooltip(name) then | 2948 | else if h is tooltip(name) then |
| 2928 | [ tooltip(name) . get_css_class(t) ] | 2949 | [ tooltip(name) . get_css_class(t) ] |
| 2929 | else | 2950 | else |
| @@ -2963,7 +2984,7 @@ public define String | @@ -2963,7 +2984,7 @@ public define String | ||
| 2963 | " class=\"" + class_name + "\"", | 2984 | " class=\"" + class_name + "\"", |
| 2964 | style(style_string) then | 2985 | style(style_string) then |
| 2965 | " style=\"" + style_string + "\"", | 2986 | " style=\"" + style_string + "\"", |
| 2966 | - | 2987 | + |
| 2967 | tooltip(title_string) then | 2988 | tooltip(title_string) then |
| 2968 | " title=\"" + title_string + "\"", | 2989 | " title=\"" + title_string + "\"", |
| 2969 | 2990 | ||
| @@ -3123,8 +3144,8 @@ define Maybe(String) | @@ -3123,8 +3144,8 @@ define Maybe(String) | ||
| 3123 | button(_,_) then failure, | 3144 | button(_,_) then failure, |
| 3124 | button(_,_,_,_) then failure, | 3145 | button(_,_,_,_) then failure, |
| 3125 | submit(opts,_) then extract_id(opts), | 3146 | submit(opts,_) then extract_id(opts), |
| 3126 | - immediate_selector(_,_,_) then failure, | ||
| 3127 | - immediate_selector(_,_,_,_) then failure, | 3147 | + immediate_selector(_,_,_,_) then failure, |
| 3148 | + immediate_selector(_,_,_,_,_) then failure, | ||
| 3128 | }. | 3149 | }. |
| 3129 | 3150 | ||
| 3130 | to do Complete format_foreign_link | 3151 | to do Complete format_foreign_link |
| @@ -3169,9 +3190,9 @@ define Printable_tree | @@ -3169,9 +3190,9 @@ define Printable_tree | ||
| 3169 | submit(options, text) then | 3190 | submit(options, text) then |
| 3170 | [ ], | 3191 | [ ], |
| 3171 | 3192 | ||
| 3172 | - immediate_selector(name,size,choices) then | 3193 | + immediate_selector(opt,name,size,choices) then |
| 3173 | [ ], | 3194 | [ ], |
| 3174 | - immediate_selector(name,size,choices,selected) then | 3195 | + immediate_selector(opt,name,size,choices,selected) then |
| 3175 | [ ], | 3196 | [ ], |
| 3176 | }. | 3197 | }. |
| 3177 | 3198 | ||
| @@ -3264,22 +3285,22 @@ define Printable_tree | @@ -3264,22 +3285,22 @@ define Printable_tree | ||
| 3264 | } | 3285 | } |
| 3265 | ], | 3286 | ], |
| 3266 | 3287 | ||
| 3267 | - immediate_selector(name,size,choices) then | 3288 | + immediate_selector(options,name,size,choices) then |
| 3268 | [ if action is | 3289 | [ if action is |
| 3269 | { | 3290 | { |
| 3270 | url(u) then ["<select href=\"",u] | 3291 | url(u) then ["<select href=\"",u] |
| 3271 | javascript(s,h) then [s,"<select onchange=\"",h] | 3292 | javascript(s,h) then [s,"<select onchange=\"",h] |
| 3272 | }, | 3293 | }, |
| 3273 | - "\" name=\"o",name,"\" size=\"",size,"\">", | 3294 | + "\" name=\"o",name,"\" size=\"",size,"\"", format_attrs(options), ">", |
| 3274 | format_choices(choices),"</select>" | 3295 | format_choices(choices),"</select>" |
| 3275 | ], | 3296 | ], |
| 3276 | - immediate_selector(name,size,choices,selected) then | 3297 | + immediate_selector(options,name,size,choices,selected) then |
| 3277 | [ if action is | 3298 | [ if action is |
| 3278 | { | 3299 | { |
| 3279 | url(u) then ["<select href=\"",u] | 3300 | url(u) then ["<select href=\"",u] |
| 3280 | javascript(s,h) then [s,"<select onchange=\"",h] | 3301 | javascript(s,h) then [s,"<select onchange=\"",h] |
| 3281 | }, | 3302 | }, |
| 3282 | - "\" name=\"o",name,"\" size=\"",size,"\">", | 3303 | + "\" name=\"o",name,"\" size=\"",size,"\"", format_attrs(options), ">", |
| 3283 | format_choices(choices, selected),"</select>" | 3304 | format_choices(choices, selected),"</select>" |
| 3284 | ], | 3305 | ], |
| 3285 | }. | 3306 | }. |
| @@ -3317,8 +3338,8 @@ define Printable_tree | @@ -3317,8 +3338,8 @@ define Printable_tree | ||
| 3317 | " onMouseOut=\"this.src='",url_off,"'\">", | 3338 | " onMouseOut=\"this.src='",url_off,"'\">", |
| 3318 | ], | 3339 | ], |
| 3319 | submit(opt, text) then [text], | 3340 | submit(opt, text) then [text], |
| 3320 | - immediate_selector(name,size,choices) then alert, | ||
| 3321 | - immediate_selector(name,size,choices,selected) then alert, | 3341 | + immediate_selector(options,name,size,choices) then alert, |
| 3342 | + immediate_selector(options,name,size,choices,selected) then alert, | ||
| 3322 | 3343 | ||
| 3323 | }, | 3344 | }, |
| 3324 | "</a>"]. | 3345 | "</a>"]. |
| @@ -3608,7 +3629,8 @@ define String | @@ -3608,7 +3629,8 @@ define String | ||
| 3608 | line_through then "text-decoration:line-through", | 3629 | line_through then "text-decoration:line-through", |
| 3609 | nowrap then "white-space:nowrap", | 3630 | nowrap then "white-space:nowrap", |
| 3610 | class(class_name)then " class=\"" + class_name +"\"", | 3631 | class(class_name)then " class=\"" + class_name +"\"", |
| 3611 | - id(id_name) then " id=\"" + id_name +"\"" | 3632 | + id(id_name) then " id=\"" + id_name +"\"", |
| 3633 | + style(style_string) then " style=\"" + style_string + "\"", | ||
| 3612 | tooltip(title) then " title=\"" + title +"\"" | 3634 | tooltip(title) then " title=\"" + title +"\"" |
| 3613 | } + if t is [ ] then "" else ("; "+format(t)) | 3635 | } + if t is [ ] then "" else ("; "+format(t)) |
| 3614 | }. | 3636 | }. |
| @@ -3858,9 +3880,9 @@ define Printable_tree | @@ -3858,9 +3880,9 @@ define Printable_tree | ||
| 3858 | "<input type=\"password\" name=\"p",name,"\" id=\"",id,"\" size=\"",w,"\" value=\"",i,"\"",format_attrs(options)," />"], | 3880 | "<input type=\"password\" name=\"p",name,"\" id=\"",id,"\" size=\"",w,"\" value=\"",i,"\"",format_attrs(options)," />"], |
| 3859 | text_area(opts,label_text, id, n,i,w,h) then | 3881 | text_area(opts,label_text, id, n,i,w,h) then |
| 3860 | [ maybe_label(label_text, id), "<textarea ",format(opts)," id=\"",id,"\" name=\"o",n,"\" cols=\"",w,"\" rows=\"",h,"\">",i,"</textarea>"], | 3882 | [ maybe_label(label_text, id), "<textarea ",format(opts)," id=\"",id,"\" name=\"o",n,"\" cols=\"",w,"\" rows=\"",h,"\">",i,"</textarea>"], |
| 3861 | - file_upload(label, id, n, w) then | 3883 | + file_upload(options, label, id, n, w) then |
| 3862 | [ maybe_label(label, id), | 3884 | [ maybe_label(label, id), |
| 3863 | - "<input type=\"file\" id=\"",id,"\" size=\"",w,"\" name=\"o",n,"\" />"], | 3885 | + "<input type=\"file\" id=\"",id,"\" size=\"",w,"\" name=\"o",n,"\"",format_attrs(options)," />"], |
| 3864 | selector(opts, label, id, n,s,cs) then | 3886 | selector(opts, label, id, n,s,cs) then |
| 3865 | [ maybe_label(label, id), | 3887 | [ maybe_label(label, id), |
| 3866 | "<select id=\"",id,"\" name=\"o",n,"\" size=\"",s,"\" ",format_attrs(opts),">",format_choices(cs),"</select>"], | 3888 | "<select id=\"",id,"\" name=\"o",n,"\" size=\"",s,"\" ",format_attrs(opts),">",format_choices(cs),"</select>"], |
| @@ -3961,7 +3983,7 @@ define Bool | @@ -3961,7 +3983,7 @@ define Bool | ||
| 3961 | text_input_ro(o,lt,l,n,i,w) then false, | 3983 | text_input_ro(o,lt,l,n,i,w) then false, |
| 3962 | password_input(o,lt,l,n,i,w) then false, | 3984 | password_input(o,lt,l,n,i,w) then false, |
| 3963 | text_area(o,lt,id,n,i,w,h) then false, | 3985 | text_area(o,lt,id,n,i,w,h) then false, |
| 3964 | - file_upload(l,i,n,w) then true, | 3986 | + file_upload(o,l,i,n,w) then true, |
| 3965 | selector(o,l,i,n,s,c) then false, | 3987 | selector(o,l,i,n,s,c) then false, |
| 3966 | selector(o,l,i,n,s,c,p) then false, | 3988 | selector(o,l,i,n,s,c,p) then false, |
| 3967 | selector_c(o,l,i,n,s,c) then false, | 3989 | selector_c(o,l,i,n,s,c) then false, |
| @@ -4039,7 +4061,7 @@ define Printable_tree | @@ -4039,7 +4061,7 @@ define Printable_tree | ||
| 4039 | label(n) then ["<a name=\"",n,"\">"], | 4061 | label(n) then ["<a name=\"",n,"\">"], |
| 4040 | form(fn,attributs, c) then | 4062 | form(fn,attributs, c) then |
| 4041 | [ | 4063 | [ |
| 4042 | - "<form name=\"f",fn,"\"", | 4064 | + "<form id=\"f",fn,"\"", |
| 4043 | format(cinfo,sn,ic_v,any_coreattrs(attributs),format_element,is_https), | 4065 | format(cinfo,sn,ic_v,any_coreattrs(attributs),format_element,is_https), |
| 4044 | " method=\"post\"", | 4066 | " method=\"post\"", |
| 4045 | enctype(c), | 4067 | enctype(c), |
| @@ -4048,14 +4070,15 @@ define Printable_tree | @@ -4048,14 +4070,15 @@ define Printable_tree | ||
| 4048 | "://",common_name,":",http_port,"/\">", | 4070 | "://",common_name,":",http_port,"/\">", |
| 4049 | // action is set dynamically by | 4071 | // action is set dynamically by |
| 4050 | // the actioner using JavaScript | 4072 | // the actioner using JavaScript |
| 4051 | - format(cinfo,fn,sn,ic_v,c,is_https), | 4073 | + if fn is htmlId(id) then |
| 4074 | + format(cinfo,id,sn,ic_v,c,is_https), | ||
| 4052 | "</form>" | 4075 | "</form>" |
| 4053 | ] | 4076 | ] |
| 4054 | form(fn,attributs, action_name, extra_ops, c) then | 4077 | form(fn,attributs, action_name, extra_ops, c) then |
| 4055 | with url = make_actioner_url(cinfo, same, same, | 4078 | with url = make_actioner_url(cinfo, same, same, |
| 4056 | sn, action_name, extra_ops, is_https), | 4079 | sn, action_name, extra_ops, is_https), |
| 4057 | [ | 4080 | [ |
| 4058 | - "<form name=\"f",fn,"\"", | 4081 | + "<form id=\"f",fn,"\"", |
| 4059 | format(cinfo,sn,ic_v,any_coreattrs(attributs),format_element,is_https), | 4082 | format(cinfo,sn,ic_v,any_coreattrs(attributs),format_element,is_https), |
| 4060 | " method=\"post\"", | 4083 | " method=\"post\"", |
| 4061 | enctype(c), | 4084 | enctype(c), |
| @@ -4065,7 +4088,8 @@ define Printable_tree | @@ -4065,7 +4088,8 @@ define Printable_tree | ||
| 4065 | // "://",common_name,":",http_port,"/\">", | 4088 | // "://",common_name,":",http_port,"/\">", |
| 4066 | // action is set dynamically by | 4089 | // action is set dynamically by |
| 4067 | // the actioner using JavaScript | 4090 | // the actioner using JavaScript |
| 4068 | - format(cinfo,fn,sn,ic_v,c,is_https), | 4091 | + if fn is htmlId(id) then |
| 4092 | + format(cinfo,id,sn,ic_v,c,is_https), | ||
| 4069 | "</form>" | 4093 | "</form>" |
| 4070 | ] | 4094 | ] |
| 4071 | div(options, e) then | 4095 | div(options, e) then |