You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
2.0 KiB

  1. /**********************************************************************************
  2. *
  3. * Copyright (c) 2017-2019 MuK IT GmbH.
  4. *
  5. * This file is part of MuK Web Utils
  6. * (see https://mukit.at).
  7. *
  8. * This program is free software: you can redistribute it and/or modify
  9. * it under the terms of the GNU Lesser General Public License as published by
  10. * the Free Software Foundation, either version 3 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU Lesser General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Lesser General Public License
  19. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. *
  21. **********************************************************************************/
  22. odoo.define('muk_web_utils.image', function (require) {
  23. "use strict";
  24. var core = require('web.core');
  25. var session = require('web.session');
  26. var fields = require('web.basic_fields');
  27. var _t = core._t;
  28. var QWeb = core.qweb;
  29. fields.FieldBinaryImage.include({
  30. willStart: function () {
  31. var def = this._rpc({
  32. route: '/config/muk_web_utils.binary_max_size',
  33. }).done(function(result) {
  34. this.max_upload_size = result.max_upload_size * 1024 * 1024;
  35. }.bind(this));
  36. return this._super.apply(this, arguments);
  37. },
  38. _render: function () {
  39. this._super.apply(this, arguments);
  40. this.$('.mk_field_image_wrapper').remove();
  41. this.$('img').wrap($('<div/>', {
  42. class: "mk_field_image_wrapper"
  43. }));
  44. var $wrapper = $('.mk_field_image_wrapper');
  45. var width = this.nodeOptions.size ?
  46. this.nodeOptions.size[0] : this.attrs.width;
  47. var height = this.nodeOptions.size ?
  48. this.nodeOptions.size[1] : this.attrs.height;
  49. $wrapper.css('min-width', (width || 50) + 'px');
  50. $wrapper.css('min-height', (height || 50) + 'px');
  51. },
  52. });
  53. });