Commit 6b53ababecdba0c13a79601e0876fdd51df29c25
1 parent
a34deddd
make format_attrs function for CoreAttrs assemble classes and styles into a sing…
…le attribute for each one
Showing
1 changed file
with
63 additions
and
8 deletions
Show diff stats
web/CXM_making_a_web_site.anubis
| ... | ... | @@ -2954,7 +2954,6 @@ public define String |
| 2954 | 2954 | ( |
| 2955 | 2955 | List(CoreAttrs) attributs |
| 2956 | 2956 | ). |
| 2957 | - | |
| 2958 | 2957 | |
| 2959 | 2958 | public define String |
| 2960 | 2959 | format_extra_operands |
| ... | ... | @@ -3238,7 +3237,7 @@ define Printable_tree |
| 3238 | 3237 | . format(t)] |
| 3239 | 3238 | }. |
| 3240 | 3239 | |
| 3241 | -public define String | |
| 3240 | + public define String | |
| 3242 | 3241 | format_attrs |
| 3243 | 3242 | ( |
| 3244 | 3243 | List(CoreAttrs) attributs |
| ... | ... | @@ -3297,15 +3296,15 @@ define String |
| 3297 | 3296 | if length(classes) = 0 then "" else " class=\""+join(" ",classes)+"\""+ |
| 3298 | 3297 | if length(styles) = 0 then "" else " style=\""+join(";",styles)+"\"", |
| 3299 | 3298 | [h . t] then |
| 3300 | - with current = if h is | |
| 3299 | + with new_classes = if h is class(class_name) then [class_name. classes] else classes, | |
| 3300 | + new_styles = if h is style(style_string) then [style_string . styles] else styles, | |
| 3301 | + current = if h is | |
| 3301 | 3302 | { |
| 3302 | 3303 | id(id_name) then |
| 3303 | 3304 | " id=\"" + id_name + "\"", |
| 3304 | - class(class_name) then | |
| 3305 | - format_attrs(t, [class_name. classes], styles), | |
| 3306 | - style(style_string) then | |
| 3307 | - format_attrs(t, classes, [style_string . styles]), | |
| 3308 | - title(title_string) then | |
| 3305 | + class(class_name) then "", | |
| 3306 | + style(style_string) then "", | |
| 3307 | + title(title_string) then | |
| 3309 | 3308 | " title=\"" + title_string + "\"", |
| 3310 | 3309 | |
| 3311 | 3310 | lang(lang) then |
| ... | ... | @@ -3336,10 +3335,66 @@ define String |
| 3336 | 3335 | define String |
| 3337 | 3336 | format_attrs |
| 3338 | 3337 | ( |
| 3338 | + List(CoreAttrs) attributs, | |
| 3339 | + List(String) classes, | |
| 3340 | + List(String) styles | |
| 3341 | + )= | |
| 3342 | + if attributs is | |
| 3343 | + { | |
| 3344 | + [] then | |
| 3345 | + (if length(classes) = 0 then "" else " class=\""+join(" ",classes)+"\"")+ | |
| 3346 | + if length(styles) = 0 then "" else " style=\""+join(";",styles)+"\"", | |
| 3347 | + [h . t] then | |
| 3348 | + with new_classes = if h is class(class_name) then [class_name. classes] else classes, | |
| 3349 | + new_styles = if h is style(style_string) then [style_string . styles] else styles, | |
| 3350 | + current = if h is | |
| 3351 | + { | |
| 3352 | + id(id_name) then | |
| 3353 | + " id=\"" + id_name + "\"", | |
| 3354 | + class(class_name) then "", | |
| 3355 | + style(style_string) then "", | |
| 3356 | + title(title_string) then | |
| 3357 | + " title=\"" + title_string + "\"", | |
| 3358 | + | |
| 3359 | + lang(lang) then | |
| 3360 | + " xml:lang=" + lang, | |
| 3361 | + dir(reading_Way) then | |
| 3362 | + if reading_Way is | |
| 3363 | + { | |
| 3364 | + ltr then " dir=ltr", | |
| 3365 | + rtl then " dir=rtl" | |
| 3366 | + }, | |
| 3367 | + | |
| 3368 | + accesskey(key) then | |
| 3369 | + " accesskey=\"" + key + "\"", | |
| 3370 | + tabindex(index) then | |
| 3371 | + " tabindex=\"" + index + "\"", | |
| 3372 | + | |
| 3373 | + attr(name, value) then | |
| 3374 | + " " + name + "=\"" + value + "\"", | |
| 3375 | + | |
| 3376 | + event(e, value) then | |
| 3377 | + " " + event_name(e) + "=\"" + value + "\"", | |
| 3378 | + data(name, value) then | |
| 3379 | + " data-" + to_lower(name) + "=\"" + value + "\"", | |
| 3380 | + }, | |
| 3381 | + current + format_attrs(t, new_classes, new_styles) | |
| 3382 | + }. | |
| 3383 | + | |
| 3384 | +define String | |
| 3385 | + format_attrs | |
| 3386 | + ( | |
| 3339 | 3387 | List(InputAttrs) attributs |
| 3340 | 3388 | )= |
| 3341 | 3389 | format_attrs(attributs, [], []). |
| 3342 | 3390 | |
| 3391 | +public define String | |
| 3392 | + format_attrs | |
| 3393 | + ( | |
| 3394 | + List(CoreAttrs) attributs | |
| 3395 | + )= | |
| 3396 | + format_attrs(attributs, [], []). | |
| 3397 | + | |
| 3343 | 3398 | define String |
| 3344 | 3399 | format_text_options |
| 3345 | 3400 | ( | ... | ... |