docs(common): Remove promises for the future (#2330)

* docs(common): Remove promises for the future

* Update knowledge-base/requires-valueexpression.md

Co-authored-by: Iva Stefanova Koevska-Atanasova <koevska@progress.com>

* Update upgrade/overview.md

Co-authored-by: Iva Stefanova Koevska-Atanasova <koevska@progress.com>

* Update form-chrome-autofill.md

* Update overview.md

---------

Co-authored-by: Iva Stefanova Koevska-Atanasova <koevska@progress.com>
This commit is contained in:
Dimo Dimov 2024-08-09 14:23:34 +03:00 коммит произвёл GitHub
Родитель 048d242e60
Коммит ff1949f0c2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
33 изменённых файлов: 68 добавлений и 107 удалений

Просмотреть файл

@ -33,7 +33,7 @@ the component will call this method to request the model that matches the `Value
#limitations
* When the initially selected item/items are on a page different than the first one, opening the dropdown list will NOT scroll the list to the selected item.
* When virtualization is enabled, the component calculates the position of the items. In this case, the loading indicators are not displayed as they would affect the proper item positioning. This limitation will be removed in a future version of UI for Blazor.
* When virtualization is enabled, the component calculates the position of the items. In this case, the loading indicators are not displayed as they would affect the proper item positioning.
#end
#remote-data-sample-intro

Просмотреть файл

@ -554,9 +554,7 @@
#get-column-state-from-code
@* Click the button, reorder some columns, maybe lock one of them, hide another, and click the button again to see how the state changes but the order of the columns in the state collection remains the same. This example also shows a workaround for getting the Field of the column that will be availale in a future release as part of the column state. *@
@using Telerik.DataSource;
@* Click the button, reorder some columns, maybe lock one of them, hide another, and click the button again to see how the state changes but the order of the columns in the state collection remains the same. *@
<TelerikButton OnClick="@GetColumnsFromState">Get the state of the Columns</TelerikButton>
@ -580,64 +578,36 @@
</TelerikTreeList>
@code {
public TelerikTreeList<Employee> TreeListRef { get; set; } = new TelerikTreeList<Employee>();
//part of workaround for getting the field too
public List<string> ColumnFields => new List<string>
{
nameof(Employee.Name),
nameof(Employee.Id),
nameof(Employee.EmailAddress),
nameof(Employee.HireDate)
};
public string Logger { get; set; } = String.Empty;
private TelerikTreeList<Employee>? TreeListRef { get; set; }
public async Task GetColumnsFromState()
private string Logger { get; set; } = String.Empty;
private List<Employee> Data { get; set; } = new();
private void GetColumnsFromState()
{
// final part of the workaround for getting the field
var columnsState = TreeListRef.GetState().ColumnStates;
var columnsState = TreeListRef!.GetState().ColumnStates;
int index = 0;
foreach (var item in columnsState)
{
string columnField = ColumnFields[index];
bool isVisible = item.Visible != false;
string log = $"<p>Column: <strong>{columnField}</strong> | Index in TreeList: {item.Index} | Index in state: {index} | Visible: {isVisible} | Locked: {item.Locked}</p>";
string log = $"<p>Column: <strong>{item.Field}</strong> | Index in TreeList: {item.Index} | Index in state: {index} | Visible: {isVisible} | Locked: {item.Locked}</p>";
Logger += log;
index++;
}
}
public List<Employee> Data { get; set; }
// sample model
public class Employee
protected override void OnInitialized()
{
// hierarchical data collections
public List<Employee> DirectReports { get; set; }
// data fields for display
public int Id { get; set; }
public string Name { get; set; }
public string EmailAddress { get; set; }
public DateTime HireDate { get; set; }
Data = GetTreeListData();
}
// data generation
// used in this example for data generation and retrieval for CUD operations on the current view-model data
public int LastId { get; set; } = 1;
protected override async Task OnInitializedAsync()
{
Data = await GetTreeListData();
}
async Task<List<Employee>> GetTreeListData()
private List<Employee> GetTreeListData()
{
List<Employee> data = new List<Employee>();
@ -684,7 +654,16 @@
}
}
return await Task.FromResult(data);
return data;
}
public class Employee
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string EmailAddress { get; set; } = string.Empty;
public DateTime HireDate { get; set; }
public List<Employee>? DirectReports { get; set; }
}
}
#end

Просмотреть файл

@ -17,7 +17,6 @@ In this article:
* [Observable data](#observable-data)
* [Refresh Data](#refresh-data)
* [Telerik components that support Observable Data](#telerik-components-that-support-observable-data)
* [Telerik components that will support Observable Data in a future release](#telerik-components-that-will-support-observable-data-in-a-future-release)
## Observable Data
@ -52,9 +51,7 @@ The following components support observable data for their `Data` parameter. Not
* [TreeView]({%slug treeview-refresh-data%})
## Telerik components that will support Observable Data in a future release
The following components will receive this feature in a future release. You can currently refresh their Data by creating a [New collection reference](#refresh-data).
You can refresh other components that do not support observable data by creating a [New collection reference](#refresh-data).
* [Scheduler]({%slug scheduler-refresh-data%})
@ -67,5 +64,5 @@ The following components will receive this feature in a future release. You can
## See Also
* [INotifyCollectionChanged Interface](https://docs.microsoft.com/en-us/dotnet/api/system.collections.specialized.inotifycollectionchanged?view=netframework-4.8)
* [Live Demos](https://demos.telerik.com/blazor-ui/)
* [INotifyCollectionChanged Interface](https://docs.microsoft.com/en-us/dotnet/api/system.collections.specialized.inotifycollectionchanged?view=netframework-4.8)
* [Live Demos](https://demos.telerik.com/blazor-ui/)

Просмотреть файл

@ -67,8 +67,6 @@ The group headers can stick to the top of the dropdown during scrolling. In othe
* One level of grouping is supported.
* A grouped AutoComplete will provide a `Groups` property with a single [`GroupDescriptor`](/blazor-ui/api/Telerik.DataSource.GroupDescriptor) in the [`DataSourceRequest`](/blazor-ui/api/Telerik.DataSource.DataSourceRequest) argument of its [OnRead event]({%slug autocomplete-events%}#onread). This will allow the developer to apply grouping with [manual data operations]({%slug components/grid/manual-operations%}).
* `GroupHeaderTemplate` and `GroupItemTemplate` will be introduced in a future version. Currently there is a bug in the Blazor framework that prevents us from supporting them.
* Virtual scrolling with grouping will be supported in a future version.
## See Also

Просмотреть файл

@ -68,8 +68,6 @@ The group headers can stick to the top of the dropdown during scrolling. In othe
* One level of grouping is supported.
* A grouped ComboBox will provide a `Groups` property with a single [`GroupDescriptor`](/blazor-ui/api/Telerik.DataSource.GroupDescriptor) in the [`DataSourceRequest`](/blazor-ui/api/Telerik.DataSource.DataSourceRequest) argument of its [OnRead event]({%slug components/combobox/events%}#onread). This will allow the developer to apply grouping with [manual data operations]({%slug components/grid/manual-operations%}).
* `GroupHeaderTemplate` and `GroupItemTemplate` will be introduced in a future version. Currently there is a bug in the Blazor framework that prevents us from supporting them.
* Virtual scrolling with grouping will be supported in a future version.
## See Also

Просмотреть файл

@ -18,7 +18,7 @@ In this article:
## Observable Data
>note The Context Menu will receive this feature in a future release. You can currently refresh its Data by creating a [New collection reference](#new-collection-reference).
>note The Context Menu does not support binding to observable data. You can currently refresh the component by creating a [new collection reference](#new-collection-reference).
@[template](/_contentTemplates/common/observable-data.md#observable-data)

Просмотреть файл

@ -18,7 +18,7 @@ In this article:
## Observable Data
>note The Drawer will receive this feature in a future release. You can currently refresh its Data by creating a [New collection reference](#new-collection-reference).
>note The Drawer does not support binding to observable data. You can currently refresh the component by creating a [new collection reference](#new-collection-reference).
@[template](/_contentTemplates/common/observable-data.md#observable-data)

Просмотреть файл

@ -69,8 +69,6 @@ The group headers can stick to the top of the dropdown during scrolling. In othe
* One level of grouping is supported.
* The `DefaultText` (e.g. "Select item...") is always rendered above the sticky group header in the dropdown.
* A grouped DropDownList will provide a `Groups` property with a single [`GroupDescriptor`](/blazor-ui/api/Telerik.DataSource.GroupDescriptor) in the [`DataSourceRequest`](/blazor-ui/api/Telerik.DataSource.DataSourceRequest) argument of its [OnRead event]({%slug components/dropdownlist/events%}#onread). This will allow the developer to apply grouping with [manual data operations]({%slug components/grid/manual-operations%}).
* `GroupHeaderTemplate` and `GroupItemTemplate` will be introduced in a future version. Currently there is a bug in the Blazor framework that prevents us from supporting them.
* Virtual scrolling with grouping will be supported in a future version.
## See Also

Просмотреть файл

@ -184,7 +184,7 @@ The Blazor Gantt component exposes templates for customizing the [Timeline]({%sl
## Toolbar
The Blazor Gantt component has a dedicated toolbar for defining user actions. For the moment, they are mostly custom actions, but in future versions you will be able to add features like exporting there.
The Blazor Gantt component has a dedicated toolbar for defining user actions.
## Scrolling

Просмотреть файл

@ -19,4 +19,4 @@ The following sample projects show two ways to implement a PDF export
* <a href="https://github.com/telerik/blazor-ui/tree/master/common/pdf-jpg-export-js" target="_blank">PDF and JPG Export in the Browser with JS</a> - uses Kendo JS libraries to generate the PDF file from the current DOM in the browser.
In the future, there will be a built-in feature in the grid for this so you don't have to generate the file on your own. You can Follow it <a href="https://feedback.telerik.com/blazor/1434269-export-grid-to-pdf" target="_blank">here</a>. At the moment, the WebAssembly scenario is too slow for us to release it, mainly due to the missing <a href="https://github.com/dotnet/aspnetcore/issues/17730" target="_blank">multithreading</a> and <a href="https://github.com/dotnet/aspnetcore/issues/5466" target="_blank">AoT support</a> for Blazor, and <a href="https://github.com/mono/mono/issues/10222" target="_blank">full AoT for Mono</a>.
You can also follow the feature request for <a href="https://feedback.telerik.com/blazor/1434269-export-grid-to-pdf" target="_blank">built-in Grid export to PDF</a>.

Просмотреть файл

@ -198,9 +198,7 @@ depending on how you filter the data so you may never be able to get back all va
});
}
// get custom filters data. In a future version you will be able to call these methods
// from the template initialization instead of here (or in OnRead) so that they fetch data
// only when the user actually needs filter values, instead of always - that could improve server performance
// Get custom filters data.
await GetTeamOptions();
await GetNameOptions();
}

Просмотреть файл

@ -64,7 +64,7 @@ The ListView exposes three relevant events. You can find related examples in the
>tip You can optimize database queries in two ways:
>
> * Use an `IQueryable<MyModel>` collection for the listview `Data`. The listview will build a LINQ expression internally that will be resolved only when needed. This can be useful when the `Data` comes from something like an EntityFramework context.
> * Implement [manual data source operations]({%slug listview-manual-operations%}) and implement the desired query yourself. In a future version, the `DataSourceRequest` object will become serializable so you can send it directly over HTTP to a controller and use the LINQ queries it will build for you.
> * Bind the ListView with an [`OnRead` handler]({%slug common-features-data-binding-onread%}) and implement [manual data source operations]({%slug listview-manual-operations%}).
## Pager Settings

Просмотреть файл

@ -18,7 +18,7 @@ In this article:
## Observable Data
>note The Menu will receive this feature in a future release. You can currently refresh its Data by creating a [New collection reference](#new-collection-reference).
>note The Menu does not support binding to observable data. You can currently refresh the component by creating a [new collection reference](#new-collection-reference).
@[template](/_contentTemplates/common/observable-data.md#observable-data)

Просмотреть файл

@ -79,8 +79,6 @@ The group headers stick to the top of the dropdown during scrolling. In other wo
* One level of grouping is supported.
* The `Placeholder` (e.g. "Select item...") is always rendered above the sticky group header in the dropdown.
* A grouped MultiColumnComboBox will provide a `Groups` property with a single [`GroupDescriptor`](/blazor-ui/api/Telerik.DataSource.GroupDescriptor) in the [`DataSourceRequest`](/blazor-ui/api/Telerik.DataSource.DataSourceRequest) argument of its [OnRead event]({%slug multicolumncombobox-events%}#onread). This will allow the developer to apply grouping with [manual data operations]({%slug common-features-data-binding-onread%}).
* `GroupHeaderTemplate` and `GroupItemTemplate` will be introduced in a future version. Currently there is a bug in the Blazor framework that prevents us from supporting them.
* Virtual scrolling with grouping will be supported in a future version.
## See Also

Просмотреть файл

@ -68,8 +68,6 @@ The group headers can stick to the top of the dropdown during scrolling. In othe
* One level of grouping is supported.
* A grouped MultiSelect will provide a `Groups` property with a single [`GroupDescriptor`](/blazor-ui/api/Telerik.DataSource.GroupDescriptor) in the [`DataSourceRequest`](/blazor-ui/api/Telerik.DataSource.DataSourceRequest) argument of its [OnRead event]({%slug multiselect-events%}#onread). This will allow the developer to apply grouping with [manual data operations]({%slug components/grid/manual-operations%}).
* `GroupHeaderTemplate` and `GroupItemTemplate` will be introduced in a future version. Currently there is a bug in the Blazor framework that prevents us from supporting them.
* Virtual scrolling with grouping will be supported in a future version.
## See Also

Просмотреть файл

@ -135,7 +135,7 @@ You can refresh the Scheduler data by using the Rebind method exposed to the ref
## Observable Data
>note The Scheduler will receive this feature in a future release. You can currently refresh its Data by creating a [New collection reference](#new-collection-reference).
>note Refresh the Scheduler data by creating a [New collection reference](#new-collection-reference).
@[template](/_contentTemplates/common/observable-data.md#observable-data)

Просмотреть файл

@ -55,7 +55,7 @@ The Blazor TextArea provides various parameters to configure the component:
| ----------- | ----------- | ----------- |
| `AutoCapitalize` | `string` | A `string` that maps to the [`autocapitalize`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize) attribute of the HTML element. It's applicable only for touch devices and virtual keyboards. |
| `AutoComplete` | `bool` | Maps to the autocomplete attribute of the HTML `<textarea>`. |
| `AutoSize` | `bool` | Specifies if the TextArea will adjust its height based on the user input. You can [use CSS to limit the resizing up to a max height]({%slug textarea-kb-autosize-max-height%}). This parameter will be deprecated in a future version. Use `ResizeMode` with `Auto` value instead. |
| `AutoSize` <br /> (deprecated) | `bool` | Specifies if the TextArea will adjust its height based on the user input. You can [use CSS to limit the resizing up to a max height]({%slug textarea-kb-autosize-max-height%}). This parameter is deprecated. Use `ResizeMode` with `Auto` value instead. |
| `ResizeMode` | `TextAreaResizeMode?` | Specifies the TextArea's resize behavior. Default behavior is the one set by the browser. |
| `Class` | `string` | The custom CSS class to be rendered on the `<span class="k-textarea">` element. |
| `Cols` | `int?` | Maps to the `cols` attribute of the HTML `<textarea>` element. Do not use together with `Width`.

Просмотреть файл

@ -176,9 +176,7 @@ In this sample the Team column lets you filter only by the CEO Team settings, or
{
Data = await GetTreeListData();
// get custom filters data. In a future version you will be able to call these methods
// from the template initialization instead of here so that they fetch data
// only when the user actually needs filter values, instead of always - that could improve server performance
// Get custom filters data.
await GetTeamNameOptions();
}

Просмотреть файл

@ -106,10 +106,11 @@ To achieve the desired scenario:
* If the AnimationContainer is opened as a result of a button click, consider this in the opening and closing logic. The above example uses a `bool` flag for the AnimatioContainer state.
* All Telerik Blazor popup and drop-down components are rendered at the root of the app, and not at the place of declaration. For example, if the AnimationContainer contains a ComboBox, its drop-down will render outside the AnimationContainer. This behavior affects the check in [step 3](#solution) above. To distinguish it, use [another Class for the nested popup]({%slug components/combobox/overview%}#popup-settings).
* The AnimationContainer must reside outside elements with an `overflow` style. Otherwise, it may be clipped or overlapped by other scrollable containers. This limitation will not exist for the [future Popup component](https://feedback.telerik.com/blazor/1506370-dropdown-container-popup-component-tied-to-an-anchor-for-positioning).
* The AnimationContainer must reside outside elements with an `overflow` style. Otherwise, it may be clipped or overlapped by other scrollable containers. This limitation does not exist in the [Popup component]({%slug popup-overview%}).
## See Also
* [AnimationContainer Documentation]({%slug components/animationcontainer/overview%})
* [Telerik UI for Blazor Popup Feature Request Tracking](https://feedback.telerik.com/blazor/1506370-dropdown-container-popup-component-tied-to-an-anchor-for-positioning)
* [Popup Documentation]({%slug popup-overview%})
* [Comparison between All Popup Components]({%slug common-kb-popup-component-comparison%})

Просмотреть файл

@ -105,4 +105,4 @@ You can also wrap the custom CSS in a `@media` query to capture users who have c
## Notes
A setting might be exposed at component level for this in the future. You can track its status at [Modify default values of animations](https://feedback.telerik.com/blazor/1469662-way-to-modify-default-values-of-animations-such-as-duration-and-delay-for-a-component-such-as-combobox).
A setting might be exposed at component level for this. Follow the feature request about [setting animation speed on popups](https://feedback.telerik.com/blazor/1586639-set-default-animation-speed-on-popups).

Просмотреть файл

@ -56,7 +56,7 @@ Generally, there are **four** ways to customize the appearance of the Telerik Bl
To change the sizing and layout of most or all our components, go for manual theme build. For minor adjustments here and there, consider overrides only.
The final decision depends on what and how much you need to customize and what future requirements may appear.
The final decision depends on what and how much you need to customize and what other requirements may appear.
[**Figma UI Kits**](https://www.telerik.com/figma-kits) allow designers to include visual representations of the Telerik components in their application designs. Custom kits still [require you to create a custom theme afterwards]({%slug ui-kits/themes%}#choosing-how-to-use-the-ui-kits).

Просмотреть файл

@ -41,9 +41,7 @@ Here is some more context.
The Telerik Blazor Editor uses the [**ProseMirror engine**](https://prosemirror.net). The [Enter] behavior depends on the engine.
The Editor will be able to render `<br />` tags instead of `<p>` tags when we [enable developers to implement ProseMirror plugins](https://feedback.telerik.com/blazor/1492857-expose-a-way-to-write-custom-plugins-for-the-underlying-prosemirror-engine) that tweak the engine behavior.
We recommend following this feature request for future updates.
The Editor can render `<br />` tags instead of `<p>` tags if you [use a ProseMirror plugin]({%slug editor-prosemirror-plugins%}) that changes the default engine behavior.
## Side Effects

Просмотреть файл

@ -40,10 +40,10 @@ The application is not given the chance to respond to the autofill action of the
## To Reproduce
1. Run this snippet in the browser
2. Fill in the form and click Submit
3. In the browser popup asking you to save the data for the future, confirm and let Chrome save it
4. Reload the page - the browser will autofill the saved data
1. Run this snippet in the browser.
2. Fill in the form and click Submit.
3. In the browser popup asking you to save the form data, confirm and let Chrome save it.
4. Reload the page - the browser will autofill the saved data.
````CSHTML
@* This example showcases the problematic configuration *@
@ -150,4 +150,4 @@ You can also add a standard HTML `<label>` element to have a label for your inpu
* [Label not moved from input on browser autofill in Chrome]({%slug textbox-chrome-autofill-label%})
* [Empty TextBox value on Chrome autofill]({%slug textbox-kb-empty-value-on-autofill%})
* [Empty TextBox value on Chrome autofill]({%slug textbox-kb-empty-value-on-autofill%})

Просмотреть файл

@ -33,7 +33,7 @@ This KB article answers the following questions:
By default, the hierarchy expand/collapse column in the Telerik UI for Blazor [Grid]({%slug grid-overview%}) is not declared in the markup like the other data-bound columns. It renders automatically when a `DetailTemplate` is added to the Grid. At the time of writing (UI for Blazor **6.0.2**), this built-in hierarchy expand/collapse column does not support being locked or other common configurations like managing its position, setting its width, or adding a title.
>tip In a future UI for Blazor version, the Grid will support [controlling the position of the expand column](https://feedback.telerik.com/blazor/1647135-ability-to-control-the-position-of-the-expand-column-in-a-hierarchical-grid).
>tip Vote for and follow the [feature request for the Grid to support controlling the position of the expand column](https://feedback.telerik.com/blazor/1647135-ability-to-control-the-position-of-the-expand-column-in-a-hierarchical-grid).
To customize the hierarchy expand/collapse column, follow these steps:

Просмотреть файл

@ -30,7 +30,7 @@ How to move Toolbar at the bottom of the Grid?
## Solution
At the time of writing (Telerik UI for Blazor version 3.2.0), by default, the Grid Toolbar is placed on top of the Grid and Pager - at the bottom. Controlling the position of the [Toolbar](https://feedback.telerik.com/blazor/1502828-allow-changing-the-position-of-the-grid-toolbar) and [Pager](https://feedback.telerik.com/blazor/1561750-ability-to-control-pager-position) will be supported out of the box in future version of the product.
The Grid Toolbar is placed on top of the Grid and Pager at the bottom. You can follow the feature requests about controlling the position of the [Toolbar](https://feedback.telerik.com/blazor/1502828-allow-changing-the-position-of-the-grid-toolbar) and the [Pager](https://feedback.telerik.com/blazor/1561750-ability-to-control-pager-position).
For the time being, this scenario can be handled with a custom approach.

Просмотреть файл

@ -31,7 +31,7 @@ This KB article answers the following questions:
## Solution
The Telerik Grid for Blazor does not support transposing. A transposed Grid requires a different architecture, implementation and UI. Thus, a transposed Grid must be a separate component, such as the [Telerik PropertyGrid for Blazor](https://feedback.telerik.com/blazor/1468343-propertygrid-property-grid-vertical-oriented-grid-with-cell-labels-in-column-1). Vote for the feature request and follow it to receive future status updates.
The Telerik Grid for Blazor does not support transposing. A transposed Grid requires a different architecture, implementation and UI. Thus, a transposed Grid must be a separate component, such as the [Telerik PropertyGrid for Blazor](https://feedback.telerik.com/blazor/1468343-propertygrid-property-grid-vertical-oriented-grid-with-cell-labels-in-column-1). Vote for the feature request and follow it to receive status updates.
## Suggested Workarounds

Просмотреть файл

@ -36,7 +36,7 @@ The most common reason for this error is a combination of the following:
* The component does not use `@bind-Value="@myModel.MyField"`, but simply `Value="@myModel.MyField"`, or its `Value` is not even specified
* The component is now in an `EditForm` but this may be coming from its parent component, but it is not prepared for that
This error comes from the framework and applies to generic inputs as well, not only the Telerik components. At the time of writing, I was not able to find an official resource for the `ValueExpression` feature. The closest is the example for a `ValidationMessage` at [https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-3.1#validation-summary-and-validation-message-components](https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-3.1#validation-summary-and-validation-message-components). Hopefully, the validation documentation in MSDN will be updated to include information about this parameter in the future.
This error comes from the framework and applies to generic inputs as well, not only the Telerik components. At the time of writing, an official resource for the `ValueExpression` feature was not readily available. The closest was the example for a `ValidationMessage` at [https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-3.1#validation-summary-and-validation-message-components](https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-3.1#validation-summary-and-validation-message-components).
## Solution

Просмотреть файл

@ -40,7 +40,7 @@ A possible workaround is to change the component `Width` and `Height` at runtime
1. [Use `JSInterop`](https://learn.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/) to obtain the user screen size.
1. Calculate and set the desired Signature `Width` and `Height`.
1. If you need to resize the Signature on browser window resize, [use debouncing in the JavaScript event handler for better Blazor app performance](https://learn.microsoft.com/en-us/aspnet/core/blazor/performance?view=aspnetcore-8.0#dont-trigger-events-too-rapidly).
1. [Remove the Signature from the page temporarily while changing its size](https://feedback.telerik.com/blazor/1588545). This may not be necessary in future versions.
1. [Remove the Signature from the page temporarily while changing its size](https://feedback.telerik.com/blazor/1588545).
>caption Resize Signature with the browser viewport
@ -98,7 +98,7 @@ A possible workaround is to change the component `Width` and `Height` at runtime
[JSInvokable("RecreateSignature")]
public void RecreateSignature(int viewportWidth, int viewportHeight)
{
// Hiding the Signature may not be necessary in future versions.
// Signature bug related to Width and Height changes
// https://feedback.telerik.com/blazor/1588545
ShowSignature = false;

Просмотреть файл

@ -143,7 +143,7 @@ Call the `NotifyFieldChanged()` method of the `EditContext` to let it know it ne
## Notes
If the model has validation attached, updating the `EditContext` does not update the validation. At the time of writing, there does not seem to be API that can achieve this and calling `NotifyValidationStateChanged()` does not seem to have an effect, even though it might in future framework versions.
If the model has validation attached, updating the `EditContext` does not update the validation. At the time of writing, there does not seem to be API that can achieve this and calling `NotifyValidationStateChanged()` does not seem to have an effect, even though this might change in other framework versions.
## See Also

Просмотреть файл

@ -59,8 +59,8 @@ Considering the above-listed JS limitation, you may experience some issues when
@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout)
| Subject | Details |
| -------- | ---------|
| Subject | Details |
| --- | --- |
| Issue | When testing a DatePicker the test fails with: <br/> ````System.Exception : A Telerik component on the requested view requires a TelerikRootComponent to be added to the root of the MainLayout component of the app.```` |
| Cause | A possible cause for this error is that in the test the component is rendered in isolation, without a layout, so the `TelerikRootComponent` is missing.|
| Workaround | Ether [mock the `TelerikRootComponent`](https://github.com/telerik/blazor-ui/blob/master/testing/bUnit-justmock/Telerik.Blazor.BUnit.JustMock/Common/TelerikTestContext.cs) or use an [actual `TelerikRootComponent`](https://github.com/telerik/blazor-ui/blob/master/testing/bUnit-justmock/Telerik.Blazor.BUnit.JustMock/Common/TelerikTestContextWithActualRoot.cs). |
@ -69,8 +69,8 @@ Considering the above-listed JS limitation, you may experience some issues when
@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout)
| Subject | Details |
| -------- | ---------|
| Subject | Details |
| --- | --- |
| Issue | Trying to detect an element by `data-id` fails as every time the `data-id` value in the generated markup is different. |
| Cause | The `data-id` of the components is automatically generated in our components and it is unique for each instance. Thus, this is an expected difference in the output if you call `RenderComponent` twice. |
| Workaround | This attribute is used for internal purposes only and should not be included in the check. You may implement a method that can strip the unique attributes from the component, or verify particular elements using their CSS selectors (for instance `div.k-grid`). |
@ -79,8 +79,8 @@ Considering the above-listed JS limitation, you may experience some issues when
@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout)
| Subject | Details |
| -------- | ---------|
| Subject | Details |
| --- | --- |
| Issue | Testing a component that contains a Scheduler fails with the following error: <br/> ````System.NullReferenceException : Object reference not set to an instance of an object. at Telerik.Blazor.Components.Scheduler.Rendering.ContentTableBase`1.SetSlotMetrics(Dictionary`2metrics) at Telerik.Blazor.Components.Scheduler.Rendering.ContentTableBase`1.GetSlotMetrics()```` |
| Cause | The root cause is that the Scheduler must render in the browser and then measure and adjust its layout with JavaScript. Then this information is sent to the .NET runtime to be used there. |
| Workaround | [Mock the component](https://bunit.dev/docs/providing-input/substituting-components.html?tabs=moq) or refactor the component structure of your app, so that you can test a component that doesn't contain our Scheduler. |
@ -89,18 +89,18 @@ Considering the above-listed JS limitation, you may experience some issues when
@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout)
| Subject | Details |
| -------- | ---------|
| Subject | Details |
| --- | --- |
| Issue | Detecting the content of a Dialog fails. |
| Cause | The Dialog, Window and popup elements are rendered on root level and not in their place of declaration. |
| Workaround | To detect the popup content, target the `RootComponent` and search inside it. See: [Dialog example](https://github.com/telerik/blazor-ui/blob/master/testing/bUnit-justmock/Telerik.Blazor.BUnit.JustMock/DemoSample/DialogPage.cs) and [Window example](https://github.com/telerik/blazor-ui/blob/master/testing/bUnit-justmock/Telerik.Blazor.BUnit.JustMock/DemoSample/WindowButtonPage.cs). <br/> <br/> In future, UI for Blazor will support [creation of an interface to easily mock the DialogFactory](https://feedback.telerik.com/blazor/1533040-create-an-interface-to-easily-mock-the-dialogfactory). Follow the request to gets status updates.|
| Workaround | To detect the popup content, target the `RootComponent` and search inside it. See: [Dialog example](https://github.com/telerik/blazor-ui/blob/master/testing/bUnit-justmock/Telerik.Blazor.BUnit.JustMock/DemoSample/DialogPage.cs) and [Window example](https://github.com/telerik/blazor-ui/blob/master/testing/bUnit-justmock/Telerik.Blazor.BUnit.JustMock/DemoSample/WindowButtonPage.cs). <br/> <br/> There is a feature request for UI for Blazor to support the [creation of an interface to easily mock the DialogFactory](https://feedback.telerik.com/blazor/1533040-create-an-interface-to-easily-mock-the-dialogfactory). Follow the request to get status updates. |
### Grid `OnRead` Not Fired
@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout)
| Subject | Details |
| -------- | ---------|
| Subject | Details |
| --- | --- |
| Issue | In test environment, `OnRead` is not raised after invoking `Rebind`. |
| Cause | When `Rebind` is called, the Grid shows a loader. This loader is invoked with JS Interop, so the test fails silently. |
| Workaround | Disable the [built-in loader]({%slug grid-loading%}). |

Просмотреть файл

@ -98,7 +98,7 @@ This is a list of the components that had methods removed and the new approach o
### Textbox
* The `Pattern`, `MinLength` and `MaxLength` parameters are removed in favor of validation. In the future, they may become available through attribute splatting.
* The `Pattern`, `MinLength` and `MaxLength` parameters are removed in favor of validation.
### TreeView

Просмотреть файл

@ -486,7 +486,7 @@ public class TreeItem
</tbody>
</table>
- **Window** - changed `Size` parameter type from `WindowSize` enum to `string`. There is a new static class `Telerik.Blazor.ThemeConstants.Window.Size` with a predefined set of size properties. The `Size` property will have effect in future UI for Blazor versions. To maintain the old behavior, set the Window `Width` to `300px`, `800px` or `1200px`.
- **Window** - changed `Size` parameter type from `WindowSize` enum to `string`. There is a new static class `Telerik.Blazor.ThemeConstants.Window.Size` with a predefined set of size properties. To maintain the old behavior, set the Window `Width` to `300px`, `800px` or `1200px`.
## Parameter Names

Просмотреть файл

@ -99,7 +99,7 @@ While using a trial license, a watermark will be rendered over the components an
If you have a commercial license, but you still see the trial watermark and banner, especially after publishing an app to a staging or live server, your build has used the trial `Telerik.Blazor.dll` assembly.
The most common reason for the problem is that the framework decides to incorrectly copy a trial version of our assembly into the `dist` folder of the app, even though it puts the correct licensed version at the root of the publish folder. This seems like a problem in the build process of the framework, and hopefully it will get fixed in future versions.
The most common reason for the problem is that the framework decides to incorrectly copy a trial version of the Telerik UI for Blazor assembly into the `dist` folder of the app, even though it puts the correct licensed version at the root of the publish folder. This seems like a problem in the build process of the framework.
To fix this in the meantime, try the following process (you can try a new test build after each step where you make a change):