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

60 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-09-26 09:28:47 +00:00
var Entry = require ('./entry');
var ColumnRadio = require ('../column/radio');
module.exports = new Class
({
2016-09-26 09:28:47 +00:00
Extends: Entry
,Tag: 'htk-table'
,initialize: function (props)
{
var tv = new Htk.TreeView ();
this.node.appendChild (tv.getNode ());
2016-09-26 09:28:47 +00:00
var renderer = new ColumnRadio ();
tv.appendColumn (0, renderer, '');
var rbGroup = renderer.rbGroup;
rbGroup.addSignal ('changed', this.changed, this);
this.treeview = tv;
this.rbGroup = rbGroup;
2015-11-09 08:14:33 +00:00
this.parent (props);
}
,setModel: function (model)
{
this.treeview.setModel (model);
model.addSignal ('status-changed', this.modelRefresh, this);
this.selectValue ();
}
,changed: function (rbGroup)
{
this.realValue = this.rbGroup.getValue ();
this.signalEmit ('changed');
}
,selectValue: function ()
{
this.rbGroup.setValue (this.realValue);
}
,setRealValue: function ()
{
this.selectValue ();
}
,modelRefresh: function (model, status)
{
2016-09-26 09:28:47 +00:00
if (status == Db.Model.Status.READY)
this.selectValue ();
}
,setEditable: function (editable)
{
this.rbGroup.setEditable (editable);
}
});