Improve TemplateWidget JavaScript
Move widget initialization from form to field. Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -20,3 +20,5 @@ class TemplateField(forms.CharField):
|
||||
'Use Django\'s default templating language '
|
||||
'(https://docs.djangoproject.com/en/%(django_version)s/ref/templates/builtins/)'
|
||||
) % {'django_version': mayan.__django_version__}
|
||||
self.widget.attrs['model'] = self.model
|
||||
self.widget.attrs['data-model-variable'] = self.model_variable
|
||||
|
||||
@@ -23,7 +23,3 @@ class DocumentTemplateSandboxForm(forms.Form):
|
||||
model_variable=self.model_variable, required=False
|
||||
)
|
||||
self.order_fields(field_order=('template', 'result'))
|
||||
self.fields['template'].widget.attrs['model'] = self.model
|
||||
self.fields['template'].widget.attrs[
|
||||
'data-model-variable'
|
||||
] = self.model_variable
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
'use strict';
|
||||
|
||||
jQuery(document).ready(function() {
|
||||
var fieldNameID = '#id_template_model_property';
|
||||
var fieldNameID = '[data-template-fields="model_property"]';
|
||||
$(fieldNameID).change(function(event) {
|
||||
var $idModelProperty = $(this);
|
||||
var $idTemplate = $('#id_template_template');
|
||||
var $idTemplate = $('[data-template-fields="template"]');
|
||||
var templateCursorPosition = $idTemplate.prop('selectionStart');
|
||||
var templateValue = $idTemplate.val();
|
||||
var modelVariable = $idTemplate.data('model-variable');
|
||||
|
||||
@@ -16,9 +16,11 @@ class TemplateWidget(NamedMultiWidget):
|
||||
def __init__(self, attrs=None, **kwargs):
|
||||
widgets = OrderedDict()
|
||||
|
||||
widgets['model_property'] = forms.widgets.Select()
|
||||
widgets['model_property'] = forms.widgets.Select(
|
||||
attrs={'data-template-fields': 'model_property'}
|
||||
)
|
||||
widgets['template'] = forms.widgets.Textarea(
|
||||
attrs={'rows': 5}
|
||||
attrs={'rows': 5, 'data-template-fields': 'template'}
|
||||
)
|
||||
super(TemplateWidget, self).__init__(
|
||||
widgets=widgets, attrs=attrs, **kwargs
|
||||
|
||||
Reference in New Issue
Block a user