The Icon property of Navigation Items is not applying merge syntax. Merge syntax is applied on icon properties in other components (e.g. table row action, page title button, etc.) and the navigation item does apply merge syntax on the label property.
Applying merge syntax to icons was an enhancement in Spring '14 (https://community.skuid.com/t/skuid-should-process-merge-syntax-in-button-icons-to-all…) so it appears that it was overlooked with navigation items.
Steps to repro:
- Create page using sample XML below
- Preview page
Expected Result - cssclass attribute of nav item should include myicon-IDOFACCOUNT
Actual Result - cssclass attribute of nav item is “myicon-{{$Model.Account.data.0.Id}}”
** Sample page demonstrates merge syntax applied to icon property of page title.
Sample Page XML
<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true" tabtooverride="Account"> <models>
<model id="Account" limit="1" query="true" createrowifnonefound="false" sobject="Account">
<fields>
<field id="Name"/>
<field id="CreatedDate"/>
</fields>
<conditions>
<condition type="param" enclosevalueinquotes="true" operator="=" field="Id" value="id"/>
</conditions>
<actions/>
</model>
</models>
<components>
<navigation uniqueid="sk-3ZTCRF-97">
<navigationitems>
<navigationitem label="{{$Model.Account.data.0.Name}}" icon="myicon-{{$Model.Account.data.0.Id}}">
<actions>
<action type="redirect" window="self"/>
</actions>
</navigationitem>
</navigationitems>
</navigation>
<pagetitle model="Account" uniqueid="sk-3ZT0iH-67">
<maintitle>
<template>{{Name}}</template>
</maintitle>
<subtitle>
<template>{{Model.label}}</template>
</subtitle>
<actions>
<action type="multi" label="{{Name}}" icon="myicon-{{Id}}"/>
</actions>
</pagetitle>
</components>
<resources>
<labels/>
<css/>
<javascript/>
</resources>
<styles>
<styleitem type="background" bgtype="none"/>
</styles>
</skuidpage>