Add a setting for reset button (@jsayles)

This commit is contained in:
Florent Lebreton
2014-11-26 19:19:03 +01:00
parent 51005db0ca
commit 337a8f9a08
5 changed files with 19 additions and 3 deletions

View File

@@ -14,6 +14,8 @@ JSIGNATURE_LINE_WIDTH = getattr(
settings, 'JSIGNATURE_LINE_WIDTH', 0)
JSIGNATURE_UNDO_BUTTON = getattr(
settings, 'JSIGNATURE_UNDO_BUTTON', False)
JSIGNATURE_RESET_BUTTON = getattr(
settings, 'JSIGNATURE_RESET_BUTTON', True)
JSIGNATURE_DEFAULT_CONFIG = {
'width': JSIGNATURE_WIDTH,
@@ -23,4 +25,5 @@ JSIGNATURE_DEFAULT_CONFIG = {
'decor-color': JSIGNATURE_DECOR_COLOR,
'lineWidth': JSIGNATURE_LINE_WIDTH,
'UndoButton': JSIGNATURE_UNDO_BUTTON,
'ResetButton': JSIGNATURE_RESET_BUTTON,
}

View File

@@ -1,8 +1,10 @@
<div class='jsign-wrapper'>
{{ hidden }}
<div id='{{ jsign_id }}'
data-config='{{ config }}'
data-config='{{ js_config }}'
data-initial-value='{{ value }}'
class='jsign-container'></div>
<input type='button' value='{{ reset_btn_text }}' class="btn">
{% if config.ResetButton %}
<input type='button' value='{{ reset_btn_text }}' class="btn">
{% endif %}
</div>

View File

@@ -63,3 +63,12 @@ class JSignatureWidgetTest(SimpleTestCase):
# Almost useless :/
self.assertEqual(1, len(pq('.jsign-wrapper', output)))
self.assertEqual(1, len(pq('[type=hidden]', output)))
def test_render_reset_button(self):
w = JSignatureWidget(jsignature_attrs={'ResetButton': True})
output = w.render(name='foo', value=None)
self.assertEqual(1, len(pq('[type=button]', output)))
w = JSignatureWidget(jsignature_attrs={'ResetButton': False})
output = w.render(name='foo', value=None)
self.assertEqual(0, len(pq('[type=button]', output)))

View File

@@ -71,7 +71,8 @@ class JSignatureWidget(HiddenInput):
'hidden': super(JSignatureWidget, self).render(name, value, attrs),
'jsign_id': jsign_id,
'reset_btn_text': _('Reset'),
'config': mark_safe(json.dumps(jsignature_config)),
'config': jsignature_config,
'js_config': mark_safe(json.dumps(jsignature_config)),
'value': mark_safe(value),
}
out = render_to_string('jsignature/widget.html', context)