src/it/ht/rcs/console/audit/controller/AuditManager.as
package it.ht.rcs.console.audit.controller
{
import it.ht.rcs.console.DB;
import it.ht.rcs.console.controller.ItemManager;
import it.ht.rcs.console.events.FilterEvent;
import mx.collections.ArrayCollection;
import mx.collections.AsyncListView;
import mx.collections.ListCollectionView;
import mx.core.FlexGlobals;
import mx.rpc.events.ResultEvent;
import mx.utils.ObjectUtil;
public class AuditManager extends ItemManager
{
/* singleton */
private static var _instance:AuditManager = new AuditManager();
public static function get instance():AuditManager { return _instance; }
[Bindable]
public var filter:Object = {};
override public function refresh():void
{
super.refresh();
DB.instance.audit.filters(onFiltersResult);
DB.instance.audit.all(filter, onResult);
}
private function onFiltersResult(event:ResultEvent):void
{
var e:FilterEvent = new FilterEvent(FilterEvent.FILTER_VALUES_CHANGED);
e.filterValues = event.result;
FlexGlobals.topLevelApplication.dispatchEvent(e);
}
[Bindable]
public var _view:ListCollectionView;
private function onResult(e:ResultEvent):void
{
var alv:AsyncListView = new AsyncListView(e.result as ArrayCollection)
_view = new ListCollectionView(alv);
dispatchDataLoadedEvent();
}
// private function printFilterObject():void
// {
// trace('--- START');
// for (var key:String in filter) {
// trace(key + ": " + filter[key]);
// if(key == 'from' || key == 'to') {
// var d:Date = new Date(filter[key] * 1000);
// trace(key + " date: " + d.fullYearUTC +"-"+ TimeUtils.zeroPad(d.monthUTC+1, 2) + "-"+d.dateUTC + " "+ d.hoursUTC + ':'+d.minutesUTC + ':'+ d.secondsUTC);
// }
// }
// trace('--- END');
// }
}
}