hackedteam/rcs-console

View on GitHub
src/it/ht/rcs/console/operations/view/ips/IpsView.mxml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8"?>
<s:VGroup xmlns:fx="http://ns.adobe.com/mxml/2009"
                    xmlns:s="library://ns.adobe.com/flex/spark"
                    xmlns:mx="library://ns.adobe.com/flex/mx"
                    width="100%"
                    height="100%"
                    addedToStage="onAddedToStage()"
                    removedFromStage="onRemovedFromStage()"
          creationComplete="init()"
                    xmlns:ips="it.ht.rcs.console.operations.view.ips.*" >

    <fx:Script>
        <![CDATA[
      import it.ht.rcs.console.events.FilterEvent;
      import it.ht.rcs.console.events.RefreshEvent;
      import it.ht.rcs.console.evidence.controller.EvidenceManager;
      import it.ht.rcs.console.evidence.model.Evidence;
      import it.ht.rcs.console.operations.view.OperationsSection;
      import it.ht.rcs.console.operations.view.evidences.EvidenceAdvancedViewer;
      import it.ht.rcs.console.operations.view.evidences.EvidenceFileExporter;
      import it.ht.rcs.console.operations.view.evidences.ExportPopUp;
      import it.ht.rcs.console.utils.AlertPopUp;
      
      import locale.R;
      
      import mx.collections.ArrayCollection;
      import mx.controls.Alert;
      import mx.core.FlexGlobals;
      import mx.events.CloseEvent;
      import mx.managers.PopUpManager;
      import mx.rpc.events.ResultEvent;
      
      import spark.events.GridEvent;

            [Bindable]
            public var section:OperationsSection;

            [Bindable]
            public var dataProvider:ArrayCollection;

      private var exporter:EvidenceFileExporter;
      private var exportMonitor:ExportPopUp;

            private function onAddedToStage():void
            {
                EvidenceManager.instance.ipsFilter.target=section.stateManager.selectedTarget._id;
                EvidenceManager.instance.ipsFilter.agent=section.stateManager.selectedAgent._id;
        EvidenceManager.instance.ipsFilter.date='da';
        EvidenceManager.instance.ipsFilter.from="24h"
                FlexGlobals.topLevelApplication.addEventListener(FilterEvent.FILTER_CHANGED, onRefresh);
                FlexGlobals.topLevelApplication.addEventListener(RefreshEvent.REFRESH, onRefresh);
                onRefresh()

            }
      private function init():void
      {
        exporter=new EvidenceFileExporter();
      }

            private function openDetail():void
            {
                    /* viewer.currentItems=ipsGrid.selectedItems;
                    viewer.currentIndex=ipsGrid.selectedIndices[0];
                    viewer.visible=viewer.includeInLayout=true;
                    commandsGrid.visible=ipsGrid.includeInLayout=false; */
            }

            private function onViewerClose():void
            {
                closeViewer();
            }

            private function closeViewer():void
            {
            /*     viewer.visible=viewer.includeInLayout=false;
                //viewer.currentItem=null;
                commandsGrid.visible=commandsGrid.includeInLayout=true; */
            }

            private function onRefresh(e:Event=null):void
            {
                EvidenceManager.instance.ips(onIpsResult)
            }

            private function onIpsResult(e:ResultEvent):void
      {        
                    dataProvider=e.result as ArrayCollection;
          ipsGrid.scrollDown();
          
            }

            private function onRemovedFromStage():void
            {
                FlexGlobals.topLevelApplication.removeEventListener(RefreshEvent.REFRESH, onRefresh);

                /* if (viewer.visible)
                {
                    closeViewer();
                } */
            }

            private function onGridDoubleClick(e:GridEvent):void
            {
       
                //openDetail()
            }
      
      private function onExportStart(e:Event):void
      {
        exportMonitor=PopUpManager.createPopUp(this as DisplayObject, ExportPopUp, true) as ExportPopUp;
        exportMonitor.exporter=exporter;
        PopUpManager.centerPopUp(exportMonitor);
      }
      
      private function export():void
      {
        var toExport:Vector.<Object>=new Vector.<Object>
        toExport.push(ipsGrid.selectedItem);
        exporter.export(toExport);
        exporter.addEventListener(EvidenceFileExporter.EXPORT_START, onExportStart); 
      }
      
      private function onDelete():void
      {
        AlertPopUp.show(R.get('CONFIRM_IP_DELETION'), R.get('CONFIRM'),
          AlertPopUp.YES|AlertPopUp.NO, null,
          function(e:CloseEvent):void {
            if (e.detail == AlertPopUp.YES)
            {
              EvidenceManager.instance.removeIp(ipsGrid.selectedItem as Evidence, section.stateManager.selectedTarget);
              ipsGrid.dataProvider.removeItemAt(ipsGrid.selectedIndex);
              ipsGrid.selectedItem=actionBar.selectedObject=null
              //if (viewer.visible) closeViewer();
            }
          }, null, AlertPopUp.NO);   
      }
        ]]>
    </fx:Script>
  <ips:IpsActionBar selectedObject="{ipsGrid.selectedItem}" export="export()" delete="onDelete()" id="actionBar"/>
    
    <ips:IpsGrid id="ipsGrid"
                                                 dataProvider="{dataProvider}"
                                                 itemDoubleClick="onGridDoubleClick(event)"/>
</s:VGroup>