private Crate FindCrateToProcess(CrateChooser crateChooser) { var selectedCrateDescription = crateChooser.CrateDescriptions.Single(c => c.Selected); //find crate by user selected values return(Payload.FirstOrDefault(c => c.ManifestType.Type == selectedCrateDescription.ManifestType && c.Label == selectedCrateDescription.Label)); }
public ActivityUi(UiBuilder builder) { UpstreamCrateChooser = new CrateChooser { Label = "Select a File", Name = "file_selector", Events = new List <ControlEvent> { ControlEvent.RequestConfig }, Required = true, AllowedManifestTypes = new[] { MT.StandardFileHandle.GetEnumDisplayName() }, SingleManifestOnly = true, RequestUpstream = true }; Controls.Add(UpstreamCrateChooser); FileNameTextBox = new TextBox { Label = "Name of file", Name = "File_Name" }; Controls.Add(FileNameTextBox); }
protected override void CreateDocusignTemplateConfigurationControls() { var infoBox = new TextBlock() { Value = @"This Activity overlays the tabs from an existing Template onto a new Document and sends out a DocuSign Envelope. When this Activity executes, it will look for and expect to be provided from upstream with one Excel or Word file." }; var fieldSelectDocusignTemplateDTO = new DropDownList { Label = "Use DocuSign Template", Name = "target_docusign_template", Required = true, Events = new List <ControlEvent>() { ControlEvent.RequestConfig }, Source = null }; var documentSelector = new CrateChooser { Label = "Use new document", Name = "document_selector", Events = new List <ControlEvent> { ControlEvent.RequestConfig }, Required = true }; AddControls(infoBox, documentSelector, fieldSelectDocusignTemplateDTO); }
private CrateDescriptionDTO SelectTheCrateIfThereIsOnlyOne(CrateChooser crateChooser) { if (crateChooser.CrateDescriptions?.Count == 1) { crateChooser.CrateDescriptions[0].Selected = true; return(crateChooser.CrateDescriptions[0]); } return(null); }
public ActivityUi() { Controls = new List <ControlDefinitionDTO>(); ReportSelector = new CrateChooser { Label = "Show report using data from", Name = "Available_Crates", SingleManifestOnly = true, RequestUpstream = true }; Controls.Add(ReportSelector); Controls.Add(new RunPlanButton()); }
/// <summary> /// This is a generic function for creating a CrateChooser which is suitable for most use-cases /// </summary> /// <param name="label"></param> /// <param name="name"></param> /// <param name="singleManifest"></param> /// <param name="requestConfig"></param> /// <returns></returns> public CrateChooser CreateCrateChooser(string name, string label, bool singleManifest, bool requestConfig = false) { var control = new CrateChooser { Label = label, Name = name, SingleManifestOnly = singleManifest, RequestUpstream = true }; if (requestConfig) { control.Events.Add(new ControlEvent("onChange", "requestConfig")); } return(control); }
/// <summary> /// This is a generic function for creating a CrateChooser which is suitable for most use-cases /// </summary> /// <param name="label"></param> /// <param name="name"></param> /// <param name="singleManifest"></param> /// <param name="requestConfig"></param> /// <param name="allowedManifestTypes"></param> /// <returns></returns> public CrateChooser CreateCrateChooser(string name, string label, bool singleManifest = true, bool requestConfig = false, IEnumerable <string> allowedManifestTypes = null) { var control = new CrateChooser { Label = label, Name = name, SingleManifestOnly = singleManifest, RequestUpstream = true, AllowedManifestTypes = allowedManifestTypes?.ToArray() ?? new string[0] }; if (requestConfig) { control.Events.Add(new ControlEvent("onChange", "requestConfig")); } return(control); }
public static bool ValidateCrateChooserNotEmpty(this ValidationManager validationManager, CrateChooser crateChooser, string errorMessage) { if (!crateChooser.HasValue) { validationManager.SetError(errorMessage, crateChooser); return(false); } if (crateChooser.CanGetValue(validationManager.Payload) && crateChooser.GetValue(validationManager.Payload) == null) { validationManager.SetError(errorMessage, crateChooser); return(false); } return(true); }
public ActivityUi() { UpstreamCrateChooser = new CrateChooser { Label = "Crate to store", Name = nameof(UpstreamCrateChooser), Required = true, RequestUpstream = true, SingleManifestOnly = true, }; Controls.Add(UpstreamCrateChooser); NewSpreadsheetName = new TextBox { Value = $"NewFr8Data{DateTime.Now.Date:dd-MM-yyyy}", Name = nameof(NewSpreadsheetName) }; ExistingSpreadsheetsList = new DropDownList { Name = nameof(ExistingSpreadsheetsList), Events = new List <ControlEvent> { ControlEvent.RequestConfig } }; UseNewSpreadsheetOption = new RadioButtonOption { Selected = true, Name = nameof(UseNewSpreadsheetOption), Value = "Store in a new Google Spreadsheet", Controls = new List <ControlDefinitionDTO> { NewSpreadsheetName } }; UseExistingSpreadsheetOption = new RadioButtonOption() { Selected = false, Name = nameof(UseExistingSpreadsheetOption), Value = "Store in an existing Spreadsheet", Controls = new List <ControlDefinitionDTO> { ExistingSpreadsheetsList } }; SpreadsheetSelectionGroup = new RadioButtonGroup { GroupName = nameof(SpreadsheetSelectionGroup), Name = nameof(SpreadsheetSelectionGroup), Events = new List <ControlEvent> { ControlEvent.RequestConfig }, Radios = new List <RadioButtonOption> { UseNewSpreadsheetOption, UseExistingSpreadsheetOption } }; Controls.Add(SpreadsheetSelectionGroup); NewWorksheetName = new TextBox { Value = "Sheet1", Name = nameof(NewWorksheetName) }; ExistingWorksheetsList = new DropDownList { Name = nameof(ExistingWorksheetsList), }; UseNewWorksheetOption = new RadioButtonOption() { Selected = true, Name = nameof(UseNewWorksheetOption), Value = "A new Sheet (Pane)", Controls = new List <ControlDefinitionDTO> { NewWorksheetName } }; UseExistingWorksheetOption = new RadioButtonOption() { Selected = false, Name = nameof(UseExistingWorksheetOption), Value = "Existing Pane", Controls = new List <ControlDefinitionDTO> { ExistingWorksheetsList } }; WorksheetSelectionGroup = new RadioButtonGroup() { Label = "Inside the spreadsheet, store in", GroupName = nameof(WorksheetSelectionGroup), Name = nameof(WorksheetSelectionGroup), Radios = new List <RadioButtonOption> { UseNewWorksheetOption, UseExistingWorksheetOption } }; Controls.Add(WorksheetSelectionGroup); }