src/it/ht/rcs/console/operations/view/evidences/advanced/viewers/Call.mxml
<?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.evidence.controller.EvidenceManager;
import it.ht.rcs.console.evidence.model.Evidence;
import it.ht.rcs.console.utils.TimeUtils;
import locale.R;
private var _evidence:Evidence;
[Bindable]
private var _url:String;
public var target:String;
[Bindable]
public var idVisible:Boolean;
private var from:String;
private var to:String;
[Bindable]
[Embed(source="/img/mediaplayers/recording.swf")]
public var RecordingIcon:Class;
[Bindable]
public function set evidence(value:Evidence):void
{
player.reset()
_evidence=value;
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);
}
if (evidence.type == "call" && evidence.data._grid != null)
{
player.sound=_url;
player.date=evidence.da
}
//peer
if (evidence.data.rcpt_display != null && evidence.data.rcpt_display != "")
{
to=evidence.data.rcpt_display
}
else if (evidence.data.rcpt != null && evidence.data.rcpt != "")
{
to=evidence.data.rcpt
}
else if (evidence.data.peer != null && evidence.data.peer != "")
{
to=evidence.data.peer
}
else
{
to="-"
}
if (evidence.data.from_display != null && evidence.data.from_display != "")
{
from=evidence.data.from_display
}
else if (evidence.data.from != null && evidence.data.from != "")
{
from=evidence.data.from;
}
else if (evidence.data.caller != null && evidence.data.caller != "")
{
from=evidence.data.caller;
}
else
{
from="-"
}
peerTxt.textFlow=TextConverter.importToFlow("<b>"+R.get('FROM')+": </b>" + from + " | <b>"+R.get('TO')+": </b>" + to, TextConverter.TEXT_FIELD_HTML_FORMAT);
recordingBox.visible=false;
if (evidence.data.status == "recording")
{
recordingBox.visible=true;
}
}
public function get evidence():Evidence
{
return _evidence;
}
private function init():void
{
target=EvidenceManager.instance.evidenceFilter.target;
}
public function reset():void
{
trace("viewer onHide")
player.reset()
}
]]>
</fx:Script>
<s:RichText id="idTxt"
width="100%"
textFlow="{TextConverter.importToFlow('<b>Id: </b>'+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>
<s:RichText id="programTxt"
textFlow="{TextConverter.importToFlow('<b>'+R.get('PROGRAM')+': </b>'+evidence.data.program, TextConverter.TEXT_FIELD_HTML_FORMAT)}"
fontSize="12"/>
<s:Line width="100%">
<s:stroke>
<s:SolidColorStroke color="0xCCCCCC"/>
</s:stroke>
</s:Line>
<s:RichText id="peerTxt"
fontSize="12"/>
<s:Line width="100%">
<s:stroke>
<s:SolidColorStroke color="0xCCCCCC"/>
</s:stroke>
</s:Line>
<s:HGroup id="recordingBox"
horizontalAlign="right"
visible="false">
<s:SWFLoader source="{RecordingIcon}"/>
<s:Label text="Recording..."/>
</s:HGroup>
<viewers:AudioPlayer id="player"
visible="{evidence.data._grid!=null}"/>
</s:BorderContainer>