Hi,
I’m using version 0.21 on Mac OSX. In the following code, I have a MenuGrid class which has a property of type FileSource. When I use this class by setting the ImageFileSource property explicitly it works. But when I make databinding I get weird path error:
<Panel>
<JavaScript>
var Observable = require('FuseJS/Observable');
var menuItems = [{
"title": "Menu Item 01",
"iconFileName": "../../assets/icons/Like.png"
}, {
"title": "Menu Item 02",
"iconFileName": "../../assets/icons/Rules.png"
}, {
"title": "Menu Item 03",
"iconFileName": "../../assets/icons/Share.png"
}];
function clone(obj) {
return JSON.parse(JSON.stringify(obj));
}
function getMenuItems() {
return clone(menuItems);
}
exports.menuItems = getMenuItems();
</JavaScript>
<Grid ux:Class="MenuGrid" Background="White" Columns="3*,7*" ColumnCount="3" Padding="20,30">
<Uno.UX.FileSource ux:Property="ImageFileSource" />
<string ux:Property="MenuText" />
<Image File="{Property this.ImageFileSource}" Alignment="Left" Width="56" Height="56"/>
<Text FontSize="16" Margin="15,0,0,0" Alignment="CenterLeft" TextAlignment="Right" TextWrapping="Wrap" Value="{Property this.MenuText}" />
</Grid>
<!-- This is working -->
<!--
<StackPanel>
<MenuGrid Margin="0,10,0,0" ImageFileSource="../../assets/icons/Like.png" MenuText="Menu Item 01" />
<MenuGrid Margin="0,10,0,0" ImageFileSource="../../assets/icons/Rules.png" MenuText="Menu Item 02" />
<MenuGrid Margin="0,10,0,0" ImageFileSource="../../assets/icons/Share.png" MenuText="Menu Item 03" />
</StackPanel>
-->
<!-- This is NOT working. It gives ERROR! -->
<StackPanel>
<Each Items="{menuItems}">
<MenuGrid Margin="0,10,0,0" MenuText="{title}" ImageFileSource="{iconFileName}" />
</Each>
</StackPanel>
</Panel>
And here is the error that I get when I use databinding:
ERROR: Could not find a part of the path "/Applications/Sublime Text.app/Contents/MacOS/assets/icons/Like.png".
Is it a bug or am I missing something?
Thanks in advance,
Ipek