Browse Source

[FIX][web_widget_image_download] Make button look good everywhere (I hope).

Fix https://github.com/OCA/web/pull/391#issuecomment-235906320.

# Conflicts:
#	web_widget_image_download/static/src/js/web_widget_image_download.jsCopyright 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
pull/395/head
Jairo Llopis 8 years ago
parent
commit
95c5de7503
  1. 1
      web_widget_image_download/README.rst
  2. 2
      web_widget_image_download/__openerp__.py
  3. 6
      web_widget_image_download/static/src/css/web_widget_image_download.css
  4. 34
      web_widget_image_download/static/src/js/web_widget_image_download.js

1
web_widget_image_download/README.rst

@ -43,6 +43,7 @@ Contributors
------------ ------------
* Flavio Corpa <flavio.corpa@tecnativa.com> * Flavio Corpa <flavio.corpa@tecnativa.com>
* Jairo Llopis <jairo.llopis@tecnativa.com>
Maintainer Maintainer
---------- ----------

2
web_widget_image_download/__openerp__.py

@ -4,7 +4,7 @@
{ {
"name": "Web Widget - Image Download", "name": "Web Widget - Image Download",
"summary": "Allows to download any image from its widget", "summary": "Allows to download any image from its widget",
"version": "8.0.1.0.0",
"version": "8.0.1.0.1",
"category": "web", "category": "web",
"website": "https://www.tecnativa.com", "website": "https://www.tecnativa.com",
"author": "Tecnativa, Odoo Community Association (OCA)", "author": "Tecnativa, Odoo Community Association (OCA)",

6
web_widget_image_download/static/src/css/web_widget_image_download.css

@ -1,6 +1,8 @@
/* Copyright 2016 Flavio Corpa <flavio.corpa@tecnativa.com> /* Copyright 2016 Flavio Corpa <flavio.corpa@tecnativa.com>
* Copyright 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
.openerp .oe_application a.oe_form_binary_file_download {
color: #eee;
.openerp .oe_form .oe_form_field_image .oe_form_field_image_controls
.oe_form_binary_file_download {
color: inherit;
} }

34
web_widget_image_download/static/src/js/web_widget_image_download.js

@ -1,37 +1,39 @@
/*
* Copyright 2016 Flavio Corpa <flavio.corpa@tecnativa.com>
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
*/
/* Copyright 2016 Flavio Corpa <flavio.corpa@tecnativa.com>
* Copyright 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
openerp.web_widget_image_download = function (instance) { openerp.web_widget_image_download = function (instance) {
'use strict'; 'use strict';
instance.web.form.web_widget_image_download = instance.web.form.FieldBinaryImage.include({ instance.web.form.web_widget_image_download = instance.web.form.FieldBinaryImage.include({
render_value: function () { render_value: function () {
this._super(); this._super();
var $widget = this.$el.find('.oe_form_binary_file_download'); var $widget = this.$el.find('.oe_form_binary_file_download');
this.imgSrc = this.$el.find('img[name="image"]').attr('src');
this.imgSrc = this.$el.find('img[name="' + this.name + '"]')
.attr('src');
$.ajax({ $.ajax({
type: 'HEAD',
type: 'HEAD', // Avoid downloading full image, just headers
url: this.imgSrc, url: this.imgSrc,
complete: function (xhr) { complete: function (xhr) {
// retrieve image type from server ("Content-Type" header)
$widget.attr('download', xhr.getResponseHeader("Content-Type").replace('/', '.'));
$widget.attr(
'download',
xhr.getResponseHeader("Content-Type")
.replace('/', '.')
);
} }
}); });
// use jquery instead of `replace` with qweb (to avoid breaking inheritance)
// Replace with jQuery to keep inheritance intact
if (this.has_custom_image()) { if (this.has_custom_image()) {
this.$el.find('.oe_form_binary_file_clear').removeClass('col-md-offset-5');
this.$el.find('.oe_form_binary_file_clear')
.removeClass('col-md-offset-5');
} }
$widget.attr('href', this.imgSrc); $widget.attr('href', this.imgSrc);
}, },
has_custom_image: function () { has_custom_image: function () {
// check if the image of the widget is different from the default placeholder
return this.imgSrc && !this.imgSrc.includes('/placeholder.png');
}
return this.imgSrc != this.placeholder;
},
});
}); });
}
Loading…
Cancel
Save