Mercurial > libervia-templates
annotate default/input/xmlui.html @ 74:e99bd385774a
ticket(overview): use list instead of table and display labels
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 04 Dec 2017 00:50:40 +0100 |
parents | 6f1686723472 |
children | cc36a5b990ab |
rev | line source |
---|---|
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 {% import 'input/field.html' as field %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 {# generate methods #} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
5 {% macro generate_container(cont, config) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 {% if cont.type == 'vertical' %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
7 {{ vertical_container(cont, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 {% elif cont.type == 'pairs' %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
9 {{ pairs_container(cont, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 {% elif cont.type == 'label' %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
11 {{ label_container(cont, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 {% endif %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
15 {% macro generate_widget(wid, config, id=none) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 {% if wid.type == 'text' %} |
66 | 17 {{ text_widget(wid, config, id=id) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 {% elif wid.type == 'label' %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
19 {{ label_widget(wid, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 {% elif wid.type == 'string' %} |
66 | 21 {{ string_widget(wid, config, id=id) }} |
65
dd15b6c0b1d3
input/xmlui: added 'jid' widget type, using string_widget for now
Goffi <goffi@goffi.org>
parents:
58
diff
changeset
|
22 {% elif wid.type == 'jid' %} |
dd15b6c0b1d3
input/xmlui: added 'jid' widget type, using string_widget for now
Goffi <goffi@goffi.org>
parents:
58
diff
changeset
|
23 {# TODO: proper JID widget #} |
66 | 24 {{ string_widget(wid, config, id=id) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 {% elif wid.type == 'textbox' %} |
66 | 26 {{ textbox_widget(wid, config, id=id) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 {% elif wid.type == 'list' %} |
66 | 28 {{ list_widget(wid, config, id=id) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 {% endif %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
32 {% macro generate_children(cont, config) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 {% for child in cont.children %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 {% if child.category == 'container' %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
35 {{ generate_container(child, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 {% else %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
37 {{ generate_widget(child, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 {% endif %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
39 {% endfor %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
40 |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 |
58
4347910cc594
input(xmlui): added attributes argument to create:
Goffi <goffi@goffi.org>
parents:
55
diff
changeset
|
43 {% macro generate(xmlui, form=true, filters=none, attributes=none) %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
44 {# generate HTML from XMLUI |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
45 @param xmlui(template_xmlui.XMLUIPanel): xmlui to use |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
46 @param form(bool): if true will generate form elements |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
47 @param filters(dict,none): filters as expected by item_filter |
58
4347910cc594
input(xmlui): added attributes argument to create:
Goffi <goffi@goffi.org>
parents:
55
diff
changeset
|
48 @param attributes(dict,none): extra attributes to put on named widgets |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
49 #} |
58
4347910cc594
input(xmlui): added attributes argument to create:
Goffi <goffi@goffi.org>
parents:
55
diff
changeset
|
50 {% set config = {'form':form, 'filters':filters or {}, 'attrs': attributes or {}} %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
51 {{ generate_container(xmlui.main_cont, config) }} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
52 {% endmacro %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
53 |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
54 {% macro generate_table(xmlui_items, fields, formatters, tr_class_fields, on_click) %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
55 {# generate a HTML table from requested widgets names |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
56 @param xmlui_items(iterable[unicode]): list of xmlui to show (one per row) |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
57 @param fields(tuple[unicode,unicode]): fields to show (name, label) |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
58 @param formatters(dict): dictionary of templates to format values: |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
59 field_name => template |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
60 if no formatter is set (or None is used) for a field, it will be used unmodified. |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
61 current xmlui items will be set as "item" key |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
62 @param tr_class_fields(iterable[unicode]): name of fields to use as class |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
63 class will be "{name}_{value}" where name is field name, and value field value |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
64 all lowercase/stripped |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
65 @param on_click(data_objects.OnClick): thing to do when clicking on a row |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
66 #} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
67 {% if formatters is undefined %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
68 {% set formatters = {} %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
69 {% endif %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
70 <table> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
71 <thead> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
72 <tr> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
73 {% for name,label in fields %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
74 <th>{{ label }}</th> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
75 {% endfor %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
76 </tr> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
77 </thead> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
78 <tbody> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
79 {% for xmlui in xmlui_items %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
80 {% set link=on_click.formatUrl(xmlui.widget_value) if on_click.url else none %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
81 <tr {{ {'class': xmlui|xmlui_class(tr_class_fields)}|xmlattr }}> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
82 |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
83 {% for name,label in fields %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
84 <td {{ {'class': 'td_'+name}|xmlattr }}> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
85 {% for value in xmlui.widgets[name].values %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
86 <a {{ {'href':link}|xmlattr }}>{{ value|adv_format(formatters.get(name),item=xmlui.widget_value)Â }}</a> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
87 {% endfor %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
88 </td> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
89 {% endfor %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
90 </tr> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
91 {% endfor %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
92 </tbody> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
93 </table> |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
94 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
95 |
71
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
96 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
97 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
98 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
99 {% macro generate_list(xmlui_items, fields, formatters, item_class_fields, on_click) %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
100 {# generate a list of rendered XMLUI from requested widgets names |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
101 very similar to generate_table but generate a list instead of a tabme |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
102 @param xmlui_items(iterable[unicode]): list of xmlui to show |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
103 @param fields(tuple[unicode,unicode]): fields to show (name, label) |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
104 @param formatters(dict): dictionary of templates to format values: |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
105 field_name => template |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
106 if no formatter is set (or None is used) for a field, it will be used unmodified. |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
107 current xmlui items will be set as "item" key |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
108 @param item_class_fields(iterable[unicode]): name of fields to use as class |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
109 class will be "{name}_{value}" where name is field name, and value field value |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
110 all lowercase/stripped |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
111 @param on_click(data_objects.OnClick): thing to do when clicking on a row |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
112 #} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
113 {% if formatters is undefined %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
114 {% set formatters = {} %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
115 {% endif %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
116 <ul class="xmlui_list"> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
117 {% for xmlui in xmlui_items %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
118 <li> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
119 {% set link=on_click.formatUrl(xmlui.widget_value) if on_click.url else none %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
120 <a {{ {'class': xmlui|xmlui_class(item_class_fields), |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
121 'href':link}|xmlattr }}> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
122 {% for name,label in fields %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
123 <span {{ {'class': 'xmlui_field__'+name}|xmlattr }}> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
124 {% for label in xmlui.widgets[name].labels %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
125 <span>{{ label|adv_format(formatters.get(name),item=xmlui.widget_value)Â }}</span> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
126 {% endfor %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
127 </span> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
128 {% endfor %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
129 </a> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
130 </li> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
131 {% endfor %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
132 </ul> |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
133 {% endmacro %} |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
134 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
135 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
136 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
137 |
6f1686723472
input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
138 |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
139 {# containers #} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
140 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
141 {% macro vertical_container(cont, config) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
142 <div class="xmlui_cont xmlui_cont_vertical"> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
143 {{ generate_children(cont, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
144 </div> |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
145 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
146 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
147 {% macro pairs_container(cont, config) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
148 {# TODO: proper impelmentation (do the same as vertical container for now #} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
149 <div class="xmlui_cont xmlui_cont_vertical"> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
150 {{ generate_children(cont, config) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
151 </div> |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
152 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
153 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
154 {% macro label_container(cont, config) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
155 <div class="xmlui_cont xmlui_cont_vertical"> |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
156 {% for child in cont.children %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
157 {% if loop.index is odd %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
158 {# label #} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
159 {% if child.type == 'label' %} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
160 {% set for_ = ('wid_' + (child.for_name or child.name or '_noname'))|next_gidx %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
161 {{ label_widget(child, config, for=for_) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
162 {% endif %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
163 {% else %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
164 {# widget #} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
165 {% set id = ('wid_' + (child.name or '_noname'))|cur_gidx %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
166 {{ generate_widget(child, config, id=id) }} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
167 {% endif %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
168 {% endfor %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
169 </div> |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
170 {% endmacro %} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
171 |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
172 |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
173 {# widgets #} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
174 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
175 {% macro text_widget(wid, config, id=none) %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
176 <p class="xmlui_widget xmlui_text" {{ {'id':id}|xmlattr }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
177 {{- wid|item_filter(config.filters)|default('\u00A0',true) -}} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
178 </p> |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
179 {% endmacro%} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
180 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
181 {% macro label_widget(wid, config, for=none) %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
182 {% if config.form %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
183 <label class="xmlui_widget xmlui_label" {{ {'for':for}|xmlattr }}> |
55
d58fdd57df49
input/xmlui: fixed for_name in labels + selection in listWidget
Goffi <goffi@goffi.org>
parents:
53
diff
changeset
|
184 {{wid|item_filter(config.filters)}} |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
185 </label> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
186 {% else %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
187 <span class="xmlui_widget xmlui_label" {{ {'id':none if not for else 'label_%s'|format(for)}|xmlattr }}>{{wid|item_filter(config.filters)}}</span> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
188 {% endif %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
189 {% endmacro%} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
190 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
191 {% macro string_widget(wid, config, id=none) %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
192 {% if config.form %} |
58
4347910cc594
input(xmlui): added attributes argument to create:
Goffi <goffi@goffi.org>
parents:
55
diff
changeset
|
193 <input class="xmlui_widget xmlui_string" type="text" {{ {'name':wid.name, 'id':id, 'value':wid|item_filter(config.filters)}|dict_ext(config.attrs, wid.name)|xmlattr }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
194 {% else %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
195 <div class="xmlui_widget xmlui_string" {{ {'id':id}|xmlattr }}> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
196 {{- wid|item_filter(config.filters)|default('\u00A0',true) -}} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
197 </div> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
198 {% endif %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
199 {% endmacro%} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
200 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
201 {% macro textbox_widget(wid, config, id=none) %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
202 {% if config.form %} |
58
4347910cc594
input(xmlui): added attributes argument to create:
Goffi <goffi@goffi.org>
parents:
55
diff
changeset
|
203 <textarea class="xmlui_widget xmlui_textbox" rows="10" cols="50" {{ {'name':wid.name, 'id':id}|dict_ext(config.attrs, wid.name)|xmlattr }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
204 {{- wid|item_filter(config.filters) -}} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
205 </textarea> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
206 {% else %} |
66 | 207 <p class="xmlui_widget xmlui_textbox" {{ {'id':id}|xmlattr }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
208 {{- wid|item_filter(config.filters) -}} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
209 </p> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
210 {% endif %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
211 {% endmacro%} |
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
212 |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
213 {% macro list_widget(wid, config, id=none) %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
214 {% if config.form %} |
58
4347910cc594
input(xmlui): added attributes argument to create:
Goffi <goffi@goffi.org>
parents:
55
diff
changeset
|
215 <select class="xmlui_widget xmlui_list" {{ {'name':wid.name, 'id':id}|dict_ext(config.attrs, wid.name)|xmlattr }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
216 {% for value,label in wid.options %} |
55
d58fdd57df49
input/xmlui: fixed for_name in labels + selection in listWidget
Goffi <goffi@goffi.org>
parents:
53
diff
changeset
|
217 <option {{ {'value':value}|xmlattr }} {{ 'selected' if value in wid.selected }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
218 {{- label -}} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
219 </option> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
220 {% endfor %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
221 </select> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
222 {% else %} |
66 | 223 <div class="xmlui_widget xmlui_list" {{ {'id':id}|xmlattr }}> |
53
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
224 {% for value,label in wid.items %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
225 <span class="xmlui_list_item value_{{value|attr_escape}}"> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
226 {{- label -}} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
227 </span> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
228 {% endfor %} |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
229 </div> |
dfef430a26ef
input(xmlui): added a macro to generate a table from list of XMLUI items + many improvments in item generation (see docstrings)
Goffi <goffi@goffi.org>
parents:
47
diff
changeset
|
230 {% endif %} |
47
7d5cca978eeb
input/xmlui: XMLUI generation first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
231 {% endmacro%} |