Declined
Last Updated: 08 Dec 2022 08:51 by ADMIN
Created by: Buddhi
Comments: 1
Category: UI for Blazor
Type: Bug Report
2

In my blazor application, I have to use a numeric box component . In order to do that, I have created a custom numeric box component like below.  my issue is while I am typing something on the numeric box, time to  time some characters are automatically getting cleared. I have to type those again and again .i don't know what is the issue behind this.




<span @onfocusin="@FocusComponentAsync" @ref="@InputWrapperRef">

                <TelerikNumericTextBox Value="Amount"
                                       ValueChanged="(decimal val)=>OnBlNumercChanged(val)"
                                       Arrows=false>

                </TelerikNumericTextBox>
</span>



@code{

    private ElementReference InputWrapperRef { get; set; }

    private decimal Amount;

                        
    protected override void OnParametersSet()
    {
            this.StateHasChanged();
           
            base.OnParametersSet();
    }    

    private async void OnBlNumercChanged(decimal value)
    {

       //code   
    }

    public async void OnNumericBoxKeyUp(KeyboardEventArgs e){

       //code

    }

    public async Task FocusComponentAsync()
    {
       await _jsRuntime.InvokeVoidAsync("highlightInput", InputWrapperRef);
    }

}


window.highlightInput = (inputWrapper) => {
    var input = inputWrapper.querySelector("input");
    if (!input) return;
    input.select();
}

Completed
Last Updated: 14 Nov 2024 09:27 by ADMIN
Release 7.0.0

I am handling the SelecteditemsChanged event of the Grid and when an exception is thrown in its handler, the ErrorBoundarydoes not catch it.

For reference, I tried attaching the same handler to a click of a button and it is successfully caught by the ErrorBoundary in this case.

Unplanned
Last Updated: 25 Jan 2023 10:43 by ADMIN
Created by: Roman
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

Hi

I'm using the month view for the Telerik Blazor scheduler which works so great and is really easy to use. But I'm missing a feature where I can control how many weeks of the month are visible at once to the user. For example, I don't want to show the entire month, but only two weeks of the month.

I know there is the MultiDay view, but this shows everything in one horizontal row. It would be great to have a feature where the user sees the month with a custom number of weeks.

My suggestion is to add a property to the SchedulerMonthView component called e.g. "WeekCount".

<SchedulerMonthView WeekCount="2"></SchedulerMonthView>

Something like this also exists in Telerik UI for WinForms.

Best Regards,
Roman

Duplicated
Last Updated: 26 Jan 2023 16:56 by ADMIN
Created by: ManojKumar
Comments: 3
Category: UI for Blazor
Type: Bug Report
2

Changing page size triggers multiple read requests.

Demo

Unplanned
Last Updated: 09 Mar 2023 09:04 by ADMIN
Created by: Hristian Stefanov
Comments: 0
Category: UI for Blazor
Type: Feature Request
2
Expose a GridTooBar component, which will offer a typed declaration of internal components, just like the regular ToolBar component.
Duplicated
Last Updated: 09 Oct 2024 11:05 by ADMIN
Created by: Jerdobi
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

The sort order for some strings should be in natural sort order.  

1.10 -> 1.13 should be following 1.9 in this example.

Declined
Last Updated: 31 Mar 2023 08:22 by ADMIN
Created by: Naved
Comments: 1
Category: UI for Blazor
Type: Bug Report
2

Unable to insert the html in editor using inbuilt HtmlCommandArgs feature provided by the Editor. It only inserts the first element. Tried to wrap the entire html in a div but it doesnt work.

The sample code is below. 

@page "/editor/overview"

@using Telerik.Blazor.Components.Editor

<TelerikEditor @ref="Editor" @bind-Value="@Value"
               Tools="@Tools"
               Height="880px">
    <EditorCustomTools>
        <EditorCustomTool Name="InsertField">
            <TelerikButton OnClick="@OnInsertField">Insert</TelerikButton>
        </EditorCustomTool>
    </EditorCustomTools>
</TelerikEditor>

@code{
    private TelerikEditor Editor {get;set;}
    public List<IEditorTool> Tools { get; set; } =
        new List<IEditorTool>()
        {
            new CustomTool("InsertField")
        };

    public string Value { get; set; } =
@"
<p>Hi</p><p>
<img src=""data:image/png;base64,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"" alt="""" contenteditable=""false"" draggable=""true"">
<img class=""ProseMirror-separator"" alt=""""><br class=""ProseMirror-trailingBreak"">
</p><p><a href=""https://www.google.com/?safe=active&amp;ssui=on"">Link</a></p><p>Phone</p>
";

    private async Task OnInsertField()
    {
        await Editor.ExecuteAsync(new 
            HtmlCommandArgs("insertHtml", 
                $"<div>{Value}</div>", true));
    }
}

Unplanned
Last Updated: 12 Apr 2024 05:58 by ADMIN
Created by: Thomas
Comments: 6
Category: UI for Blazor
Type: Feature Request
2

Hi Telerik Team,

it would be nice to have some sort of control if a map layer (marker, bubble) etc. is shown at the currently selected zoom level. Let's say you have some map marker layers that show only big cities. If zoom is far out you may want to see just a few but when zoomed in, then there should be others (more or less) visible. It seems that some marker layers won't scale that precise on far zoom levels and maybe you want to hide some layers then.

If you need further information, don't hesitate to get in contact.

Regards,
Thomas

Duplicated
Last Updated: 04 Aug 2023 07:42 by ADMIN

Per API documentation, the Decimals property defaults to what is set in the user's region (culture). This is a flawed design.

Why would one think that ALL properties of type double or float in grid models should be truncated to 2 decimal places (when my region is set to US and that is the default)?

This seriously limits property values. Not everything is a dollar and cent value! The region setting I believe is for how to format general currency values perhaps (I am not exactly sure what it is for, because there is a different tab for 'Currency' with a 'No. of digits after decimal' setting as well as the tab for 'Numbers' having the same thing. But this does not mean that Windows always formats numbers that way.

Suppose for example I have a property in my model named "Weight" (expressed in terms of pounds). The value 150.12345 (pounds) is perfectly valid. It should not be truncated to 150.12. Or another, "Length" (expressed in terms of Feet): 17.0625 (that's 17 feet, 1 inch) - should not be morphed into 17.06.

To work around this, developers currently either have to override a <GridColumn>'s <EditorTemplate> and place a <TelerikNumericTextBox> element bound to the same property that the <GridColumn> is, and explictly set the Decimals property themselves.

Or what I have found is a better workaround, although not desirable to have to do this at all, is to put this kind of code snippet in the Program.cs file, right after the line var app = builder.Build();

app.UseRequestLocalization(action =>
{
   var currentCulture = CultureInfo.CurrentCulture.Clone() as CultureInfo;
   currentCulture!.NumberFormat.NumberDecimalDigits = 10; // for example, to allow this many decimal places in everything numeric
   var cultures = new List<CultureInfo>() { currentCulture };
   action.SupportedCultures = cultures;
});

Please remove the default value for the Decimals property being tied to the culture. It should just allow as many decimal places as a normal float or double would allow for its precision. Perhaps just allow a developer to set it and honor that, but if not set, basically let it be unlimited, just like the number of digits to the left of the decimal point.

Declined
Last Updated: 13 Sep 2023 10:57 by ADMIN

Hi,

I'm in the process of implementing a form in a Window component and would like the content to remain present in the DOM between hiding and showing of the window. I noticed that there's a line in the documentation where it states that PersistContent will allow the content of the window to remain in the DOM whenever the window is minimized. I recommend this be extended to the Visibility of the form, not just minimizing, as to create a more coherent approach.

I did come across this post here where it gives a description of how the above is achieved. This is a very inelegant approach as the consumer of the framework has to manually implement stuff which should be provided by the framework. The suggested approach also prevents the developer from opening multiple windows at once, which might be an issue in some cases.

Duplicated
Last Updated: 26 Oct 2023 13:21 by ADMIN
Created by: Kacper
Comments: 1
Category: UI for Blazor
Type: Bug Report
2

When I select value that is right after first range I cannot scroll back to the previous range again due to a mechanism that makse scroling near to the selected value harder.

Declined
Last Updated: 20 Nov 2023 16:39 by ADMIN
Created by: Kacper
Comments: 3
Category: UI for Blazor
Type: Bug Report
2

Hi,

This kind of behavior causes duplicate OnRead calls for the same range. If the OnRead method invokes a request to the API it will result in duplicate requests with the same range.

 

Duplicated
Last Updated: 27 Oct 2023 14:40 by ADMIN
Created by: Sabtain
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

What is the plan for docking control or  docking manager?

 

 

Unplanned
Last Updated: 08 Nov 2023 06:09 by ADMIN
Created by: Dale
Comments: 0
Category: UI for Blazor
Type: Feature Request
2

Can we get the Infinite Calendar feature that is part of Kendo Angular components? This design is brilliant. It makes it so much easy to get to the date you want. specially went they span over months or years. It find it makes the date picker so much more useful. 

https://www.telerik.com/kendo-angular-ui/components/dateinputs/calendar/

Unplanned
Last Updated: 17 Nov 2023 14:30 by Steve
Created by: Steve
Comments: 0
Category: UI for Blazor
Type: Feature Request
2
I'd like to customize the list of filter operators for string fields and add another operator - "Does Not Start With".
Duplicated
Last Updated: 08 Feb 2024 08:52 by ADMIN
Created by: Oliver
Comments: 0
Category: UI for Blazor
Type: Bug Report
2

The following code successfully renders the pdf viewer when the edit form is commented out, but when indside the pdf viewer it fails to render and gives the following error:

"Telerik.Blazor.Components.TelerikComboBox`2[Telerik.Blazor.Components.PdfViewer.Models.PdfViewerZoomLevelDescriptor,System.String] requires a value for the 'ValueExpression' ValueExpression is provided automatically when using 'bind-Value'.See more at https://docs.telerik.com/blazor-ui/knowledge-base/requires-valueexpression ."

 

 

@page "/pdfBug" @* <EditForm Model="_fakeContext"> *@ <TelerikPdfViewer Data="@PdfSource" OnDownload="@OnPdfDownload" Height="600px"></TelerikPdfViewer> @* </EditForm> *@ @code { private byte[] PdfSource { get; set; } private async Task OnPdfDownload(PdfViewerDownloadEventArgs args) { args.FileName = "PDF-Viewer-Download"; } protected override void OnInitialized() { PdfSource = Convert.FromBase64String(PdfBase64); base.OnInitialized(); } private const string PdfBase64 = "JVBERi0xLjEKMSAwIG9iajw8L1R5cGUvQ2F0YWxvZy9QYWdlcyAyIDAgUj4+ZW5kb2JqCjIgMCBvYmo8PC9UeXBlL1BhZ2VzL0tpZHNbMyAwIFJdL0NvdW50IDEvTWVkaWFCb3ggWy00MCAtNjQgMjYwIDgwXSA+PmVuZG9iagozIDAgb2JqPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjE8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9BcmlhbD4+ID4+ID4+L0NvbnRlbnRzIDQgMCBSPj5lbmRvYmoKNCAwIG9iajw8L0xlbmd0aCA1OT4+CnN0cmVhbQpCVAovRjEgMTggVGYKMCAwIFRkCihUZWxlcmlrIFBkZlZpZXdlciBmb3IgQmxhem9yKSBUagpFVAplbmRzdHJlYW0KZW5kb2JqCnhyZWYKMCA1CjAwMDAwMDAwMDAgNjU1MzUgZgowMDAwMDAwMDIxIDAwMDAwIG4KMDAwMDAwMDA4NiAwMDAwMCBuCjAwMDAwMDAxOTUgMDAwMDAgbgowMDAwMDAwNDkwIDAwMDAwIG4KdHJhaWxlciA8PCAgL1Jvb3QgMSAwIFIgL1NpemUgNSA+PgpzdGFydHhyZWYKNjA5CiUlRU9G"; private FakeContext _fakeContext = new FakeContext() { Name = "Test" }; public class FakeContext { public string Name { get; set; } } }


Duplicated
Last Updated: 14 Feb 2024 15:09 by ADMIN
Created by: Vladimir
Comments: 0
Category: UI for Blazor
Type: Bug Report
2

Trying to group by some nullable column. Expanding the group returns the entire dataset instead of only these rows with value == null.

Use case: Some users can not be assigned to any Team. Want to group by Teams and see users not assigned to any Team.

Steps to reproduce:

  • Using Virtual Scrolling with OnRead method.
  • Have a nullable column e.g. string?.
  • Trying to group by this column gives unexpected results.

Expected results:

Expanding the group by not assigning Teams returns only these users what doesn't have any teams by applying filtering.

Actual results:

 Expanding the group by not assigning Teams returns all users without filtering.

Code:


@using Telerik.DataSource
@using Telerik.DataSource.Extensions

Scroll through the groups or expand them to load their data on demand

<TelerikGrid TItem="@object"
             LoadGroupsOnDemand="true"
             Groupable="true"
             OnStateInit="@((GridStateEventArgs<object> args) => OnStateInitHandler(args))"
             OnRead="@ReadItems"
             ScrollMode="@GridScrollMode.Virtual" PageSize="20" RowHeight="60"
             Navigable="true" Sortable="true" FilterMode="@GridFilterMode.FilterRow" Height="600px">
    <GridColumns>
        <GridColumn Field="@nameof(Employee.Name)" FieldType="@typeof(string)" Groupable="false" />
        <GridColumn Field="@nameof(Employee.Team)" FieldType="@typeof(string)" Title="Team" />
        <GridColumn Field="@nameof(Employee.Salary)" FieldType="@typeof(decimal)" Groupable="false" />
        <GridColumn Field="@nameof(Employee.IsOnLeave)" FieldType="@typeof(bool)" Title="On Vacation" />
    </GridColumns>
</TelerikGrid>

@code {
    List<object> GridData { get; set; }

    protected async Task ReadItems(GridReadEventArgs args)
    {
        // sample data retrieval, see comments in the service mimic class below
        DataEnvelope<Employee> result = await MyService.GetData(args.Request);

        if (args.Request.Groups.Count > 0)
        {
            args.Data = result.GroupedData.Cast<object>().ToList();
        }
        else
        {
            args.Data = result.CurrentPageData.Cast<object>().ToList();
        }

        args.Total = result.TotalItemCount;
    }

    void OnStateInitHandler(GridStateEventArgs<object> args)
    {
        // set initial grouping
        GridState<object> desiredState = new GridState<object>()
        {
            GroupDescriptors = new List<GroupDescriptor>()
            {
                new GroupDescriptor()
                {
                    Member = "Team",
                    MemberType = typeof(string)
                },
                new GroupDescriptor()
                {
                    Member = "IsOnLeave",
                    MemberType = typeof(bool)
                }
            }
        };

        args.GridState = desiredState;
    }

    public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }
        public string? Team { get; set; }
        public bool IsOnLeave { get; set; }
        public decimal Salary { get; set; }
    }

    public class DataEnvelope<T>
    {
        public List<AggregateFunctionsGroup> GroupedData { get; set; }
        public List<T> CurrentPageData { get; set; }
        public int TotalItemCount { get; set; }
    }

    public static class MyService
    {
        private static List<Employee> SourceData { get; set; }
        public static async Task<DataEnvelope<Employee>> GetData(DataSourceRequest request)
        {
            if (SourceData == null)
            {
                SourceData = new List<Employee>();
                var rand = new Random();
                for (int i = 1; i <= 3; i++)
                {
                    SourceData.Add(new Employee()
                    {
                        EmployeeId = i,
                        Name = "Employee " + i.ToString(),
                        Team = "Team " + i % 100,
                        IsOnLeave = i % 3 == 0,
                        Salary = rand.Next(1000, 5000)
                    });
                }
                SourceData.Add(new Employee()
                    {
                        EmployeeId = 3,
                        Name = "Employee " + 3.ToString(),
                        Team = null,
                        IsOnLeave = 3 % 3 == 0,
                        Salary = rand.Next(1000, 5000)
                    });
            }

            await Task.Delay(500);// deliberate delay to showcase async operations, remove in a real app

            // retrieve data as needed, you can find more examples and runnable projects here
            // https://github.com/telerik/blazor-ui/tree/master/grid/datasourcerequest-on-server
            var datasourceResult = SourceData.ToDataSourceResult(request);

            DataEnvelope<Employee> dataToReturn;

            if (request.Groups.Count > 0)
            {
                dataToReturn = new DataEnvelope<Employee>
                {
                    GroupedData = datasourceResult.Data.Cast<AggregateFunctionsGroup>().ToList(),
                    TotalItemCount = datasourceResult.Total
                };
            }
            else
            {
                dataToReturn = new DataEnvelope<Employee>
                {
                    CurrentPageData = datasourceResult.Data.Cast<Employee>().ToList(),
                    TotalItemCount = datasourceResult.Total
                };
            }

            return await Task.FromResult(dataToReturn);
        }
    }
}

Declined
Last Updated: 24 Apr 2024 08:34 by ADMIN

Horizontal scrolling in the grid works when its width is set to a fixed value (px, rem, etc.). But the h scroll disappear when a percentage is assigned to the width of the grid.

This seems to be a known 'feature' to Telerik:

https://docs.telerik.com/blazor-ui/components/grid/columns/width?_gl=1*78gyue*_ga*MzUzNTU3NTM0LjE2ODU2MTc3Njk.*_ga_9JSNBCSF54*MTcxMjIyMTAxNS44My4xLjE3MTIyMjExMzQuOS4wLjA.*_gcl_au*MTA3OTA1NzUyOS4xNzEwNTE1Njgy&_ga=2.263164300.1038437897.1712221016-353557534.1685617769

A sensible behaviour is to have the horizontal scrolling enabled and at the same time being able to set the grid to percentage width.

Unplanned
Last Updated: 23 Oct 2024 13:46 by Nitesh

I get validation issues for the selection Checkboxes and the PageSizes dropdown as they do not have id or name attributes:

The behavior can be reproduced in the online demo: Blazor Data Grid - Overview

Completed
Last Updated: 03 Jan 2025 07:29 by ADMIN
Release 7.0.0
Created by: Scott
Comments: 9
Category: UI for Blazor
Type: Bug Report
2

Good Morning,

I have recently started getting random and repeated Javascript errors when debugging my project using your controls for Blazor.  It is completely random (sometimes happens immediately at project start, sometimes when navigating to a new page, sometimes when interacting with a control).  It is ALWAYS the same error....

TypeError: Cannot read properties of undefined (reading 'visible') 

Message=
  Source=
  StackTrace:
  at __webpack_modules__.8219.constructor.onMouseEnter (https://localhost:44307/_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=ITaQSsBTBmdJoUpPr2KiZ7JwhfKjwa7SGa6zvlv9kkU:50:1442661)

I am using the most current version of your product.  I have gone through your "Javascript Errors" page and have worked through all the suggestions.  Nothing resolves it.

This is becoming a giant time sink while trying to work on a project.  What can we do to get appropriate error handling on your end to prevent these issues?

Thanks