WhileVisibleInScrollView bug!

Hi! I have a Callback inside a WhileVisibleInScrollView but the trigger don’t call the MyFunction in the first items! Only in the items behind.

I made an example. How can I solve this?! Thanks!

<App>
	<JavaScript>
	var Observable = require("FuseJS/Observable");

	var Trigger = Observable("0");

	function MyFunction() {
		Trigger.value = parseInt(Trigger.value) + 1;
	}

	module.exports = {
		Trigger: Trigger,
		MyFunction: MyFunction
	}
	</JavaScript>
	<DockPanel>
		<ScrollView>
		    <StackPanel>
		        <Each Count="20">
		            <DockPanel ux:Name="theImage" Height="100" Margin="10">
		            	<Translation X="1" RelativeTo="Size" />
		                <Rectangle  Background="Red" />

		                <WhileVisibleInScrollView>
		                	<Move Target="theImage" X="-1" RelativeTo="Size" Duration="0.5" />
		                    <Change theImage.Visibility="Visible"/>
		                    <Callback Handler="{MyFunction}" />
		                </WhileVisibleInScrollView>
		            </DockPanel>
		        </Each>
		    </StackPanel>
		</ScrollView>
		<Panel Dock="Bottom" Height="60" Background="Black">
			<Text FontSize="20" Alignment="VerticalCenter" TextAlignment="Center" Value="{Trigger}" Color="White" TextWrapping="Wrap"/>
		</Panel>
	</DockPanel>
</App>

Hi,

gave your repro a go, and I immediately get a “5” on the screen as soon as I build it. This suggests that the triggers are indeed called for the initially visible items as they’re rooted.

Which Fuse version are you on, and which OS? On what target do you experience the problem; is it local preview, Android or iOS? Is there a difference between preview and build?

I get a “0” on the screen in preview and Android device (S8+) Fuse version 1.1.0 13798 Mac OSX

This is a defect in bundled fuselibs that shipped with the installer, and has likely been there for a while.

fuselibs-public now include a new WhileVisibleInScrollView trigger implementation seems to work as expected. For now, you can use a local checkout of fuselibs, but the fix should roll out in an installer some time soon.