Added TextAreaDiv widget

This commit is contained in:
Roberto Rosario
2011-07-31 01:14:00 -04:00
parent 7189e03de4
commit eaea853391
2 changed files with 32 additions and 0 deletions

View File

@@ -3,6 +3,9 @@ import os
from django.utils.translation import ugettext_lazy as _
from django.utils.safestring import mark_safe
from django import forms
from django.forms.util import flatatt
from django.utils.html import escape, conditional_escape
from django.utils.encoding import StrAndUnicode, force_unicode
class PlainWidget(forms.widgets.Widget):
@@ -63,3 +66,21 @@ def two_state_template(state, famfam_ok_icon=u'tick', famfam_fail_icon=u'cross')
return mark_safe(u'<span class="famfam active famfam-%s"></span>' % famfam_ok_icon)
else:
return mark_safe(u'<span class="famfam active famfam-%s"></span>' % famfam_fail_icon)
class TextAreaDiv(forms.widgets.Widget):
def __init__(self, attrs=None):
# The 'rows' and 'cols' attributes are required for HTML correctness.
default_attrs = {'class': 'text_area_div'}
#'cols': '40', 'rows': '10'}
if attrs:
default_attrs.update(attrs)
super(TextAreaDiv, self).__init__(default_attrs)
def render(self, name, value, attrs=None):
if value is None: value = ''
final_attrs = self.build_attrs(attrs, name=name)
result = mark_safe(u'<div%s>%s</div>' % (flatatt(final_attrs),
conditional_escape(force_unicode(value))))
return mark_safe(result.replace('\n', '<br>'))

View File

@@ -21,3 +21,14 @@
.choice_form {
min-width: 200px;
}
.text_area_div {
border: 1px solid;
height: 200px;
overflow: auto;
border: 1px solid #E2E2E2;
width: 100%;
font-size: 1.2em;
margin: 0;
padding: 1px 0;
}