Replace the current implementation of ObservableObject/ObservableArray with the new js features Object.observe/Array.observe.
Add functionality that will allow adding shared datasource to multiple components with individual filters. This way we will be able to have one data source and multiple grids showing different part od data.
The DataSource Model including validation should come from the server and not defined within javascript where possible. There should be two primary ways to populate the model using the DataSource widget. 1.) Retrieved from the DataSource call itself as a JSON property off of the data call. You should be able to define a schema: { parseModel: function(data) { return data.model } } to retrieve the model directly from the data call. 2.) You should be able to specify the schema: { model: new DataSource({ ... }) }. The model itself should be DataSourcable so you can retrieve (with ETag/Last-Modified and Cache-Control) the model as a separate request alongside the data. Given that you should be able to retrieve the model as a separate request, you should be given the opportunity to augment/modify the model within the client side using something like schema: { changeModel: function(model) { // Supplement Model here } }
Visual Studio plugin to generate javascript proxy classes for communicating with web services. Normally in ASP.Net the .Net proxy classes would be generated for me, but since I am now moving towards building RIA applications most of the WS calls now take place client side. The process of manually setting up service calls is a bit cumbersome so if KendoUI could include a tool for this it would be great.
I would like to propose that GET handlers return values that can be returned to their callers. This would allow for things like proxy objects that can return values from other objects, without having to override the get function. It would also allow for modification, augmentation, or replacement of values. For examples you might find this interesting: http://millionmunkeys.net/PiMunkey/1.5/Documentation/functions.cfm#filters
The DataSource schema must be given a total value in order to page correctly. However, DataSource expects this value to come from a response body field. In some cases, we must work with systems that return the total value as a custom field in the response header. We need a way to read custom response header values. Yes, the DataSource transport uses jQuery.ajax, so we can implement a custom complete function to read the response headers from the jqXHR. However, complete fires AFTER schema.total is set so it does no good.
Is there planned support for JSON-RCP for DataSource? At least something that does batches? Using REST is fine for example code, but otherwise can result in many connections, etc. While a bigger problem in mobile, it still makes a difference in desktop. ExtDirect and json-rcp both seem to fit the bill.
The success() function in the DataSource should check the response status. If the status is 304 "Not Modified", that indicates that the data has not changed and so the DataSource should not modify its internal data structures nor fire the "change" event.
Please consider creating a node.js middleware for mongoose so we can easily implement server side paging, filtering, etc for data source requests using node.js and mongoose (mongodb). Although mongodb itself is schema-less, mongoose does use schemas and is the most popular choice for working with mongodb and node.js. Currently, there is no other solution (that I am aware of) that offers similar functionality. The only thing that currently comes close to providing such functionality is JayData which includes support for mongodb only in their pro edition and forces you to use it in place of mongoose and one would need to use oData to make everything work, essentially making it an undesirable solution for most.
Currently when the add() method is called on a DataSource, if the id, as defined in the Model, is included, then the sync method is called, the data is not persisted to the _pristineData object, and neither the Create nor Update transports are called. This has the effect of not persisting the data and so if the cancel button is pushed on an edit screen, the added object is mysteriously dropped. Please see my post on the kendo forums for a more detailed explanation including demos of the issue. http://www.telerik.com/forums/if-id-is-provided-in-add()-sync-does-not-update-_pristinedata-and-create-update-are-not-invoked I would suggest that anytime the add() method is used, it should be considered a 'new' record, or at least when the id provided does not match with any other id currently in the data array. If it matches a record in the data array, run the Update transport, otherwise, run the Create transport. Simply including a value for the id should not remove the record from ever being persisted.
Currently when there are any errors in data-bind attributes you usually get some array out of bound indexing error (in parseBinding()) or some other obscure error. This suggestion is to trap these errors more aggresively and provide better error messages.
I need way to revert all changes for observable view model
CRUD operation with data source without using grid
Datasource result support querying the entities with ef directly column names present in the class.There should be a way to filter the entities with lazy loading them and firing the filters on them ..like if the entity candidate contains the list of interviews the ,then the canidate.interviews should be passed in the filter and value and operator should be passed
XML namespaces have a purpose and are extremely useful in maintaining data. The Kendo framework not supporting these is absolute insanity. I'm not interested in rewriting half of my data feeds to support a framework. If Kendo is intended to be "the world's most complete HTML 5 UI Framework," it should be supporting something as basic as this. If there's a valid reason why not to do so, I'd love to hear it.
It would be good user interaction when multiple node selection is implemented.It saves lot of rework
http://odata.github.io/WebApi/#04-26-InOperator
OData v4 now supports the IN operator as a short hand for multiple or queries (as of http://docs.oasis-open.org/odata/new-in-odata/v4.01/cn01/new-in-odata-v4.01-cn01.html#_Toc485385090 ). This could help to change code such as:
var selectedStations = $("#cmbStations").data("kendoMultiSelect").dataItems();
var stationIds = [];
for (var i = 0; i < selectedStations.length; i++) {
stationIds.push({
field: "StationId",
operator: "eq",
value: stationId
});
}
dataSource.filter({
logic: "or",
filters: stationIds
});
into a much cleaner:
var selectedStations = $("#cmbStations").data("kendoMultiSelect").dataItems();
var stationIds = [];
for (var i = 0; i < selectedStations.length; i++) {
stationIds.push(selectedStations[i].StationId);
}
dataSource.filter({
field: "StationId",
operator: "in",
value: stationId
});
Excellent work, I think (one/two way) form data binding with JSON/XML serialization will be very helpful. Templates are good but need to support attribute based data binding expressions without templates.
If my callback takes 10ms or 300ms I still get the control whiting itself out and showing a loading animation. Problem though is if it takes 10ms it looks like the control is flickering. Let me set a min duration before the animation shows up. So I could say only show the loading animation if it's taking longer than 100ms.
Currently when I choose a column filter and click on the filter button, a request is sent to the server and data is bound. However, if I work with large data sources and I know in advance that I want to filter by FirstName and LastName, for example, I would like to choose both the filters first, and when filter settings are finalized, I would like to rebind the grid with a button click, for example. This would enable to bind only once the grid, instead of n times, if the user chooses lazy filtering which would be very useful, especially in the case of large data sources