Tested on local preview with Fuse 0.30, 0.29, 0.26 and 0.20.
The following WhileCount
trigger always evaluates to true, although it shouldn’t: <WhileCount Items="{list}" GreaterThan="1" LessThan="4">
Full code for repro:
<App>
<JavaScript>
var Observable = require('FuseJS/Observable');
var displayList = Observable();
function add() {
displayList.add({});
};
function remove() {
if (displayList.length > 0) {
displayList.removeAt(0);
}
};
module.exports = {
list: displayList,
count: displayList.count(),
add: add,
remove: remove
};
</JavaScript>
<DockPanel>
<StackPanel Dock="Top" Padding="10" ItemSpacing="10">
<StackPanel Orientation="Horizontal" ItemSpacing="5" Alignment="HorizontalCenter">
<Text Value="Items:" Alignment="Center" Color="#000" FontSize="32" />
<Text Value="{count}" Alignment="Center" Color="#000" FontSize="32" />
</StackPanel>
<StackPanel Orientation="Horizontal" ItemSpacing="10" Alignment="HorizontalCenter">
<Panel Width="50" Height="50" Clicked="{remove}">
<Text Value="-" Alignment="Center" Color="#fff" FontSize="42" />
<Rectangle Color="#ff5722" CornerRadius="2" />
</Panel>
<Panel Width="50" Height="50" Clicked="{add}">
<Text Value="+" Alignment="Center" Color="#fff" FontSize="42" />
<Rectangle Color="#4caf50" CornerRadius="2" />
</Panel>
</StackPanel>
</StackPanel>
<Panel Dock="Top">
<!-- <WhileEmpty Items="{list}">
<Text Alignment="Center" TextAlignment="Center" Value="No items. Click the + button!" Margin="20" />
</WhileEmpty> -->
<WhileCount Items="{list}" GreaterThan="1" LessThan="4">
<Text Alignment="Center" TextAlignment="Center" Value="Good going. Add some more!" Margin="20" />
</WhileCount>
<!-- <WhileCount Items="{list}" GreaterThan="3">
<Text Alignment="Center" TextAlignment="Center" Value="Right on. Keep pushing!" Margin="20" />
</WhileCount> -->
</Panel>
<WrapPanel Dock="Fill">
<Each Items="{list}">
<Circle Width="10" Height="10" Color="#18f" Margin="5" />
</Each>
</WrapPanel>
</DockPanel>
</App>