Skip to content

Commit

Permalink
Nicer UI for datetime conditions #975
Browse files Browse the repository at this point in the history
  • Loading branch information
rappen committed Apr 12, 2024
1 parent 5d413e6 commit 410994f
Show file tree
Hide file tree
Showing 3 changed files with 148 additions and 32 deletions.
143 changes: 117 additions & 26 deletions FetchXmlBuilder/Controls/conditionControl.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 31 additions & 3 deletions FetchXmlBuilder/Controls/conditionControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,7 @@ protected override Dictionary<string, string> GetAttributesCollection()
private void EnableValueFields()
{
panValueOf.Enabled = string.IsNullOrEmpty(cmbValue.Text) || cmbValue.Text == Guid.Empty.ToString();
txtValueOf.Visible = panValueOf.Enabled;
if (!panValueOf.Enabled)
{
txtValueOf.Text = "";
Expand Down Expand Up @@ -557,10 +558,12 @@ private void UpdateValueField()
panValue.Visible = true;
panValueLookup.Visible = false;
panGuidSelector.Visible = false;
panDatePicker.Visible = false;
panDateSelector.Visible = false;
cmbValue.Items.Clear();
cmbValue.DropDownStyle = ComboBoxStyle.Simple;
cmbValue.AutoCompleteMode = AutoCompleteMode.None;
lblValueHint.Visible = false;
panValueHint.Visible = false;
if (cmbOperator.SelectedItem == null || !(cmbOperator.SelectedItem is OperatorItem oper))
{
return;
Expand All @@ -580,7 +583,7 @@ private void UpdateValueField()
if (Node.Nodes.Count == 0)
{
lblValueHint.Text = "Enter comma-separated " + valueType.ToString() + " values or add sub-nodes.";
lblValueHint.Visible = true;
panValueHint.Visible = true;
}
else
{
Expand Down Expand Up @@ -713,10 +716,25 @@ enummeta.OptionSet is OptionSetMetadata options &&
{
cmbValue.Text = Guid.Empty.ToString();
}
panGuidSelector.Visible = true;
panValue.Visible = !rbUseLookup.Checked;
panGuidSelector.Visible = true;
panValueLookup.Visible = rbUseLookup.Checked;
}
else if (valueType == AttributeTypeCode.DateTime)
{
panValue.Visible = !rbDatePicker.Checked;
dtPicker.Value = DateTime.TryParse(cmbValue.Text, out DateTime dt) ? dt : DateTime.Now;
panDateSelector.Visible = true;
panDatePicker.Visible = rbDatePicker.Checked;
}
// But them in correct order again
panValue.BringToFront();
panValueLookup.BringToFront();
panDatePicker.BringToFront();
panGuidSelector.BringToFront();
panDateSelector.BringToFront();
panValueHint.BringToFront();
panValueOf.BringToFront();
}

private void SetValueOfFromUI()
Expand Down Expand Up @@ -866,6 +884,16 @@ private void cmbValueOf_Changed(object sender, EventArgs e)
SetValueOfFromUI();
}

private void dtPicker_ValueChanged(object sender, EventArgs e)
{
cmbValue.Text = dtPicker.Value.ToString();
}

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
FetchXmlBuilder.HelpClick(sender);
}

#endregion Private Event Handlers
}
}
3 changes: 0 additions & 3 deletions FetchXmlBuilder/Controls/conditionControl.resx
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,4 @@
9mrY8b9sxm682L8ZGg/ejTv+axdsIwq71e34DwDIiV/OjEilhQAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>238, 17</value>
</metadata>
</root>

0 comments on commit 410994f

Please sign in to comment.