<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Unique Value Renderer - use a local variable in Java Script in Value Expression in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238631#M22177</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot &lt;A href="https://community.esri.com/migrated-users/105703"&gt;Kristian Ekenes&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;You have been my saviour and I realized the mistake I was doing. I had encapsulated the JS part as ${routeName} but was missing the single quotes '' as '${routeName}' - without this I was still getting invalid TOKEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its working seamlessly now as I wanted it to work. Lot of learning!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Jun 2020 03:50:29 GMT</pubDate>
    <dc:creator>GeorgeAbraham</dc:creator>
    <dc:date>2020-06-04T03:50:29Z</dc:date>
    <item>
      <title>Unique Value Renderer - use a local variable in Java Script in Value Expression</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238627#M22173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts / &lt;A href="https://community.esri.com/migrated-users/105703"&gt;Kristian Ekenes&lt;/A&gt;,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately I don't have a working example to share as the data that I am working on is client sensitive.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using a Unique Value Renderer to colour various types of pipelines with the PRODUCT feature/attribute and it works fine without a value expression.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my JS code, I have a variable, say routeName which has a name say "ABC". Now what I need is the value expression to consider the local variable which is not happening &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/sad.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also tried with field and field1 and filedDelimiter as ",', but even this is not working. Need help on how to access this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;The whole idea is if I select a particular route on the map, I need to change the opacity of the other routes in this layer, so if I can get this to work, then I can add the opacity.&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;var routeName = "ABC";&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;var pipelineRenderer = {renderer: {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; type: "unique-value",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; field: "PRODUCT",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; valueExpression: "When($feature.PRODUCT = "OIL" &lt;STRONG&gt;&amp;amp;&amp;amp; $feature.ROUTE_NAME != routeName&lt;/STRONG&gt;, 'OIL', $feature.PRODUCT = "GAS" &lt;STRONG&gt;&amp;amp;&amp;amp; $feature.ROUTE_NAME != routeName&lt;/STRONG&gt;, 'GAS', 'OTHERS')",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; defaultSymbol: {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; type: "simple-line",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; color: "black",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; width: 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; },&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; uniqueValueInfos: [&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; value: 'OIL',&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; symbol: {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; type: "simple-line",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; color: "red",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; width: 3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; },&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; value: 'GAS',&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; symbol: {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; type: "simple-line",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; color: "yellow",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; width: 2.5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt; ]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt;}}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;pipeLineLayer.set(pipelineRenderer);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #000000;"&gt;pipeLineLayer.refresh();&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I even tried to do below but its throwing Syntax Error - if I can access the DOM and take the value which I can use in my When expression, that should also work:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="border: 0px;"&gt;valueExpression:&lt;/SPAN&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px;"&gt;`&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV style="color: #d4d4d4; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #000000; border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;selectFilter&amp;nbsp;=&amp;nbsp;document.getElementsByTagName("select");&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #d4d4d4; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #000000; border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;opts&amp;nbsp;=&amp;nbsp;selectFilter[0].options;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #d4d4d4; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #000000; border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;route&amp;nbsp;=&amp;nbsp;selectFilter.item(0).item(selectFilter.item(0).selectedIndex).value.split("|")[0].split(":")[1].trim();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #d4d4d4; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #000000; border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console("Selected&amp;nbsp;Route:&amp;nbsp;"&amp;nbsp;+&amp;nbsp;&amp;nbsp;route);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #d4d4d4; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When($feature.PRODUCT&amp;nbsp;==&amp;nbsp;'GAS',&amp;nbsp;'GAS',&amp;nbsp;$feature.PRODUCT&amp;nbsp;==&amp;nbsp;'OIL',&amp;nbsp;'OIL',&amp;nbsp;'OTHERS')`&lt;/SPAN&gt;&lt;SPAN style="border: 0px;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jun 2020 17:16:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238627#M22173</guid>
      <dc:creator>GeorgeAbraham</dc:creator>
      <dc:date>2020-06-02T17:16:51Z</dc:date>
    </item>
    <item>
      <title>Re: Unique Value Renderer - use a local variable in Java Script in Value Expression</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238628#M22174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not sure doing this via the renderer is the best way to handle this use case.&amp;nbsp; Have you instead tried looking at the&amp;nbsp; &lt;A href="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html#effect"&gt;effect&amp;nbsp;&lt;/A&gt;(&lt;A href="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-support-FeatureEffect.html"&gt;FeatureEffect&lt;/A&gt;) property of the FeatureLayerView?&amp;nbsp; By setting the effect property you can configure the FeatrueLayerView to display features that don't have a specific route name to be more transparent.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2020 15:11:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238628#M22174</guid>
      <dc:creator>JohnGrayson</dc:creator>
      <dc:date>2020-06-03T15:11:02Z</dc:date>
    </item>
    <item>
      <title>Re: Unique Value Renderer - use a local variable in Java Script in Value Expression</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238629#M22175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey George,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I agree with John's suggestion. It might be better to try FeatureEffect in this case. That way you can set a renderer that's less complicated, and have a cleaner way of de-emphasizing non-selected values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you're still going down the renderer route...the Arcade expression is referring to DOM elements which technically isn't allowed in arcade. You're already half way there using a template literal, but you need to wrap the JS parts in ${} to make this valid arcade:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-javascript line-numbers"&gt;&lt;CODE&gt;`&lt;SPAN class="token function"&gt;When&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;$feature&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PRODUCT &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"OIL"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; $feature&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ROUTE_NAME &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'${routeName}'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'OIL'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; $feature&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;PRODUCT &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"GAS"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; $feature&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ROUTE_NAME &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'${routeName}'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'GAS'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'OTHERS'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;`&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kristian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2020 18:42:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238629#M22175</guid>
      <dc:creator>KristianEkenes</dc:creator>
      <dc:date>2020-06-03T18:42:26Z</dc:date>
    </item>
    <item>
      <title>Re: Unique Value Renderer - use a local variable in Java Script in Value Expression</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238630#M22176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot &lt;A href="https://community.esri.com/migrated-users/9440"&gt;John Grayson&lt;/A&gt;&amp;nbsp;- something new for me to try out/explore definitely, however, for the time being since I had almost made it with new renderer, I will go with Kristian's comment/changes. No hard feelings! Cheers!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2020 03:48:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238630#M22176</guid>
      <dc:creator>GeorgeAbraham</dc:creator>
      <dc:date>2020-06-04T03:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: Unique Value Renderer - use a local variable in Java Script in Value Expression</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238631#M22177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot &lt;A href="https://community.esri.com/migrated-users/105703"&gt;Kristian Ekenes&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;You have been my saviour and I realized the mistake I was doing. I had encapsulated the JS part as ${routeName} but was missing the single quotes '' as '${routeName}' - without this I was still getting invalid TOKEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its working seamlessly now as I wanted it to work. Lot of learning!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2020 03:50:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/unique-value-renderer-use-a-local-variable-in-java/m-p/238631#M22177</guid>
      <dc:creator>GeorgeAbraham</dc:creator>
      <dc:date>2020-06-04T03:50:29Z</dc:date>
    </item>
  </channel>
</rss>

