Skip to content

Commit d2e53a5

Browse files
Merge branch 'hotfix/hotfix-v30.1.37' into 964808-Remove-TFM
2 parents 621fd40 + 78c3feb commit d2e53a5

21 files changed

+61
-56
lines changed

blazor-toc.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

blazor/Release-Notes/30.1.39.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: Essential Studio for Blazor Weekly Release Release Notes
3+
description: Essential Studio for Blazor Weekly Release Release Notes
4+
platform: blazor
5+
documentation: ug
6+
---
7+
8+
# Essential Studio for Blazor Release Notes
9+
10+
{% include release-info.html date="July 08, 2025" version="v30.1.39" %}
11+
12+
{% directory path: _includes/release-notes/v30.1.39 %}
13+
14+
{% include {{file.url}} %}
15+
16+
{% enddirectory %}

blazor/accumulation-chart/center-label.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ You can configure the text that appears in the center using the [Text](https://h
4545
}
4646
```
4747
![Blazor Accumulation Chart with Center Label](./images/center-label/blazor-accumulation-chart-with-center-label.png)
48-
{% previewsample "https://blazorplayground.syncfusion.com/embed/hZBetHBdgvneoPva?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
48+
{% previewsample "https://blazorplayground.syncfusion.com/embed/hZBetHBdgvneoPva?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
4949

5050
## Hover Text
5151

@@ -85,7 +85,7 @@ N> Line breaks can be provided to texts in the `HoverTextFormat` property using
8585
}
8686
```
8787
![Blazor Accumulation Chart with Center Label Dynamic Text](./images/center-label/blazor-accumulation-chart-with-center-label-hover-text.gif)
88-
{% previewsample "https://blazorplayground.syncfusion.com/embed/hNBINdVRqvFzEVfG?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
88+
{% previewsample "https://blazorplayground.syncfusion.com/embed/hNBINdVRqvFzEVfG?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
8989

9090
## Customization
9191

@@ -126,7 +126,7 @@ The position of the center label can be adjusted using the [XOffset](https://hel
126126
}
127127
```
128128
![Blazor Accumulation Chart with Center Label Customization](./images/center-label/blazor-accumulation-chart-with-center-label-customization.png)
129-
{% previewsample "https://blazorplayground.syncfusion.com/embed/VZryXRrRqbOzXVbD?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
129+
{% previewsample "https://blazorplayground.syncfusion.com/embed/VZryXRrRqbOzXVbD?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
130130

131131
N> Refer to the [Blazor Charts](https://www.syncfusion.com/blazor-components/blazor-charts) feature tour page for its groundbreaking feature representations and also explore the [Blazor Accumulation Chart Example](https://blazor.syncfusion.com/demos/chart/pie?theme=bootstrap5) to know about the various features of accumulation charts and how it is used to represent numeric proportional data.
132132

blazor/accumulation-chart/chart-types/funnel.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ The corners of the first data point and last data point in the funnel chart seri
306306
}
307307
```
308308
![Blazor Funnel Chart with border radius applied.](../images/funnel/blazor-funnel-border-radius.png)
309-
{% previewsample "https://blazorplayground.syncfusion.com/embed/LjheDHBnqcxEcNgL?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
309+
{% previewsample "https://blazorplayground.syncfusion.com/embed/LjheDHBnqcxEcNgL?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
310310

311311
N> Refer to the [Blazor Charts](https://www.syncfusion.com/blazor-components/blazor-charts) feature tour page for its groundbreaking feature representations and also explore the [Blazor Accumulation Chart Example](https://blazor.syncfusion.com/demos/chart/funnel?theme=bootstrap5) to know various features of accumulation charts and how it is used to represent numeric proportional data.
312312

blazor/accumulation-chart/chart-types/pie-doughnut.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ The corners of all the slices in the pie/donut chart series can be rounded using
337337
}
338338
```
339339
![Blazor Pie Chart with border radius applied.](../images/pie-dough-nut/blazor-pie-chart-border-radius.png)
340-
{% previewsample "https://blazorplayground.syncfusion.com/embed/BjreZdhRKPiaFxIm?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
340+
{% previewsample "https://blazorplayground.syncfusion.com/embed/BjreZdhRKPiaFxIm?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
341341

342342
## Hide pie or doughnut border
343343

blazor/accumulation-chart/chart-types/pyramid.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ The corners of the first data point and last data point in the pyramid chart ser
250250
}
251251
```
252252
![Blazor Pyramid Chart with border radius applied.](../images/pyramid/blazor-pyramid-border-radius.png)
253-
{% previewsample "https://blazorplayground.syncfusion.com/embed/LthyDHBRqlAFfKbF?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
253+
{% previewsample "https://blazorplayground.syncfusion.com/embed/LthyDHBRqlAFfKbF?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
254254

255255
N> Refer to our [Blazor Charts](https://www.syncfusion.com/blazor-components/blazor-charts) feature tour page for its groundbreaking feature representations and also explore our [Blazor Accumulation Chart Example](https://blazor.syncfusion.com/demos/chart/pyramid?theme=bootstrap5) to know various features of accumulation charts and how it is used to represent numeric proportional data.
256256

blazor/ai-assistview/assist-view.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,9 @@ The `Prompts` collection stores all the prompts and responses generated.
8181
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
8282
{
8383
await Task.Delay(1000);
84-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
8584
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
8685
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
87-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
86+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
8887
}
8988
}
9089
@@ -168,10 +167,9 @@ You can customize the appearance of the prompter avatar by using the [PromptIcon
168167
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
169168
{
170169
await Task.Delay(1000);
171-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
172170
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
173171
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
174-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
172+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
175173
}
176174
}
177175
@@ -199,10 +197,9 @@ You can use the [ResponseIconCss](https://help.syncfusion.com/cr/blazor/Syncfusi
199197
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
200198
{
201199
await Task.Delay(1000);
202-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
203200
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
204201
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
205-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
202+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
206203
}
207204
}
208205

blazor/ai-assistview/templates.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,9 @@ You can use the [PromptItemTemplate](https://help.syncfusion.com/cr/blazor/Syncf
9898
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
9999
{
100100
await Task.Delay(1000);
101-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
102101
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
103102
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
104-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
103+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
105104
}
106105
}
107106
<style>
@@ -169,10 +168,9 @@ You can use the [ResponseItemTemplate](https://help.syncfusion.com/cr/blazor/Syn
169168
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
170169
{
171170
await Task.Delay(1000);
172-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
173171
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
174172
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
175-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
173+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
176174
}
177175
}
178176
<style>

blazor/ai-assistview/toolbar-items.md

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,9 @@ In the following example, AI AssistView component rendered with built-in toolbar
397397
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
398398
{
399399
await Task.Delay(1000);
400-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
401400
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
402401
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
403-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
402+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
404403
}
405404
}
406405
@@ -430,10 +429,9 @@ You can use the [Width](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.
430429
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
431430
{
432431
await Task.Delay(1000);
433-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
434432
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
435433
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
436-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
434+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
437435
}
438436
}
439437
@@ -461,10 +459,9 @@ You can define [ItemClicked](https://help.syncfusion.com/cr/blazor/Syncfusion.Bl
461459
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
462460
{
463461
await Task.Delay(1000);
464-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
465462
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
466463
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
467-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
464+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
468465
}
469466
private void ToolbarItemClicked(AssistViewToolbarItemClickedEventArgs args)
470467
{
@@ -496,10 +493,9 @@ In the following example, AI AssistView renders with built-in toolbar items.
496493
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
497494
{
498495
await Task.Delay(1000);
499-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
500496
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
501497
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
502-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
498+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
503499
}
504500
}
505501
@@ -529,10 +525,9 @@ You can use the [Width](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.
529525
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
530526
{
531527
await Task.Delay(1000);
532-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
533528
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
534529
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
535-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
530+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
536531
}
537532
}
538533
@@ -560,10 +555,9 @@ You can define [ItemClicked](https://help.syncfusion.com/cr/blazor/Syncfusion.Bl
560555
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
561556
{
562557
await Task.Delay(1000);
563-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
564558
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
565559
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
566-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
560+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
567561
}
568562
private void ToolbarItemClicked(AssistViewToolbarItemClickedEventArgs args)
569563
{
@@ -603,10 +597,9 @@ You can use the [PromptToolbarItem](https://help.syncfusion.com/cr/blazor/Syncfu
603597
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
604598
{
605599
await Task.Delay(1000);
606-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
607600
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
608601
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
609-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
602+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
610603
}
611604
}
612605
@@ -643,10 +636,9 @@ You can use the [ResponseToolbarItem](https://help.syncfusion.com/cr/blazor/Sync
643636
private async Task PromptRequest(AssistViewPromptRequestedEventArgs args)
644637
{
645638
await Task.Delay(1000);
646-
var isPromptFound = prompts.Any(prompt => prompt.Prompt == args.Prompt);
647639
var promptData = prompts.FirstOrDefault(prompt => prompt.Prompt == args.Prompt);
648640
var defaultResponse = "For real-time prompt processing, connect the AI AssistView component to your preferred AI service, such as OpenAI or Azure Cognitive Services. Ensure you obtain the necessary API credentials to authenticate and enable seamless integration.";
649-
args.Response = isPromptFound ? promptData.Response : defaultResponse;
641+
args.Response = string.IsNullOrEmpty(promptData.Response) ? defaultResponse : promptData.Response;
650642
}
651643
}
652644

blazor/chart/chart-types/bar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ The [ColumnWidthInPixel](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor
509509
}
510510
```
511511
![Blazor Bar Chart with column width set in pixel](../images/chart-types-images/blazor-bar-chart-width-in-pixels.png)
512-
{% previewsample "https://blazorplayground.syncfusion.com/embed/rDreDxhnJqkknbxM?appbar=true&editor=true&result=true&errorlist=true&theme=bootstrap5" %}
512+
{% previewsample "https://blazorplayground.syncfusion.com/embed/rDreDxhnJqkknbxM?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
513513

514514
## Grouped bar
515515

0 commit comments

Comments
 (0)