Pending Review
Last Updated: 19 Jun 2019 17:32 by KSafadi
Created by: KSafadi
Comments: 0
Category: DateTimePickers
Type: Feature Request
1

Hey,

It would be very useful if the TimePicker component would have a feature called something like "AutoFocusTime()". By default, when there is no value inside the TimePicker, the default focused time is "12:00 am", therefore the user has to scroll up all the way to the required time. With the feature above, it would be possible to enter a time which should be focused by default. For example "8:00 am" which is when most businesses start operating.

Now the question is, why not just putting in a default value. Well, in a form with lots of inputs, the user may not know anymore which values he entered and which inputs have a default value set and therefore submitting wrong data. If a input doesn't have a default value this mistake can be caught by setting a [Required] attribute. Threfore, the user has to enter a value and it will be guaranteed that all values where entered by him and it wasn't a default value which has been set.

See ticket id 1412837.

Approved
Last Updated: 17 Jun 2019 05:46 by ADMIN
Created by: Mathieu
Comments: 1
Category: Scheduler
Type: Feature Request
0

Hello,

We want to "freeze" the first line of scheduler for scrolling.

It's possible? If don't, have you a workaround to make that?

Thanks

Mathieu

Pending Review
Last Updated: 17 Jun 2019 01:08 by RickC
Created by: RickC
Comments: 0
Category: PivotGrid
Type: Feature Request
0

This is actually a request for ALL PivotGrid Controls across the Telerik family. Currently only numeric values can be used in a PivotGrid. There are many instances when it can be really useful to perform Pivots on string values. Currently Telerik does not support this feature and I need to use the DevExpress PivotGrid to accomplish my use case. I would like to see Telerik adopt this same functionality.

 

 

Completed
Last Updated: 23 May 2019 05:50 by ADMIN
Release 2019.R2.SP.Next
Approved
Last Updated: 21 May 2019 08:25 by ADMIN
Created by: n/a
Comments: 5
Category: TreeList
Type: Feature Request
1

Problem Statement: Unable to set the Filterable operators instead of default's in Tree List .Net Core.

When i add the below to the TreeList :

  .Filterable
          (f => f
              .Operators(op => op
                  .ForString(str => str.Clear()
                      .Contains("Contains")
                      .DoesNotContain("Does not contain")
                      .StartsWith("Start with")
                      .EndsWith("Ends with")
                      .IsEqualTo("Is equal to")
                      .IsNotEqualTo("Is not equal to")
                  )))

Error: 

Severity Code Description Project File Line Suppression State
Error CS1061 'TreeListFilterableSettingsBuilder<dynamic>' does not contain a definition for 'Operators' and no accessible extension method 'Operators' accepting a first argument of type 'TreeListFilterableSettingsBuilder<dynamic>' could be found (are you missing a using directive or an assembly reference?) MSA_Client_Portal C:\Users\anilc\source\repos\Client Portal - NEW\src\MSA_Client_Portal\Views\LegislationSection\LegislationTree.cshtml 90 Active

 

Approved
Last Updated: 21 May 2019 08:13 by ADMIN
Created by: n/a
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
1

Hi

Would like to request to bind Treelist from Datatable with dynamic type

And Totreedatasocure to accomidate for dynamic datatable rather tha at row of static table.

Thank you

Approved
Last Updated: 20 May 2019 14:34 by ADMIN
Created by: Graeme
Comments: 1
Category: DropDownList
Type: Feature Request
1

Hi there

I am using MongoDb database and storing much of the data as complex objects.

Like this

Company

string     Name

string     Phone

object[]    Addresses

                   object Id

                   string name

                   string line2

                   string town

So the addresses are not stored in normalised tables such as you would have in a typical sql setup

Also I am using Razor pages and not using view models but binding to page model properties

mostly matching the database document. 

One thing I am wanting to do is make the best of such a plan as it saves a lot of coding time.

If I have a telerik control such as a dropdownlist you would typically return an Id and keep the Id

in the database table.  However in the new style of document database it is common to store

the entire object and not just the Id so the problem is if the control returns only the Id then

the developer has to obtain the rest of the object to store away adding the the complexity of the code.

Telerik allows very easy binding of an object to a control and the whole object remains available to use

such as in a dropdownlist to show a name and return say the Id.

An improvement for those using Document style databases with denormalised data would be the option

to simply return the whole object.

@(Html.Kendo().DropDownList()
                .Name("ToBranch") 
                .DataValueField("Id") 
                .DataTextField("Name") 
                .BindTo((Company.Addreses) 
)

So in addition to DataValueField have something like DataReturnObject(true) or something like that

which would send back all the data for the item which you already have sitting right there.

This would very nicely serialise into the pagemodel complex object property and allow proper model validation

which is a problem when you return an Id but the property expects the full object.

I understand all this can be overcome but just a little tweaking by Telerik would be a significant benefit

where your customers are using document style databases such as MongoDb and Azure Cosmos

 

So..

1 That is my suggestion.

2 Can I currently achieve this somehow?

 

              

        

Approved
Last Updated: 02 May 2019 07:16 by ADMIN
Created by: Matthew
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
2

Implement Recurrence Rule Parser helper that uses the Scheduler recurrenceRule string and parses it in a usable format on the server.

There is already a similar helper for Telerik UI for ASP.NET Ajax.

Approved
Last Updated: 26 Apr 2019 12:19 by ADMIN

When a model property is decorated with data annotation attributes, the RadioButton HtmlHelper does not properly render the data-val and data-val-required attributes on the element.

Expected behavior:  Data attributes should be successfully rendered on the <input> element.

Approved
Last Updated: 26 Apr 2019 10:16 by ADMIN
Created by: Chris
Comments: 3
Category: Grid
Type: Feature Request
2

I was wanting to create a multiselect filter inside the kendo grid that will filter an array column, NOT a simple string column.  Just adding the .Filterable(ftb => ftb.Multi(true)) does display a basic 'multiselect' with just checkboxes in it, which is not ideal , but does work.  But, when you click filter, the grid becomes empty.  I had to use a clienttemplate() function, to return an html object like so:

export function MultiRowTemplate(data) {
       if (data == null) {
           return "";
       }
       var row = "";
       for (var i = 0, len = data.length; i < len; i++) {
           row += data[i].Description + "<br/>";
       }
       return row;
   }

 

My column is:

columns.ForeignKey(a => a.DisplayExp, (System.Collections.IEnumerable)ViewData["Exp"], "Id", "Description").ClientTemplate("#= MultiRowTemplate(data.DisplayExp) #").Filterable(ftb => ftb.Multi(true)).Title("Experience");

 

the code for the foreign key doesn't make much sense as it's an array column, but that was pointed to by telerik support on other forum posts.  

So, there must be a way to hook into that column and run some custom code to return to the grid the filtered values?  i've seen examples for jquery, and mvc, but theres nothing for .net core.  This should just work out of the box, as I don't think this is an uncommon need.  Could you give me an example or point me in the right direction?

 

 

 

 

Approved
Last Updated: 23 Apr 2019 10:50 by ADMIN
Created by: Joshua
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
1

Trying to attach an event to the Core Sparkline wrapper like this:

@(Html.Kendo().Sparkline()
                .Name("temp-log")
                .Type(SparklineType.Column)
                .Data(new double[] {
                16, 17, 18, 19, 20, 21, 21, 22, 23, 22
            })
            .Events(e=>e.SeriesClick("onSeriesClick"))
)

leads to a compilation error:

Error CS0121 The call is ambiguous between the following methods or properties: 'SparklineBuilder<T>.Events(Action<ChartEventBuilder>)' and 'SparklineBuilder<T>.Events(Action<SparklineEventBuilder>)'


Approved
Last Updated: 05 Apr 2019 13:22 by ADMIN
Created by: Mhd.Ahd
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
1

Dears,

While browsing the new components of UI for Asp Core, I found an Issue in the provided online sample (https://demos.telerik.com/aspnet-core/ripplecontainer/index)

After transferring and moving items between the lists of "RIPPLE ON LIST ITEMS", the list display the raw HTML of the items. So, I provided a screen record reproducing the issue (https://pasteboard.co/I7Fx0AW.gif).

Approved
Last Updated: 18 Mar 2019 15:13 by ADMIN

The Menu TagHelper does not render correct links for its items when the asp-page attribute is used.

With area it does not render a link at all:
<menu-item text="Home" asp-area="Products" asp-controller="Home" asp-action="About"></menu-item>

Without area it renders an incorrect link
<menu-item text="Login" asp-area="Products" asp-page="/Books"></menu-item>


Pending Review
Last Updated: 15 Mar 2019 09:16 by ADMIN
Created by: Valid Development Factory
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
0

Hello,

We want to create a custom Material theme for our ASP.NET Core web application. We are using the Sass Theme Builder but can only select predefined color swatches for the "Material" base theme. We would like to be able to set custom colors per "subject" just like you can with the "Default" and "Bootstrap" theme. 
Is this possible or are you blocking this on purpose for some reason?

Thank you in advance.

Approved
Last Updated: 12 Mar 2019 23:40 by Aldermar
Created by: Aldermar
Comments: 1
Category: TreeView
Type: Feature Request
2
Hence, binding to Model and ViewBad will be feasible.
Approved
Last Updated: 11 Mar 2019 16:08 by ADMIN
I don't See Telerik ASP.NET Core in My Tool Box.
Pending Review
Last Updated: 08 Mar 2019 12:13 by ADMIN

When you create a Grid using a TModel that inherits from DynamicObject, a type cast exception is thrown when setting the DataSource Model Id property.

public class Metadata : DynamicObject

{ ... }  


...
.DataSource(dataSource =>
{
    dataSource.Ajax()
      .Model(model =>
      {
          model.Id("Id");
      });
})

A type cast exception is thrown by the following line in Kendo\AspNet.Core\Kendo.Mvc\UI\DataSource\Fluent\DataSourceModelDescriptorFactoryBase.cs because ModelDynamicDataKey is not generic, so it cannot be cast to IDataKey<TModel>

dataKey = (IDataKey<TModel>)new ModelDynamicDataKey(fieldName, lambdaExpression);


The following code changes fix the issue:

DataSourceModelDescriptorFactoryBase.cs

namespace Kendo.Mvc.UI.Fluent
{
	using System.Reflection;
	using Extensions;

	/// <summary>
	/// Defines the fluent interface for configuring the <see cref="DataSource"/> Model definition.
	/// </summary>
	/// <typeparam name="TModel">Type of the model</typeparam>
	public abstract class DataSourceModelDescriptorFactoryBase<TModel> : IHideObjectMembers
        where TModel : class
    {
        protected readonly ModelDescriptor model;

        public DataSourceModelDescriptorFactoryBase(ModelDescriptor model)
        {
            this.model = model;
        }

        /// <summary>
        /// Specify the member used to identify an unique Model instance.
        /// </summary>
        /// <param name="fieldName">The member name.</param>
        protected void Id(string fieldName)
        {
            IDataKey<TModel> dataKey;
            if (typeof(TModel).IsDynamicObject())
            {
                var lambdaExpression = ExpressionBuilder.Expression<TModel, object>(fieldName);
                dataKey = new ModelDynamicDataKey<TModel>(fieldName, lambdaExpression);
            }
            else
            {
                dataKey = GetDataKeyForField(fieldName);
            }

            dataKey.RouteKey = dataKey.Name;

            model.Id = dataKey;
        }

        protected IDataKey<TModel> GetDataKeyForField(string fieldName)
        {
            var lambdaExpression = ExpressionBuilder.Lambda<TModel>(fieldName);
            var fieldType = typeof(ModelDataKey<,>).MakeGenericType(new[] { typeof(TModel), lambdaExpression.Body.Type });

            var constructor = fieldType.GetConstructor(new[] { lambdaExpression.GetType() });

            return (IDataKey<TModel>)constructor.Invoke(new object[] { lambdaExpression });
        }
    }
}

 

ModelDynamicDataKey.cs

namespace Kendo.Mvc.UI
{
    using System;
    using System.Linq.Expressions;
    using Microsoft.AspNetCore.Mvc.Rendering;

    internal class ModelDynamicDataKey<TModel> : IDataKey<TModel>
        where TModel : class
    {
        public ModelDynamicDataKey(string memberName, Expression<Func<TModel, object>> expression)
        {
            RouteKey = "id";
            Name = memberName;
            Expression = expression;
            Value = expression.Compile();
        }

        public string Name
        {
            get;
        }

        public string RouteKey
        {
            get;
            set;
        }

        public Func<TModel, object> Value
        {
            get;
        }

        public Expression<Func<TModel, object>> Expression
        {
            get;
        }

        public object GetValue(object dataItem)
        {
            try
            {
                return Value((TModel)dataItem);
            }
            catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException)
            {
                return null;
            }
        }

        public string HiddenFieldHtml(IHtmlHelper<TModel> htmlHelper)
        {
            return htmlHelper.Hidden(Name, null, new { id = "" }).ToString();
        }
    }
}


Declined
Last Updated: 01 Mar 2019 13:48 by ADMIN
Created by: Raian
Comments: 1
Category: Window
Type: Bug Report
0

Hello good afternoon all right?

I am developing a code where I create a base model of a window and use javascript to be able to define data like autura, width, content (URL) and etc ...
In the example I am doing, I have a menu that according to the ID of the item that I clicked on the menu, it performs a function and according to the ID, it defines the data of the Window, as I do not have a component like "RadWindowManager" to facilitate this part of the creation, I am doing this process:

Component Code:

<nav class="navbar navbar-expand-xl navbar-light bg-light">
        <a class="navbar-brand" href="#">
            <div> <img src="~/images/selo.png" class="pull-left imagem" /> </div>
        </a>
        <a class="navbar-brand" href="#">
            <img src="~/images/softlux.png" class="logo_posicao" alt="">
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarText">
            <ul class="navbar-nav mr-auto">
                        <li class="dropdown nav-text">
                            <a href="#" class="nav-link dropdown-toggle" id="navbarDropdownMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onclick="aoClicar('3,0')">
                                Example Window 1
                            </a>
                        </li>
                        <li class="dropdown nav-text">
                            <a href="#" class="nav-link dropdown-toggle" id="navbarDropdownMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onclick="aoClicar('6,0')">
                                Example Window 2
                            </a>
                        </li>
                        <li class="dropdown nav-text">
                            <a href="#" class="nav-link dropdown-toggle" id="navbarDropdownMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onclick="aoClicar('12,0')">
                                Example Window 3
                            </a>
                        </li>
            </ul>
        </div>
</nav>

@(Html.Kendo().Window()
    .Name("FrmGrid")
    .Resizable()
    .Draggable()
    .Content("Loading...")
    .Visible(false)
    .Modal(false)
    )


Scripts Code:

<script type="text/javascript">
        function aoClicar(idItem) {
            switch (idItem) {
                case "3,0":
                    var janela = $("#FrmGrid").kendoWindow().data("kendoWindow");

                    janela.setOptions({
                        title: "Table of Environments",
                        width: 980,
                        height: 440
                    });

                    janela.refresh({
                        url: 'http://' + window.location.hostname + ':' + window.location.port + '/Ambiente/Index'    // Open a Controller and Action as Frame
                    });

                    janela.center().open();
                    break;
                case "6,0":
                    var janela = $("#FrmGrid").kendoWindow().data("kendoWindow");

                    janela.setOptions({
                        title: "Table of Professions",
                        width: 980,
                        height: 400
                    });

                    janela.refresh({
                        url: 'http://' + window.location.hostname + ':' + window.location.port + '/Profissao/Index'    // Open a Controller and Action as Frame
                    });

                    janela.center().open();
                    break;
                case "12,0":
                    var janela = $("#FrmGrid").kendoWindow().data("kendoWindow");

                    janela.setOptions({
                        title: "Table of reasons",
                        width: 980,
                        height: 560
                    });

                    janela.refresh({
                        url: 'http://' + window.location.hostname + ':' + window.location.port + '/Motivo/Index'    // Open a Controller and Action as Frame
                    });

                    janela.center().open();
                    break;
                default:
                    alertify.error('Window not disponible.');
            }
        }
</script>

 

However, I noticed 2 problems in Defining Options such as height, width, title, and content
If I use this method to define:

janela.setOptions({
    title: "Table of reasons",
    width: 980,
    height: 560
});

The final result of the window looks like this:

Note that the Content Frame is passing outside the window border, or in case the background shadow of it, in other browsers the size may even follow the pattern of the shadow, but in Google Chrome you get this part beyond the limit.

If I use this method to set the properties:

var janela = $("#FrmGrid").kendoWindow({
        title: "Table of reasons",
        width: 980,
        height: 560
    }).data("kendoWindow");

When you create the first window, you create it without problems:

Note that even the window is the correct size.
However, if I close and try to open another menu item, properties such as Height, Width, and Title are not updated, see:

As much as I have defined the patterns before opening the window, the only thing that was changed in the window was the URL / Content

I hope you have understood what you want to report, do not forget the texts in the grid or the buttons are not in English, this project I am developing in my native language (In the case of Brazilian Portuguese)

Anyway thank you for your attention and I await your response.
Have a nice day
Approved
Last Updated: 28 Feb 2019 15:39 by ADMIN
Created by: Bharat
Comments: 1
Category: Grid
Type: Bug Report
2

Hi Kendo Team,

I am working on Kendo UI ASP.NET Core Grid binding with SignalR. But while starting Hub and providing the Promise, I am facing an error "The "promise" option must be a Promise."

I am following this URL for reference: https://demos.telerik.com/aspnet-core/grid/signalr .

Checked on your website as well, but the issue is also coming there. Here is the URL: https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/configuration/transport.signalr

In this link, when clicking on "Open In Dojo" button, it opens a new window, then clicks on the Run button. It will generate an error in the console "Uncaught Error: The "promise" option must be a Promise.". 

Please check the attached snapshot.

Please reply asap. Thanks in advance!

Approved
Last Updated: 28 Feb 2019 15:34 by ADMIN
Created by: William
Comments: 2
Category: Grid
Type: Feature Request
3

I'm currently evaluating the ASP .Net Core Components and whilst I'm liking it so far, I have to say - the documentation leaves a lot to be desired.

At the moment, I am trying to use grid and looking at documentation, I have no idea if I am meant to be looking in Kendo.Mvc.UI.Fluent or Kendo.Mvc.UI - and when I am there and find an item, there just isn't enough detail. In addition, the demos section appears to actually be more helpful and I'm constantly looking there.

What caused me to write this is that I have simply enabled GridFilterMode.Row on an instance and whilst I like it, I want to change the default from "Is Equal To" to "Contains"... I have been experimenting for the past few hours without any luck and I'm going round in circles on documentation:

I can see that Filterable requires GridFilterMode, but the documentation is lacking - https://docs.telerik.com/aspnet-core/api/Kendo.Mvc.UI/GridFilterMode#kendomvcuigridfiltermode

I then try to find the filterable modes documentation, but, half the features/methods just don't seem to have any affect whatsoever.

Personally, I'm having great luck learning about your components from the demo section and adapting the code to suite my needs - but, if there isn't a demo, it appears to be a very hard task to learn what is and isn't possible.

1 2