hackedteam/rcs-console

View on GitHub
src/it/ht/rcs/console/operations/view/evidences/advanced/viewers/Addressbook.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"
                                     height="100%"
                                     width="100%"
                                     borderColor="0xCCCCCC"
                                     backgroundColor="0xFFFFFF"
                                     backgroundAlpha="1">
    <fx:Script>
        <![CDATA[
            import flashx.textLayout.conversion.TextConverter;
            import mx.collections.ArrayCollection;
      import locale.R;

            import it.ht.rcs.console.operations.view.evidences.renderers.ChatIcons;

            [Embed(source="img/evidence/contact.jpg")]
            [Bindable]
            public var contactImage:Class;

            private var _evidence:Object;

            [Bindable]
            private var info:String;

            [Bindable]
            private var ImageClass:Class;

            [Bindable]
            public var idVisible:Boolean;

            [Embed('/img/NEW/target_16.png')]
            private static const targetIcon:Class;

            [Bindable]
            public function set evidence(value:Object):void
            {
                _evidence=value;
                if (evidence.data.program)
                    ImageClass=ChatIcons[evidence.data.program.toLowerCase()]

                info=""

                //contentTxt.textFlow.columnCount=3;
          if(!evidence.data.info) return
                var infoRows:Array=evidence.data.info.split("\n");
                for (var i:int=0; i < infoRows.length; i++)
                {
                    var infoRow:Array=infoRows[i].split(":");

                    if (infoRow[0] != "")
                    {
                        if (infoRow[1])
                        {
              info+=("<b>" + infoRow[0] + ": </b>")
              for(var r:int=1;r<infoRow.length;r++)
              {
                info+=infoRow[r]
                if(r<infoRow.length-1)
                  info+=":";
              }
              info+="<BR>"
                        }
                        else
                        {
                            info+=("<b>" + infoRow[0] + "</b>" + "<BR>");
                        }
                    }
                }
            }

            public function get evidence():Object
            {
                return _evidence; //name, contact, info
            }

            private function lineBreak(s:String):String
            {
                var result:String=s.replace(new RegExp("\n", "g"), "<br>");
                return result;
            }
        ]]>
    </fx:Script>
    <s:layout>
        <s:HorizontalLayout paddingBottom="10"
                                                paddingLeft="10"
                                                paddingRight="10"
                                                paddingTop="20"/>
    </s:layout>
    <s:BorderContainer width="104"
                                         height="104">
        <s:BitmapImage source="{contactImage}"
                                     x="1"
                                     y="1"/>
    </s:BorderContainer>
    <s:VGroup width="100%"
                        height="100%"
                        clipAndEnableScrolling="true">

        <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="NameTxt"
                                width="100%"
                                textFlow="{TextConverter.importToFlow('&lt;b&gt;'+R.get('NAME')+': &lt;/b&gt;'+evidence.data.name, TextConverter.TEXT_FIELD_HTML_FORMAT)}"
                                fontSize="12"/>
        <s:Line width="100%">
            <s:stroke>
                <s:SolidColorStroke color="0xCCCCCC"/>
            </s:stroke>
        </s:Line>
        <s:HGroup verticalAlign="middle"
                            width="100%">
            <s:BitmapImage width="16"
                                         height="16"
                                         source="{ImageClass}"
                                         visible="{evidence.data.program!=null}"
                                         includeInLayout="{evidence.data.program!=null}"/>
            <s:RichText id="programTxt"
                                    textFlow="{TextConverter.importToFlow('&lt;b&gt;'+evidence.data.program+'&lt;/b&gt;', TextConverter.TEXT_FIELD_HTML_FORMAT)}"
                                    fontSize="12"
                                    visible="{evidence.data.program!=null}"
                                    includeInLayout="{evidence.data.program!=null}"/>

        </s:HGroup>
        <s:HGroup verticalAlign="middle">
            <s:Image width="16"
                             height="16"
                             source="{targetIcon}"
                             visible="{evidence.data.type=='target'}"
                             includeInLayout="{evidence.data.type=='target'}"
                             toolTip="target"/>
            <s:RichText id="typeTxt"
                                    width="100%"
                                    textFlow="{TextConverter.importToFlow(' ('+evidence.data.type+')', TextConverter.TEXT_FIELD_HTML_FORMAT)}"
                                    fontSize="12"
                                    visible="{evidence.data.type!='peer' &amp;&amp; evidence.data.type!=null}"
                                    includeInLayout="{evidence.data.type!='peer' &amp;&amp; evidence.data.type!=null}"/>
        </s:HGroup>

        <s:RichText id="serviceTxt"
                                width="100%"
                                textFlow="{TextConverter.importToFlow('&lt;b&gt;'+R.get('CONTACT')+': &lt;/b&gt;'+evidence.data.contact, TextConverter.TEXT_FIELD_HTML_FORMAT)}"
                                fontSize="12"
                                visible="{evidence.data.contact!='' &amp;&amp; evidence.data.contact!=null}"
                                includeInLayout="{evidence.data.contact!=''  &amp;&amp; evidence.data.contact!=null}"/>
    
    <s:Line width="100%"
            visible="{evidence.data.contact!='' &amp;&amp; evidence.data.contact!=null}"
            includeInLayout="{evidence.data.contact!=''  &amp;&amp; evidence.data.contact!=null}">
      <s:stroke>
        <s:SolidColorStroke color="0xCCCCCC"/>
      </s:stroke>
    </s:Line>
  <s:HGroup width="100%" height="100%">
  <s:RichEditableText lineHeight="18"
                      editable="false"
                      clipAndEnableScrolling="true"
                      width="100%"
                      height="100%"
                      id="contentTxt"
                      textFlow="{TextConverter.importToFlow(info, TextConverter.TEXT_FIELD_HTML_FORMAT)}"
                      fontSize="12"/>
  <s:VScrollBar viewport="{contentTxt}" height="100%"/>
</s:HGroup>
    

    </s:VGroup>
</s:BorderContainer>