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>'))