Sharpnado.TaskMonitor 1.0.2

Install-Package Sharpnado.TaskMonitor -Version 1.0.2
dotnet add package Sharpnado.TaskMonitor --version 1.0.2
<PackageReference Include="Sharpnado.TaskMonitor" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sharpnado.TaskMonitor --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sharpnado.TaskMonitor, 1.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sharpnado.TaskMonitor as a Cake Addin
#addin nuget:?package=Sharpnado.TaskMonitor&version=1.0.2

// Install Sharpnado.TaskMonitor as a Cake Tool
#tool nuget:?package=Sharpnado.TaskMonitor&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Free yourself from async void!
TaskMonitor is a task wrapper component helping you to deal with "fire and forget" Task (non awaited task) by implementing async/await best practices.

Featuring:

* Safe execution of your non awaited tasks
* Delegates for all states of the loaded task
* Builder pattern for more elegant construction and deferred execution
* Support for task with result
* Default handling of errors and statistics
* Global configuration for statistics and errors handler
* Consider globally or locally the cancel state as faulted to simplify your workflow

  • .NETStandard 2.0

    • No dependencies.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on Sharpnado.TaskMonitor:

Package Downloads
Sharpnado.Presentation.Forms

Collection of Xamarin.Forms components. IMPORTANT: On platform projects, call SharpnadoInitializer.Initialize() after Xamarin.Forms.Forms.Init() and before LoadApplication(new App()). Pure Xamarin.Forms tabs: * Fixed tabs (android tabs style) * Scrollable tabs * Segmented tabs * Custom shadows (neumorphism ready) * Circle button in tab bar * Bottom bar tabs (ios tabs style) * Custom tabs (be creative just implement TabItem) * Independent ViewSwitcher Sharpnado.Shadows: * Add as many custom shadows as you like to any view (Android, iOS, UWP) * You can specify each shadow Color, Opacity, BlurRadius, and Offset * Simply implement Neumorphism * You can add one shadow, 3 shadows, 99 shadows, to any Xamarin.Forms element * Animate any of these property and make the shadows dance around your elements MaterialFrame: * AcrylicBlur mode * 3 Blur styles: Light, ExtraLight, Dark (UIVisualEffectView styles) * Acrylic mode * Dark mode * Light mode * Change modes dynamically * Performance (CALayer on ios, LayerDrawable on android) * Android: RealtimeBlurView from Tu Yimin (mmin18) The TaskLoaderView 2.0 handles all your task loading states: * Handles error with custom messages and icons * Handles empty states * Show snackbar errors for refresh scenarios (if data is already shown) * Handles retry with button * Support Xamarin.Forms.Skeleton * Can override any state views with your own custom ones HorizontalListView for Xamarin.Forms (close to a CollectionView): * Carousel layout * Column count * Snapping on first or middle element * Padding and item spacing * Handles NotifyCollectionChangedAction Add Remove and Reset actions * View recycling * RecyclerView on Android * UICollectionView on iOS Grid ListView (HorizontalListView with ListLayout set to Grid): * Column count * Drag And Drop * RefreshView support * Padding and item spacing * Handles NotifyCollectionChangedAction Add Remove and Reset actions * View recycling

Sharpnado.Forms.HorizontalListView

* Horizontal, Grid, Carousel or Vertical layout * Reveal custom animations * Drag and Drop feature * Column count * Infinite loading with Paginator component * Snapping on first or middle element * Padding and item spacing * Handles NotifyCollectionChangedAction Add, Remove and Reset actions * View recycling * RecyclerView on Android * UICollectionView on iOS Initialization: * On core project call Sharpnado.HorizontalListView.Initializer.Initialize(true, false) in App.xaml.cs after InitializeComponent(). * On platform projects (ios/android), call SharpnadoInitializer.Initialize() before Xamarin.Forms.Forms.Init() and LoadApplication(new App()). Warning: the MaterialFrame is no longer included in the package, you have to install it manually: Sharpnado.MaterialFrame.

Sharpnado.TaskLoaderView

Free yourself from IsBusy=true! The `TaskLoaderView` is a UI component that handles all your UI loading state (Loading, Error, Result, Notification), and removes all the pain of async loading from your view models (try catch / async void / IsBusy / HasErrors / base view models / ...) thanks to its brother the `TaskLoaderNotifier`. BREAKING CHANGE Version 2.4.0: The task source given to to TaskLoaderNotifier is now a Func{bool, Task} (or a Func{bool, Task{T}}) instead of a Func{Task}. You can simply change your calls from Loader.Load(() => InitializeAsync()) to Loader.Load(_ => InitializeAsync()) to ignore it if you like. The boolean that is passed now to your task source is a boolean indicating if the notifier is refreshing. You can use it for invalidating your cache, for example: public Task LoadItems(bool isRefreshing) { if (isRefreshing || !_cache.ContainsItems()) { _cache.InvalidateItems(); var items = _httpService.GetItems() _cache.PutItems(items); return items; } return _cache.GetItems(); } Featuring: * Default views for all loading states (Loading, Error, Success, Notification, Refresh) * Snackbar component * Compose notifiers with CompositeTaskLoaderNotifier * Stylable views including fonts, accent color, error images, ... * Any states are overridable with user custom views and easily positionned with AbsoluteLayout properties * Support for Xamarin.Forms.Skeleton nuget package * Support for refresh scenarios, and error while refreshing with the ErrorNotificationView * Supports Async mvvm ICommand through TaskLoaderCommand * Supports loading task on demand with the NotStarted state * TaskLoaderNotifier for the ViewModel side taking care of all the error handling and the IsBusy nonsense

Sharpnado.Tabs

Pure Xamarin.Forms tabs: * Fixed tabs (android tabs style) * Scrollable tabs * Vertical tabs * Material design tabs (top and leading icon) * Support for SVG images * Segmented tabs * Custom shadows (neumorphism ready) * Badges on tabs * Circle button in tab bar * Bottom bar tabs (ios tabs style) * Custom tabs (be creative just implement TabItem) * Independent ViewSwitcher * Bindable with ItemsSource -------------- Installation -------------- * In Core project, in `App.xaml.cs`: public App() { InitializeComponent(); Sharpnado.Tabs.Initializer.Initialize(loggerEnable: false); ... } * In iOS project: Xamarin.Forms.Forms.Init(); Sharpnado.Tabs.iOS.Preserver.Preserve(); * In UWP project: var rendererAssemblies = new[] { typeof(UWPShadowsRenderer).GetTypeInfo().Assembly, typeof(UwpTintableImageEffect).GetTypeInfo().Assembly, }; Xamarin.Forms.Forms.Init(e, rendererAssemblies);

MammutNg.MessageBrokers.Nats

MammutNg.MessageBrokers.Nats

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on Sharpnado.TaskMonitor:

Repository Stars
roubachof/Sharpnado.Shadows
Add as many custom shadows (Color, Offset, Blur, Neumorphism) as you like to any Xamarin.Forms view (Android, iOS, UWP).
roubachof/Xamarin-Forms-Practices
Collection of good practices for Xamarin forms developement
roubachof/Sharpnado.Tabs
Pure Xamarin.Forms Tabs, including fixed tabs, scrollable tabs, bottom tabs, badge, segmented control, custom tabs, button tabs, bendable tabs...
roubachof/Sharpnado.TaskLoaderView
Free yourself from IsBusy=true! The `TaskLoaderView` is a UI component that handles all your UI loading state (Loading, Error, Result, Notification), and removes all the pain of async loading from your view models (try catch / async void / IsBusy / HasErrors / base view models / ...) thanks to its brother the `TaskLoaderNotifier`.
Version Downloads Last updated
1.0.2 9,833 1/11/2021
1.0.1 58,531 8/2/2020
1.0.0 88,060 11/20/2019

Fix the scenario where an exception occurs right away before any delay.