SwipeView (#7603)
authorJavier Suárez Ruiz <javiersuarezruiz@hotmail.com>
Sat, 23 Nov 2019 00:47:01 +0000 (01:47 +0100)
committerShane Neuville <shneuvil@microsoft.com>
Sat, 23 Nov 2019 00:47:01 +0000 (17:47 -0700)
commit7dd9c6b46fa90e32a7ca281da5f93201586ae8ad
tree21c23d9e5880b80629b5477153a707005085eb5c
parent65dc46fe68a6f8bc8b0a850fd42e671b58ee3997
SwipeView (#7603)

* Implemented SwipeView Spec

* Fixed close SwipeView when scrolling ScrollView in iOS

* Removed unnecessary SwipeItemInvokedEventArgs

* Separate ISwipeItem in a new file

* Changed BaseSwipeEventArgs to be abstract

* Changed SwipeView SwipeItems properties to use OneWay BindingMode

* SwipeDirectionHelpers is now no EditorBrowsable

* Removed unnecessary ContextItem

* Changed SwipeItems base type from BO to Element

* Added defaultValueCreator for SwipeItems (and new sample)

* Changes in UWP SwipeViewRenderer to change some SwipeItems validations

* Renamed CustomSwipeItem to SwipeItemView
Added Close method
Added new SwipeView sample in Core Gallery
Propagate BindingContext from SwipeView to SwipeItems
Fixed bug in Android where occasionally was not rendering the SwipeItem (BindableLayout)

* Moved command execution from the renderers to the abstraction

* Implemented Close method on UWP
Fixed issue to notify SwipeItems changes (add/remove) on UWP
Implemented Uri IconSource (fix SwipeItem using an Url on UWP)

* Updated CustomSwipeItem samples

* Fixed issue on Android (not rendering SwipeItem occasionally)

* Avoid use MessagingCenter to close the SwipeView when scrolling

* Added new Core Gallery sample using custom size SwipeItems
Fixed icon position on Android with big SwipeItems
Fixed custom SwipeItem size issue

* Fixed vertical swipe threshold calc

* Created ISwipeViewController
Moved SwipeItemView to a new class
Moved SwipeEventArgs to a new class
Changes in touch events in Android to have the same behavior as in Android

* Unsubscribe CollectionChanged from the OldElement on UWP renderer

* Allow open the swipeView if the width of the SwipeItems exceeds the width of the SwipeView
Fixed Android SwipeItem icon position calc issue

* Updated SwipeItems to use ISwipeViewController

* Fixed typo

* Fixed typo

* - remove EditorBrowsable

* Changed SwipeTransitionMode enum values

* - fix samsung fussiness

* - fix compile error for UAP
63 files changed:
Stubs/Xamarin.Forms.Platform.cs
Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1704.cs
Xamarin.Forms.Controls/CoreGallery.cs
Xamarin.Forms.Controls/CoreGalleryPages/SwipeViewCoreGalleryPage.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/AddRemoveSwipeItemsGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/BasicSwipeGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/BasicSwipeGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CloseSwipeGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CustomSizeSwipeViewGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CustomSizeSwipeViewGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CustomSwipeItemGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CustomSwipeItemViewGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CustomSwipeItemViewGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/CustomizeSwipeItemGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/ResourceSwipeItemsGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/ResourceSwipeItemsGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeBehaviorOnInvokedGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeBindableLayoutGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeBindableLayoutGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeCarouselViewGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeCarouselViewGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeCollectionViewGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeHorizontalCollectionViewGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeHorizontalCollectionViewGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeItemIconGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeListViewGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeListViewGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeTransitionModeGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeVerticalCollectionViewGallery.xaml [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeVerticalCollectionViewGallery.xaml.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeViewEventsGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/GalleryPages/SwipeViewGalleries/SwipeViewGallery.cs [new file with mode: 0644]
Xamarin.Forms.Controls/Xamarin.Forms.Controls.csproj
Xamarin.Forms.Core/ISwipeItem.cs [new file with mode: 0644]
Xamarin.Forms.Core/ISwipeViewController.cs [new file with mode: 0644]
Xamarin.Forms.Core/PlatformConfiguration/AndroidSpecific/SwipeView.cs [new file with mode: 0644]
Xamarin.Forms.Core/PlatformConfiguration/iOSSpecific/SwipeView.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeBehaviorOnInvoked.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeDirection.cs
Xamarin.Forms.Core/SwipeEventArgs.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeItem.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeItemView.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeItems.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeMode.cs [new file with mode: 0644]
Xamarin.Forms.Core/SwipeView.cs [new file with mode: 0644]
Xamarin.Forms.CustomAttributes/TestAttributes.cs
Xamarin.Forms.Platform.Android/Properties/AssemblyInfo.cs
Xamarin.Forms.Platform.Android/Renderers/SwipeViewRenderer.cs [new file with mode: 0644]
Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android.csproj
Xamarin.Forms.Platform.UAP/Extensions/ImageExtensions.cs [changed mode: 0644->0755]
Xamarin.Forms.Platform.UAP/FileImageSourceHandler.cs [changed mode: 0644->0755]
Xamarin.Forms.Platform.UAP/FontImageSourceHandler.cs [changed mode: 0644->0755]
Xamarin.Forms.Platform.UAP/IIconElementHandler.cs [changed mode: 0644->0755]
Xamarin.Forms.Platform.UAP/Properties/AssemblyInfo.cs [changed mode: 0644->0755]
Xamarin.Forms.Platform.UAP/SwipeViewRenderer.cs [new file with mode: 0755]
Xamarin.Forms.Platform.UAP/UriImageSourceHandler.cs
Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj
Xamarin.Forms.Platform.iOS/Properties/AssemblyInfo.cs
Xamarin.Forms.Platform.iOS/Renderers/ListViewRenderer.cs
Xamarin.Forms.Platform.iOS/Renderers/PhoneMasterDetailRenderer.cs
Xamarin.Forms.Platform.iOS/Renderers/SwipeViewRenderer.cs [new file with mode: 0644]
Xamarin.Forms.Platform.iOS/Xamarin.Forms.Platform.iOS.csproj
Xamarin.Forms.Platform/Xamarin.Forms.Platform.cs