Add a setting for reset button (@jsayles)
This commit is contained in:
@@ -101,6 +101,7 @@ Available settings are:
|
|||||||
* ``JSIGNATURE_DECOR_COLOR`` (decor-color)
|
* ``JSIGNATURE_DECOR_COLOR`` (decor-color)
|
||||||
* ``JSIGNATURE_LINE_WIDTH`` (lineWidth)
|
* ``JSIGNATURE_LINE_WIDTH`` (lineWidth)
|
||||||
* ``JSIGNATURE_UNDO_BUTTON`` (UndoButton)
|
* ``JSIGNATURE_UNDO_BUTTON`` (UndoButton)
|
||||||
|
* ``JSIGNATURE_RESET_BUTTON`` (ResetButton)
|
||||||
|
|
||||||
==================
|
==================
|
||||||
IN YOUR MODELS
|
IN YOUR MODELS
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ JSIGNATURE_LINE_WIDTH = getattr(
|
|||||||
settings, 'JSIGNATURE_LINE_WIDTH', 0)
|
settings, 'JSIGNATURE_LINE_WIDTH', 0)
|
||||||
JSIGNATURE_UNDO_BUTTON = getattr(
|
JSIGNATURE_UNDO_BUTTON = getattr(
|
||||||
settings, 'JSIGNATURE_UNDO_BUTTON', False)
|
settings, 'JSIGNATURE_UNDO_BUTTON', False)
|
||||||
|
JSIGNATURE_RESET_BUTTON = getattr(
|
||||||
|
settings, 'JSIGNATURE_RESET_BUTTON', True)
|
||||||
|
|
||||||
JSIGNATURE_DEFAULT_CONFIG = {
|
JSIGNATURE_DEFAULT_CONFIG = {
|
||||||
'width': JSIGNATURE_WIDTH,
|
'width': JSIGNATURE_WIDTH,
|
||||||
@@ -23,4 +25,5 @@ JSIGNATURE_DEFAULT_CONFIG = {
|
|||||||
'decor-color': JSIGNATURE_DECOR_COLOR,
|
'decor-color': JSIGNATURE_DECOR_COLOR,
|
||||||
'lineWidth': JSIGNATURE_LINE_WIDTH,
|
'lineWidth': JSIGNATURE_LINE_WIDTH,
|
||||||
'UndoButton': JSIGNATURE_UNDO_BUTTON,
|
'UndoButton': JSIGNATURE_UNDO_BUTTON,
|
||||||
|
'ResetButton': JSIGNATURE_RESET_BUTTON,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
<div class='jsign-wrapper'>
|
<div class='jsign-wrapper'>
|
||||||
{{ hidden }}
|
{{ hidden }}
|
||||||
<div id='{{ jsign_id }}'
|
<div id='{{ jsign_id }}'
|
||||||
data-config='{{ config }}'
|
data-config='{{ js_config }}'
|
||||||
data-initial-value='{{ value }}'
|
data-initial-value='{{ value }}'
|
||||||
class='jsign-container'></div>
|
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>
|
</div>
|
||||||
@@ -63,3 +63,12 @@ class JSignatureWidgetTest(SimpleTestCase):
|
|||||||
# Almost useless :/
|
# Almost useless :/
|
||||||
self.assertEqual(1, len(pq('.jsign-wrapper', output)))
|
self.assertEqual(1, len(pq('.jsign-wrapper', output)))
|
||||||
self.assertEqual(1, len(pq('[type=hidden]', 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)))
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ class JSignatureWidget(HiddenInput):
|
|||||||
'hidden': super(JSignatureWidget, self).render(name, value, attrs),
|
'hidden': super(JSignatureWidget, self).render(name, value, attrs),
|
||||||
'jsign_id': jsign_id,
|
'jsign_id': jsign_id,
|
||||||
'reset_btn_text': _('Reset'),
|
'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),
|
'value': mark_safe(value),
|
||||||
}
|
}
|
||||||
out = render_to_string('jsignature/widget.html', context)
|
out = render_to_string('jsignature/widget.html', context)
|
||||||
|
|||||||
Reference in New Issue
Block a user