fuselibs icon indicating copy to clipboard operation
fuselibs copied to clipboard

Slider inside NativeViewHost

Open trusis666 opened this issue 6 years ago • 0 comments

Reported in forum.

Fuse 1.8.1 MacOs High Sierra Tested on: Nexus 5 / Android 6.0 iPhone 7 / iOs 11.3

On Android Slider wrapped inside NativeViewHost incorectly calculates value from JS. Slider without NativeViewHost works as expected.

Expected: The value on Android should increment by "1" (one) and not that "random" value.

Code to reproduce:

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

    function update(){
        for(let i = 0, length = 10; i < length; i++){
            sliderValue.value = sliderValue.value + 1;
            nativeSliderValue.value = nativeSliderValue.value + 1;
            console.log("Slider value:" + sliderValue.value);
            console.log("Native slider value:" + nativeSliderValue.value);
        }
    }

    module.exports = {
        sliderValue: sliderValue,
        nativeSliderValue: nativeSliderValue,
        update: update
    }

    </JavaScript>
    <ClientPanel>
        <StackPanel>
            <Button Text="Click" Clicked="{update}" Height="100" />
            <Slider Value="{sliderValue}"/>
            <NativeViewHost>
                <Slider Value="{nativeSliderValue}"/>
            </NativeViewHost>
        </StackPanel>
    </ClientPanel>
</App>

Fuse Studio log:

...
[Viewport]: Native slider value:88
[Viewport]: Slider value:89
[Viewport]: Native slider value:89
[Viewport]: Slider value:90
[Viewport]: Native slider value:90
[Viewport]: Slider value:91
[Viewport]: Native slider value:91
[Viewport]: Slider value:92
[Viewport]: Native slider value:92
[Viewport]: Slider value:93
[Viewport]: Native slider value:93
[Viewport]: Slider value:94
[Viewport]: Native slider value:94
[Viewport]: Slider value:95
[Viewport]: Native slider value:95
[Viewport]: Slider value:96
[Viewport]: Native slider value:96
[Viewport]: Slider value:97
[Viewport]: Native slider value:97
[Viewport]: Slider value:98
[Viewport]: Native slider value:98
[Viewport]: Slider value:99
[Viewport]: Native slider value:99
[Viewport]: Slider value:100
[Viewport]: Native slider value:100

Android log:

...
[Nexus 5]: Slider value:88
[Nexus 5]: Native slider value:53.800000000000004
[Nexus 5]: Slider value:89
[Nexus 5]: Native slider value:54.800000000000004
[Nexus 5]: Slider value:90
[Nexus 5]: Native slider value:55.800000000000004
[Nexus 5]: Slider value:91
[Nexus 5]: Native slider value:51.8
[Nexus 5]: Slider value:92
[Nexus 5]: Native slider value:52.8
[Nexus 5]: Slider value:93
[Nexus 5]: Native slider value:53.8
[Nexus 5]: Slider value:94
[Nexus 5]: Native slider value:54.8
[Nexus 5]: Slider value:95
[Nexus 5]: Native slider value:55.8
[Nexus 5]: Slider value:96
[Nexus 5]: Native slider value:56.8
[Nexus 5]: Slider value:97
[Nexus 5]: Native slider value:57.8
[Nexus 5]: Slider value:98
[Nexus 5]: Native slider value:58.8
[Nexus 5]: Slider value:99
[Nexus 5]: Native slider value:59.8
[Nexus 5]: Slider value:100
[Nexus 5]: Native slider value:60.8

iOs log:

...
[Arturs’s iPhone]: Slider value:88
[Arturs’s iPhone]: Native slider value:88
[Arturs’s iPhone]: Slider value:89
[Arturs’s iPhone]: Native slider value:89
[Arturs’s iPhone]: Slider value:90
[Arturs’s iPhone]: Native slider value:90
[Arturs’s iPhone]: Slider value:91
[Arturs’s iPhone]: Native slider value:91
[Arturs’s iPhone]: Slider value:92
[Arturs’s iPhone]: Native slider value:92
[Arturs’s iPhone]: Slider value:93
[Arturs’s iPhone]: Native slider value:93
[Arturs’s iPhone]: Slider value:94
[Arturs’s iPhone]: Native slider value:94
[Arturs’s iPhone]: Slider value:95
[Arturs’s iPhone]: Native slider value:95
[Arturs’s iPhone]: Slider value:96
[Arturs’s iPhone]: Native slider value:96
[Arturs’s iPhone]: Slider value:97
[Arturs’s iPhone]: Native slider value:97
[Arturs’s iPhone]: Slider value:98
[Arturs’s iPhone]: Native slider value:98
[Arturs’s iPhone]: Slider value:99
[Arturs’s iPhone]: Native slider value:99
[Arturs’s iPhone]: Slider value:100
[Arturs’s iPhone]: Native slider value:100

trusis666 avatar Apr 13 '18 09:04 trusis666