hackedteam/rcs-console

View on GitHub
src/it/ht/rcs/console/operations/view/evidences/advanced/viewers/Camera.mxml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer 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:viewers="it.ht.rcs.console.operations.view.evidences.advanced.viewers.*"
                   height="100%"
                   width="100%"
                   borderColor="0xCCCCCC"
                   backgroundColor="0xFFFFFF"
                   backgroundAlpha="1" >
  <s:layout>
    <s:VerticalLayout paddingBottom="10"
                      paddingLeft="10"
                      paddingRight="10"
                      paddingTop="10"
                      />
  </s:layout>
  <fx:Script>
    <![CDATA[
      import flashx.textLayout.conversion.TextConverter;
      
      import it.ht.rcs.console.DB;
      import it.ht.rcs.console.entities.controller.EntityManager;
      import it.ht.rcs.console.entities.model.Entity;
      import it.ht.rcs.console.evidence.controller.EvidenceManager;
      import it.ht.rcs.console.evidence.model.Evidence;
      import it.ht.rcs.console.notifications.NotificationPopup;
      
      import mx.collections.ListCollectionView;
      import mx.controls.Alert;
      import mx.rpc.events.ResultEvent;
      
      import locale.R;
      
      private var _evidence:Evidence;
      
      [Bindable]
      private var _url:String;
      
      public var target:String;
      
      [Bindable]
      public var idVisible:Boolean;
      
      [Bindable]
      public function set evidence(value:Evidence):void
      {
        _evidence=value;
        if(!value)
          return;
        
        target=EvidenceManager.instance.evidenceFilter.target;
        if(DB.instance.demo)
        {
          _url="grid/" + evidence.data._grid;
        }
        else
        {
          _url=DB.hostAutocomplete(Console.currentSession.server) + "grid/" + evidence.data._grid + "?target_id=" + encodeURIComponent(target);
        }
        imageViewer.url=_url;
       
      }
      
      public function get evidence():Evidence
      {
        return _evidence; 
      }
      
      private function init():void
      {
        target=EvidenceManager.instance.evidenceFilter.target;
      }
      
      public function reset():void
      {
        imageViewer.reset();
      }
      
      private function addPhoto():void
      {
       var gridId:String=evidence.data._grid;
       var targetId:String=target;
       var entity:Entity=EntityManager.instance.getEntityByTarget(targetId);
       EntityManager.instance.addPhotoFromGrid(entity._id, gridId, targetId, onPhotoAdded)  //ENTITY MANAGER
      }
      
      private function onPhotoAdded(e:ResultEvent):void
      {
        NotificationPopup.showNotification(R.get('PHOTO_ADDED_TO_ENTITY'), 2)
      }
 
    ]]>
  </fx:Script>
  <s:RichText id="idTxt"
              width="100%"
              textFlow="{TextConverter.importToFlow('&lt;b&gt;Id: &lt;/b&gt;'+evidence._id, TextConverter.TEXT_FIELD_HTML_FORMAT)}"
              fontSize="12" visible="{idVisible}" includeInLayout="{idVisible}"/>
  <s:Line width="100%" visible="{idVisible}" includeInLayout="{idVisible}">
    <s:stroke>
      <s:SolidColorStroke color="0xCCCCCC"/>
    </s:stroke>
  </s:Line>
<viewers:ImageViewer id="imageViewer" url="{_url}" type="{evidence.type}" photoAdd="addPhoto()"/>
</s:BorderContainer>