Skip to content

Commit 9124b30

Browse files
Various readability updates (#163)
* docs: edit textbox overview Simplify and clarify the intro. * docs: edit form-elements * docs: edit font-icons.md * dcos: edit upload.md * docs: edit browser-support.md * docs: update multiple.md * docs: edit command.md * chore(icons): nest tip under its list * chore(grid): nest note under its list Co-authored-by: Marin Bratanov <[email protected]>
1 parent f7bdd3c commit 9124b30

File tree

7 files changed

+76
-28
lines changed

7 files changed

+76
-28
lines changed

browser-support.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@ position: 200
88

99
# Browser Support
1010

11-
This page lists the browsers supported by Telerik UI for Blazor. You can use these browsers to access web applications built with Telerik UI for Blazor. The latest versions of the browsers are supported.
11+
This page lists the browsers supported by Telerik UI for Blazor. You can use these browsers to access web applications built with Telerik UI for Blazor.
1212

1313
>caption Browsers supported by Telerik UI for Blazor
1414
15-
* Chrome (including Android and iOS)
16-
* Edge
17-
* Firefox
18-
* Safari (including iOS)
15+
| Browser | Supported Versions |
16+
| ----------- | ----------- |
17+
| Chrome (including Android and iOS) | Latest version |
18+
| Edge | Latest version |
19+
| Firefox | Latest version |
20+
| Safari (including iOS) | Latest version |
1921

2022
Telerik UI for Blazor steps on the Blazor framework provided by Microsoft. This means that you can host/run the applications on [platforms supported by .NET Core 3](https://docs.microsoft.com/en-us/aspnet/core/blazor/supported-platforms?view=aspnetcore-3.0) - Windows, Linux, MacOS - and use the supported browsers on them.
2123

common-features/font-icons.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,15 @@ In this article:
2121

2222
## Standalone Icon Component
2323

24-
Telerik UI for Blazor provides a component that you can use to render icons - the `TelerikIcon` component. It works with the following types of images (examples of their usage follow):
24+
Telerik UI for Blazor comes with the `TelerikIcon` component that you can use to render icons. It works with the following image types:
2525

26-
* **Telerik font icon** - the `Icon` parameter takes a Telerik icon from the set we provide out-of-the-box through the `Telerik.Blazor.IconName` static class.
27-
* The Visual Studio intellisense should provide you with the available options and you can also see them in the [online API Reference](https://docs.telerik.com/blazor-ui/api/Telerik.Blazor.IconName).
26+
* **Telerik font icon** - the `Telerik.Blazor.IconName` static class allows you to supply an `Icon` parameter that takes a **Telerik icon** from our built-in collection. To find the available **Telerik icons**, you can:
2827

29-
* You can find the full list of available icons in the [Kendo UI Web Font Icons Library](https://docs.telerik.com/kendo-ui/styles-and-layout/icons-web) article. The names of the icons match the classes you see in the article, but without the `k-i-` prefix. You can use them as hardcoded strings as well. Their corresponding class members are in `CamelCase`.
28+
* Use Visual Studio's IntelliSense.
29+
30+
* Refer to the [online API Reference](https://docs.telerik.com/blazor-ui/api/Telerik.Blazor.IconName) article.
31+
32+
>tip Telerik UI for Blazor uses the same icons as the Kendo UI suite. You can find the rendered icons in the [Kendo UI Web Font Icons Library](https://docs.telerik.com/kendo-ui/styles-and-layout/icons-web) article. When you use the icon names in this article, remove the `k-i-` prefix, and you will get the correct icon name for Blazor UI. You can use them as hardcoded strings as well. Their corresponding class members are in `CamelCase`.
3033
3134
* **Third party font-icon** - the `IconClass` parameter lets you set a CSS class that provides the required font name, font size and content for the `::before` pseudoelement.
3235

@@ -52,7 +55,7 @@ Telerik UI for Blazor provides a component that you can use to render icons - th
5255

5356
### Icon Parameters - Order of Precedence
5457

55-
The priority order of the Icon properties, if more than one is defined, is
58+
The priority order of the Icon properties, if more than one is defined, is:
5659

5760
1. `ImageUrl`
5861
2. `Icon`

components/grid/columns/command.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,23 @@ The command column of a grid allows you to initiate [inline]({%slug components/g
1414

1515
To define it, add a `GridCommandColumn` in the `GridColumns` collection of a grid. The command column takes a collection of `GridCommandButton` instances that invoke the commands. It also offers the `Title` property so you can set its header text.
1616

17-
>tip The lists below showcase the available features and their use. After them you can find a code example that shows declarations and handling.
17+
In this article:
18+
19+
* [Grid Command Column Features](#features)
20+
21+
* [GridCommandButton](#the-gridcommandbutton-tag)
22+
23+
* [Built-in Commands](#built-in-commands)
24+
25+
* [OnClick Handler](#the-onclick-handler)
26+
27+
* [Code Example](#example)
28+
29+
## Features
30+
31+
The section describes the available features and their use.
32+
33+
### The GridCommandButton tag
1834

1935
The `GridCommandButton` tag offers the following features:
2036

@@ -24,13 +40,17 @@ The `GridCommandButton` tag offers the following features:
2440
* `ChildContent` - the text the button will render. You can also place it between the command button's opening and closing tags.
2541
* Appearance properties like `Icon`, `Class`, `Enabled` that are come from the underlying [Button Component features]({%slug components/button/overview%}).
2642

43+
### Built-in Commands
44+
2745
There are four built-in commands:
2846

2947
* `Add` - initiates the creation of a new item.
3048
* `Edit` - initiates the inline or popup editing (depending on the GridEditMode configuration of the grid).
3149
* `Save` - performs the actual update operation after the data has been changed. Triggers the `OnUpdate` or `OnCreate` event so you can perform the data source operation. Which event is triggered depends on whether the item was created or edited.
3250
* `Cancel` - aborts the current operation (edit or insert).
3351

52+
### The OnClick handler
53+
3454
The `OnClick` handler of the commands receives an argument of type `GridCommandEventArgs` that exposes the following properties:
3555

3656
* `IsCancelled` - set this to true to prevent the operation if the business logic requires it.
@@ -39,6 +59,10 @@ The `OnClick` handler of the commands receives an argument of type `GridCommandE
3959

4060
>tip For handling CRUD operations we recommend that you use the grid events (`OnEdit`, `OnUpdate`, `OnCancel`, `OnCreate`). The `OnClick` handler is available for the built-in commands to provide consistency of the API.
4161
62+
## Example
63+
64+
The following code example demonstrates declarations and handling.
65+
4266
>tip The event handlers use `EventCallback` and can be synchronous or async. This example shows async versions, and the signature for the synchronous handlers is `void MyHandlerName(GridCommandEventArgs args)`.
4367
4468
>caption Example of handling custom commands in a grid column

components/grid/selection/multiple.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,25 @@ In this article:
2727

2828
To use **multiple** row selection, set the `SelectionMode` property to `Telerik.Blazor.GridSelectionMode.Multiple`.
2929

30-
In Multiple SelectionMode, selection could be made using the following approaches:
30+
In Multiple SelectionMode, you can select rows through the following approaches:
3131

3232
* Click on a row to select only that row (and deselect any others)
3333
* Press and hold `Ctrl` and click the desired rows to select or deselect them.
34-
* Click on the starting row of a range of rows you want selected, press and hold `Shift`, and click on the last row of the range. The last selected item is the start point of the range and the current target row is the end of the selection.
34+
* Click on the starting row in a range of rows that you want to select, press and hold `Shift`, and click on the last row in the range. The first selected item is the start point of the range and the last selected target row is the end of the selection.
3535
* Select the checkbox of each desired row.
3636

3737
>tip The [Examples](#examples) section showcases how you can use the grid features together.
3838
3939
## Checkbox Selection
4040

41-
To add checkboxes in each row that the user can use for selection, add a `GridCheckboxColumn` in the `GridColumns` collection of the grid.
41+
To add checkboxes in each row, add a `GridCheckboxColumn` in the `GridColumns` collection of the grid. The user can select the desired rows through the checkboxes.
4242

4343
The Grid allows selection and deselection via the `SelectAll` property. Setting this property to `true` (its default value) will render a checkbox in the grid header.
4444

4545
You can add a `SelectAllMode` parameter, which supports the following options:
4646
* `Current` - selects all rows on the current page. This also applies to filtered, sorted, etc. This is the default value of the `SelectAllMode`.
4747
* `All` - selects all the data in the Grid.
48-
* If IQueriable collections are used, using the header checkbox with in this mode will immediately execute the query over all the data which may be a performance hit.
48+
>note If IQueriable collections are used, using the header checkbox with an `All` option will immediately execute the query over all the data. This may be a performance hit.
4949
5050
`SelectAllMode` behavior with [Virtual Scrolling]({%slug components/grid/virtual-scrolling%}):
5151
* No `OnRead` configured (the default state):

components/textbox/overview.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ position: 0
1010

1111
# Textbox Overview
1212

13-
The <a href="https://www.telerik.com/blazor-ui/textbox" target="_blank">Blazor Textbox component</a> allows the user to enter a generic plain text message. You can also add an animated floating Label, a custom CSS class or control various attributes of the `input` element such as making it a password box, the `name`, `placeholder`, `tabindex`, `inputmode`, `autocomplete` and [more](#features) and also respond to [events]({%slug components/textbox/events%}).
13+
The <a href="https://www.telerik.com/blazor-ui/textbox" target="_blank">Blazor Textbox component</a> allows the user to enter a generic plain text message. To customize the Textbox, you can:
14+
15+
* Add an animated floating Label
16+
17+
* Add a custom CSS class
18+
19+
Furthermore, you can control [various attributes](#features) of the `input` element and turn the Textbox into a password box, for example. You can also configure this component to respond to [events]({%slug components/textbox/events%}).
1420

1521
To use a Telerik Textbox for Blazor, add the `TelerikTextBox` tag.
1622

components/upload/overview.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ position: 0
1010

1111
# Upload Overview
1212

13-
The <a href="https://www.telerik.com/blazor-ui/upload" target="_blank">Blazor Upload component</a> lets the user upload files to a server handler asynchronously. They can select one or multiple files, and you can control whether the upload starts immediately or upon a button click, and also let users delete their uploaded files. The component offers [client-side validation]({%slug upload-validation%}) for the selected files' extensions and size.
13+
The <a href="https://www.telerik.com/blazor-ui/upload" target="_blank">Blazor Upload component</a> lets the users upload files to a server handler asynchronously. They can select one or multiple files, and you can control whether the upload starts immediately or upon a button click, and also let users delete their uploaded files. The component offers [client-side validation]({%slug upload-validation%}) for the selected files' extensions and size.
1414

1515
To use a Telerik Upload for Blazor
1616

@@ -27,8 +27,8 @@ To use a Telerik Upload for Blazor
2727
</TelerikUpload>
2828
2929
@code {
30-
// one way to define relative paths, put the desired URL here
31-
// can be a full URL such as https://mydomain/myendpoint/save
30+
// One way to define relative paths is to put the desired URL here.
31+
// This can be a full URL such as https://mydomain/myendpoint/save
3232
public string SaveUrl => ToAbsoluteUrl("api/upload/save");
3333
public string RemoveUrl => ToAbsoluteUrl("api/upload/remove");
3434
@@ -77,7 +77,7 @@ To use a Telerik Upload for Blazor
7777

7878
// Implement security mechanisms here - prevent path traversals,
7979
// check for allowed extensions, types, size, content, viruses, etc.
80-
// this sample always saves the file to the root and is not sufficient for a real application
80+
// This sample always saves the file to the root and is not sufficient for a real application.
8181

8282
using (var fileStream = new FileStream(physicalPath, FileMode.Create))
8383
{
@@ -86,7 +86,7 @@ To use a Telerik Upload for Blazor
8686
}
8787
catch
8888
{
89-
// implement error handling here, this merely indicates a failure to the upload
89+
// Implement error handling here, this example merely indicates an upload failure.
9090
Response.StatusCode = 500;
9191
await Response.WriteAsync("some error message"); // custom error message
9292
}
@@ -111,14 +111,14 @@ To use a Telerik Upload for Blazor
111111
{
112112
// Implement security mechanisms here - prevent path traversals,
113113
// check for allowed extensions, types, permissions, etc.
114-
// this sample always deletes the file from the root and is not sufficient for a real application
114+
// this sample always deletes the file from the root and is not sufficient for a real application.
115115

116116
System.IO.File.Delete(physicalPath);
117117
}
118118
}
119119
catch
120120
{
121-
// implement error handling here, this merely indicates a failure to the upload
121+
// Implement error handling here, this example merely indicates an upload failure.
122122
Response.StatusCode = 500;
123123
Response.WriteAsync("some error message"); // custom error message
124124
}
@@ -171,14 +171,19 @@ To use a Telerik Upload for Blazor
171171

172172
## Notes
173173

174-
The Telerik Upload component facilitates sending a file to an endpoint. There are a few considerations to keep in mind with regards to handling the files on the server.
174+
The Telerik Upload component facilitates sending a file to an endpoint. There are a few considerations to keep in mind with regards to handling the files on the server:
175175

176176
@[template](/_contentTemplates/upload/notes.md#server-security-note)
177177

178+
* File Size
179+
178180
The `MaxFileSize` parameter of the component is used for [client-side validation]({% slug upload-validation %}), and the server needs a separate configuration. At this stage, the files are uploaded in one piece and so the server may block large requests - server settings such as the IIS `MaxRequestLength` will always be taken into account by the endpoint. You can find some examples of configuring this in the following StackOverflow thread: [IIS7 - The request filtering module is configured to deny a request that exceeds the request content length](https://stackoverflow.com/questions/10871881/iis7-the-request-filtering-module-is-configured-to-deny-a-request-that-exceeds).
179181

182+
* Application Logic
183+
180184
Authentication, authorization and routing of the requests is up to the application logic. The Telerik Upload component makes an XHR request from the browser to the designated endpoint and further application logic is up to the server. You can use the [OnUpload and OnRemove events]({% slug upload-events %}) to add headers and data to the request so you can handle the requests accordingly on the server.
181185

186+
* Cross-Origin Requests
182187
Cross-origin requests depend on the application and endpoint setup. The `WidthCredentials` parameter sets the corresponding parameter of the XHR request. Handling the cookies, headers and other parameters of the Blazor app and [CORS](https://www.w3.org/TR/cors/) endpoint are to be implemented by the respective applications (for example, including the `Access-Control-Allow-Origin` header with an appropriate value and the `Access-Control-Allow-Credentials` header with a `true` value). You can read more on the subject in the following article: [https://www.html5rocks.com/en/tutorials/cors/](https://www.html5rocks.com/en/tutorials/cors/). You can also find one example setup from a customer of ours in [this thread](https://www.telerik.com/forums/upload-component-reports-'file-failed-to-upload'#-6QPJn3obkm3D1kR1ysukA) which shows one way to setup the CORS requests, headers and responses on the receiving server.
183188

184189

themes/form-elements.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,27 @@ position: 5
1212

1313
The [UI for Blazor Themes]({%slug general-information/themes%}) provide classes that you can use to style elements on the page so they can match the used Telerik Theme.
1414

15-
The Themes are shared with the Kendo library and you can reuse any existing knowledge about the classes that are available. This article will provide several examples of how you can style generic elements through the Telerik Themes so they match the colors and styling of the Telerik components, and so they look the same across browsers.
15+
>tip The UI for Blazor Themes are shared with the Kendo library - you can apply any previous knowledge about Kendo UI products.
16+
17+
This article provides several examples of how you can use the Telerik Themes to style generic elements. These styled generic elements will:
18+
19+
* match the colors and styling of the Telerik components
20+
21+
* look the same across browsers
22+
23+
Select one of the following links to see the example:
1624

1725
* [Checkboxes](#checkboxes)
1826
* [Radio Buttons](#radio-buttons)
1927
* [Inputs](#inputs)
2028
* [Buttons](#buttons)
2129
* [Cards](#cards)
2230

23-
>note CSS rules from the project may interfere. A common reason is styling from libraries like Bootstrap or rules with low specificity in the site stylesheet. [This blog post](https://www.telerik.com/blogs/improve-your-debugging-skills-with-chrome-devtools) can help you examine the rendering and applied styles so you can troubleshoot any issues.
31+
>note Existing CSS rules in the project may interfere with the applied styles. A common reason is styling from libraries like Bootstrap or rules with low specificity in the site stylesheet. [This blog post](https://www.telerik.com/blogs/improve-your-debugging-skills-with-chrome-devtools) can help you examine the rendering and applied styles so you can troubleshoot any issues.
2432
2533
## Checkboxes
2634

27-
A specific class on a `label` element can give you a checkbox that looks the same in all browsers. You will still need the actual `input` element, but it will have another class that will hide it visually.
35+
A specific CSS class applied to a `label` element can give you a checkbox that looks the same in all browsers. You still need to provide the actual `input` element, but it will have another CSS class that will hide it visually.
2836

2937
>tip You can use the [TelerikCheckBox]({%slug checkbox-overview%}) component instead. It offers a few extra features and events.
3038
@@ -45,7 +53,7 @@ A specific class on a `label` element can give you a checkbox that looks the sam
4553

4654
## Radio Buttons
4755

48-
A specific class on a `label` element can give you a radio buttons that looks the same in all browsers. You will still need the actual `input` element, but it will have another class that will hide it visually.
56+
A specific CSS class applied to a `label` element can give you a radio buttons that look the same in all browsers. You still need to provide the actual `input` element, but it will have another CSS class that will hide it visually.
4957

5058
>note Blazor cannot yet handle binding radio buttons. You can find more details in [this issue](https://github.com/aspnet/AspNetCore/issues/5579).
5159

0 commit comments

Comments
 (0)