module.exports = new Class ({ Extends: Htk.Field ,Tag: 'htk-spin' ,render: function () { var input = this.createRoot ('input'); this.node.type = 'number'; input.addEventListener ('change', this._onChange.bind (this)); this.unit = null; this.digits = 0; } ,_onChange: function () { var newValue = (this.node.value == '') ? null : parseFloat (this.node.value); this.node.value = newValue; this.valueChanged (newValue); } ,putValue: function (value) { var text; if (value != null) { text = (new Number (value)).toFixed (this.digits); if (this.unit != null) text += ' ' + this.unit; } else text = ''; this.node.value = text; } ,setEditable: function (editable) { this.node.readOnly = !editable; } });