| 12345678910111213141516171819202122232425262728293031323334 |
- using System;
- using System.Linq;
- using InABox.Mobile;
- using Xamarin.Forms;
- namespace PRS.Mobile
- {
- public class ContactSelectionPage : SelectionPage
- {
- public ContactSelectionPage(Action<ContactShell> action)
- : base(
- (string)"Select Contact",
- (SelectionPageMode)SelectionPageMode.Immediate,
- (columns, filters) =>
- {
- columns
- .BeginUpdate()
- .Clear()
- .Add(new MobileGridTextColumn<ContactShell>() { Column = x => x.Name, Width = GridLength.Star })
- .Add(new MobileGridTextColumn<ContactShell>() { Column = x => x.Street, Width = GridLength.Auto })
- .Add(new MobileGridTextColumn<ContactShell>() { Column = x => x.City, Width = GridLength.Auto })
- .EndUpdate();
- },
- (args) =>
- {
- App.Data.Contacts.SelectFilter(args.Filter);
- var result = App.Data.Contacts.Refresh(args.Force);
- args.LastUpdated = App.Data.Contacts.LastUpdated;
- return result;
- },
- (items) => action?.Invoke(items.FirstOrDefault() as ContactShell)
- ) { }
- }
- }
|