function displayFields(fieldName:String, fieldXML:XML, field:Field):void { value = graphic.attributes[fieldName] ? String(graphic.attributes[fieldName]) : ""; if (value){ ......................................................... code truncated................................................. if (fieldName.toUpperCase() == queryTitleField.toUpperCase()){ title = value; if (!title) title = widgetTitle; } if (fieldName.toUpperCase() == queryMultiImgField.toUpperCase()) multi = value; if (fieldName.toUpperCase() != "SHAPE_LENGTH" && fieldName.toUpperCase() != "SHAPE_AREA" && fieldName.toUpperCase() != queryMultiImgField.toUpperCase() && fieldName.toUpperCase() != queryTitleField.toUpperCase()){ if(fieldXML){ if(fieldXML.@gridfieldonly[0] && fieldXML.@gridfieldonly[0] == "true" || fieldXML.@hyperlinkgridfieldonly[0] && fieldXML.@hyperlinkgridfieldonly[0] == "true"){ //ignore }else{ if(!excludeLinkinResults.contains(fieldName.toUpperCase())){ if (fieldXML && fieldXML.@alias[0]) content += "<b>" + fieldXML.@alias[0]; else content += "<b>" + featureSet.fieldAliases[fieldName]; content += ": </b><i>" + value + "</i><br>"; } } }else{ if(fieldName != "oid"){ if(!excludeLinkinResults.contains(fieldName.toUpperCase())){ content += "<b>" + featureSet.fieldAliases[fieldName]; content += ": </b><i>" + value + "</i><br>"; } } } } } graphic.checkForMouseListeners = false; ...............................................Code Truncated ............................................. } return result; }
import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow;
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth,unscaledHeight); if (searchResult) { if (lastResultSymbol !== searchResult.symbol) { if (resultIcon.numChildren > 0) { resultIcon.removeChildAt(0); } lastResultSymbol = searchResult.symbol; lastResultSwatch = lastResultSymbol.createSwatch(20, 20); } lContent.textFlow = TextConverter.importToFlow(searchResult.content, TextConverter.TEXT_FIELD_HTML_FORMAT); linkGroup.includeInLayout = linkGroup.visible = false; linkGroup.removeAllElements(); resultIcon.addChild(lastResultSwatch); selected = searchResult.selected; for(var l:int = 0; l < searchResult.links.length; l++){ if(searchResult.links.link){ var lImg:Image = new Image(); lImg.height = lImg.width = 20; lImg.buttonMode = true; lImg.useHandCursor = true; lImg.addEventListener(MouseEvent.CLICK, showLink); lImg.source = (searchResult.links.icon != "")?searchResult.links.icon:"assets/images/w_link.png"; lImg.name = searchResult.links.link; //lImg.toolTip = searchResult.links.link; lImg.includeInLayout = lImg.visible = true; linkGroup.addElement(lImg); } } var rImg:Image = new Image(); rImg.width = rImg.height = 20; rImg.buttonMode = rImg.useHandCursor = true; rImg.addEventListener(MouseEvent.CLICK, showRelate); rImg.includeInLayout = searchResult.relates != null; rImg.source = relateicon; rImg.toolTip = relatetooltip; rImg.visible = searchResult.relates != null; linkGroup.addElement(rImg); if(searchResult.links[0].link) linkGroup.includeInLayout = linkGroup.visible = true; if(searchResult.relates != null) linkGroup.includeInLayout = linkGroup.visible = true; relateicon = (searchResult.relateicon != null)?searchResult.relateicon:"widgets/eSearch/assets/images/i_relate.png"; relatetooltip = (searchResult.relatetooltip != null)?searchResult.relatetooltip:"Show relates"; } }
<s:VGroup width="100%" height="100%" verticalAlign="middle"> <s:Label width="100%" fontWeight="bold" maxDisplayedLines="1" text="{searchResult.title}"/> <s:RichText id="lContent" fontWeight="normal" styleName="RecordText" width="100%"/> <!--<s:Label width="100%" fontWeight="normal" maxDisplayedLines="-1" text="{searchResult.content}"/>--> </s:VGroup>
<?xml version="1.0" encoding="utf-8"?> <!-- //////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2010 ESRI // // All rights reserved under the copyright laws of the United States. // You may freely redistribute and use this software, with or // without modification, provided you include the original copyright // and use restrictions. See use restrictions in the file: // <install location>/License.txt // //////////////////////////////////////////////////////////////////////////////// --> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" autoDrawBackground="false" click="itemrenderer_clickHandler(event)" minHeight="30" dataChange="itemrenderer1_dataChangeHandler(event)" mouseOut="itemrenderer_mouseOutHandler(event)" mouseOver="itemrenderer_mouseOverHandler(event)"> <fx:Script> <![CDATA[ import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow; import com.esri.ags.symbols.Symbol; import mx.controls.Image; import mx.events.FlexEvent; private const SEARCH_RESULT_CLICK:String = "searchResultClick"; private const SEARCH_RESULT_RELATE_CLICK:String = "searchResultRelateClick"; private const SEARCH_RESULT_MOUSE_OVER:String = "searchResultMouseOver"; private const SEARCH_RESULT_MOUSE_OUT:String = "searchResultMouseOut"; [Bindable] private var searchResult:SearchResult; private var lastResultSymbol:Symbol; private var lastResultSwatch:UIComponent; [Bindable] private var linkicon:String; [Bindable] private var relateicon:String; [Bindable] private var relatetooltip:String; /* override public function set data(value:Object):void { super.data = value; searchResult = data as SearchResult; } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth,unscaledHeight); } */ private function itemrenderer_clickHandler(event:MouseEvent):void { dispatchEvent(new Event(SEARCH_RESULT_CLICK, true)); // bubbles } private function itemrenderer_mouseOverHandler(event:MouseEvent):void { dispatchEvent(new Event(SEARCH_RESULT_MOUSE_OVER, true)); // bubbles } private function itemrenderer_mouseOutHandler(event:MouseEvent):void { dispatchEvent(new Event(SEARCH_RESULT_MOUSE_OUT, true)); // bubbles } private function showLink(event:MouseEvent):void { event.stopImmediatePropagation(); // don't dispatch ID_RESULT_CLICK since we don't want to zoom to feature navigateToURL(new URLRequest(event.currentTarget.name)); } private function showRelate(event:MouseEvent):void { event.stopImmediatePropagation(); // don't dispatch SEARCH_RESULT_CLICK since we don't want to zoom to feature dispatchEvent(new Event(SEARCH_RESULT_RELATE_CLICK, true)); // bubbles } protected function itemrenderer1_dataChangeHandler(event:FlexEvent):void { searchResult = data as SearchResult; if (searchResult) { if (lastResultSymbol !== searchResult.symbol) { if (resultIcon.numChildren > 0) { resultIcon.removeChildAt(0); } lastResultSymbol = searchResult.symbol; lastResultSwatch = lastResultSymbol.createSwatch(20, 20); } lContent.textFlow = TextConverter.importToFlow(searchResult.content, TextConverter.TEXT_FIELD_HTML_FORMAT); linkGroup.includeInLayout = linkGroup.visible = false; linkGroup.removeAllElements(); resultIcon.addChild(lastResultSwatch); selected = searchResult.selected; for(var l:int = 0; l < searchResult.links.length; l++){ if(searchResult.links.link){ var lImg:Image = new Image(); lImg.height = lImg.width = 20; lImg.buttonMode = true; lImg.useHandCursor = true; lImg.addEventListener(MouseEvent.CLICK, showLink); lImg.source = (searchResult.links.icon != "")?searchResult.links.icon:"assets/images/w_link.png"; lImg.name = searchResult.links.link; //lImg.toolTip = searchResult.links.link; lImg.includeInLayout = lImg.visible = true; linkGroup.addElement(lImg); } } var rImg:Image = new Image(); rImg.width = rImg.height = 20; rImg.buttonMode = rImg.useHandCursor = true; rImg.addEventListener(MouseEvent.CLICK, showRelate); rImg.includeInLayout = searchResult.relates != null; rImg.source = relateicon; rImg.toolTip = relatetooltip; rImg.visible = searchResult.relates != null; linkGroup.addElement(rImg); if(searchResult.links[0].link) linkGroup.includeInLayout = linkGroup.visible = true; if(searchResult.relates != null) linkGroup.includeInLayout = linkGroup.visible = true; relateicon = (searchResult.relateicon != null)?searchResult.relateicon:"widgets/eSearch/assets/images/i_relate.png"; relatetooltip = (searchResult.relatetooltip != null)?searchResult.relatetooltip:"Show relates"; } } ]]> </fx:Script> <s:states> <s:State name="normal"/> <s:State name="hovered"/> <s:State name="selected"/> </s:states> <!-- border/background rectangle --> <s:Rect left="0" right="0" top="0" bottom="0" radiusX="4" radiusY="4"> <s:stroke> <mx:SolidColorStroke alpha="{getStyle('borderAlpha')}" color="{getStyle('borderColor')}" weight="1"/> </s:stroke> <s:fill> <mx:SolidColor alpha="0.3" alpha.hovered="0.8" color.hovered="{getStyle('rollOverColor')}" alpha.selected="1" color.selected="{getStyle('rollOverColor')}" color.normal="{getStyle('contentBackgroundColor')}"/> </s:fill> </s:Rect> <s:VGroup minHeight="30" paddingLeft="5" paddingRight="5" paddingBottom="2" paddingTop="4" width="97%" verticalAlign="middle"> <s:HGroup width="100%" height="100%" paddingBottom="3" paddingLeft="3" paddingRight="3" paddingTop="3" verticalAlign="middle"> <mx:UIComponent id="resultIcon" width="100%" height="100%" maxHeight="20" maxWidth="20"> <mx:filters> <mx:GlowFilter alpha="0.5" blurX="10" blurY="10" color="#000000"/> </mx:filters> </mx:UIComponent> <s:VGroup width="100%" height="100%" verticalAlign="middle"> <s:Label width="100%" fontWeight="bold" maxDisplayedLines="1" text="{searchResult.title}"/> <s:RichText id="lContent" fontWeight="normal" styleName="RecordText" width="100%"/> <!--<s:Label width="100%" fontWeight="normal" maxDisplayedLines="-1" text="{searchResult.content}"/>--> </s:VGroup> </s:HGroup> <s:HGroup gap="8" id="linkGroup" height="18" verticalAlign="middle" horizontalAlign="center" width="100%" includeInLayout="false" visible="false"> </s:HGroup> </s:VGroup> </s:ItemRenderer>
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.