From a208190e23e6390c10e11669940882ea7eaf886b Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Tue, 17 Dec 2024 15:20:19 +0200 Subject: [PATCH 001/334] kb(grid): Fix broken link (#2654) --- knowledge-base/grid-create-reusable-columns.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/knowledge-base/grid-create-reusable-columns.md b/knowledge-base/grid-create-reusable-columns.md index ecdebb2e97..0d620bceb6 100644 --- a/knowledge-base/grid-create-reusable-columns.md +++ b/knowledge-base/grid-create-reusable-columns.md @@ -171,5 +171,5 @@ public class Role ## See Also -- [Grid Columns](https://docs.telerik.com/blazor-ui/components/grid/columns/bound) -- [Grid Templates](https://docs.telerik.com/blazor-ui/components/grid/templates) +- [Grid Columns]({%slug components/grid/columns/bound%}) +- [Grid Templates]({%slug components/grid/features/templates%}) From c80c3c45dbbe5f6f16e2987371a8620b722b1bb3 Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Tue, 17 Dec 2024 21:24:17 +0200 Subject: [PATCH 002/334] Remove extra tag (#2656) --- styling-and-themes/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styling-and-themes/overview.md b/styling-and-themes/overview.md index ac00bc755d..b010f8441b 100644 --- a/styling-and-themes/overview.md +++ b/styling-and-themes/overview.md @@ -28,7 +28,7 @@ A *theme* is a collection of styles in a CSS file, which determine the appearanc ### Swatch -A *theme swatch* is a color variation of a theme. All swatches of a given theme> use the same fonts, sizes, and layouts. On the other hand, the text colors, background colors and border colors are different. For example, *Default Ocean Blue* and *Bootstrap Nordic* are two built-in swatch names. +A *theme swatch* is a color variation of a theme. All swatches of a given theme use the same fonts, sizes, and layouts. On the other hand, the text colors, background colors and border colors are different. For example, *Default Ocean Blue* and *Bootstrap Nordic* are two built-in swatch names. When the Telerik UI for Blazor documentation talks about a given theme name, for example *Default*, this implies the *Main* swatch of this theme. In addition, the word "theme" as a general term can imply any swatch of any theme. From 708c5e64e136153b6185b731f05b411bb159b3f8 Mon Sep 17 00:00:00 2001 From: Tsvetomir Hristov <106250052+Tsvetomir-Hr@users.noreply.github.com> Date: Wed, 18 Dec 2024 17:44:03 +0200 Subject: [PATCH 003/334] docs(common): remove deprecated templates from docs (#2655) * docs(common): remove deprecated templates from docs * Update getting-started/vs-integration/new-project-wizard.md Co-authored-by: Dimo Dimov <961014+dimodi@users.noreply.github.com> * Update getting-started/vs-integration/new-project-wizard.md Co-authored-by: Dimo Dimov <961014+dimodi@users.noreply.github.com> * Update getting-started/vs-integration/new-project-wizard.md Co-authored-by: Yordan <60105689+yordan-mitev@users.noreply.github.com> --------- Co-authored-by: Dimo Dimov <961014+dimodi@users.noreply.github.com> Co-authored-by: Yordan <60105689+yordan-mitev@users.noreply.github.com> --- .../vs-integration/new-project-wizard.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/getting-started/vs-integration/new-project-wizard.md b/getting-started/vs-integration/new-project-wizard.md index 9b609777be..768725ccfd 100644 --- a/getting-started/vs-integration/new-project-wizard.md +++ b/getting-started/vs-integration/new-project-wizard.md @@ -77,20 +77,10 @@ In this screen, you can choose: ### Step 2: Select Project Template -This step allows you to select one of the [predefined Telerik project](#predefined-project-templates) templates. The available templates vary depending on the selected target framework and hosting model in [**Step 1**](#step-1-select-initial-project-configuration). +The **Create New Project** wizard generates a project that is based on the Microsoft template. The app includes some Telerik UI components and the [required NuGet package reference, static assets, localization service, and the `TelerikRootComponent`]({%slug getting-started/what-you-need%}). -The Client and Server projects for .NET 6 and .NET 7 support all the templates below. The Hybrid projects and the .NET 8 Web App support only the **Blank** template. +> The **Admin**, **Dashboard**, **CRUD**, **Form**, and **Chart** templates were deprecated. Their source code is available in the [`blazor-ui` repo](https://github.com/telerik/blazor-ui/tree/master/common/legacy-project-templates). - **Predefined Project Templates** - -The **Create New Project** wizard provides the following project templates: - -* **Blank**—A blank solution based on the Microsoft template with added Telerik UI components (NuGet package reference, assets, service, and the `TelerikRootComponent`). -* **CRUD, Form, Chart**—A small app that showcases the Telerik UI Data Grid, Chart, and forms validation. The Grid also uses a basic CRUD service which is a common pattern for data updates in real applications. -* **Dashboard**—A basic dashboard layout that uses the TileLayout component for customizable dashboards, and showcases several ways individual blocks (tiles) can fetch data. -* **Admin**—A small app that shows a dashboard for admin. The app uses some of the main Telerik UI components like the [Data Grid]({%slug grid-overview%}), [Chart]({%slug components/chart/overview%}), [TileLayout]({%slug tilelayout-overview%}), [Form]({%slug form-overview%}), and more. - -> The **Admin**, **Dashboard**, **CRUD**, **Form** and **Chart** templates are deprecated and are planned to be removed with the Q1 2025 release. The source code for these projects will be moved to the [blazor-ui repo](https://github.com/telerik/blazor-ui) for continued access. ### Step 3: Select Theme Finally, you can apply one of the available [themes]({%slug themes-overview%}) to your project. From 9ce37a662a097d20771af158af7c8ea9834f20a1 Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:25:53 +0200 Subject: [PATCH 004/334] kb(textbox): Add KB for password textbox eye toggle (#2651) * kb(textbox): Add KB for password textbox eye toggle * Update knowledge-base/textbox-eye-reveal-password.md * Update knowledge-base/textbox-eye-reveal-password.md Co-authored-by: Yordan <60105689+yordan-mitev@users.noreply.github.com> --------- Co-authored-by: Yordan <60105689+yordan-mitev@users.noreply.github.com> --- components/textbox/overview.md | 19 +---- knowledge-base/textbox-eye-reveal-password.md | 83 +++++++++++++++++++ 2 files changed, 85 insertions(+), 17 deletions(-) create mode 100644 knowledge-base/textbox-eye-reveal-password.md diff --git a/components/textbox/overview.md b/components/textbox/overview.md index 7c482f804c..eec1033155 100644 --- a/components/textbox/overview.md +++ b/components/textbox/overview.md @@ -61,7 +61,7 @@ The Blazor TextBox provides various parameters to configure the component: | `MaxLength` | `int?` | Maps to the `maxlength` attribute of the HTML `` element. | | `InputMode` | `string` | A `string` that maps to the [`inputmode`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode) attribute of the HTML element. You can use it to instruct the rendering device to show a suitable virtual keyboard (for example, one optimized for entering an URL or an email). Make sure to use values that make sense for a text input. For example, if you need a numerical input, use the TelerikNumericTextBox component, or the TelerikDatePicker for dates. | | `Name` | `string` | The `name` attribute of the HTML element. It is usually required so the `AutoComplete` will be honored by the browser. | -| `Password` | `bool` | When set to `true`, the HTML element renders `type="password"` so that the user input is hidden. You can find examples of validation and reveal buttons in the [Live Demo: Password Textbox](https://demos.telerik.com/blazor-ui/textbox/password) | +| `Password` | `bool` | When set to `true`, the HTML element renders `type="password"` so that the user input is hidden. You can find examples of validation and reveal buttons in the [Password Textbox demo](https://demos.telerik.com/blazor-ui/textbox/password) and the [Add Eye Icon to Reveal a TextBox Password]({%slug textbox-kb-eye-reveal-password%}) article. | | `Placeholder` | `string` | A `string` that maps to the `placeholder` attribute of the HTML element. If a `Label` is defined, it will be shown instead of the placeholder when the input is not focused. | | `ShowClearButton` | `bool` | Defines if the user can clear the component value through an **x** button rendered inside the input. | | `SpellCheck` | `string` | A `string` that maps to the [`spellcheck`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck) attribute of the HTML element. Use it to disable browser spellchecking if it's intrusive to the user or due to [privacy and security concerns](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck#security_and_privacy_concerns). | @@ -113,22 +113,7 @@ The TextBox provides a `FocusAsync` method that allows the application to focus >caption Password type TextBox -````RAZOR -@* An example of enabling the Password mode of the text box. Make sure to add a form and validation -for example: https://demos.telerik.com/blazor-ui/textbox/password -*@ - - - -@code { - // in a real case you should have a form, a model, and validation - // the form may also need autocomplete attribute and other corresponding inputs to enable autocompletion - string ThePassword { get; set; } -} -```` +See [Add Eye Icon to Reveal a TextBox Password]({%slug textbox-kb-eye-reveal-password%}). >caption Programmatically change the TextBox value diff --git a/knowledge-base/textbox-eye-reveal-password.md b/knowledge-base/textbox-eye-reveal-password.md new file mode 100644 index 0000000000..7b4497ccf5 --- /dev/null +++ b/knowledge-base/textbox-eye-reveal-password.md @@ -0,0 +1,83 @@ +--- +title: Add Eye Icon to Reveal a TextBox Password +description: Learn how to implement an eye toggle button that reveals the typed password in a Telerik TextBox for Blazor. +type: how-to +page_title: How to Add Eye Icon to Telerik Password TextBox in Blazor +slug: textbox-kb-eye-reveal-password +tags: telerik, blazor, textbox +ticketid: 1673598, 1672864, 1656817, 1655436, 1640843, 1619127, 1584950 +res_type: kb +--- + +## Environment + + + + + + + + +
ProductTextBox for Blazor
+ +## Description + +This KB answers the following questions: + +* How to add an eye icon to a text input and click the icon to show and hide the entered password? +* How to implement a button that reveals the password in a Telerik TextBox on click? +* How to make an eye toggle appear in a password textbox no matter if the textbox is focused or not? +* How to use `mouseup` and `mousedown` events on the `TelerikSvgIcon` control to toggle a password field? + +## Solution + +1. Add a [Button]({%slug components/button/overview%}) or a [ToggleButton]({%slug togglebutton-overview%}) with the desired [icon]({%slug button-icons%}) next to the TextBox or inside the [TextBox `SuffixTemplate`]({%slug common-features/input-adornments%}). +1. Use the [Button's `OnClick` event handler]({%slug button-events%}) to toggle the [TextBox `Password` parameter]({%slug components/textbox/overview%}#textbox-parameters) value. +1. (optional) Instead of Button `OnClick`, use `@onmousedown` and `@onmouseup` Blazor events on a generic HTML element to toggle the TextBox `Password` parameter. This approach allows using events with Telerik components that do not expose them, for example, a [Telerik SVG icon or a font icon]({%slug common-features-icons%}). +1. To use the TextBox with a reveal button inside a [Telerik Form, use a `FormItem` `Template`]({%slug form-formitems-template%}). + +>caption Add an eye icon to reveal a password + +````RAZOR +

Reveal password on Telerik Button OnClick

+ + + + + + + +

Reveal password on HTML element @@onmousedown

+ + + + + + + + + + + +@code { + private string TextBoxValue1 { get; set; } = "abcde1"; + private bool TextBoxPassword1 { get; set; } = true; + + private string TextBoxValue2 { get; set; } = "zyxwv2"; + private bool TextBoxPassword2 { get; set; } = true; +} +```` + +## See Also + +* [Input Adornments]({%slug common-features/input-adornments%}) +* [Form Item Templates]({%slug form-formitems-template%}) \ No newline at end of file From c3fdc08d1bf2b9555cc50f7b3494cbd068aa409d Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:26:05 +0200 Subject: [PATCH 005/334] kb(tabstrip): Add KB for loading all tabs by default (#2659) * kb(tabstrip): Add KB for loading all tabs by default * Update knowledge-base/tabstrip-load-all-tabs-initially.md --- components/tabstrip/persist-content.md | 3 +- .../tabstrip-load-all-tabs-initially.md | 87 +++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 knowledge-base/tabstrip-load-all-tabs-initially.md diff --git a/components/tabstrip/persist-content.md b/components/tabstrip/persist-content.md index 6624a3aba0..1bf366e562 100644 --- a/components/tabstrip/persist-content.md +++ b/components/tabstrip/persist-content.md @@ -46,4 +46,5 @@ To keep Tab content in the DOM after the Tab is deactivated, set the `PersistCon ## See Also - * [Live Demo: TabStrip - Persist Tab Content](https://demos.telerik.com/blazor-ui/tabstrip/persist-content) +* [Live Demo: TabStrip - Persist Tab Content](https://demos.telerik.com/blazor-ui/tabstrip/persist-content) +* [Render All TabStrip Tabs Initially]({%slug tabstrip-kb-load-all-tabs%}) diff --git a/knowledge-base/tabstrip-load-all-tabs-initially.md b/knowledge-base/tabstrip-load-all-tabs-initially.md new file mode 100644 index 0000000000..5052a10875 --- /dev/null +++ b/knowledge-base/tabstrip-load-all-tabs-initially.md @@ -0,0 +1,87 @@ +--- +title: Render All TabStrip Tabs Initially +description: Learn how to initialize, load and render all tabs on page load in the Telerik TabStrip for Blazor. +type: how-to +page_title: How to Render All TabStrip Tabs By Default +slug: tabstrip-kb-load-all-tabs +tags: telerik, blazor, tabstrip +ticketid: 1673750, 1654667 +res_type: kb +--- + +## Environment + + + + + + + + +
ProductTabStrip for Blazor
+ +## Description + +This KB answers the following questions: + +* How to preload the contents of all TabStrip tabs and keep it rendered in the DOM at all times? +* How to load and render all the content of a Telerik TabStrip for Blazor? +* How to access components in TabStrip tabs that haven't been opened by the user? + +## Solution + +Even when [`PersistTabContent="true"`]({%slug tabstrip-persist-content%}), the TabStrip initializes and renders each tab container for the first time only after the user clicks on the respective tab to activate it. This improves the app performance. + +In scenarios where all TabStrip tabs must render initially and be in the DOM at all times, use the following approach: + +1. Move the tab content outside the TabStrip. Use one HTML `
` to hold the contents of each tab. The `` tags cannot remain completely empty, so add some dummy content such as ` `. +1. Hide the TabStrip tab container elements (`
`) with a `display:none` CSS style. +1. Toggle the `display` styles of the HTML `
`s in the [TabStrip `ActiveTabIndexChanged` event]({%slug tabstrip-events%}#activetabindexchanged). + +>caption Render all TabStrip tabs initially + +````RAZOR + +   +   +   + + +
+
+ First Tab Content +
+
+ Second Tab Content +
+
+ Third Tab Content +
+
+ + + +@code { + public int ActiveTabIndex { get; set; } + + private string GetTabActive(int index) + { + return ActiveTabIndex == index ? "k-active" : string.Empty; + } +} +```` + +## See Also + +* [Persist TabStrip Tab Content]({%slug tabstrip-persist-content%}) +* [TabStrip Events]({%slug tabstrip-events%}) From 139d5c78951de53e7caa24f1606c3867a004215d Mon Sep 17 00:00:00 2001 From: Nadezhda Tacheva <73842592+ntacheva@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:26:16 +0200 Subject: [PATCH 006/334] chore(common): fix code block (#2660) --- knowledge-base/dropdownlist-custom-sorting-order-groups.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/knowledge-base/dropdownlist-custom-sorting-order-groups.md b/knowledge-base/dropdownlist-custom-sorting-order-groups.md index f128b5bc78..c30585db89 100644 --- a/knowledge-base/dropdownlist-custom-sorting-order-groups.md +++ b/knowledge-base/dropdownlist-custom-sorting-order-groups.md @@ -101,7 +101,7 @@ To sort the groups in a DropDownList by a custom order, perform a manual sorting public string CategoryName { get; set; } } } -``` +```` ## See Also @@ -109,4 +109,4 @@ To sort the groups in a DropDownList by a custom order, perform a manual sorting - [Telerik DropDownList for Blazor - Overview]({%slug components/dropdownlist/overview%}) - [OnRead Event in Telerik DropDownList]({%slug components/dropdownlist/events%}#onread) - [Grouping in Telerik DropDownList]({%slug components/dropdownlist/grouping%}) -- [Custom Grouping Order in Grid]({%slug grid-custom-grouping-order%}) \ No newline at end of file +- [Custom Grouping Order in Grid]({%slug grid-custom-grouping-order%}) From ac998d0f3e79fe0d13149fed377127260e07ed4e Mon Sep 17 00:00:00 2001 From: Nadezhda Tacheva <73842592+ntacheva@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:32:20 +0200 Subject: [PATCH 007/334] chore(Editor): fix examples (#2646) * chore(Editor): fix examples * Update editor-add-icons.md --------- Co-authored-by: Dimo Dimov <961014+dimodi@users.noreply.github.com> --- knowledge-base/editor-add-icons.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/knowledge-base/editor-add-icons.md b/knowledge-base/editor-add-icons.md index 9f0690d371..31145387b6 100644 --- a/knowledge-base/editor-add-icons.md +++ b/knowledge-base/editor-add-icons.md @@ -51,7 +51,7 @@ This means that you need to inject the icons stylesheet into the `