Last active
February 3, 2016 18:30
-
-
Save fazen/31464bada08819d8d02c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
odoo.define('web.web_tree_image',function (require) { | |
"use strict"; | |
var core = require('web.core'); | |
var list_widget_registry = core.list_widget_registry; | |
var session = require('web.session'); | |
//var ListView = require('web.ListView'); | |
//var Column = require('web.ListView.Column'); | |
var ColumnImage = list_widget_registry.get('field').extend({ | |
format: function (row_data, options) { | |
/* Return a valid img tag. For image fields, test if the | |
field's value contains just the binary size and retrieve | |
the image from the dedicated controller in that case. | |
Otherwise, assume a character field containing either a | |
stock Odoo icon name without path or extension or a fully | |
fledged location or data url */ | |
if (!row_data[this.id] || !row_data[this.id].value) { | |
return ''; | |
} | |
var value = row_data[this.id].value, src; | |
if (this.type === 'binary') { | |
if (value && value.substr(0, 10).indexOf(' ') === -1) { | |
// The media subtype (png) seems to be arbitrary | |
src = "data:image/png;base64," + value; | |
} else { | |
var imageArgs = { | |
model: options.model, | |
field: this.id, | |
id: options.id | |
} | |
if (this.resize) { | |
imageArgs.resize = this.resize; | |
} | |
src = session.url('/web/binary/image', imageArgs); | |
} | |
} else { | |
if (!/\//.test(row_data[this.id].value)) { | |
src = '/web/static/src/img/icons/' + row_data[this.id].value + '.png'; | |
} else { | |
src = row_data[this.id].value; | |
} | |
} | |
return _.template("<img height=\"<%-h%>\" src=\"<%-src%>\" />")({ | |
h: this.height || 16, | |
src: src | |
}); | |
} | |
}); | |
list_widget_registry.add('field.image', ColumnImage); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment