Skip to content

Commit dad709c

Browse files
Improved the data source selection behavior with no data sources selected (#355)
1 parent 75b3238 commit dad709c

File tree

2 files changed

+58
-37
lines changed

2 files changed

+58
-37
lines changed

app/MindWork AI Studio/Components/DataSourceSelection.razor

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -69,52 +69,72 @@
6969
<MudTextSwitch Label="AI-based data validation" Value="@this.aiBasedValidation" LabelOn="Yes, let the AI validate & filter the retrieved data." LabelOff="No, use all data retrieved from the data sources." ValueChanged="@this.ValidationModeChanged"/>
7070
}
7171

72-
@if (this.aiBasedSourceSelection is false || this.DataSourcesAISelected.Count == 0)
72+
@switch (this.aiBasedSourceSelection)
7373
{
74-
<MudField Label="Available Data Sources" Variant="Variant.Outlined" Class="mb-3" Disabled="@this.aiBasedSourceSelection">
75-
<MudList T="IDataSource" SelectionMode="@this.GetListSelectionMode()" @bind-SelectedValues:get="@this.selectedDataSources" @bind-SelectedValues:set="@(x => this.SelectionChanged(x))" Style="max-height: 14em;">
76-
@foreach (var source in this.availableDataSources)
77-
{
78-
<MudListItem Value="@source">
79-
@source.Name
80-
</MudListItem>
81-
}
82-
</MudList>
83-
</MudField>
84-
}
85-
else
86-
{
87-
<MudExpansionPanels MultiExpansion="@false" Class="mt-3" Style="max-height: 14em;">
88-
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.TouchApp" HeaderText="Available Data Sources">
89-
<MudList T="IDataSource" SelectionMode="MudBlazor.SelectionMode.SingleSelection" SelectedValues="@this.selectedDataSources" Style="max-height: 14em;">
74+
case true when this.availableDataSources.Count == 0:
75+
<MudText Typo="Typo.body1" Class="mb-3">
76+
Your data sources cannot be used with the LLM provider you selected due to data privacy, or they are currently unavailable.
77+
</MudText>
78+
break;
79+
80+
case true when this.DataSourcesAISelected.Count == 0:
81+
<MudText Typo="Typo.body1" Class="mb-3">
82+
The AI evaluates each of your inputs to determine whether and which data sources are necessary. Currently, the AI has not selected any source.
83+
</MudText>
84+
break;
85+
86+
case false when this.availableDataSources.Count == 0:
87+
<MudText Typo="Typo.body1" Class="mb-3">
88+
Your data sources cannot be used with the LLM provider you selected due to data privacy, or they are currently unavailable.
89+
</MudText>
90+
break;
91+
92+
case false:
93+
<MudField Label="Available Data Sources" Variant="Variant.Outlined" Class="mb-3" Disabled="@this.aiBasedSourceSelection">
94+
<MudList T="IDataSource" SelectionMode="@this.GetListSelectionMode()" @bind-SelectedValues:get="@this.selectedDataSources" @bind-SelectedValues:set="@(x => this.SelectionChanged(x))" Style="max-height: 14em;">
9095
@foreach (var source in this.availableDataSources)
9196
{
9297
<MudListItem Value="@source">
9398
@source.Name
9499
</MudListItem>
95100
}
96101
</MudList>
97-
</ExpansionPanel>
98-
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Filter" HeaderText="AI-Selected Data Sources">
99-
<MudList T="DataSourceAgentSelected" SelectionMode="MudBlazor.SelectionMode.MultiSelection" ReadOnly="@true" SelectedValues="@this.GetSelectedDataSourcesWithAI()" Style="max-height: 14em;">
100-
@foreach (var source in this.DataSourcesAISelected)
101-
{
102-
<MudListItem Value="@source">
103-
<ChildContent>
104-
<MudText Typo="Typo.body1">
105-
@source.DataSource.Name
106-
</MudText>
102+
</MudField>
103+
break;
104+
105+
case true:
106+
<MudExpansionPanels MultiExpansion="@false" Class="mt-3" Style="max-height: 14em;">
107+
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.TouchApp" HeaderText="Available Data Sources">
108+
<MudList T="IDataSource" SelectionMode="MudBlazor.SelectionMode.SingleSelection" SelectedValues="@this.selectedDataSources" Style="max-height: 14em;">
109+
@foreach (var source in this.availableDataSources)
110+
{
111+
<MudListItem Value="@source">
112+
@source.Name
113+
</MudListItem>
114+
}
115+
</MudList>
116+
</ExpansionPanel>
117+
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Filter" HeaderText="AI-Selected Data Sources">
118+
<MudList T="DataSourceAgentSelected" SelectionMode="MudBlazor.SelectionMode.MultiSelection" ReadOnly="@true" SelectedValues="@this.GetSelectedDataSourcesWithAI()" Style="max-height: 14em;">
119+
@foreach (var source in this.DataSourcesAISelected)
120+
{
121+
<MudListItem Value="@source">
122+
<ChildContent>
123+
<MudText Typo="Typo.body1">
124+
@source.DataSource.Name
125+
</MudText>
107126

108-
<MudProgressLinear Color="Color.Info" Min="0" Max="1" Value="@source.AIDecision.Confidence"/>
109-
<MudJustifiedText Typo="Typo.body2">
110-
@this.GetAIReasoning(source)
111-
</MudJustifiedText>
112-
</ChildContent>
113-
</MudListItem>
114-
}
115-
</MudList>
116-
</ExpansionPanel>
117-
</MudExpansionPanels>
127+
<MudProgressLinear Color="Color.Info" Min="0" Max="1" Value="@source.AIDecision.Confidence"/>
128+
<MudJustifiedText Typo="Typo.body2">
129+
@(this.GetAIReasoning(source))
130+
</MudJustifiedText>
131+
</ChildContent>
132+
</MudListItem>
133+
}
134+
</MudList>
135+
</ExpansionPanel>
136+
</MudExpansionPanels>
137+
break;
118138
}
119139
}
120140
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# v0.9.37, build 212 (2025-03-16 xx:xx UTC)
22
- Improved the experience of the data selection component when no data sources are configured yet.
3+
- Improved the data source selection behavior when no data source is available or selected, for whatever reason.
34
- Moved the data source settings into the data selection component.

0 commit comments

Comments
 (0)