fuse-open / fuselibs

Fuselibs is the Uno-libraries that provide the UI framework used in Fuse apps
https://npmjs.com/package/@fuse-open/fuselibs
MIT License
176 stars 72 forks source link

Introduce new type of Panel: CollectionPanel #1446

Closed ichan-mb closed 2 years ago

ichan-mb commented 2 years ago

CollectionPanel is a new and straightway to create a Panel with ColumnLayout. All public property of the ColumnLayout now accessible on the new CollectionPanel

Example:

<CollectionPanel GroupCount="3">
    <Each Count="12">
        <Circle Margin="5" Color="Blue" />
    </Each>
</CollectionPanel>

This PR also enhance the ScrollViewPager by creating Step property to make it work with the CollectionPanel inside ScrollView

Example:

<ScrollView LayoutMode="PreserveVisual">
    <CollectionPanel GroupCount="3">
        <Each Items="{items}" Reuse="Frame" ux:Name="theEach">
            <Panel Color="#AAA">
                <Text Value="{title}"/>
            </Panel>
        </Each>
    </CollectionPanel>

    <!-- Set value of the Step Property as same as value of GroupCount property of CollectionPanel  -->
    <ScrollViewPager Each="theEach" ReachedEnd="{loadMore}" Step="3" />
</ScrollView> 

and also this PR fixed small memory leak on iOS on CoreGraphicsSurface

This PR contains: