2016-09-26 09:28:47 +00:00
|
|
|
|
2022-05-24 10:18:44 +00:00
|
|
|
var Iterator = require('./iterator');
|
|
|
|
var Model = require('./model');
|
2016-09-26 09:28:47 +00:00
|
|
|
|
2016-05-05 15:47:45 +00:00
|
|
|
/**
|
|
|
|
* A light iterator for models.
|
2022-05-24 10:18:44 +00:00
|
|
|
*/
|
|
|
|
module.exports = new Class({
|
2016-05-05 15:47:45 +00:00
|
|
|
Extends: Vn.Object
|
2016-09-26 09:28:47 +00:00
|
|
|
,Implements: Iterator
|
2022-05-24 10:18:44 +00:00
|
|
|
,Properties: {
|
2016-05-05 15:47:45 +00:00
|
|
|
/**
|
|
|
|
* The model associated to this form.
|
2022-05-24 10:18:44 +00:00
|
|
|
*/
|
|
|
|
model: {
|
2016-09-26 09:28:47 +00:00
|
|
|
type: Model
|
2022-05-24 10:18:44 +00:00
|
|
|
,set: function(x) {
|
2016-05-05 15:47:45 +00:00
|
|
|
this._model = x;
|
|
|
|
}
|
2022-05-24 10:18:44 +00:00
|
|
|
,get: function() {
|
2016-05-05 15:47:45 +00:00
|
|
|
return this._model;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* The row where the form positioned, has -1 if the row is unselected.
|
2022-05-24 10:18:44 +00:00
|
|
|
*/
|
|
|
|
row: {
|
2016-05-05 15:47:45 +00:00
|
|
|
type: Number
|
2022-05-24 10:18:44 +00:00
|
|
|
,set: function(x) {
|
2016-05-05 15:47:45 +00:00
|
|
|
this._row = x;
|
|
|
|
}
|
2022-05-24 10:18:44 +00:00
|
|
|
,get: function() {
|
2016-05-05 15:47:45 +00:00
|
|
|
return this._row;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* The number of rows in the form.
|
2022-05-24 10:18:44 +00:00
|
|
|
*/
|
|
|
|
numRows: {
|
2016-05-05 15:47:45 +00:00
|
|
|
type: Number
|
2022-05-24 10:18:44 +00:00
|
|
|
,get: function() {
|
2016-05-05 15:47:45 +00:00
|
|
|
if (this._model)
|
|
|
|
return this._model.numRows;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* Checks if the form data is ready.
|
2022-05-24 10:18:44 +00:00
|
|
|
*/
|
|
|
|
ready: {
|
2016-05-05 15:47:45 +00:00
|
|
|
type: Boolean
|
2022-05-24 10:18:44 +00:00
|
|
|
,get: function() {
|
2016-05-05 15:47:45 +00:00
|
|
|
if (this._model)
|
|
|
|
return this._model.ready;
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|