module.exports = new Class({ Extends: Htk.Field ,Tag: 'htk-spin' ,render() { var input = this.createRoot('input'); this.node.type = 'number'; input.addEventListener('change', this._onChange.bind(this)); this.unit = null; this.digits = 0; } ,_onChange() { var newValue = (this.node.value == '') ? null : parseFloat(this.node.value); this.node.value = newValue; this.valueChanged(newValue); } ,putValue(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(editable) { this.node.readOnly = !editable; } });