src/it/ht/rcs/console/audit/view/AuditGrid.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:DataGrid xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:filters="it.ht.rcs.console.audit.view.filters.*"
width="100%" height="100%" sortableColumns="false" typicalItem="{typicalObject}"
variableRowHeight="true">
<fx:Script>
<![CDATA[
import it.ht.rcs.console.audit.controller.AuditManager;
import it.ht.rcs.console.utils.TimeUtils;
import locale.R;
import mx.collections.IList;
import spark.core.NavigationUnit;
[Bindable]
public var filter:Object = AuditManager.instance.filter;
private function dateLabelFunction(item:Object, column:GridColumn):String {
return TimeUtils.timestampFormatter(item[column.dataField] * 1000);
}
[Bindable]
public var typicalObject:Object = {
desc: "Profile of user 'testuser' was changed by admin"
};
[Bindable]
override public function set dataProvider(value:IList):void
{
super.dataProvider=value;
scrollDown()
}
public function scrollDown():void
{
this.grid.validateNow();
this.grid.verticalScrollPosition=this.grid.contentHeight+this.grid.height;
}
]]>
</fx:Script>
<s:columns>
<s:ArrayList>
<s:GridColumn width="132" dataField="time" headerText="{R.get('DATE')}" labelFunction="dateLabelFunction"
resizable="false">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}" mandatory="true"
popupFactory="it.ht.rcs.console.audit.view.filters.DateFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="actor" headerText="{R.get('ACTOR')}">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="action" headerText="{R.get('ACTION')}">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="user_name" headerText="{R.get('USER')}">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="group_name" headerText="{R.get('GROUP')}">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="operation_name" headerText="Operation">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="target_name" headerText="Target">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="agent_name" headerText="Agent">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.ComboFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
<s:GridColumn dataField="desc" headerText="{R.get('DESCRIPTION')}">
<s:headerRenderer>
<fx:Component>
<filters:AbstractHeaderRenderer filter="{outerDocument.filter}"
popupFactory="it.ht.rcs.console.audit.view.filters.TextFilterPopup"/>
</fx:Component>
</s:headerRenderer>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>