annotate default/input/xmlui.html @ 84:b2ef34e602cf

base, js (websocket), css (main style): dynamic pages implementation, first draft: this patch introduces the browser part of dynamic pages. Dynamic pages work by establishing a websocket between server and the current page, if requested by server (which means that needed arguments are present in template). Once the connection is established, the server can, for now, reload the page, append HTML elements, or receive arbitrary data (without reloading the page, in opposition to data post). If connection can't be established, a popup will be displayed and connection will be retried many times after variable timeouts. The browser will finally give up and display an alert to client if the number of retries is too high (20 for now).
author Goffi <goffi@goffi.org>
date Wed, 03 Jan 2018 01:12:16 +0100
parents 6f1686723472
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%}