MvvmCrud.Forms.Prism
0.0.1
dotnet add package MvvmCrud.Forms.Prism --version 0.0.1
NuGet\Install-Package MvvmCrud.Forms.Prism -Version 0.0.1
<PackageReference Include="MvvmCrud.Forms.Prism" Version="0.0.1" />
paket add MvvmCrud.Forms.Prism --version 0.0.1
#r "nuget: MvvmCrud.Forms.Prism, 0.0.1"
// Install MvvmCrud.Forms.Prism as a Cake Addin
#addin nuget:?package=MvvmCrud.Forms.Prism&version=0.0.1
// Install MvvmCrud.Forms.Prism as a Cake Tool
#tool nuget:?package=MvvmCrud.Forms.Prism&version=0.0.1
MvvmCrud
MvvmCrud helps your Xamarin.Forms app with Prism Library to standardize operations of creating, updating, deletion and display data, from REST API.
NuGet Soon...
How it works
This framework standardize CRUD's operations into ViewModel's file using generic T type, endpoint's requests and fully customizable.
The target is WRITE LESS CODE, STANDARDIZING THE MOST USED UI CRUD OPERATIONS, IMPROVE PRODUCTIVITY SPEED.
Only with these following lines of code your page can:
- Display list of data
- Embedded custom message, if endpoint fails
- Embedded pagination's manager
- Embedded Perform searchs
- Embedded deletion cell's content, with automatic detect endpoint and confirm message
- Embedded update cell's content, with automatic: detect endpoint, open page, save, upload and update list's cell
- Embedded open detail's page
- Embedded empty view UI
- Embedded loadig more view UI
All fully customizable!
public class PostPageViewModel : BaseListPaginationAdvancedViewModel
<PostCellViewModel, BaseModelItemsRoot<PostItem>, PostItem>
{
public PostPageViewModel(
INavigationService navigationService,
IRequestService requestService) : base(navigationService, requestService)
{
}
public override string SetupEndpoint()
{
return Constants.Constants.METHOD_POST;
}
public override List<PostCellViewModel> PerformSearchSetup(string newText)
{
var newTextLower = newText.ToLower();
return ItemsList.Where((PostCellViewModel arg1, int arg2) =>
{
var item = arg1.Item;
if (
!string.IsNullOrWhiteSpace(item.Title)
&&
item.Title.ToLower().Contains(newTextLower)
)
{
return true;
}
return false;
}).ToList();
}
public override string SetupDetailPageName()
{
return nameof(CommentPage);
}
}
Docs
Clone this repository and check app's example.
App's example use the follow endpoint https://jsonplaceholder.typicode.com/ to test functionality.
Feedback or Requests
Use GitHub Issues for bug reports and feature requests.
Use GitHub Discussios for questions or opinions.
Disclaimer
This is at the moment an experiment. Use at your own risk.
Copyright and license
Code released under the MIT license.
Did you like ?
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.1)
- Prism.DryIoc.Forms (>= 8.1.97)
- PropertyChanged.Fody (>= 4.0.1)
- Xamarin.Essentials (>= 1.5.0)
- Xamarin.Forms (>= 5.0.0.2012)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.0.1 | 96 | 9/18/2022 |
First release