ProjectsPanel.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using System;
  2. using Comal.Classes;
  3. using InABox.Configuration;
  4. using InABox.Core;
  5. using InABox.DynamicGrid;
  6. using InABox.Wpf;
  7. namespace PRSDesktop;
  8. public class ProjectsPanelSettings : BaseObject, IUserConfigurationSettings, IMasterDetailSettings
  9. {
  10. [NullEditor] public DynamicSplitPanelView ViewType { get; set; } = DynamicSplitPanelView.Combined;
  11. [NullEditor]
  12. public double AnchorWidth { get; set; } = 300;
  13. [NullEditor]
  14. public Guid MasterID { get; set; }
  15. }
  16. public class ProjectsPanel : MasterDetailPanel<Job,ProjectsGrid,ProjectsPanelSettings>
  17. {
  18. protected override string MasterCaption => "Project List";
  19. protected override string DetailCaption => "Project Details";
  20. protected override string MasterColumnsTag => "Projects";
  21. protected override void CreatePages()
  22. {
  23. CreatePage<JobDetailPanel<JobDetails>>("Details");
  24. CreatePage<JobDetailPanel<JobScopePanel>>(Security.CanView<JobScope>, "Scopes");
  25. CreatePage<JobDetailPanel<JobDocumentSetPanel>>(Security.CanView<JobDocumentSet>, "Documents");
  26. CreatePage<JobDetailPanel<JobStagesPanel>>(Security.CanView<JobStage>, "Stages");
  27. CreatePage<JobDetailGrid<JobITPGrid, JobITP>>(Security.CanView<JobITP>, "ITPs");
  28. CreatePage<JobDetailGrid<JobProductMappingsGrid, JobProductMapping>>(Security.CanView<JobProductMapping>, "Product Mappings");
  29. CreatePage<JobDetailGrid<JobProductStylesGrid, JobStyle>>(Security.CanView<JobStyle>, "Product Styles");
  30. CreatePage<JobDetailPanel<JobBillOfMaterialsPanel>>(Security.CanView<JobBillOfMaterials>, "BOM");
  31. CreatePage<JobDetailPanel<JobRequisitionPanel>>(Security.CanView<JobRequisition>, "Requisitions");
  32. CreatePage<JobDetailGrid<JobOrderGrid, PurchaseOrderItem>>(Security.CanView<PurchaseOrderItem>, "Orders");
  33. CreatePage<JobDetailPanel<JobDesignPanel>>(Security.CanView<Setout>, "Designs");
  34. CreatePage<JobDetailGrid<ManufacturingGrid, ManufacturingPacket>>(Security.CanView<ManufacturingPacket>, "Manufacturing");
  35. CreatePage<JobDetailGrid<ReadyToGoGrid, DeliveryItem>>(Security.CanView<DeliveryItem>, "Dispatch");
  36. CreatePage<JobDetailPanel<DeliveryPanel>>(Security.CanView<Delivery>, "Deliveries");
  37. CreatePage<JobDetailGrid<DeliveredOnSiteGrid, DeliveryItem>>(Security.CanView<DeliveryItem>, "OnSite");
  38. CreatePage<JobDetailPanel<TaskPanel>>(Security.CanView<Kanban>, "Tasks");
  39. CreatePage<JobDetailGrid<JobEquipmentGrid, JobEquipment>>(Security.CanView<Equipment>, "EquipmentTab");
  40. CreatePage<JobDetailPanel<JobEmployeePanel>>(Security.CanView<Employee>, "Employees");
  41. CreatePage<JobDetailGrid<JobTrackerGrid, JobTracker>>(Security.CanView<GPSTracker>, "Trackers");
  42. CreatePage<JobDetailPanel<JobAssignmentPanel>>(Security.CanView<Assignment>, "Assignments");
  43. CreatePage<JobDetailGrid<JobTimesheetGrid, TimeSheet>>(Security.CanView<TimeSheet>, "Timesheets");
  44. CreatePage<JobDetailGrid<JobFormGrid, JobForm>>(Security.CanView<JobForm>, "Forms");
  45. CreatePage<JobDetailPanel<InvoicePanel>>(Security.CanView<Invoice>, "Invoices");
  46. CreatePage<JobDetailGrid<JobSpreadsheetGrid, JobSpreadsheet>>(Security.CanView<JobSpreadsheet>, "Spreadsheets");
  47. CreatePage<JobDetailPanel<JobSummaryPanel>>(Security.CanView<JobMaterial>, "Summary");
  48. }
  49. protected override void AfterLoadSettings(ProjectsPanelSettings settings)
  50. {
  51. }
  52. protected override void BeforeSaveSettings(ProjectsPanelSettings settings)
  53. {
  54. }
  55. public override string SectionName => "Projects";
  56. public override void CreateToolbarButtons(IPanelHost host)
  57. {
  58. ProjectSetupActions.JobStatuses(host);
  59. ProjectSetupActions.DocumentMilestones(host);
  60. ProjectSetupActions.JobScopeStatuses(host);
  61. ProjectSetupActions.DrawingTemplates(host);
  62. host.CreateSetupSeparator();
  63. ProjectSetupActions.JobSpreadsheetTemplates(host);
  64. host.CreateSetupSeparator();
  65. ProjectSetupActions.SetoutGroups(host);
  66. // host.CreateSetupAction(new PanelAction()
  67. // {
  68. // Caption = "Job Settings",
  69. // Image = PRSDesktop.Resources.specifications,
  70. // OnExecute = action =>
  71. // {
  72. // if (DynamicGridUtils.Edit(Settings))
  73. // SaveSettings();
  74. // }
  75. // });
  76. }
  77. }