author | Adrien Di Mascio <Adrien.DiMascio@logilab.fr> |
Fri, 20 Feb 2009 17:38:38 +0100 | |
branch | tls-sprint |
changeset 909 | 4685a8c21d73 |
parent 895 | e78ae38506db |
child 980 | 59552ba2015f |
permissions | -rw-r--r-- |
845 | 1 |
from logilab.mtconverter import html_escape |
2 |
from cubicweb.common.uilib import simple_sgml_tag |
|
3 |
class tag(object): |
|
4 |
def __init__(self, name): |
|
5 |
self.name = name |
|
6 |
||
7 |
def __call__(self, __content=None, **attrs): |
|
8 |
return simple_sgml_tag(self.name, __content, **attrs) |
|
9 |
||
10 |
input = tag('input') |
|
11 |
textarea = tag('textarea') |
|
12 |
a = tag('a') |
|
13 |
span = tag('span') |
|
14 |
img = tag('img') |
|
846 | 15 |
label = tag('label') |
895
e78ae38506db
select tag now accepts a multiple argument
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
861
diff
changeset
|
16 |
option = tag('option') |
861
7985b5db2284
provide a mini HTML select tag constructor
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
846
diff
changeset
|
17 |
|
909
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
18 |
def select(name, id=None, multiple=False, options=[]): |
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
19 |
attrs = {} |
895
e78ae38506db
select tag now accepts a multiple argument
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
861
diff
changeset
|
20 |
if multiple: |
909
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
21 |
attrs['multiple'] = 'multiple' |
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
22 |
if id: |
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
23 |
attrs['id'] = id |
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
24 |
html = [u'<select name="%s" %s>' % (name, |
4685a8c21d73
select needs to accept an id
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
895
diff
changeset
|
25 |
' '.join('%s="%s"' % kv for kv in attrs.items()))] |
861
7985b5db2284
provide a mini HTML select tag constructor
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
846
diff
changeset
|
26 |
html += options |
7985b5db2284
provide a mini HTML select tag constructor
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
846
diff
changeset
|
27 |
html.append(u'</select>') |
7985b5db2284
provide a mini HTML select tag constructor
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
846
diff
changeset
|
28 |
return u'\n'.join(html) |
7985b5db2284
provide a mini HTML select tag constructor
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
846
diff
changeset
|
29 |