package com.flexicious.example.model.classic
{
import com.flexicious.grids.filters.Filter;
import com.flexicious.grids.filters.FilterExpression;
import com.flexicious.grids.filters.FilterSort;
import mx.collections.ArrayCollection;
[RemoteClass("com.companyname.projectname.pacakge.model.MyFilter")]
/**
* A class that can be sent to the server with all the filter criteria,
* as opposed to sending it as individual parameters
*/
public class MyFilter
{
/**
* Initialize a remotable filter from our the Flexicious filter object.
*/
public function MyFilter(filter:Filter){
if(filter!=null){
this.pageSize=filter.pageSize;
this.pageIndex = filter.pageIndex;
this.pageCount = filter.pageCount;
this.recordCount=filter.recordCount;
for each(var arg:FilterExpression in filter.arguments){
this.arguments.addItem(new MyFilterExpression(arg));
}
for each(var sort:FilterSort in filter.sorts){
this.sorts.addItem(new MyFilterSort(sort));
}
}
}
public var pageSize:int=20;
public var pageIndex:int=-1;
public var pageCount:int;
public var recordCount:int;
public var recordType:String;
public var records:Object;
public var arguments:ArrayCollection=new ArrayCollection();
public var sorts:ArrayCollection=new ArrayCollection();
}
}