if(!javaxt) var javaxt={};
if(!javaxt.dhtml) javaxt.dhtml={};
//******************************************************************************
//** DataStore
//*****************************************************************************/
/**
* Simple data store used to manage records and broadcast updates
*
******************************************************************************/
javaxt.dhtml.DataStore = function(data) {
var me = this;
var listeners = {};
var records = [];
this.length = 0;
//**************************************************************************
//** Constructor
//**************************************************************************
var init = function(){
if (isArray(data)){
records = data;
me.length = records.length;
}
};
//**************************************************************************
//** addEventListener
//**************************************************************************
this.addEventListener = function(name, fn, scope){
if (!fn) return;
var listener = {
fn: fn,
scope: scope
};
if (listeners[name]){
listeners[name].push(listener);
}
else{
listeners[name]=[listener];
}
};
var fireEvent = function(name, ret){
if (listeners[name]){
var arr = listeners[name];
for (var i=0; i
store.forEach(function (record, i) {
console.log(i, record);
});
* Optional: return true in the callback function if you wish to break and
* iterate stop iterating.
*/
this.forEach = function(callback){
if (!callback) return;
for (var i=0; i