[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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user