gestion des demandes d'évolution pour le centre kalachakra non géré dans les module booking et opendons
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

67 lines
2.0 KiB

var Hash = function(object) {
if (object) {
for(var k in object) { if (!(typeof this[k]=='function')) { this[k] = object[k] } }
}
};
Hash.convert = function(object) {
for( var k in Hash.prototype ) { object[k] = Hash.prototype[k] }; return object;
};
Hash.prototype = {
each: function( fn ) {
for( var k in this ) {
if (! ( typeof this[k] == 'function' )) { fn({0:k, 1: this[k], key: k, value: this[k]}) }
}
return this;
},
merge: function( hash ) {
var self = this;
new Hash(hash).each( function(item) { self[item.key] = item.value }); return this;
}
};
Array.convert = function(object) {
if (object instanceof Array ) { return object }
else if (object.toArray) { return object.toArray() }
else {
var rval = []; for(var i = 0; i<object.length; i++ ) { rval[i] = object[i] };
return rval;
}
};
Array.prototype.each = function( fn ) {
for(var i = 0; i<this.length; i++) { fn(this[i]) }; return this;
};
Array.prototype.flatten = function() {
var r = new Array();
for(var i = 0;i<this.length;i++) {
if ( this[i] instanceof Array ) {
var x = this[i].flatten();
for(j=0;j<x.length;j++) { r.push(x[j]); }
} else { r.push(this[i]); }
}
return r;
};
Array.prototype.compact = function() {
var r = new Array();
for(var i=0;i<this.length;i++) {
if (this[i]!=null) { r.push(this[i]); }
}
return r;
};
var Enumerable = {
aggregate: function( rval, fn ) {
this.each( function( x ) { rval = fn(rval,x) } ); return rval;
},
filter: function( fn ) {
var r = []; this.each( function(x) { if (fn(x)) { r.push(x) } }); return r;
},
find: function( fn ) {
var rval = null;
this.each( function(x) { if (!rval && fn(x) ) { rval = x } } ); return rval;
},
map: function( fn ) {
var results = []; this.each( function( x ) { results.push( fn(x) ) });
return results;
}
};
Enumerable.inject = Enumerable.aggregate;
Module( Array ).extend( Enumerable );
Module( Hash ).extend( Enumerable );