[ADD] web: link_button widget

Add a widget to make a link to an external page in a tree view
This commit is contained in:
Martin Trigaux
2017-09-25 15:26:54 +02:00
parent 4d6041c365
commit eb75cb09b5
2 changed files with 45 additions and 0 deletions
@@ -348,6 +348,49 @@ var FieldChar = InputField.extend(TranslatableFieldMixin, {
},
});
var LinkButton = AbstractField.extend({
events: _.extend({}, AbstractField.prototype.events, {
'click': '_onClick'
}),
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* Display button
* @override
* @private
*/
_render: function () {
if (this.value) {
var className = this.attrs.icon || 'fa-globe';
this.$el.html("<span />");
this.$el.addClass("fa "+ className);
this.$el.attr('title', this.value);
}
},
//--------------------------------------------------------------------------
// Handlers
//--------------------------------------------------------------------------
/**
* Open link button
*
* @private
* @param {MouseEvent} event
*/
_onClick: function (event) {
event.stopPropagation();
window.open(this.value, '_blank');
},
});
var FieldDate = InputField.extend({
className: "o_field_date",
tagName: "span",
@@ -2451,6 +2494,7 @@ return {
FieldBooleanButton: FieldBooleanButton,
BooleanToggle: BooleanToggle,
FieldChar: FieldChar,
LinkButton: LinkButton,
FieldDate: FieldDate,
FieldDateTime: FieldDateTime,
FieldDomain: FieldDomain,