Completed
Last Updated: 27 Mar 2015 09:23 by ADMIN
ADMIN
Created by: Brandon
Comments: 11
Category: MVVM
Type: Feature Request
110
Hi Andrew,

Can you give me a scenario where a writable computed observable would be required? As the KO site states, these are very uncommon, mainly because the computed nature of the observable makes them unnecessary. If you need an update, set one or more of the dependent observables, and the computer observable also reflects the change.
Declined
Last Updated: 20 Nov 2014 19:20 by ADMIN
Created by: Joshua
Comments: 11
Category: MVVM
Type: Feature Request
107
MVVM is still lacking some of the capability that is provided by the standard widgets. For example a tooltip cannot bind it's content property to a function in a viewmodel. 
Declined
Last Updated: 16 Mar 2021 12:48 by ADMIN
It would be exponentially helpful if the "ObservableArray" implemented some basic "Where/Select/Single" methods. This would assist in searching through them and give Kendo UI a much needed facelift in the array department.

Behavior would be, theoretically, as follows...

var viewModel = kendo.observable({
    Users: [
    {
       id: 1,
       name: "Stacey"
     },
     {
       id: 2,
       name: "Dylan"
     },
     {
       id: 3,
       name: "John"
     }
 ]
});

var idSearch = 1;

var result = kendo.Search(viewModelArray).Where(function(x) { return x.id == idSearch });

or ...

var result = kendo.Search(viewModelArray)
.Single(function(x) { return x.id == idSearch });

or possibly even chained like in "linqjs"

var result = kendo.Search(viewModelArray)
.Where(function(x) { return x.id == idSearch })
.Single();

Unplanned
Last Updated: 12 Apr 2021 10:40 by ADMIN
Created by: mgs
Comments: 2
Category: MVVM
Type: Feature Request
62
Suppose a model is defined with settings for editable, required, validation, etc. Then this model is used a datasource's schema.

Instances of the datasource's data will be models. However, if a model is bound to some HTML view, it's settings are not applied to the view. All settings have to be manually applied to the HTML elements.

I suggest that these settings are applied automatically. Then for example, a field's property like "required" wouldn't have to be coded at two different places.
Duplicated
Last Updated: 25 Mar 2021 12:18 by ADMIN
Created by: Yann
Comments: 2
Category: MVVM
Type: Feature Request
49
Allow to sort an ObservableArray

The current work around is to use the native array function

Array.prototype.sort.call(myArray, myComparer);
Completed
Last Updated: 31 May 2021 05:35 by ADMIN
Created by: Adam
Comments: 0
Category: MVVM
Type: Feature Request
34
There are issues with null values not correctly binding without using a custom binder.

See demo project here: http://www.kendoui.com/code-library/mvc/grid/binding-nullable-field-to-dropdownlist-editor-in-grid.aspx

Forum post here: http://www.kendoui.com/forums/mvc/grid/nullable-property-in-grid-doesn't-update-(when-bound-to-combobox).aspx
Need More Info
Last Updated: 08 Feb 2022 07:13 by ADMIN
Created by: sitefinitysteve
Comments: 3
Category: MVVM
Type: Feature Request
32
When a template is declaratively bound in the markup there is currently no way to change it.


In order to make our app changeable by the owners of the data.  We're trying to make everything somewhat generic.  So Ajax call happens, they can provide us with the data and template to use.

However with MVVM there isn't any way for us to actually USE that template.


Steve
Need More Info
Last Updated: 08 Feb 2022 07:23 by ADMIN
We need to be able to define models with complex/nested fields

```
var Book = kendo.Data.Model.define({
    id: 'id',
    field: {
        id: { type: 'string'},
        title: { type: 'string'},
        author: {
            firstName: { type: 'string'},
            lastName: { type: 'string'},        
        }
    }
});

We would also benefit of fields of type kendo.data.Model and [kendo.data.Model] (arrays of items derived from kendo.data.Model) like mongoose Documents, SubDocuments and Arrays of SubDocuments. 

DataSources are simply arrays of such models and do not need to be flat tables.

Grids should not be an issue: they could ignore all complex fields and arrays and rely on calculated fields at the root to flatten the Model.
Completed
Last Updated: 09 Jul 2021 14:24 by ADMIN
Created by: Andrew
Comments: 2
Category: MVVM
Type: Feature Request
23
ObservableArray currently implements some of the ES-5 Array functions, including:
indexOf(), forEach(), map(), filter(), find(), every(), some()

Like the other Array functions, ObservableArray should use the native implementations of these functions if the browser implements them (IE9+, Firefox, Webkit, etc.).

Declined
Last Updated: 07 Jul 2021 14:12 by ADMIN
Created by: J.
Comments: 1
Category: MVVM
Type: Feature Request
18
For performance reasons, it would be nice to be able to stop the change notification for the change of a single property value on a single item in an ObservableArray (or DataSource) from causing the whole ObservableArray from raising a change notification for its bindings.

This causes all the bindings for all the items to be re-evaluated.
Declined
Last Updated: 20 Nov 2014 19:22 by ADMIN
Created by: Stacey
Comments: 1
Category: MVVM
Type: Feature Request
10
It would be nice to have some additional "flow control" for the MVVM framework, including ...

"if" -

<div data-bind="if: [property]">
    // renders if the given value is true
</div>

and "not"

<div data-bind="not: enabled">
// renders if the given value is false
</div>

and "each"
<div data-bind="each: array">
// renders this section for each item in the array given
</div>

I know some of this can be achieved with templates, but this would make it very convenient and mean we did not have to use templates everywhere, and could lead to much more natural coding.
Declined
Last Updated: 07 Jun 2021 13:08 by ADMIN
Created by: Imported User
Comments: 3
Category: MVVM
Type: Feature Request
7
It would be nice if it will be possible to bind multiple viewmodel to a single DOM container. Like xaml binding in witch you can specify a "Binding Source" adding a simple way to specify different viewmodel can help in many real situation. The solution can be accomplished very easily. If you introduce an override of kendo.bind in witch u can specify a key string for identify a viewmodel then with a data attribute or a custom binding you can filter when activate or not the bindings. 
Declined
Last Updated: 20 Nov 2014 19:28 by ADMIN
Created by: Tomas
Comments: 1
Category: MVVM
Type: Feature Request
6
Current way of implementing functions in viewmodels suck because you have to use this.get and this.set to access the viewmodel properties. 
The syntax would be much prettier if you can use advantage of TypeScript strong typing.
Declined
Last Updated: 03 Dec 2021 10:06 by ADMIN
Created by: Russell
Comments: 1
Category: MVVM
Type: Feature Request
5
When the Kendo Grid is bound using MVVM, add a 2-way 'value' binding which tracks the data items for selected rows.

The new binding should have the following features:
•	Support a 'value' binding on the observable model: 
<div data-role="grid" data-bind="source: someDatasource, value: selectedItems" ...>
•	Support multiple select mode using an array binding, or single select mode using a single dataItem.
•	2-way binding (update grid selection when the bound value is changed; update bound value when grid selection is changed) 
This new feature will make it easier to handle two use cases (which are both super common) when using MVVM:
•	Implement a checkbox column to control selected rows
•	Implement another MVVM component which wants to take some action based on the currently-selected grid item(s)

Here is an example of a partial solution that somebody else implemented:
http://www.telerik.com/forums/mvvm-binding-for-grid-selected-row

The custom binding that Atanas posted only supports single-row selection mode. It is also model-dependent and (I think) uni-drectional.
Declined
Last Updated: 04 Nov 2021 11:42 by ADMIN
Avoid as much as possible the reference of the view from the view model.
E.g.: cannot have to use jquery selector $("#idElement") to make modification on the fly
Declined
Last Updated: 16 Jul 2021 08:11 by ADMIN
Created by: Imported User
Comments: 4
Category: MVVM
Type: Feature Request
3
I was trying to use negation operator in a binding using MVVM, just like angular does it, for example I am going to use, you could say why don't use "invisible", it could work on this example, but we have some others custom bindings, or some other scenarios were we have to create multiple properties to handle that, which is a pain.
EX
<div id="example-1" data-bind="visible: !IsNotAdmin"></div>
<div id="example-1" data-bind="customBinding: !IsAdmin"></div>
So, are you supporting the negation operator on bindings or are you planning to do it?
Completed
Last Updated: 17 Jan 2017 09:39 by ADMIN
Created by: Julie
Comments: 4
Category: MVVM
Type: Feature Request
3
Currently radio buttons can only bind to a string. They need to bind to a boolean value so we can have clean models, otherwise we have to put in ugly functions to convert the string to a boolean within the model.
Declined
Last Updated: 02 Dec 2021 12:17 by ADMIN
Created by: Michael
Comments: 0
Category: MVVM
Type: Feature Request
2
Currently it is not possible to nest observables and reuse them without memory leaks. The reason is, that the bound event handlers get never unbound so that the dependencies never get resolved. 

In our opinion the change and get events should be unbound from the nested observable after the unbind of the view model. With more observables which use a nested observable the amount of events is getting bigger and bigger an the outer observables never get collected from the garbage collector.

We think that a method to clean up all handlers like outerObservable.destroy() could help. We also think that the use of nested observables is a common use case and that observables should not only be used for ViewModels. 

Completed
Last Updated: 25 Nov 2021 12:24 by ADMIN
Created by: WT
Comments: 1
Category: MVVM
Type: Feature Request
2
Knockout has a 2-way hasFocus binding: http://knockoutjs.com/documentation/hasfocus-binding.html

Currently, setting input focus requires page-level  (non mvvm) event binding. Having this binding or similar would allow for cleaner form code.
Unplanned
Last Updated: 26 Mar 2024 09:13 by Akesh Gupta

Currently, there is no way to reuse a single method of a model and execute different logic based on additional data related to the specific element. 

Before the CSP improvements in R1 2023, an unsupported workaround was configuring the method along with the arguments that were evaluated and accessible from the method itself.

Example of the unsupported approach: 

    <div id="test">
      <p  data-bind="text: spanLabel('test')" ></p>
      <p  data-bind="text: spanLabel('another test')"></p>
    </div>

    <script>
      var viewModel = kendo.observable({
        spanLabel: function(args){
          return "spanLabel executed, args: "+ args
        },
      });
      
      kendo.bind($("#test"), viewModel);
    </script>

 

Improvement suggestion

Allow the model methods to have access to the reference element. That would enable the internal method logic to get additional data based on the element and achieve the same functionality as the unsupported workaround approach. 

Example of the desired functionality:

    <div id="test">
      <p data-bind="text: spanLabel" data-span-label="test"></p>
      <p data-bind="text: spanLabel" data-span-label="another test"></p>
    </div>

    <script>
      var viewModel = kendo.observable({
        spanLabel: function(args) {
          let element = args.referenceElement; 
          let spanLabelArgs = element.attr("data-span-label")
          return "spanLabel executed, args: " + spanLabelArgs
        },
      });
      
      kendo.bind($("#test"), viewModel);
    </script>

1 2