hedera-web/js/htk/columns/text/index.js

51 lines
900 B
JavaScript

module.exports = new Class({
Extends: Htk.Column
,Tag: 'htk-column-text'
,Properties: {
/**
* Format that applies to the value.
*/
format:{
type: String
,set: function(x) {
this._format = _(x);
}
,get: function() {
return this._format;
}
}
}
,_format: null
,initialize: function(props) {
this._cssClass = 'cell-text';
this.parent(props);
}
,render: function(tr) {
var node;
if (this.editable) {
var value = this.value ? this.value : '';
node = this.createElement('input');
node.type = 'text';
node.value = value;
node.addEventListener('changed',
this.inputChanged.bind(this, tr, node));
} else
node = this.createTextNode(
Vn.Value.format(this.value, this._format));
var td = this.parent(tr);
td.appendChild(node);
return td;
}
,inputChanged: function(tr, node) {
this.changed(tr, node.value);
}
});