Skip to content

Commit f43245e

Browse files
committed
Filter on Entity node properties! #964
1 parent 0f3c4ca commit f43245e

File tree

6 files changed

+149
-38
lines changed

6 files changed

+149
-38
lines changed

FetchXmlBuilder/Controls/entityControl.Designer.cs

Lines changed: 85 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FetchXmlBuilder/Controls/entityControl.cs

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.Xrm.Sdk.Metadata;
2+
using Rappen.XRM.Helpers.Extensions;
23
using Rappen.XRM.Helpers.FetchXML;
34
using Rappen.XTB.FetchXmlBuilder.DockControls;
45
using Rappen.XTB.FetchXmlBuilder.Views;
@@ -11,6 +12,8 @@ namespace Rappen.XTB.FetchXmlBuilder.Controls
1112
{
1213
public partial class entityControl : FetchXmlElementControlBase
1314
{
15+
private List<EntityMetadata> allentities;
16+
1417
public entityControl() : this(new Dictionary<string, string>(), null, null)
1518
{
1619
}
@@ -25,12 +28,8 @@ public entityControl(Dictionary<string, string> collection, FetchXmlBuilder fetc
2528

2629
protected override void PopulateControls()
2730
{
28-
cmbEntity.Items.Clear();
29-
var entities = fxb.GetDisplayEntities();
30-
if (entities != null)
31-
{
32-
cmbEntity.Items.AddRange(entities.Select(e => new EntityMetadataItem(e, fxb.settings.UseFriendlyNames, fxb.settings.UseFriendlyAndRawEntities)).ToArray());
33-
}
31+
allentities = fxb.GetDisplayEntities();
32+
FilterEntities();
3433
}
3534

3635
protected override ControlValidationResult ValidateControl(Control control)
@@ -103,5 +102,31 @@ private void SetIncLogName()
103102
PopulateControls();
104103
ReFillControl(cmbEntity);
105104
}
105+
106+
private void picFilter_Click(object sender, System.EventArgs e)
107+
{
108+
panFilter.Visible = !panFilter.Visible;
109+
FilterEntities();
110+
}
111+
112+
private void txtFilter_TextChanged(object sender, System.EventArgs e)
113+
{
114+
FilterEntities();
115+
}
116+
117+
private void FilterEntities()
118+
{
119+
cmbEntity.Items.Clear();
120+
var text = panFilter.Visible ? txtFilter.Text.ToLowerInvariant() : string.Empty;
121+
var entities = allentities?.Where(e =>
122+
string.IsNullOrWhiteSpace(text) ||
123+
e.LogicalName.ToLowerInvariant().Contains(text) ||
124+
e.ToDisplayName().ToLowerInvariant().Contains(text));
125+
cmbEntity.Items.AddRange(entities.Select(e => new EntityMetadataItem(e, fxb.settings.UseFriendlyNames, fxb.settings.UseFriendlyAndRawEntities)).ToArray());
126+
if (IsInitialized)
127+
{
128+
ReFillControl(cmbEntity);
129+
}
130+
}
106131
}
107132
}

FetchXmlBuilder/FetchXmlBuilder.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,9 @@
645645
<ItemGroup>
646646
<None Include="Resources\Microsoft_logo.32.png" />
647647
</ItemGroup>
648+
<ItemGroup>
649+
<None Include="Resources\view.png" />
650+
</ItemGroup>
648651
<Import Project="..\MarkMpn.FetchXmlToWebAPI\MarkMpn.FetchXmlToWebAPI\MarkMpn.FetchXmlToWebAPI.projitems" Label="Shared" />
649652
<Import Project="..\FXBEditorUtils\FXBEditorUtils.projitems" Label="Shared" />
650653
<Import Project="..\MarkMpn.XmlSchemaAutocomplete\MarkMpn.XmlSchemaAutoComplete\MarkMpn.XmlSchemaAutoComplete.projitems" Label="Shared" />

FetchXmlBuilder/Properties/Resources.Designer.cs

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FetchXmlBuilder/Properties/Resources.resx

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@
118118
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119119
</resheader>
120120
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
121+
<data name="icon-reset" type="System.Resources.ResXFileRef, System.Windows.Forms">
122+
<value>..\Resources\icons8-available-updates-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
123+
</data>
124+
<data name="icon-options" type="System.Resources.ResXFileRef, System.Windows.Forms">
125+
<value>..\Resources\icons8-adjust-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
126+
</data>
121127
<data name="icon-stop" type="System.Resources.ResXFileRef, System.Windows.Forms">
122128
<value>..\Resources\icons8-stop-sign-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
123129
</data>
@@ -151,23 +157,14 @@
151157
<data name="icon-javascript" type="System.Resources.ResXFileRef, System.Windows.Forms">
152158
<value>..\Resources\icons8-javascript-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
153159
</data>
154-
<data name="icon-new" type="System.Resources.ResXFileRef, System.Windows.Forms">
155-
<value>..\Resources\icons8-create-order-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
156-
</data>
157160
<data name="icon-sql" type="System.Resources.ResXFileRef, System.Windows.Forms">
158161
<value>..\Resources\icons8-sql-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
159162
</data>
160-
<data name="bmc-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
161-
<value>..\Resources\bmc-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
162-
</data>
163-
<data name="icon-convert" type="System.Resources.ResXFileRef, System.Windows.Forms">
164-
<value>..\Resources\icons8-meat-grinder-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
165-
</data>
166163
<data name="icon-views" type="System.Resources.ResXFileRef, System.Windows.Forms">
167164
<value>..\Resources\icons8-view-headline-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
168165
</data>
169-
<data name="icon-powerplatformdeveloper" type="System.Resources.ResXFileRef, System.Windows.Forms">
170-
<value>..\Resources\Power Platform Developer icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
166+
<data name="icon-new" type="System.Resources.ResXFileRef, System.Windows.Forms">
167+
<value>..\Resources\icons8-create-order-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
171168
</data>
172169
<data name="icon-undo" type="System.Resources.ResXFileRef, System.Windows.Forms">
173170
<value>..\Resources\icons8-undo-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -178,6 +175,12 @@
178175
<data name="icon-flow" type="System.Resources.ResXFileRef, System.Windows.Forms">
179176
<value>..\Resources\PowerAutomate_scalable gray bg 32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
180177
</data>
178+
<data name="icon-powerplatformdeveloper" type="System.Resources.ResXFileRef, System.Windows.Forms">
179+
<value>..\Resources\Power Platform Developer icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
180+
</data>
181+
<data name="Microsoft_logo.32" type="System.Resources.ResXFileRef, System.Windows.Forms">
182+
<value>..\Resources\Microsoft_logo.32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
183+
</data>
181184
<data name="icon-dataverse" type="System.Resources.ResXFileRef, System.Windows.Forms">
182185
<value>..\Resources\Dataverse_scalable gray bg 32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
183186
</data>
@@ -187,8 +190,8 @@
187190
<data name="BDU-2019-032-tsp" type="System.Resources.ResXFileRef, System.Windows.Forms">
188191
<value>..\Resources\BDU-2019-032-tsp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
189192
</data>
190-
<data name="icon-reset" type="System.Resources.ResXFileRef, System.Windows.Forms">
191-
<value>..\Resources\icons8-available-updates-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
193+
<data name="bmc-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
194+
<value>..\Resources\bmc-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
192195
</data>
193196
<data name="icon-xml" type="System.Resources.ResXFileRef, System.Windows.Forms">
194197
<value>..\Resources\icons8-placeholder-thumbnail-xml-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -211,10 +214,10 @@
211214
<data name="icon-saveas" type="System.Resources.ResXFileRef, System.Windows.Forms">
212215
<value>..\Resources\icons8-save-as-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
213216
</data>
214-
<data name="icon-options" type="System.Resources.ResXFileRef, System.Windows.Forms">
215-
<value>..\Resources\icons8-adjust-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
217+
<data name="icon-convert" type="System.Resources.ResXFileRef, System.Windows.Forms">
218+
<value>..\Resources\icons8-meat-grinder-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
216219
</data>
217-
<data name="Microsoft_logo.32" type="System.Resources.ResXFileRef, System.Windows.Forms">
218-
<value>..\Resources\Microsoft_logo.32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
220+
<data name="icon-search-16" type="System.Resources.ResXFileRef, System.Windows.Forms">
221+
<value>..\Resources\view.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
219222
</data>
220223
</root>

FetchXmlBuilder/Resources/view.png

844 Bytes
Loading

0 commit comments

Comments
 (0)