annotate default/input/xmlui.html @ 71:6f1686723472

input(xmlui): added generate_list method, similar to generate_table but generate list of items instead.
author Goffi <goffi@goffi.org>
date Mon, 04 Dec 2017 00:47:42 +0100
parents 9834106678da
children cc36a5b990ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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
9834106678da base: menu implementation:
Goffi <goffi@goffi.org>
parents: 65
diff changeset
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%}