diff --git a/common-features/icons.md b/common-features/icons.md index 4d55273ae7..c507e1dabf 100644 --- a/common-features/icons.md +++ b/common-features/icons.md @@ -13,7 +13,7 @@ position: 20 Telerik UI for Blazor provides a large set of built-in icons. There are two ways to consume and render them: as font icons or as SVG icons. It is also possible to use custom Blazor icons, or define an application-wide setting, which affects the type of icons in all Telerik Blazor components. -The Telerik Blazor components generate the same type of icons (font icons or SVG icons), [depending on the `TelerikRootComponent` configuration](#set-global-icon-type). However, Telerik UI for Blazor includes standalone [`FontIcon`](#fonticon-component) and [`SvgIcon`](#svgicon-component) components, which can be used at the same time. +The Telerik Blazor components generate the same type of icons (font icons or SVG icons), [depending on the `TelerikRootComponent` configuration](#set-global-blazor-icon-type). However, Telerik UI for Blazor includes standalone [`FontIcon`](#fonticon-component) and [`SvgIcon`](#svgicon-component) components, which can be used at the same time. In general, font icons produce a smaller HTML footprint and the glyph can be overridden with CSS. SVG icons provide better accessibility and can use multiple colors in a single icon. diff --git a/components/autocomplete/data-bind.md b/components/autocomplete/data-bind.md index f380ecd47d..fb516ca969 100644 --- a/components/autocomplete/data-bind.md +++ b/components/autocomplete/data-bind.md @@ -19,8 +19,6 @@ There are two key ways to bind data: * [Strings and Value Types](#strings-and-value-types) * [Model](#bind-to-a-model) -There are also some [considerations](#considerations) to keep in mind. - @[template](/_contentTemplates/common/get-model-from-dropdowns.md#get-model-from-dropdowns) ## Strings and Value Types diff --git a/components/barcodes/qrcode/overview.md b/components/barcodes/qrcode/overview.md index 1ce01892c7..7170c94c3f 100644 --- a/components/barcodes/qrcode/overview.md +++ b/components/barcodes/qrcode/overview.md @@ -55,7 +55,7 @@ The Blazor Barcode provides various parameters that allow you to configure the c | `QRCodeEncoding` | `enum` | The encoding mode used to encode the value. | | `QRCodeErrorCorrection` | `enum` | The error correction level used to encode the value. | | `Value` | `string` | Defines the initial value of the QRCode. | -| `Size` | `string` | Specifies the size (`Width` and `Height`) of a QR code in pixels (i.e. "200px") as the QRCode is a square. You can read more details for the dimension properties in the [Dimensions article](slug:common-features/dimensions). Setting both `Size` and `Width` and/or `Height` will throw an error. Setting different values to `Width` and `Height` will also cause an issue. To set an optimal `Size`, consider the expected scanning distance and data capacity. | +| `Size` | `string` | Specifies the size (`Width` and `Height`) of a QR code in pixels (i.e. "200px") as the QRCode is a square. You can read more details for the dimension properties in the [Dimensions article](slug:common-features/dimensions). Setting both `Size` and `Width` or `Height` will throw an error. Setting different values to `Width` and `Height` will also cause an issue. To set an optimal `Size`, consider the expected scanning distance and data capacity. | | `Width` | `string` | Sets the width of the QRCode. If `Height` is set and the `Size` property is not set, the same value as `Width` should be set to `Height`. | | `Height` | `string` | Sets the height of the QRCode. If `Height` is set and the `Size` property is not set, the same value as `Height` should be set to `Width`. | | `Class` | `string` | The CSS class that will be rendered on the main wrapping element of the QRCode component. | diff --git a/components/chart/multiple-axes.md b/components/chart/multiple-axes.md index bb94d6aec6..f09bab0677 100644 --- a/components/chart/multiple-axes.md +++ b/components/chart/multiple-axes.md @@ -36,14 +36,14 @@ The way multiple axes are declared depends on the [chart series type](slug:compo ### Categorical Charts -1. Define the extra axis in the corresponding `ChartCategoryAxes` and/or `ChartValueAxes` tags. +1. Define the extra axis in the corresponding `ChartCategoryAxes` or `ChartValueAxes` tags. 2. Set its `Name` property as desired. By default, a series uses the first axis. 3. Provide the `Name` value to the series you want to use it through its `Axis` and `CategoryAxis` for the `Y` and `X` axis respectively. ### Numerical Charts -1. Define the extra axis in the corresponding `ChartXAxes` and/or `ChartYAxes` tags. +1. Define the extra axis in the corresponding `ChartXAxes` or `ChartYAxes` tags. 2. Set its `Name` property as desired. By default, a series uses the first axis. 3. Provide the `Name` value to the series you want to use it through its `yAxis` and `xAxis` properties. diff --git a/components/contextmenu/integration.md b/components/contextmenu/integration.md index 4be217fe49..d7b1716b31 100644 --- a/components/contextmenu/integration.md +++ b/components/contextmenu/integration.md @@ -265,7 +265,7 @@ In this example, the context menu is used to select/deselect items, put an item // such as put a row in edit mode or select it switch (item.CommandName) { - case "BeginEdit": // read more at https://docs.telerik.com/blazor-ui/components/grid/state#initiate-editing-or-inserting-of-an-item + case "BeginEdit": // read more at https://www.telerik.com/blazor-ui/documentation/knowledge-base/grid-add-edit-state var currState = GridRef.GetState(); currState.InsertedItem = null; SampleData itemToEdit = SampleData.GetClonedInstance(GridData.Where(itm => itm.ID == SelectedPerson.ID).FirstOrDefault()); diff --git a/components/diagram/overview.md b/components/diagram/overview.md index 53b7838b01..80293d939c 100644 --- a/components/diagram/overview.md +++ b/components/diagram/overview.md @@ -261,7 +261,7 @@ As a rule of thumb, the Diagram markup follows these naming conventions: The [Blazor Diagram component exposes methods](slug:Telerik.Blazor.Components.TelerikDiagram#methods) for programmatic operation. To use them, define a reference to the component instance with the `@ref` directive attribute. Blazor populates component references in `OnAfterRenderAsync`, so they are not available earier. -See a full example in section [Create Diagram from JSON](#create-diagram-from-json) above. +See a full example in section [Create Diagram from JSON](#define-shapes-and-connections-in-json) above. >caption Using the Diagram reference diff --git a/components/filemanager/overview.md b/components/filemanager/overview.md index ea75d841aa..464d933ec0 100644 --- a/components/filemanager/overview.md +++ b/components/filemanager/overview.md @@ -336,7 +336,7 @@ The following list of resources provides details and examples for data binding a * Using hierarchical data source with item collections nested in each item - [Bind FileManager to Hierarchical Data](slug:filemanager-data-binding-hierarchical-data). -* Handling the `OnRead` event to provide only the current folder data - [FileManager `OnRead`](slug:filemanager-events#read-event). +* Handling the `OnRead` event to provide only the current folder data - [FileManager `OnRead`](slug:filemanager-events#onread). ## Views diff --git a/components/gantt/state.md b/components/gantt/state.md index 97c0fbd8d0..09889f340c 100644 --- a/components/gantt/state.md +++ b/components/gantt/state.md @@ -102,19 +102,12 @@ The following information is present in the Gantt state: You can find the following examples in this section: -- [Gantt State](#gantt-state) - - [Basics](#basics) - - [Events](#events) - - [Methods](#methods) - - [Information in the Gantt State](#information-in-the-gantt-state) - - [Examples](#examples) - - [Set Default (Initial) State](#set-default-initial-state) - - [Save and Load Gantt State from Browser LocalStorage](#save-and-load-gantt-state-from-browser-localstorage) - - [Set Gantt Options Through State](#set-gantt-options-through-state) - - [Get and Override User Action That Changes The Gantt](#get-and-override-user-action-that-changes-the-gantt) - - [Initiate Editing or Inserting of an Item](#initiate-editing-or-inserting-of-an-item) - - [Get Current Columns Visibility, Order, Field](#get-current-columns-visibility-order-field) - - [See Also](#see-also) +- [Set Default (Initial) State](#set-default-initial-state) +- [Save and Load Gantt State from Browser LocalStorage](#save-and-load-gantt-state-from-browser-localstorage) +- [Set Gantt Options Through State](#set-gantt-options-through-state) +- [Get and Override User Action That Changes The Gantt](#get-and-override-user-action-that-changes-the-gantt) +- [Initiate Editing or Inserting of an Item](#initiate-editing-or-inserting-of-an-item) +- [Get Current Columns Visibility, Order, Field](#get-current-columns-visibility-order-field) ### Set Default (Initial) State diff --git a/components/grid/columns/width.md b/components/grid/columns/width.md index b105729279..d14df63d9b 100644 --- a/components/grid/columns/width.md +++ b/components/grid/columns/width.md @@ -54,7 +54,7 @@ The Grid column width settings can vary and result in the following behaviors: -To allow the users to adjust or auto-fit the column widths to the content, enable [Grid column resizing](slug:components/grid/columns/resize). You can also [resize columns through the Grid state](slug:grid-state#setstateasync) or [auto-fit columns programmatically](slug:components/grid/columns/resize#autofit-columns). +To allow the users to adjust or auto-fit the column widths to the content, enable [Grid column resizing](slug:components/grid/columns/resize). You can also [resize columns through the Grid state](slug:grid-state#methods) or [auto-fit columns programmatically](slug:components/grid/columns/resize#autofit-columns). > Single table rendering and automatic table layout are not supported. diff --git a/components/grid/editing/overview.md b/components/grid/editing/overview.md index 02f76a10e7..4cda58a00b 100644 --- a/components/grid/editing/overview.md +++ b/components/grid/editing/overview.md @@ -150,7 +150,7 @@ All events in the [Events table](#events), except `OnModelInit`, provide a [`Gri | Property Name | Type | Description | | --- | --- | --- | | `Field` | `string` | The [column `Field` name](slug:components/grid/columns/bound#data-binding). Applicable only for [in-cell edit mode](slug:grid-editing-incell). | -| `IsCancelled` | `bool` | Defines if the user action should be prevented. See the [Comparison table](#comparison) below for details. | +| `IsCancelled` | `bool` | Defines if the user action should be prevented. See the [Events table](#events) for details. | | `IsNew` | `bool` | Defines if `Item` is a newly added row or an existing row. | | `Item` | `object` | The data item, which the user is adding, deleting, or editing. Cast it to the Grid model type. | | `Value` | `object` | The data item value, which the user is editing. You can cast it to the correct type, based on the `Field`. Applicable only for [in-cell edit mode](slug:grid-editing-incell). | diff --git a/components/grid/editing/popup.md b/components/grid/editing/popup.md index f73e89051b..5d1ba4563d 100644 --- a/components/grid/editing/popup.md +++ b/components/grid/editing/popup.md @@ -60,7 +60,7 @@ The `GridPopupEditFormSettings` nested tag exposes the following parameters to a @[template](/_contentTemplates/common/popup-edit-customization.md#edit-form-settings) ->important These settings are not applicable if you are using a `` with a custom Form component. See more details in [Form Template - Specifics](slug:grid-templates-popup-form#specifics). +>important These settings are not applicable if you are using a [`` with a standalone Form component](slug:grid-templates-popup-form). ### Form Template diff --git a/components/grid/grouping/load-on-demand.md b/components/grid/grouping/load-on-demand.md index c921a0054c..bec6e76378 100644 --- a/components/grid/grouping/load-on-demand.md +++ b/components/grid/grouping/load-on-demand.md @@ -26,7 +26,7 @@ In this article: To enable load-on-demand for the groups, set `LoadGroupsOnDemand="true"` for the Grid. In this mode, the Grid behaves as usual when there is no grouping, and you can use this together with [Virtual Scrolling for the rows](slug:components/grid/virtual-scrolling). -Once grouping is applied (either manually by the user, or through the Grid [state](slug:grid-state#setstateasync-examples)), the groups will now show up collapsed by default. When the user expands a group, all its rows will be requested from the data source. If you provide all the `Data` to the Grid, the component will perform the operations for you. For details about server operations, see below. +Once grouping is applied (either manually by the user, or [through the Grid state](slug:grid-state#setstateasync-examples)), the groups will now show up collapsed by default. When the user expands a group, all its rows will be requested from the data source. If you provide all the `Data` to the Grid, the component will perform the operations for you. For details about server operations, see below. Each group header, each group footer and the Grid footer will count as rows for the purposes of paging. Until you expand a group, its child items are not counted and shown in the `Total` count for the purposes of paging. diff --git a/components/grid/refresh-data.md b/components/grid/refresh-data.md index 9525e38f5d..85822fbe3d 100644 --- a/components/grid/refresh-data.md +++ b/components/grid/refresh-data.md @@ -365,7 +365,7 @@ The reason for such behavior is that the `Data` collection of the grid is a sepa This means that you need to ensure that the view-model will be updated as well, so that the `Data` parameter of the grid changes too. There are, generally, two ways to do this: -* Use the [`OnRead` event to perform the grid data operations](slug:components/grid/manual-operations) - the grid will call it after the [CUD events like `OnUpdate`, `OnDelete`, `OnCreate`](slug:grid-editing-overview#notes) and it will let you query the database that was already update (which will also bring in other updates that other uses may have made). +* Use the [`OnRead` event to perform the Grid data operations](slug:components/grid/manual-operations). The Grid [fires `OnRead` automatically after edit operations](slug:grid-editing-overview#onread-event) and this allows the app to query the database for the already updated data (which will also bring in other updates that other uses may have made). * Update the local view-model data yourself with the information the grid event gives you (e.g., insert the new item in it, or remove a deleted item, or update the fields of an edited item). You can find similar code used in the [Grid - Inline Editing Live Demo](https://demos.telerik.com/blazor-ui/grid/editing-inline). diff --git a/components/grid/state.md b/components/grid/state.md index fb6c7f7b6d..a06c665082 100644 --- a/components/grid/state.md +++ b/components/grid/state.md @@ -36,7 +36,7 @@ The Grid state is a generic [class `GridState`](slug:Telerik.Blazor.Compo | `ExpandedItems` | `ICollection` | The expanded data items, when [using `` (hierarchy)](slug:components/grid/features/hierarchy). | | `FilterDescriptors` | `ICollection` | A collection of [`CompositeFilterDescriptor`](slug:common-features-descriptors#filtering), except the ones that relate to the [`GridSearchBox`](slug:grid-searchbox). | | `GroupDescriptors` | `ICollection` | Information about currently applied [grouping](slug:components/grid/features/grouping). | -| `InsertedItem` | `TItem`* | The data item that is being added in `Inline` or `Popup` edit mode. [Not applicable for `Incell` editing](slug:grid-editing-incell#event-sequence). | +| `InsertedItem` | `TItem`* | The data item that is being added in `Inline` or `Popup` edit mode. [Not applicable for `Incell` editing](slug:grid-editing-incell#events). | | `OriginalEditItem` | `TItem`* | The original copy of the data item that is currently in edit mode. This `GridState` property holds the unmodified data item values. | | `Page` | `int?` | The current [page index](slug:components/grid/features/paging). Some user actions reset the page index to 1, such as filtering or changing the page size. | | `SearchFilter` | `IFilterDescriptor` | The [`CompositeFilterDescriptor`](slug:common-features-descriptors#filtering) that holds the filter descriptors for the [`GridSearchBox`](slug:grid-searchbox). | @@ -166,7 +166,7 @@ The example below shows how to apply initial sorting, filtering and grouping. Here is some additional information about certain `PropertyName` values: * `EditItem` is used when the user starts editing an existing item. -* `InsertedItem` signifies the user adding a new item in inline or popup edit mode. It's [not applicable for `Incell` editing](slug:grid-editing-incell#event-sequence). +* `InsertedItem` signifies the user adding a new item in inline or popup edit mode. It's [not applicable for `Incell` editing](slug:grid-editing-incell#events). * `OriginalEditItem` is used when the user exits edit or insert mode via save or cancel. * `ColumnStates` is used for several column actions such as hiding, showing, locking, reordering and resizing. diff --git a/components/grid/templates/editor.md b/components/grid/templates/editor.md index d7e769dbf2..29ff7c16c6 100644 --- a/components/grid/templates/editor.md +++ b/components/grid/templates/editor.md @@ -14,12 +14,10 @@ The column's `EditorTemplate` defines the inline template or component that will You can data bind components in the editor template to the current `context`. This is the data item instance, which is bound to the currently edited Grid row. Cast `context` to the data item type and store it in a global or local variable. Then, use this variable for one-way or two-way binding in the `EditorTemplate`. -The template receives a copy of the original data item. This allows users to cancel their edits and restore the original property value. The [CRUD Events section](slug:grid-editing-overview#events) provides more information about this programmatic item creation. +The template receives a [copy of the original data item](slug:grid-editing-overview#item-instances). This allows users to cancel their edits and restore the original property value. The [CRUD Events section](slug:grid-editing-overview#events) provides more information about this programmatic item creation. If you need more complex logic inside the editor template, compared to simple data binding, use the `change` event of the custom editor component. You can also use a [custom Grid edit form](slug:grid-kb-custom-edit-form). ->tip The Editor Template works in all edit modes (Inline, Popup, InCell). Before using it with InCell mode, review the [pertinent notes](slug:grid-editing-incell#editor-template). - When an input receives an `EditContext` (usually as a cascading parameter), the framework also requires a `ValueExpression`. If you use two-way binding (the `@bind-Value` syntax), the `ValueExpression` is deducted from there. However, if you use only the `Value` parameter, you have to pass the `ValueExpression` explicitly. This is a lambda expression that tells the framework what property of the model to use for validation. The following sample demonstrates how to achieve that. You can also check the [Requires a value for ValueExpression](slug:common-kb-requires-valueexpression) knowledge base article for more details.
diff --git a/components/rootcomponent/overview.md b/components/rootcomponent/overview.md index b64b252613..cd7579945b 100644 --- a/components/rootcomponent/overview.md +++ b/components/rootcomponent/overview.md @@ -17,7 +17,7 @@ The `TelerikRootComponent` is a special component in Telerik UI for Blazor. Its The `TelerikRootComponent` is responsible for the following tasks: -* It provides settings to all its child Telerik components, for example, for the [icon type](slug:common-features-icons#set-global-icon-type) or [right-to-left (RTL) support](slug:rtl-support). +* It provides settings to all its child Telerik components, for example, for the [icon type](slug:common-features-icons#set-global-blazor-icon-type) or [right-to-left (RTL) support](slug:rtl-support). * It renders all Telerik popups, which has the following benefits: * It's more reliable that the popups will display on top of the other page content. * There is no risk for the popups to be trapped by scrollable containers, or clipped by containers with an `overflow:hidden` style. diff --git a/components/splitter/panes.md b/components/splitter/panes.md index 1a6e54241d..d86d017f41 100644 --- a/components/splitter/panes.md +++ b/components/splitter/panes.md @@ -21,7 +21,7 @@ Each Splitter pane is configured individually and offers the following parameter | Attribute | Type and Default Value | Description | | --- | --- | --- | -| `Class` | `string` | The custom CSS class that renders on the pane element (`
`). Use it to [apply custom styling](slug:themes-override) or [enable scrolling](#pane-scrolling). | +| `Class` | `string` | The custom CSS class that renders on the pane element (`
`). Use it to [apply custom styling](slug:themes-override). | | `Collapsed` | `bool` | Defines if the pane content renders or not. Supports two-way binding. Collapsed panes still show their splitbar and available actions, for example, expand icon or resize handle. Compare with the `Visible` parameter. | | `Collapsible` | `bool` | Whether the user can collapse (hide) the pane to provide more room for other panes. When enabled, the adjacent splitbar (the drag handle between the panes) will offer a collapse button for the pane. | | `Max` | `string` | The maximum size the pane can have in pixels or percentages. When it is reached, the user cannot expand its size further. | @@ -39,7 +39,7 @@ Each Splitter pane is configured individually and offers the following parameter

Left Pane

-
Collapsible and scrollable pane with initial size in px. It can be resized between 100px and 300px.
+
Collapsible pane with initial size in px. It can be resized between 100px and 300px.
@@ -138,7 +138,7 @@ Splitter Orientation: Resizable="@FirstPaneResizable" Size="@FirstPaneSize" SizeChanged="@FirstPaneSizeChanged" - Class="k-scrollable"> + Scrollable="true">

First pane

  • @@ -173,7 +173,7 @@ Splitter Orientation: Resizable="@LastPaneResizable" Size="@LastPaneSize" SizeChanged="@LastPaneSizeChanged" - Class="k-scrollable"> + Scrollable="true">

    Last pane

    • diff --git a/components/treelist/columns/bound.md b/components/treelist/columns/bound.md index 13299e490c..c37f3e9ca8 100644 --- a/components/treelist/columns/bound.md +++ b/components/treelist/columns/bound.md @@ -143,7 +143,7 @@ You can use the following properties on bound columns: ### Data Operations * `Editable` - (defaults to `true`) - you can set this property to `true` or `false` to allow or prevent [editing](slug:treelist-overview#editing) of this field. Defaults to `true`. To edit data, you also need a [CommandColumn](slug:treelist-columns-command). -* `EditorType` - set the [editor component for `string` or `DateTime` columns](slug:treelist-editing-overview#customize-the-editor-fields) when an [`EditorTemplate`](slug:treelist-templates-editor) is not used. +* `EditorType` - set the [editor component for `string` or `DateTime` columns](slug:treelist-editing-overview#column-editors) when an [`EditorTemplate`](slug:treelist-templates-editor) is not used. * `Filterable` - (defaults to `true`) - you can set this to `false` so a [filterable](slug:treelist-filtering) treelist will not let the user filter that particular column. * `FilterEditorType` - (defaults to `TreeListFilterEditorType.DatePicker`) - determines if the default filtering component of a `DateTime` column will be a DatePicker or a DateTimePicker. * `FilterEditorFormat` - sets the `Format` of the filtering component as a `string`. Works for DateTime and numeric columns. Do not use a placeholder (e.g. set `"D"`, not `"{0:D}"`). @@ -176,9 +176,6 @@ You can use the following properties on bound columns: * The treelist uses `Activator.CreateInstance();` to generate a new item when an Insert action is invoked, so the Model should have a Parameterless constructor defined. - - - >tip You can improve performance by loading child nodes only when the user expands them. Read more in the [Load on Demand](slug:treelist-data-binding-load-on-demand) article. ## See Also diff --git a/components/treelist/data-binding/interface.md b/components/treelist/data-binding/interface.md index 895a454e8c..593bcbfc9f 100644 --- a/components/treelist/data-binding/interface.md +++ b/components/treelist/data-binding/interface.md @@ -16,7 +16,7 @@ Note the usage of [`OnModelInit`](slug:treelist-events#onmodelinit) in the examp * Use custom **Add** buttons in the [TreeList Toolbar](slug:treelist-toolbar), one for each model type. * In each button click handler, define an `InsertedItem` of the correct type in the [TreeList State](slug:treelist-state). -* [Put the TreeList in Insert mode](slug:treelist-state#initiate-editing-or-inserting-of-an-item) with the [SetStateAsync method](slug:treelist-state#methods). +* [Put the TreeList in Insert mode](slug:treelist-kb-add-edit-state) with the [SetStateAsync method](slug:treelist-state#methods). >caption Data Binding the TreeList to an Interface diff --git a/components/treelist/editing/overview.md b/components/treelist/editing/overview.md index 5d532402a6..1831969fb4 100644 --- a/components/treelist/editing/overview.md +++ b/components/treelist/editing/overview.md @@ -149,7 +149,7 @@ All events in the [Events table](#events), except `OnModelInit`, provide a [`Tre | Property Name | Type | Description | | --- | --- | --- | | `Field` | `string` | The [column `Field` name](slug:treelist-columns-bound#data-binding). Applicable only for [in-cell edit mode](slug:treelist-editing-incell). | -| `IsCancelled` | `bool` | Defines if the user action should be prevented. See the [Comparison table](#comparison) below for details. | +| `IsCancelled` | `bool` | Defines if the user action should be prevented. See the [Events table](#events) for details. | | `IsNew` | `bool` | Defines if `Item` is a newly added row or an existing row. | | `Item` | `object` | The data item, which the user is adding, deleting, or editing. Cast it to the TreeList model type. | | `ParentItem` | `object?` | The parent of the data item, which the user is adding. Available only in the `OnCreate` event. Cast the object to the TreeList model type. | diff --git a/components/treelist/editing/popup.md b/components/treelist/editing/popup.md index ecfb28879a..779ca597d8 100644 --- a/components/treelist/editing/popup.md +++ b/components/treelist/editing/popup.md @@ -60,7 +60,7 @@ The `TreeListPopupEditFormSettings` nested tag exposes the following parameters @[template](/_contentTemplates/common/popup-edit-customization.md#edit-form-settings) ->important These settings are not applicable if you are using a `` with a custom Form component. See more details in [Form Template - Specifics](slug:treelist-templates-popup-form#specifics). +>important These settings are not applicable if you are using a [`` with a standalone Form component](slug:treelist-templates-popup-form). ### Form Template diff --git a/components/treelist/selection/cells.md b/components/treelist/selection/cells.md index c82689477d..feb2dca81d 100644 --- a/components/treelist/selection/cells.md +++ b/components/treelist/selection/cells.md @@ -212,7 +212,7 @@ The items in `SelectedCells` are compared against the items in the TreeList data * The `SelectedCells` are obtained from a different data source than the all TreeList items, for example, from a separate service. -In such cases, the selected cells may not appear as expected. You have to [override the `Equals` method of the TreeList model class](slug:treelist-state#basics) so that the items are compared by a unique identifier rather than by reference. When you override `Equals`, it is also recommended to override the [`GetHashCode`](https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode) method. +In such cases, the selected cells may not appear as expected. You have to [override the `Equals` method of the TreeList model class](slug:treelist-state#equals-comparison) so that the items are compared by a unique identifier rather than by reference. When you override `Equals`, it is also recommended to override the [`GetHashCode`](https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode) method. ## Cell Selection and Other TreeList Features diff --git a/components/treelist/selection/rows.md b/components/treelist/selection/rows.md index edcaca3097..f8c9d5fbf5 100644 --- a/components/treelist/selection/rows.md +++ b/components/treelist/selection/rows.md @@ -181,7 +181,7 @@ The items in `SelectedItems` are compared against the items in the TreeList data * The `SelectedItems` are obtained from a different data source than the all TreeList items, for example, from a separate service. -In such cases, the selected rows may not appear as expected. You have to [override the `Equals` method of the TreeList model class](slug:treelist-state#basics) so that the items are compared by a unique identifier rather than by reference. When you override `Equals`, it is also recommended to override the [`GetHashCode`](https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode) method. +In such cases, the selected rows may not appear as expected. You have to [override the `Equals` method of the TreeList model class](slug:treelist-state#equals-comparison) so that the items are compared by a unique identifier rather than by reference. When you override `Equals`, it is also recommended to override the [`GetHashCode`](https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode) method. ## Row Selection and Other TreeList Features diff --git a/deployment/troubleshooting.md b/deployment/troubleshooting.md index da277a8b93..931f0a36ae 100644 --- a/deployment/troubleshooting.md +++ b/deployment/troubleshooting.md @@ -22,7 +22,7 @@ At the time of writing, sometimes the following issues have been reported that p * `Unable to find package Telerik.UI.for.Blazor` is a common pitfall in build environments. See the [NuGet Troubleshooting](slug:troubleshooting-nuget#unable-to-find-package) article, which also provides other NuGet-related tips. * [404 not found for telerik-blazor.js](#404-not-found-for-telerik-blazor-js) -* [Trial Message](#trial-message) +* [License banners or watermarks](#your-deployed-application-shows-a-banner-or-a-watermark) * [Could not load file or assembly 'System.Text.Json, ...](#could-not-load-file-or-assembly-system-text-json) * [Blazor Server app is slow or breaks in the cloud](#blazor-server-slow-or-breaks-up-in-the-cloud) * [The remote certificate is invalid because of errors in the certificate chain](#invalid-certificate) @@ -76,12 +76,10 @@ namespace MyBlazorAppName * We have had reports that indicate missing project references do not copy the static assets. For example, in an ASP.NET Core hosted WebAssembly project the server project usually has a project reference to the Blazor project. If that reference is missing, the static assets might not be present in the output. - ### Your Deployed Application Shows a Banner or a Watermark Ensure that you have set up an environment variable by following the steps from the [Use License Keys in CI/CD](slug:installation-license-key) article. - `Trial Message` - if the machine that performs the build has access to a trial version of our NuGet package, the framework may get confused and copy a trial assembly to the publish location and you may see the trial messages live. Solutions are available in the [Upgrade Troubleshooting - I Still See the Trial Message](slug:upgrade-tutorial#i-still-see-the-trial-watermark-and-banner) article. ### Could not load file or assembly 'System.Text.Json, ... diff --git a/knowledge-base/common-telerik-themes-libman.md b/knowledge-base/common-telerik-themes-libman.md index 4a23532625..da996514af 100644 --- a/knowledge-base/common-telerik-themes-libman.md +++ b/knowledge-base/common-telerik-themes-libman.md @@ -29,7 +29,7 @@ This KB article answers the following questions: * How to use LibMan to add [Telerik Blazor themes](slug:themes-overview) to your Blazor app. * How to update local themes in `wwwroot` automatically when a new version is available. -[LibMan](https://learn.microsoft.com/en-us/aspnet/core/client-side/libman/) is a client-side dependency manager, which is included in ASP.NET Core. You can use it to automatically download a Telerik theme to the `wwwroot` folder of your app, instead of using [static NuGet assets](slug:themes-overview#loading-themes-from-the-nuget-package) or [Telerik CDN](slug:common-features-cdn). +[LibMan](https://learn.microsoft.com/en-us/aspnet/core/client-side/libman/) is a client-side dependency manager, which is included in ASP.NET Core. You can use it to automatically download a Telerik theme to the `wwwroot` folder of your app, instead of using [static NuGet assets](slug:themes-overview#loading-themes-in-blazor-from-the-nuget-package) or [Telerik CDN](slug:common-features-cdn). The benefits of Libman are: diff --git a/knowledge-base/grid-checkbox-editing.md b/knowledge-base/grid-checkbox-editing.md index 493f8b2ff9..14def70064 100644 --- a/knowledge-base/grid-checkbox-editing.md +++ b/knowledge-base/grid-checkbox-editing.md @@ -178,7 +178,7 @@ This KB article answers the following questions: ## Notes -The [built-in Grid editing](slug:grid-editing-overview) feature creates a [copy of the original data item](slug:grid-editing-overview#notes) while a row is in edit mode. As a result, CheckBox value changes in the non-templated column above are applied to the template columns *after* the `OnUpdate` handler executes. +The [built-in Grid editing](slug:grid-editing-overview) creates a [copy of the original data item](slug:grid-editing-overview#item-instances) while a row is in edit mode. As a result, CheckBox value changes in the non-templated column above are applied to the template columns *after* the `OnUpdate` handler executes. ## See Also diff --git a/knowledge-base/grid-persist-selection-across-pages.md b/knowledge-base/grid-persist-selection-across-pages.md index ba23bb0f40..28794cd4bc 100644 --- a/knowledge-base/grid-persist-selection-across-pages.md +++ b/knowledge-base/grid-persist-selection-across-pages.md @@ -28,7 +28,7 @@ How do I select data across different pages without losing the current selection ## Solution -If your users don't use the `Ctrl` and/or `Shift` buttons to extend the selection, you may want to implement some logic that amends the current selection. This also extends to the Select All checkbox in the header. +If your users don't use the `Ctrl` or `Shift` buttons to extend the selection, you may want to implement some logic that amends the current selection. This also extends to the Select All checkbox in the header. An example is available in the following project: [https://github.com/telerik/blazor-ui/tree/master/grid/persist-selection](https://github.com/telerik/blazor-ui/tree/master/grid/persist-selection) diff --git a/knowledge-base/grid-show-confirm-cancel-dialog.md b/knowledge-base/grid-show-confirm-cancel-dialog.md index 36df144a52..2c3c2c79e2 100644 --- a/knowledge-base/grid-show-confirm-cancel-dialog.md +++ b/knowledge-base/grid-show-confirm-cancel-dialog.md @@ -29,7 +29,7 @@ How to prompt the user to confirm canceling the edit/create before proceeding wi ## Solution -If the user performs another operation (such as sorting or filtering) while the Grid is in edit mode, then editing will be canceled. Check the last bullet in the [Editing Notes section](slug:grid-editing-overview#notes) for more details. The Grid `OnCancel` event will fire and you can handle it to display a Dialog to allow the user to choose whether they want to cancel the editing or not. +If the user performs another operation (such as sorting or filtering) while the Grid is in edit mode, then editing will be canceled. Check the last bullet in the [Editing Notes section](slug:grid-editing-overview#item-instances) for more details. The Grid `OnCancel` event will fire and you can handle it to display a Dialog to allow the user to choose whether they want to cancel the editing or not. Telerik UI for Blazor provides predefined and custom Dialogs: diff --git a/styling-and-themes/overview.md b/styling-and-themes/overview.md index 9c61f2689e..02f7bc212e 100644 --- a/styling-and-themes/overview.md +++ b/styling-and-themes/overview.md @@ -62,7 +62,7 @@ To register a theme, you must reference its stylesheet in the `` of the we There are three ways to load a Telerik theme, in terms of physical CSS file location. Note that each option provides access to a different number of theme swatches. -* [Load a CSS theme as a static asset from the `Telerik.UI.for.Blazor` NuGet package](#loading-themes-from-the-nuget-package). This is the easiest option and it doesn't require maintenance during [Telerik UI for Blazor version upgrades](slug:upgrade-tutorial). However, you can use only the *Main* swatch of each theme and the *Ocean Blue* swatch of the *Default* theme. +* [Load a CSS theme as a static asset from the `Telerik.UI.for.Blazor` NuGet package](#loading-themes-in-blazor-from-the-nuget-package). This is the easiest option and it doesn't require maintenance during [Telerik UI for Blazor version upgrades](slug:upgrade-tutorial). However, you can use only the *Main* swatch of each theme and the *Ocean Blue* swatch of the *Default* theme. * Load a CSS theme from a remote URL, for example, CDN. The dedicated documentation of each theme provides a list of swatches and their URLs. * Load a CSS theme as a local file in the `wwwroot` folder in the Blazor app. This option is relevant to the following cases: * When using [custom themes](slug:themes-customize). diff --git a/upgrade/breaking-changes/4-0-0.md b/upgrade/breaking-changes/4-0-0.md index 77cf418db3..503522bb0a 100644 --- a/upgrade/breaking-changes/4-0-0.md +++ b/upgrade/breaking-changes/4-0-0.md @@ -20,7 +20,7 @@ Some [built-in icons](slug:common-features-icons#icons-list) have been renamed. The `Icon` parameter type changes from `string` to `object` to facilitate the addition of [Telerik Font and Svg Icons](slug:common-features-icons). -To use built-in Telerik icons, [register the new icon namespaces](slug:common-features-icons#how-icons-work) - `Telerik.FontIcons` and/or `Telerik.SvgIcons`. +To use built-in Telerik icons, [register the new icon namespaces](slug:common-features-icons#how-blazor-icons-work) - `Telerik.FontIcons` or `Telerik.SvgIcons`. To define custom icon classes inline, use `Icon="@( "my-icon-class" )"`. @@ -128,7 +128,7 @@ Removed the `Shape` parameter from: * [Dialog Action `ButtonsLayout`](slug:dialog-action-buttons) * [Grid popup edit form `ButtonsLayout`](slug:grid-editing-popup#form-layout) * [Scheduler popup edit form `ButtonsLayout`](slug:scheduler-edit-popup-customization#edit-form-customization) -* [TreeList popup edit form `ButtonsLayout`](slug:treelist-editing-popup#edit-form-customization) +* [TreeList popup edit form `ButtonsLayout`](slug:treelist-editing-popup#customization) >caption Stretched enum value in UI for Blazor up to version 3.7.0 and after version 4.0.0 diff --git a/upgrade/overview.md b/upgrade/overview.md index 1248c4c2f1..448d249b20 100644 --- a/upgrade/overview.md +++ b/upgrade/overview.md @@ -62,7 +62,7 @@ If you have just purchased a license and you need to migrate from the trial pack 1. [Update your Telerik license key](slug:installation-license-key#license-key-updates) after you purchase or renew a license. -1. To upgrade to the latest product version, follow the steps for [updating the Telerik UI for ASP.NET MVC version](#upgrading-to-new-versions). +1. To upgrade to the latest product version, follow the steps for [updating the Telerik UI for Blazor version](#upgrade-process). ## Troubleshooting diff --git a/upgrade/rendering-changes/4-3-0.md b/upgrade/rendering-changes/4-3-0.md index b56b06bada..126fd6185c 100644 --- a/upgrade/rendering-changes/4-3-0.md +++ b/upgrade/rendering-changes/4-3-0.md @@ -64,7 +64,7 @@ If you are testing the rendered HTML by the Telerik UI for Blazor components, so ### Continuing with FontIcons -To continue using `FontIcons` as the default icon type in the application, [set the global icon type to `Font`](slug:common-features-icons#set-global-icon-type). +To continue using `FontIcons` as the default icon type in the application, [set the global icon type to `Font`](slug:common-features-icons#set-global-blazor-icon-type). >note As part of the R3 2023 release, the font icons will be detached from the Telerik UI for Blazor themes. To continue using the font icons in your application, either add a separate CDN reference or download and reference the stylesheet included in the [Telerik UI for Blazor package](slug:installation-msi#how-to-download-the-automated-installer).