source: trunk/skins/lemill/widget_group.pt @ 1919

Revision 1919, 3.4 KB checked in by jukka, 12 years ago (diff)

Refactored groups to not use portal_groups. Things should be faster and users from weird sources shouldn't cause so much problems. Not much tested yet, but archetype update and quickinstaller reinstall works fine.

Line 
1<html xmlns="http://www.w3.org/1999/xhtml"
2      xmlns:tal="http://xml.zope.org/namespaces/tal"
3      xmlns:metal="http://xml.zope.org/namespaces/metal"
4      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5      i18n:domain="plone">
6
7<head>
8    <title></title>
9</head>
10
11<body>
12
13    <!-- Selection Widgets -->
14
15    <metal:view_macro define-macro="view"
16                      tal:define="vocab python:field.Vocabulary(here);
17                                  value python:accessor();
18                                  display python:here.displayValue(vocab, value)"
19                      tal:replace="structure display" />
20
21    <metal:define define-macro="edit">
22
23        <metal:use use-macro="field_macro | here/widgets/field/macros/edit">
24
25            <metal:fill fill-slot="widget_body"
26                        tal:define="vocab python:field.Vocabulary(here);
27                                    vlen python:len(vocab);
28                                    format python:widget.format">
29
30                <tal:shortVocab condition="python:(vlen &lt; 4 and format == 'flex') or (format == 'radio')">
31
32                    <!-- Radio when the vocab is short < 4 -->
33
34                    <tal:radios repeat="item vocab">
35
36                        <input class="noborder"
37                               tabindex=""
38                               type="radio"
39                               tal:define="tabindex tabindex/next"
40                               tal:attributes="name fieldName;
41                                               id string:${fieldName}_${repeat/item/number};
42                                               checked python:here.checkSelected(item, value);
43                                               value item;
44                                               tabindex tabindex;"
45                               />
46
47                        <label tal:content="python:here.translate(vocab.getMsgId(item), default=vocab.getValue(item))"
48                               i18n:translate=""
49                               tal:attributes="for string:${fieldName}_${repeat/item/number}" />
50
51                        <span tal:condition="repeat/item/end">
52                            <input type="text" name="new_group_name" value="" />
53                        </span>
54                        <br />
55
56                    </tal:radios>
57
58                </tal:shortVocab>
59
60                <tal:longVocab condition="python:(vlen >= 4 and format == 'flex') or (format in ('select', 'pulldown'))">
61
62                    <!-- Pulldown when longer -->
63                    <select tal:attributes="name fieldName;
64                                            id fieldName;
65                                            tabindex tabindex/next;">
66
67                        <option tal:repeat="item vocab"
68                                tal:attributes="value item;
69                                                selected python:here.checkSelected(item, value) and 'selected' or None"
70                                tal:content="python:here.translate(vocab.getMsgId(item), default=vocab.getValue(item))"
71                                i18n:translate=""
72                                />
73
74                    </select>
75
76                </tal:longVocab>
77
78            </metal:fill>
79
80        </metal:use>
81
82    </metal:define>
83
84    <div metal:define-macro="search">
85        <div metal:use-macro="here/widgets/selection/macros/edit" />
86    </div>
87
88</body>
89
90</html>
Note: See TracBrowser for help on using the repository browser.