[IMP] web_tree_image_tooltip :

* Add the possibility to define an alternative image field for the tooltip image to reduce the bandwidth used
* Add image in the description of the module
* Add demo data for the res.users tree view
This commit is contained in:
Sylvain LE GAL
2022-03-10 15:27:05 +01:00
committed by Christopher Ormaza
parent d257ce8585
commit da19285c58
9 changed files with 66 additions and 1 deletions

View File

@@ -1,13 +1,40 @@
odoo.define("web_tree_image_tooltip.web_tree_image_tooltip", function (require) {
"use strict";
var session = require("web.session");
var field_utils = require("web.field_utils");
var FieldBinaryImage = require("web.basic_fields").FieldBinaryImage;
var ListRenderer = require("web.ListRenderer");
FieldBinaryImage.include({
_render: function () {
this._super();
if (this.nodeOptions.tooltip_image) {
var image_src = session.url("/web/image", {
model: this.model,
id: JSON.stringify(this.res_id),
field: this.nodeOptions.tooltip_image,
// Unique forces a reload of the image when the record has been updated
unique: field_utils.format
.datetime(this.recordData.__last_update)
.replace(/[^0-9]/g, ""),
});
this.$(".img-fluid")[0].setAttribute("tooltip-image-src", image_src);
}
},
});
ListRenderer.include({
events: _.extend({}, ListRenderer.prototype.events, {
"mouseover tbody tr td .o_field_image": "_onHoverRecord_img",
}),
_onHoverRecord_img: function (event) {
var img_src = $(event.currentTarget).children(".img-fluid").attr("src");
var img_src =
$(event.currentTarget)
.children(".img-fluid")
.attr("tooltip-image-src") ||
$(event.currentTarget).children(".img-fluid").attr("src");
$(event.currentTarget)
.tooltip({
title: "<img src=" + img_src + " class='tooltip_image' />",