diff --git a/wagtail/wagtailimages/forms.py b/wagtail/wagtailimages/forms.py index af3b3ce83..27bd3c725 100644 --- a/wagtail/wagtailimages/forms.py +++ b/wagtail/wagtailimages/forms.py @@ -57,3 +57,4 @@ class URLGeneratorForm(forms.Form): ) width = forms.IntegerField(_("Width"), min_value=0) height = forms.IntegerField(_("Height"), min_value=0) + closeness = forms.IntegerField(_("Closeness"), min_value=0) diff --git a/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js b/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js index c9f8ed1e7..86bf41fcd 100644 --- a/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js +++ b/wagtail/wagtailimages/static/wagtailimages/js/image-url-generator.js @@ -7,6 +7,7 @@ $(function() { var $filterMethodField = $form.find('select#id_filter_method'); var $widthField = $form.find('input#id_width'); var $heightField = $form.find('input#id_height'); + var $closenessField = $form.find('input#id_closeness'); var $result = $this.find('#result-url'); var $loadingMask = $this.find('.loading-mask') var $preview = $this.find('img.preview'); @@ -22,18 +23,28 @@ $(function() { if (filterSpec == 'original') { $widthField.prop('disabled', true); $heightField.prop('disabled', true); + $closenessField.prop('disabled', true); } else if (filterSpec == 'width') { $widthField.prop('disabled', false); $heightField.prop('disabled', true); + $closenessField.prop('disabled', true); filterSpec += '-' + $widthField.val(); } else if (filterSpec == 'height') { $widthField.prop('disabled', true); $heightField.prop('disabled', false); + $closenessField.prop('disabled', true); filterSpec += '-' + $heightField.val(); } else if (filterSpec == 'min' || filterSpec == 'max' || filterSpec == 'fill') { $widthField.prop('disabled', false); $heightField.prop('disabled', false); - filterSpec += '-' + $widthField.val() + 'x' + $heightField.val(); + + if (filterSpec == 'fill') { + $closenessField.prop('disabled', false); + filterSpec += '-' + $widthField.val() + 'x' + $heightField.val() + '-c' + $closenessField.val() + } else { + $closenessField.prop('disabled', true); + filterSpec += '-' + $widthField.val() + 'x' + $heightField.val(); + } } // Display note about scaled down images if image is large diff --git a/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html b/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html index aae28cd95..e725fd2f9 100644 --- a/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html +++ b/wagtail/wagtailimages/templates/wagtailimages/images/url_generator.html @@ -17,6 +17,7 @@