AwaitablePopups 0.2.0

Create your own DisplayAlerts using XAML,
or use the DisplayAlerts (and LoaderDialog) thats included!
Powered by AsyncAwaitBestPractices and Rg.Plugins.Popup

There is a newer version of this package available.
See the version list below for details.
Install-Package AwaitablePopups -Version 0.2.0
dotnet add package AwaitablePopups --version 0.2.0
<PackageReference Include="AwaitablePopups" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AwaitablePopups --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

AwaitablePopups

<!-- TABLE OF CONTENTS -->

Table of Contents

Codacy Codacy Badge
NuGet nuget

<!-- ABOUT THE PROJECT -->

About The Project

Awaitable Popups is a neat blend of the Rg.Plugins.Popup and AsyncAwaitBestPractices plugins to bring you a quick way to add popups into your Xamarin Forms App using familiar concepts

<!-- GETTING STARTED -->

Getting Started

First, you must follow the initialisation
guide set out by Rg.Plugins.Popup, once you have that, have a look at usage down below

Installation

You can install the nuget by looking up 'AwaitablePopups' in your nuget package manager, or by getting it here

<!-- USAGE EXAMPLES -->

Usage

here is an example of what this plugin makes easy (Looks slow due to giphy)

Gif Example

I have included the older, 'safer' example, and the new simplfied example.

New Example

To Use the plugin for its inbuilt popup pages (Dual/Single Response, TextInput and loader.) All you need are these one liners

SingleResponse Popup Page

return await SingleResponseViewModel.GeneratePopup(new PopupButton(Color.Goldenrod, Color.Black, "Okay"), Color.Gray, "Your Phone Number or Pin is incorrect, please try again.", "NoSource.png");

DualResponse Popup Page

return await DualResponseViewModel.GeneratePopup(new PopupButton(Color.Green, Color.Black, "I Accept"), new PopupButton(Color.Red, Color.Black, "I decline"), Color.Gray, "Do you accept the terms and conditions?", "NoSource.png");

Loader Popup Page

  await PopupService.WrapTaskInLoader(Task.Delay(10000), Color.Blue, Color.White, LoadingReasons(), Color.Black);

Text Input PopupPage

await TextInputViewModel.GeneratePopup(new PopupButton(Color.Green, Color.Black, "I Accept"), new PopupButton(Color.Red, Color.Black, "I decline"), Color.Green, "TEXT HERE", "Placeholder");

or, to return from the loader a value

await PopupService.WrapReturnableTaskInLoader<bool>(IndepthCheckAgainstDatabase(), Color.Blue, Color.White, LoadingReasons(), Color.Black);

you can also add in synchronous functions, however they are wrapped in a task


private bool LongRunningFunction(int millisecondDelay)
{
    Thread.Sleep(millisecondDelay);
    return true;
}
await PopupService.WrapReturnableFuncInLoader(LongRunningFunction, 6000, Color.Blue, Color.White, LoadingReasons(), Color.Black);

That's it! for a more indepth of how it works, read on (and check the wiki!)

<!-- CONTACT -->

Contact

My Github,
or reach me on the Xamarin Slack,
or on my E-mail

Project Link: AwaitablePopups

AwaitablePopups

<!-- TABLE OF CONTENTS -->

Table of Contents

Codacy Codacy Badge
NuGet nuget

<!-- ABOUT THE PROJECT -->

About The Project

Awaitable Popups is a neat blend of the Rg.Plugins.Popup and AsyncAwaitBestPractices plugins to bring you a quick way to add popups into your Xamarin Forms App using familiar concepts

<!-- GETTING STARTED -->

Getting Started

First, you must follow the initialisation
guide set out by Rg.Plugins.Popup, once you have that, have a look at usage down below

Installation

You can install the nuget by looking up 'AwaitablePopups' in your nuget package manager, or by getting it here

<!-- USAGE EXAMPLES -->

Usage

here is an example of what this plugin makes easy (Looks slow due to giphy)

Gif Example

I have included the older, 'safer' example, and the new simplfied example.

New Example

To Use the plugin for its inbuilt popup pages (Dual/Single Response, TextInput and loader.) All you need are these one liners

SingleResponse Popup Page

return await SingleResponseViewModel.GeneratePopup(new PopupButton(Color.Goldenrod, Color.Black, "Okay"), Color.Gray, "Your Phone Number or Pin is incorrect, please try again.", "NoSource.png");

DualResponse Popup Page

return await DualResponseViewModel.GeneratePopup(new PopupButton(Color.Green, Color.Black, "I Accept"), new PopupButton(Color.Red, Color.Black, "I decline"), Color.Gray, "Do you accept the terms and conditions?", "NoSource.png");

Loader Popup Page

  await PopupService.WrapTaskInLoader(Task.Delay(10000), Color.Blue, Color.White, LoadingReasons(), Color.Black);

Text Input PopupPage

await TextInputViewModel.GeneratePopup(new PopupButton(Color.Green, Color.Black, "I Accept"), new PopupButton(Color.Red, Color.Black, "I decline"), Color.Green, "TEXT HERE", "Placeholder");

or, to return from the loader a value

await PopupService.WrapReturnableTaskInLoader<bool>(IndepthCheckAgainstDatabase(), Color.Blue, Color.White, LoadingReasons(), Color.Black);

you can also add in synchronous functions, however they are wrapped in a task


private bool LongRunningFunction(int millisecondDelay)
{
    Thread.Sleep(millisecondDelay);
    return true;
}
await PopupService.WrapReturnableFuncInLoader(LongRunningFunction, 6000, Color.Blue, Color.White, LoadingReasons(), Color.Black);

That's it! for a more indepth of how it works, read on (and check the wiki!)

<!-- CONTACT -->

Contact

My Github,
or reach me on the Xamarin Slack,
or on my E-mail

Project Link: AwaitablePopups

Release Notes

referenced mscorlib

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.0 74 8/7/2020
1.0.2 132 7/21/2020
1.0.1 99 7/3/2020
1.0.0 103 7/1/2020
0.3.8 124 6/8/2020
0.3.5 154 5/4/2020
0.3.4 107 4/20/2020
0.3.3 127 4/20/2020
0.3.1 131 4/20/2020
0.3.1-Alpha 127 4/17/2020
0.3.0 160 3/24/2020
0.2.5 243 3/23/2020
0.2.4 292 3/23/2020
0.2.3 288 3/23/2020
0.2.1 289 3/23/2020
0.2.0 194 3/20/2020
0.1.9 292 3/20/2020
0.1.8 209 3/11/2020
0.1.7 235 3/9/2020
0.1.6 253 2/24/2020
0.1.5 254 2/10/2020
0.1.3 535 1/31/2020
0.1.2 473 1/31/2020
Show less