hedera-web/js/htk/column/button.js

67 lines
1.0 KiB
JavaScript

module.exports = new Class
({
Extends: Htk.Column
,Tag: 'htk-column-button'
,Properties:
{
image:
{
type: String
,value: null
},
icon:
{
type: String
,set: function (x)
{
this._icon = x;
this.image = 'image/icon/light/'+ x + '.svg';
}
,get: function ()
{
return this._icon;
}
},
tip:
{
type: String
,value: null
}
}
,initialize: function (props)
{
this._cssClass = 'cell-button';
this.parent (props);
}
,render: function (tr)
{
var td = this.parent (tr);
var button = this.createElement ('button');
button.addEventListener ('click',
this._onClick.bind (this, this.value, tr, button));
td.appendChild (button);
var img = this.createElement ('img');
img.src = this.image;
button.appendChild (img);
if (this.tip)
{
button.title = _(this.tip);
img.title = _(this.tip);
}
return td;
}
,_onClick: function (value, tr, button, event)
{
event.preventDefault ();
this.signalEmit ('clicked', value, tr.rowIndex - 1, button, event);
}
});