hackedteam/rcs-console

View on GitHub
src/it/ht/rcs/console/operations/view/evidences/advanced/viewers/Call.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.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('&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>
    <s:RichText id="programTxt"
                            textFlow="{TextConverter.importToFlow('&lt;b&gt;'+R.get('PROGRAM')+': &lt;/b&gt;'+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>