Pending Review
Last Updated: 30 Jul 2021 11:30 by ali2021
Created by: ali2021
Comments: 0
Category: UI for Blazor
Type: Bug Report
0

in blazor ui version 2.24.1 I use this code in program.cs for globalization:

public static async Task Main(string[] args)
        {
            var builder = WebAssemblyHostBuilder.CreateDefault(args);
            builder.RootComponents.Add<App>("#app");
            builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

            builder.Services.AddTelerikBlazor();

            // register a custom localizer for the Telerik components, after registering the Telerik services
            builder.Services.AddSingleton(typeof(ITelerikStringLocalizer), typeof(SampleResxLocalizer));

            var host = builder.Build();

            await SetCultureAsync(host);

            await host.RunAsync();
        }

 private static async Task SetCultureAsync(WebAssemblyHost host)
        {
            var jsRuntime = host.Services.GetRequiredService<IJSRuntime>();
            var cultureName =await jsRuntime.InvokeAsync<string>("blazorCulture.get");

            if (cultureName != null)
            {
                var culture = new CultureInfo("fa-IR");

                DateTimeFormatInfo info = culture.DateTimeFormat;
                info.AbbreviatedDayNames = new string[] { "ی", "د", "س", "چ", "پ", "ج", "ش" };
                info.DayNames = new string[] { "یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه" };
                info.AbbreviatedMonthNames = new string[] { "فروردین", "ارديبهشت", "خرداد", "تير", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
                info.MonthNames = new string[] { "فروردین", "ارديبهشت", "خرداد", "تير", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
                info.AMDesignator = "ق.ظ";
                info.PMDesignator = "ب.ظ";
                info.ShortDatePattern = "yyyy/MM/dd";
                info.FirstDayOfWeek = DayOfWeek.Saturday;
                CultureInfo.DefaultThreadCurrentCulture = culture;
                CultureInfo.DefaultThreadCurrentUICulture = culture;
            }
        }

when use TelerikDatePicker , id dosenot work properly. the code of my component in here:

<div class="demo-section k-form k-form-vertical">
    <div class="k-form-field">
        <label for="travel-date" class="k-label k-form-label">Travel Date</label>
        <div class="k-form-field-wrap">
            <TelerikDatePicker Min="@Min" Max="@Max" @bind-Value="@selectedDate" Id="travel-date"></TelerikDatePicker>
        </div>
    </div>
    <div class="k-form-field">
        <p>The selected travel date is: <strong>@selectedDate?.ToShortDateString()</strong></p>
        <p>The selected travel date is: <strong>@selectedDate?.ToString()</strong></p>
        <p>The selected travel date is: <strong>@selectedDate?.ToUniversalTime()</strong></p>
        <p>The selected travel date is: <strong>@selectedDate?.ToLongDateString()</strong></p>
    </div>
</div>

@code  {
    public DateTime Max = new DateTime(2050, 12, 31);
    public DateTime Min = new DateTime(1950, 1, 1);
    private DateTime? selectedDate=DateTime.Now;
}

when click the datepicker the date is not correct :

Unplanned
Last Updated: 29 Jul 2021 20:43 by John Campion

Hi,

This is easily viewable in your demos.  Using Safari, go to:

https://demos.telerik.com/blazor-ui/dateinput/overview

Try to use keyboard arrows left and right and up/down to change date.  It doesn't hold the selected date part.  

Works fine in Chrome / Firefox.

Unplanned
Last Updated: 29 Jul 2021 10:39 by ADMIN
Аpplication memory grows when Grid grouping occurs. After a couple minutes of running in debug mode the process memory visible in the Diagnostic tools progressively increases up to a couple gigabytes. This behavior is not reproduced when not in debug mode and monitoring in the Memory tab of the browser tools.
Completed
Last Updated: 28 Jul 2021 16:18 by ADMIN
Then setting the TextAlign property of a GridColumn element to ColumnTextAlign.Right, the grid cells are right-aligned, however the header and total row do not respect the setting and remain left-aligned.
Planned
Last Updated: 28 Jul 2021 11:51 by ADMIN
Scheduled for 2.27.0
Adding a GridCheckboxColumn with SelectAll="true" inside a Grid with Groupable="true" and LoadGrupsOnDemand="true" causes a System.NullReferenceException
Unplanned
Last Updated: 28 Jul 2021 11:38 by ADMIN
Created by: Nadezhda
Comments: 0
Category: Editor
Type: Bug Report
1
When you create or paste a table, you cannot move the cursor outside of it if there is no other content in the Editor.
Completed
Last Updated: 28 Jul 2021 11:07 by ADMIN
Created by: Clark
Comments: 4
Category: DropDownList
Type: Bug Report
0
I've encountered a scenario where a DropDownList's red border (due to validation status) will be displayed or hidden when it shouldn't. It seems to be always one step behind. For example:

1. Submit the empty form to trigger validation. A validation message is displayed and the field shows a red border as expected.
2. Select a valid value. The validation message goes away as expected, but the red border remains.
3. Select an invalid value. The validation message appears, but now the red border disappears.
4. Select a valid value. The validation message goes away, but the red border remains.

Interestingly, this only happens when using the keyboard. Using the mouse, the border is displayed/hidden at the same time the validation message is displayed/hidden, as would normally be expected.

So to cause this: tab into the field, press one key (e.g., a letter or the down arrow) to select a value, then tab out of the field. If you change the value more than once, the red border will disappear the second time if it is also a valid value.

Animated demo:



I've encountered almost the exact same scenario with other fields when using async validation rules (which Blazor currently does not support), leading me to believe the DropDownList control may be using async somewhere that's resulting in this problem.

Additionally, I'm only experiencing this when I'm wrapping the DropDownList control in my own custom component. I'm not sure why this is.

---

I've included a page and components that demonstrate this problem. It's a little messy but hopefully sheds some light on when it does and doesn't occur. It shows:

1. The issue happens to the TelerikDropDownList when wrapped in a custom component but not otherwise.
2. The issue does not happen to Microsoft's built-in InputSelect even if wrapped in a custom component.
3. The issue does not happen to TelerikTextBox even if wrapped in a custom component.
4. The values of CssClass and InputClass differ, indicating that validation only completes after the value has been changed and OnParametersSet() has been called. (async issue?)

In the attached demo page, the issue only occurs in the last field ("TelerikDropDownListWrapped").

---

Seems like this is a bug with TelerikDropDownList. If not a bug, how can I avoid this issue and why does it not occur with other controls?
Unplanned
Last Updated: 28 Jul 2021 09:58 by ADMIN

When you paste a table in the Editor or insert one through the InsertHTML tool, most of the Editor Table tools don't work on the pasted table. Only Delete Table tool can be used. The rest of the Table tools do not seem to invoke any action with the table.

If you create table using the Create Table tool this behavior is not present, you can accordingly apply the built-in Table tools.

Unplanned
Last Updated: 28 Jul 2021 09:40 by ADMIN
Created by: Eli
Comments: 0
Category: Editor
Type: Bug Report
1

When you paste a table in the Editor or insert one through the InsertHTML tool, the Editor adds two  <tbody> tags making this invalid HTML.

If you create table using the Create Table tool this behavior is not present, only one <tbody> tag is added as expected.

Unplanned
Last Updated: 27 Jul 2021 22:45 by Wei

OnChange and OnBlur event for editors (TelerikTextBox, NumericTextBox, and others) is not fired in InCell edit mode with Tab key.

 

Planned
Last Updated: 27 Jul 2021 13:31 by ADMIN
Scheduled for 2.27.0
It looks like the built-in validation does not respect clearing the edit item through state.  If you remove invalid edit item through Grid State, the Grid stays in edit mode and the OnRowClick stops firing.
Planned
Last Updated: 26 Jul 2021 09:26 by ADMIN
Scheduled for 3.0.0
Created by: tilt32
Comments: 0
Category: Grid
Type: Bug Report
1

The TelerikGrid is kind of missing a "None" Value in the enum for the EditMode.

We need to disable the edit mode based on a value from the model (role access restricted), and I don't see any way this is possible without copy-pasting the entire grid under an if statement.

 

------ADMIN EDIT-------

A possible workaround at the moment is to set the "Editable" parameter of the columns to "false" or not use a command column with "edit".

Another workaround can be to attach a OnEdit handler and cancel the event based on the view model flag only. If the user cannot edit - always cancel.

Unplanned
Last Updated: 24 Jul 2021 09:07 by ADMIN

The following date in the Scheduler RecurrenceRule cannot be parsed and is ignored:

RecurrenceRule = "FREQ=DAILY;UNTIL=20210722T000000"

According to the RFC5545 specification, this should be a valid date format.

These formats will work:

RecurrenceRule = "FREQ=DAILY;UNTIL=2021-07-22T00:00:00"
RecurrenceRule = "FREQ=DAILY;UNTIL=2021-07-22T00:00:00.000Z"

 

EDIT:

This is my work-around. It captures the date portion of the UNTIL clause, converts it into the date string style that Telerik can understand, then reassembles the rule string

private string TransformRecurrenceRule()
        {
            const string untilSeparator = "UNTIL=";
            var ruleParts = RecurrenceRule.Split(untilSeparator, StringSplitOptions.RemoveEmptyEntries);
            if (ruleParts.Length <= 1)
            {
                // There was no Until clause to worry about
                return RecurrenceRule;
            }

            // Save the first part of the rule
            var ruleBeginning = ruleParts[0];

            // Split the date part of the until clause from any following clauses
            var remainingClauses = ruleParts[1].Split(';', 2, StringSplitOptions.RemoveEmptyEntries);

            //Save the date part of the until clause
            var untilDate = remainingClauses[0];

            // Save any following clauses with the `;` replaced
            var ruleEnding = "";
            if (remainingClauses.Length == 2)
            {
                ruleEnding = $";{remainingClauses[1]}";

            }

            // Convert the until date into .net parsable format
            const string format = "yyyyMMddTHHmmss";
            var date = DateTime.ParseExact(untilDate, format, CultureInfo.InvariantCulture);
            var dateStr = date.ToString("yyyy-MM-ddTHH:mm:ss");

            // recombine rule components
            var newRuleParts = new[] {ruleBeginning, untilSeparator, dateStr, ruleEnding};
            var newRule = string.Join("",newRuleParts);

            return newRule;
        }

Completed
Last Updated: 24 Jul 2021 08:58 by ADMIN
Unplanned
Last Updated: 23 Jul 2021 15:00 by ADMIN

Here is a TelerikForm with a FormItem (1) for a boolean field. Another FormItem (2) should render, depending on the boolean field (1). This does not work with a TelerikForm, but works with a standard EditForm.

The workaround for a TelerikForm is to use a FormItem Template with a TelerikCheckBox. This is demonstrated below as well.

<EditForm Model="@_data">
    <label>Condition 1 (InputCheckbox):</label>
    <InputCheckbox @bind-Value="@_data.Value1" />
    <br />
    @if (_data.Value1)
    {
        <label>Result 2</label>
        <InputCheckbox DisplayName="Result 2:" @bind-Value="@_data.Value2"></InputCheckbox>
    }
</EditForm>

<h1>TelerikForm</h1>

<TelerikForm Model="@_data">
    <FormItems>
        <FormItem LabelText="Condition 1 (FormItem):" Field="@nameof(_data.Value1)"></FormItem>
        <FormItem>
            <Template>
                <label for="x">Condition 1 (TelerikCheckBox):</label>
                <br />
                <TelerikCheckBox Id="x" @bind-Value="_data.Value1" />
            </Template>
        </FormItem>
        @if (_data.Value1)
        {
            <FormItem LabelText="Result 2:" Field="@nameof(_data.Value2)"></FormItem>
        }
    </FormItems>
</TelerikForm>

@code {
    private ExampleDto _data { get; set; } = new ExampleDto();

    public class ExampleDto
    {
        public string TextValue { get; set; }
        public bool Value1 { get; set; }
        public bool Value2 { get; set; }
    }
}

Unplanned
Last Updated: 23 Jul 2021 07:52 by ADMIN

The TreeView has CheckBoxMode="@TreeViewCheckBoxMode.Multiple" and CheckParents="true". Only some checkboxes are checked and there are parent checkboxes in indeterminate state.

When I try to clear all checked checkboxes, the indeterminate checkboxes are not cleared and maintain their state.

Duplicated
Last Updated: 22 Jul 2021 13:48 by ADMIN

The keyboard navigation built into the Wizard control conflicts with DatePicker. When I used the up down arrows to change the date it causes the wizard to move to the next page.

 

I am able to reproduce this same issue right on the demo page Blazor Wizard Demos - Overview | Telerik UI for Blazor

 

Steps to Reproduce.

1. Complete the required password.

2. select the date field and use the up down arrow keys.

 

I'm not aware of any workaround since we cannot disable keyboard navigation on the Wizard control.

Planned
Last Updated: 22 Jul 2021 06:35 by ADMIN
Scheduled for 2.26.0

Here is the scenario and how to reproduce the issue:

  1. A Grid with a horizontal scrollbar. All columns have explicit widths, according to requirements.
  2. The first 3 columns are locked (frozen).
  3. Make the frozen columns 1 - 3 smaller. Save the Grid state.
  4. Refresh the page and restore the Grid state in OnStateInit.
  5. Scroll the non-frozen columns to see how the frozen columns are positioned, according to their previous larger widths. Now there are gaps between these columns.
  6. The reverse issue occurs if the frozen columns are expanded in (3). Then, after state restore they overlap.
Completed
Last Updated: 20 Jul 2021 13:14 by ADMIN
Release 2.26.0
If I open the filter menu, choose filters, but do NOT click Filter, these filters go into the grid state, and they are applied with the next data operation (such as paging or sorting, or filtering some other column). Clicking away like that should clear the filters in the popup instead of put them in the state, or it should apply them immediately so that the filter icon also gets marked as active filter.
Completed
Last Updated: 20 Jul 2021 09:32 by ADMIN
Release 2.26.0
Clicking on a Sortable Grid column header causes the grid to freeze when an Incell editor with an invalid value was open.
1 2 3 4 5 6