hedera-web/js/db/db-lot.js

110 lines
2.1 KiB
JavaScript

var Connection = require('./connection');
var Model = require('./model');
module.exports = new Class({
Extends: Vn.Form
,Tag: 'db-lot'
,Properties: {
/**
* The connection used to execute the statement.
*/
conn: {
type: Connection
,set: function(x) {
this.model.conn = x;
}
,get: function() {
return this.model.conn;
}
},
/**
* The model query.
*/
query: {
type: String
,set: function(x) {
this.model.query = x;
}
,get: function() {
return this.model.query;
}
},
/**
* The model select statement.
*/
stmt: {
type: Sql.Stmt
,set: function(x) {
this.model.stmt = x;
}
,get: function() {
return this.model.stmt;
}
},
/**
* The lot used to execute the statement.
*/
lot: {
type: Vn.Lot
,set: function(x) {
this.model.lot = x;
}
,get: function() {
return this.model.lot;
}
}
}
,initialize: function(props) {
this.model = new Model();
Vn.Form.prototype.initialize.call(this, props);
}
,appendChild: function(child) {
if (child.nodeType === Node.TEXT_NODE)
this.query = child.textContent;
}
,refresh: function() {
if (this._model)
this._model.refresh();
}
,performOperations: function() {
if (this._model)
this._model.performOperations();
}
/**
* Get the index of the column from its name.
*
* @param {string} columnName The column name
* @return {integer} The column index or -1 if column not exists
*/
,getColumnIndex: function(columnName) {
return this._model ?
this._model.getColumnIndex(columnName) : -1;
}
/**
* Gets a value from the form using the column index.
*
* @param {string} columnName The column index
* @return {Object} The value
*/
,getByIndex: function(column) {
return this._model.getByIndex(this._row, column);
}
/**
* Sets a value on the form using the column index.
*
* @param {string} columnName The column index
* @param {Object} value The new value
*/
,setByIndex: function(column, value) {
return this._model.setByIndex(this._row, column, value);
}
});