| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using System;
- using Comal.Classes;
- using InABox.Configuration;
- using InABox.Core;
- using InABox.DynamicGrid;
- using InABox.Wpf;
- using PRSDesktop.Panels.Jobs;
- namespace PRSDesktop;
- public class ProjectsPanelSettings : BaseObject, IUserConfigurationSettings, IMasterDetailSettings
- {
- [NullEditor] public DynamicSplitPanelView ViewType { get; set; } = DynamicSplitPanelView.Combined;
-
- [NullEditor]
- public double AnchorWidth { get; set; } = 300;
-
- [NullEditor]
- public Guid MasterID { get; set; }
- }
- public class ProjectsPanel : MasterDetailPanel<Job,ProjectsGrid,ProjectsPanelSettings>
- {
-
- protected override string MasterCaption => "Project List";
-
- protected override string DetailCaption => "Project Details";
- protected override string MasterColumnsTag => "Projects";
- protected override void CreatePages()
- {
- CreatePage<JobDetailPanel<JobDetails>>("Details");
- CreatePage<JobDetailPanel<JobScopePanel>>(Security.CanView<JobScope>, "Scopes");
- CreatePage<JobDetailPanel<JobDocumentSetPanel>>(Security.CanView<JobDocumentSet>, "Documents");
- CreatePage<JobDetailPanel<JobStagesPanel>>(Security.CanView<JobStage>, "Stages");
- CreatePage<JobDetailGrid<JobITPGrid, JobITP>>(Security.CanView<JobITP>, "ITPs");
- CreatePage<JobDetailGrid<JobProductMappingsGrid, JobProductMapping>>(Security.CanView<JobProductMapping>, "Product Mappings");
- CreatePage<JobDetailGrid<JobProductStylesGrid, JobStyle>>(Security.CanView<JobStyle>, "Product Styles");
- CreatePage<JobDetailPanel<JobBillOfMaterialsPanel>>(Security.CanView<JobBillOfMaterials>, "BOM");
- CreatePage<JobDetailPanel<JobRequisitionPanel>>(Security.CanView<JobRequisition>, "Requisitions");
- CreatePage<JobDetailPanel<JobStockGrid>>(Security.CanView<StockHolding>, "Stock Holdings");
- CreatePage<JobDetailPanel<JobPickingListPanel>>(Security.CanView<Requisition>, "Picking Lists");
- CreatePage<JobDetailGrid<JobOrderGrid, PurchaseOrderItem>>(Security.CanView<PurchaseOrderItem>, "Orders");
- CreatePage<JobDetailPanel<JobDesignPanel>>(Security.CanView<Setout>, "Designs");
- CreatePage<JobDetailGrid<ManufacturingGrid, ManufacturingPacket>>(Security.CanView<ManufacturingPacket>, "Manufacturing");
- CreatePage<JobDetailGrid<ReadyToGoGrid, DeliveryItem>>(Security.CanView<DeliveryItem>, "Dispatch");
- CreatePage<JobDetailPanel<DeliveryPanel>>(Security.CanView<Delivery>, "Deliveries");
- CreatePage<JobDetailGrid<DeliveredOnSiteGrid, DeliveryItem>>(Security.CanView<DeliveryItem>, "OnSite");
- CreatePage<JobDetailPanel<TaskPanel>>(Security.CanView<Kanban>, "Tasks");
- CreatePage<JobDetailGrid<JobEquipmentGrid, JobEquipment>>(Security.CanView<Equipment>, "EquipmentTab");
- CreatePage<JobDetailPanel<JobEmployeePanel>>(Security.CanView<Employee>, "Employees");
- CreatePage<JobDetailGrid<JobTrackerGrid, JobTracker>>(Security.CanView<GPSTracker>, "Trackers");
- CreatePage<JobDetailPanel<JobAssignmentPanel>>(Security.CanView<Assignment>, "Assignments");
- CreatePage<JobDetailGrid<JobTimesheetGrid, TimeSheet>>(Security.CanView<TimeSheet>, "Timesheets");
- CreatePage<JobDetailGrid<JobFormGrid, JobForm>>(Security.CanView<JobForm>, "Forms");
- CreatePage<JobDetailPanel<InvoicePanel>>(Security.CanView<Invoice>, "Invoices");
- CreatePage<JobDetailGrid<JobSpreadsheetGrid, JobSpreadsheet>>(Security.CanView<JobSpreadsheet>, "Spreadsheets");
- CreatePage<JobDetailPanel<JobSummaryPanel>>(Security.CanView<JobMaterial>, "Summary");
- }
- protected override void AfterLoadSettings(ProjectsPanelSettings settings)
- {
-
- }
- protected override void BeforeSaveSettings(ProjectsPanelSettings settings)
- {
-
- }
-
- public override void CreateToolbarButtons(IPanelHost host)
- {
- ProjectSetupActions.JobStatuses(host);
- ProjectSetupActions.DocumentMilestones(host);
- ProjectSetupActions.JobScopeStatuses(host);
- ProjectSetupActions.DrawingTemplates(host);
- host.CreateSetupSeparator();
- ProjectSetupActions.JobSpreadsheetTemplates(host);
- host.CreateSetupSeparator();
- ProjectSetupActions.SetoutGroups(host);
- if (SelectedPage is IMasterDetailPanelPage { Panel: not null } subpanel)
- subpanel.Panel.CreateToolbarButtons(host);
-
- // host.CreateSetupAction(new PanelAction()
- // {
- // Caption = "Job Settings",
- // Image = PRSDesktop.Resources.specifications,
- // OnExecute = action =>
- // {
- // if (DynamicGridUtils.Edit(Settings))
- // SaveSettings();
- // }
- // });
- }
- }
|