TaskSelectionPage.cs 1.1 KB

123456789101112131415161718192021222324252627
  1. using System;
  2. using System.Linq;
  3. namespace comal.timesheets
  4. {
  5. public class TaskSelectionPage : SelectionPage
  6. {
  7. public TaskSelectionPage(Action<KanbanShell> action)
  8. : base(
  9. (string)"Select Task",
  10. (SelectionPageMode)SelectionPageMode.Immediate,
  11. (columns) =>
  12. {
  13. columns
  14. .BeginUpdate()
  15. .Add(new MobileGridIntegerColumn<KanbanShell>() { Column = x=>x.Number })
  16. .Add(new MobileGridTextColumn<KanbanShell>() { Column = x=>x.Title })
  17. .Add(new MobileGridTextColumn<KanbanShell>() { Column = x=>x.Type })
  18. .Add(new MobileGridDateColumn<KanbanShell>() { Column = x=>x.DueDate, Format = "dd MMM yy"})
  19. .Clear()
  20. .EndUpdate();
  21. },
  22. (force) => App.Data.KanbanLookups.Refresh(force),
  23. (items) => action?.Invoke(items.FirstOrDefault() as KanbanShell)
  24. ) { }
  25. }
  26. }