var LotIface = require('./lot-iface'); var ModelIface = require('./model-iface'); module.exports = new Class({ Implements: LotIface ,Properties: { /** * The model associated to this form. */ model: { type: ModelIface }, /** * The row where the form positioned, has -1 if the row is unselected. */ row: { type: Number }, /** * The number of rows in the form. */ numRows: { type: Number }, /** * Checks if the form data is ready. */ ready: { type: Boolean } } ,insertRow: function() { if (this._model) this.row = this._model.insertRow(); } /** * Removes the current row. */ ,deleteRow: function() { if (this._row >= 0) this._model.deleteRow(this._row); } /** * Gets a value from the form. * * @param {string} columnName The column name * @return {Object} The value */ ,get: function(columnName) { return this._model ? this._model.get(this._row, columnName) : undefined; } /** * Sets a value on the form. * * @param {string} columnName The column name * @param {Object} value The new value */ ,set: function(columnName, value) { this._model.set(this._row, columnName, value); } });