IncompleteTasksDashboard.xaml.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using Comal.Classes;
  2. using InABox.Core;
  3. using InABox.DynamicGrid;
  4. using jdk.nashorn.@internal.ir;
  5. using PRSDesktop.WidgetGroups;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows;
  12. using System.Windows.Controls;
  13. using System.Windows.Data;
  14. using System.Windows.Documents;
  15. using System.Windows.Input;
  16. using System.Windows.Media;
  17. using System.Windows.Media.Imaging;
  18. using System.Windows.Navigation;
  19. using System.Windows.Shapes;
  20. using InABox.Configuration;
  21. using System.ComponentModel;
  22. namespace PRSDesktop
  23. {
  24. public class IncompleteTasksDashboardProperties : IUserConfigurationSettings, IDashboardProperties { }
  25. public class IncompleteTasksDashboardElement : DashboardElement<IncompleteTasksDashboard, Common, IncompleteTasksDashboardProperties> { }
  26. /// <summary>
  27. /// Interaction logic for IncompleteTasksDashboard.xaml
  28. /// </summary>
  29. public partial class IncompleteTasksDashboard : UserControl, IDashboardWidget<Common, IncompleteTasksDashboardProperties>
  30. {
  31. public IncompleteTasksDashboard()
  32. {
  33. InitializeComponent();
  34. Grid.Refresh(true, true);
  35. }
  36. public IncompleteTasksDashboardProperties Properties { get; set; }
  37. public event LoadSettings<IncompleteTasksDashboardProperties>? LoadSettings;
  38. public event SaveSettings<IncompleteTasksDashboardProperties>? SaveSettings;
  39. public void Refresh()
  40. {
  41. }
  42. public void Setup()
  43. {
  44. }
  45. public void Shutdown(CancelEventArgs? cancel)
  46. {
  47. }
  48. }
  49. public class IncompleteTasksGrid : DynamicDataGrid<Kanban>, ISpecificGrid
  50. {
  51. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  52. {
  53. base.DoReconfigure(options);
  54. options.BeginUpdate()
  55. .Clear()
  56. .AddRange(DynamicGridOption.SelectColumns)
  57. .EndUpdate();
  58. }
  59. protected override DynamicGridColumns LoadColumns()
  60. {
  61. var columns = new DynamicGridColumns();
  62. columns.Add<Kanban, int>(x => x.Number, 100, "Number", "", Alignment.MiddleLeft);
  63. columns.Add<Kanban, string>(x => x.Title, 0, "Title", "", Alignment.MiddleLeft);
  64. columns.Add<Kanban, DateTime>(x => x.DueDate, 100, "DueDate", "", Alignment.MiddleCenter);
  65. columns.Add<Kanban, KanbanStatus>(x => x.Status, 200, "Status", "", Alignment.MiddleLeft);
  66. columns.Add<Kanban, string>(x => x.EmployeeLink.Name, 200, "Assigned To", "", Alignment.MiddleLeft);
  67. return columns;
  68. }
  69. protected override void Reload(Filters<Kanban> criteria, Columns<Kanban> columns, ref SortOrder<Kanban>? sort, Action<CoreTable?, Exception?> action)
  70. {
  71. criteria.Add(new Filter<Kanban>(x => x.Completed).IsEqualTo(DateTime.MinValue));
  72. base.Reload(criteria, columns, ref sort, action);
  73. }
  74. }
  75. }