hedera-web/js/htk/table/index.js

51 lines
1016 B
JavaScript

var Entry = require('../entry');
var ColumnRadio = require('../columns/radio');
module.exports = new Class({
Extends: Entry
,Tag: 'htk-table'
,render: function() {
var tv = new Htk.TreeView();
this.node.appendChild(tv.node);
var renderer = new ColumnRadio();
tv.appendColumn(0, renderer, '');
var rbGroup = renderer.rbGroup;
rbGroup.addSignal('changed', this.changed, this);
this.treeview = tv;
this.rbGroup = rbGroup;
}
,setModel: function(model) {
this.treeview.setModel(model);
model.addSignal('status-changed', this.modelRefresh, this);
this.selectValue();
}
,changed: function() {
this.realValue = this.rbGroup.getValue();
this.emit('changed');
}
,selectValue: function() {
this.rbGroup.setValue(this.realValue);
}
,setRealValue: function() {
this.selectValue();
}
,modelRefresh: function(model, status) {
if (status == Db.Model.Status.READY)
this.selectValue();
}
,setEditable: function(editable) {
this.rbGroup.setEditable(editable);
}
});