home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 136 / MOBICLIC136.ISO / pc / DATA / HOTE / libs / amfphp / amfphp.swf / scripts / __Packages / mx / remoting / RsDataFetcher.as < prev    next >
Text File  |  2011-07-20  |  1KB  |  53 lines

  1. class mx.remoting.RsDataFetcher extends Object
  2. {
  3.    function RsDataFetcher(pgRS, increment)
  4.    {
  5.       var _loc1_ = this;
  6.       super();
  7.       _loc1_.mRecordSet = pgRS;
  8.       _loc1_.mRecordSet.addEventListener("modelChanged",_loc1_);
  9.       _loc1_.mIncrement = increment;
  10.       _loc1_.mNextRecord = 0;
  11.       _loc1_.mEnabled = true;
  12.       _loc1_.doNext();
  13.    }
  14.    function disable()
  15.    {
  16.       this.mEnabled = false;
  17.    }
  18.    function doNext()
  19.    {
  20.       var _loc1_ = this;
  21.       if(_loc1_.mEnabled)
  22.       {
  23.          while(true)
  24.          {
  25.             if(_loc1_.mNextRecord >= _loc1_.mRecordSet.getRemoteLength())
  26.             {
  27.                break;
  28.             }
  29.             var _loc2_ = new mx.remoting.RsDataRange(_loc1_.mNextRecord,_loc1_.mNextRecord + _loc1_.mIncrement - 1);
  30.             _loc1_.mHighestRequested = _loc1_.mRecordSet.requestRange(_loc2_);
  31.             _loc1_.mNextRecord += _loc1_.mIncrement;
  32.             if(_loc1_.mHighestRequested > 0)
  33.             {
  34.                break;
  35.             }
  36.          }
  37.       }
  38.    }
  39.    function modelChanged(eventObj)
  40.    {
  41.       var _loc1_ = this;
  42.       var _loc2_ = eventObj;
  43.       if(_loc2_.eventName == "updateItems" && _loc2_.firstItem <= _loc1_.mHighestRequested && _loc2_.lastItem >= _loc1_.mHighestRequested)
  44.       {
  45.          _loc1_.doNext();
  46.       }
  47.       if(_loc2_.eventName == "allRows")
  48.       {
  49.          _loc1_.disable();
  50.       }
  51.    }
  52. }
  53.