]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/collections/ArrayList.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / collections / ArrayList.js
diff --git a/static/dojo-release-1.1.1/dojox/collections/ArrayList.js b/static/dojo-release-1.1.1/dojox/collections/ArrayList.js
new file mode 100644 (file)
index 0000000..d57f6e7
--- /dev/null
@@ -0,0 +1,133 @@
+if(!dojo._hasResource["dojox.collections.ArrayList"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.collections.ArrayList"] = true;
+dojo.provide("dojox.collections.ArrayList");
+dojo.require("dojox.collections._base");
+
+dojox.collections.ArrayList=function(/* array? */arr){
+       //      summary
+       //      Returns a new object of type dojox.collections.ArrayList
+       var items=[];
+       if(arr) items=items.concat(arr);
+       this.count=items.length;
+       this.add=function(/* object */obj){
+               //      summary
+               //      Add an element to the collection.
+               items.push(obj);
+               this.count=items.length;
+       };
+       this.addRange=function(/* array */a){
+               //      summary
+               //      Add a range of objects to the ArrayList
+               if(a.getIterator){
+                       var e=a.getIterator();
+                       while(!e.atEnd()){
+                               this.add(e.get());
+                       }
+                       this.count=items.length;
+               }else{
+                       for(var i=0; i<a.length; i++){
+                               items.push(a[i]);
+                       }
+                       this.count=items.length;
+               }
+       };
+       this.clear=function(){
+               //      summary
+               //      Clear all elements out of the collection, and reset the count.
+               items.splice(0, items.length);
+               this.count=0;
+       };
+       this.clone=function(){
+               //      summary
+               //      Clone the array list
+               return new dojox.collections.ArrayList(items);  //      dojox.collections.ArrayList
+       };
+       this.contains=function(/* object */obj){
+               //      summary
+               //      Check to see if the passed object is a member in the ArrayList
+               for(var i=0; i < items.length; i++){
+                       if(items[i] == obj) {
+                               return true;    //      bool
+                       }
+               }
+               return false;   //      bool
+       };
+       this.forEach=function(/* function */ fn, /* object? */ scope){
+               //      summary
+               //      functional iterator, following the mozilla spec.
+               dojo.forEach(items, fn, scope);
+       };
+       this.getIterator=function(){
+               //      summary
+               //      Get an Iterator for this object
+               return new dojox.collections.Iterator(items);   //      dojox.collections.Iterator
+       };
+       this.indexOf=function(/* object */obj){
+               //      summary
+               //      Return the numeric index of the passed object; will return -1 if not found.
+               for(var i=0; i < items.length; i++){
+                       if(items[i] == obj) {
+                               return i;       //      int
+                       }
+               }
+               return -1;      // int
+       };
+       this.insert=function(/* int */ i, /* object */ obj){
+               //      summary
+               //      Insert the passed object at index i
+               items.splice(i,0,obj);
+               this.count=items.length;
+       };
+       this.item=function(/* int */ i){
+               //      summary
+               //      return the element at index i
+               return items[i];        //      object
+       };
+       this.remove=function(/* object */obj){
+               //      summary
+               //      Look for the passed object, and if found, remove it from the internal array.
+               var i=this.indexOf(obj);
+               if(i >=0) {
+                       items.splice(i,1);
+               }
+               this.count=items.length;
+       };
+       this.removeAt=function(/* int */ i){
+               //      summary
+               //      return an array with function applied to all elements
+               items.splice(i,1);
+               this.count=items.length;
+       };
+       this.reverse=function(){
+               //      summary
+               //      Reverse the internal array
+               items.reverse();
+       };
+       this.sort=function(/* function? */ fn){
+               //      summary
+               //      sort the internal array
+               if(fn){
+                       items.sort(fn);
+               }else{
+                       items.sort();
+               }
+       };
+       this.setByIndex=function(/* int */ i, /* object */ obj){
+               //      summary
+               //      Set an element in the array by the passed index.
+               items[i]=obj;
+               this.count=items.length;
+       };
+       this.toArray=function(){
+               //      summary
+               //      Return a new array with all of the items of the internal array concatenated.
+               return [].concat(items);
+       }
+       this.toString=function(/* string */ delim){
+               //      summary
+               //      implementation of toString, follows [].toString();
+               return items.join((delim||","));
+       };
+};
+
+}