private ComboBox CreateCombox(JiraField field, List<NameValue> datasource, SelectType type = SelectType.Common) { var select = new ComboBox(); select.DropDownStyle = ComboBoxStyle.DropDownList; select.DisplayMember = "Name"; select.ValueMember = "Value"; select.Width = 230; select.TabIndex = 99 - CurrentFieldCount; var first = datasource.FirstOrDefault(); var firstValue = first == null ? String.Empty : first.Name; var format = String.Empty; switch (type) { case SelectType.Common: format = CUSTOM_FIELD_VALUE_SELECT_FORMAT; break; case SelectType.Version: format = CUSTOM_FIELD_VALUE_VERSION_SELECT_FORMAT; break; default: format = CUSTOM_FIELD_VALUE_SELECT_FORMAT; break; } select.Tag = new ControlTagPackage { Field = field, ID = field.Schema.CustomID, SerializedString = String.Format(format, field.Schema.CustomID, firstValue, "{", "}") }; select.DataSource = datasource; select.SelectedIndexChanged += select_SelectedIndexChanged; return select; }
protected JiraCustomField(JiraField jiraField) { JiraField = jiraField; if (jiraField == null) { throw new ArgumentNullException("jiraField"); } }
public CascadingSelectField(JiraField jiraField) : base(jiraField) { }
private void GenerateNumber(JiraField field) { var lb = CreateCommonLabel(field.Name); panelControls.Controls.Add(lb, 0, CurrentFieldCount); if (!String.IsNullOrWhiteSpace(field.Schema.Custom) && field.Schema.Custom.Equals("com.atlassian.jira.plugin.system.customfieldtypes:float")) { var txt = CreateCommonTextbox(field); panelControls.Controls.Add(txt, 1, CurrentFieldCount); CurrentFieldCount++; } }
private void GenerateUser(JiraField field) { var lb = CreateCommonLabel(field.Name); panelControls.Controls.Add(lb, 0, CurrentFieldCount); if (!String.IsNullOrWhiteSpace(field.Schema.Custom) && field.Schema.Custom.Equals("com.atlassian.jira.plugin.system.customfieldtypes:userpicker")) { var searchUser = CreateSearchCombox(field); panelControls.Controls.Add(searchUser, 1, CurrentFieldCount); CurrentFieldCount++; } }
public DatePickerField(JiraField jiraField) : base(jiraField) { JiraField = jiraField; }
private TextBox CreateCommonTextbox(JiraField field, TextBoxType type = TextBoxType.Common) { var txt = new TextBox(); txt.Font = new Font(Font.FontFamily, 11); txt.Width = 230; txt.Tag = new ControlTagPackage { Field = field, ID = field.Schema.CustomID }; switch (type) { case TextBoxType.Common: case TextBoxType.Number: txt.TextChanged += CommonTextBox_TextChanged; break; case TextBoxType.Label: txt.TextChanged += LabelTextBox_TextChanged; break; } txt.TabIndex = CurrentFieldCount; return txt; }
public SelectList(JiraField jiraField, List <NameValue> dataSource) : base(jiraField) { DataSource = dataSource; Value = String.Empty; }
public URLField(JiraField jiraField) : base(jiraField) { Text = String.Empty; }
public NumberField(JiraField jiraField) : base(jiraField) { Text = String.Empty; }
public ProjectPicker(JiraField jiraField) : base(jiraField) { }
public RadioButtonsField(JiraField jiraField, List<NameValue> radioButtonValues) : base(jiraField) { RadioButtonValues = radioButtonValues; Value = String.Empty; }
public MultiGroupPicker(JiraField jiraField) : base(jiraField) { }
public Labels(JiraField jiraField) : base(jiraField) { Text = String.Empty; }
public FreeTextField(JiraField jiraField) : base(jiraField) { Text = String.Empty; }
public DateTimeField(JiraField jiraField) : base(jiraField) { JiraField = jiraField; }
public SelectList(JiraField jiraField, List<NameValue> dataSource) : base(jiraField) { DataSource = dataSource; Value = String.Empty; }
public RadioButtonsField(JiraField jiraField, List <NameValue> radioButtonValues) : base(jiraField) { RadioButtonValues = radioButtonValues; Value = String.Empty; }
public SingleVersionPicker(JiraField jiraField, List<NameValue> dataSource) : base(jiraField) { DataSource = dataSource; Value = String.Empty; }
public SingleVersionPicker(JiraField jiraField, List <NameValue> dataSource) : base(jiraField) { DataSource = dataSource; Value = String.Empty; }
public UserPicker(JiraField jiraField) : base(jiraField) { }
private SearchCombox CreateSearchCombox(JiraField field) { var cb = new SearchCombox(); cb.DisplayMember = "Name"; cb.ValueMember = "Value"; cb.TabIndex = 99 - CurrentFieldCount; //cb.Width = 230; cb.Tag = new ControlTagPackage { Field = field, ID = field.Schema.CustomID, }; cb.SelectedIndexChanged = (sender, e) => { var package = cb.Tag as ControlTagPackage; var selectItem = cb.SelectedItem as NameValue; if (package != null && selectItem != null) { cb.Tag = new ControlTagPackage { Field = package.Field, ID = package.ID, SerializedString = String.Format(CUSTOM_FIELD_VALUE_USER_FORMAT, package.ID, selectItem.Value, "{", "}") }; } }; return cb; }
private void GenerateString(JiraField field) { var lb = CreateCommonLabel(field.Name); panelControls.Controls.Add(lb, 0, CurrentFieldCount); if (!String.IsNullOrWhiteSpace(field.Schema.Custom) && field.Schema.Custom.Equals("com.atlassian.jira.plugin.system.customfieldtypes:select")) { var listValue = field.AllowedValues.Select(allowedValue => new NameValue { Field = field, Name = allowedValue.value, Value = allowedValue.id }).ToList(); var select = CreateCombox(field, listValue); panelControls.Controls.Add(select, 1, CurrentFieldCount); CurrentFieldCount++; } else { var txt = CreateCommonTextbox(field); panelControls.Controls.Add(txt, 1, CurrentFieldCount); CurrentFieldCount++; } }
private void GenerateVersion(JiraField field) { var lb = CreateCommonLabel(field.Name); panelControls.Controls.Add(lb, 0, CurrentFieldCount); if (!String.IsNullOrWhiteSpace(field.Schema.Custom) && field.Schema.Custom.Equals("com.atlassian.jira.plugin.system.customfieldtypes:version")) { var listValue = new List<NameValue>(); foreach (dynamic allowedvalue in field.AllowedValues) { foreach (dynamic next in allowedvalue) { var nameValue = new NameValue { Name = next.name, Value = next.id }; listValue.Add(nameValue); } } var select = CreateCombox(field, listValue, SelectType.Version); panelControls.Controls.Add(select, 1, CurrentFieldCount); CurrentFieldCount++; } }