The new chart select feature is great but it only works with vertically oriented charts (column), but I need it for stacked bar charts. I'd also like to be able to disable the grab handles and programatically specify the range. I have multiple similar charts, a category-specific grid with additional info, and a dropdownlist for selecting the category. You can also select the category by clicking any of the chart elements.
I would like to see a robust data-grid for tablets. Bring over as many features from your desktop grid into the mobile world.
Widgets like ExtJS viewport and form panel would be useful. Form input is most used UI elements at business applications and viewport for full screen placement. kendoui would be contains some widgets for most common business applications needs.
A heatmap (grid-style at least) is very much useful in any decent project management application. A widget that could remotely connect color-shades to jSON data would be really great.
When using jQuery Validation in your forms, particularly with jQuery Unobtrusive Validation, the Kendo controls don't behave well from a styling perspective. In order to get things to work, you need to use a script like the one from this example: https://github.com/telerik/kendo-examples-asp-net-mvc/blob/master/kendo-input-widgets-validation/KendoInputs_Validation/Views/Home/jQuery_KendoMvcValidate.cshtml It would be nice if this script/support was better documented and potentially included as a supported mechanism rather than something each customer has to implement and tweak individually.
Happens In chrome (and opera) when a grid is first rendered. If you click the sort or filter icon, the grid becomes focused. As a result, the browser scrolls the window, even though the grid is already focused. This causes an issue if you have a fixed header, since the grid becomes obstructed. The following is a modified version of existing kendo code, and will keep the grid where it belongs, so it does not move (works for us). Hope it helps, and either way thanks for a great product: function focusTable(table, direct) { // MODIFICATION: // capture window x/y position in order to restore it at end of function. // this is necessary since chrome/opera will scroll focused elements into // view, even if they are visible. var x = window.x; var y = window.y; var scrollable = $(table).closest(":scrollable('vertical')"); var scrollLeft= scrollable[0].scrollLeft; var scrollTop = scrollable[0].scrollTop; var msie = browser.msie; if (direct === true) { table = $(table); var condition = msie && table.parent().is(".k-grid-content,.k-grid-header-wrap"), scrollTop, scrollLeft; if (condition) { scrollTop = table.parent().scrollTop(); scrollLeft = table.parent().scrollLeft(); } if (msie) { try { //The setActive method does not cause the document to scroll to the active object in the current page table[0].setActive(); } catch(e) { table[0].focus(); } } else { table[0].focus(); //because preventDefault bellow, IE cannot focus the table alternative is unselectable=on } if (condition) { table.parent().scrollTop(scrollTop); table.parent().scrollLeft(scrollLeft); } } else { $(table).one("focusin", function(e) { e.preventDefault(); }).focus(); } if(browser.webkit || browser.opera) { window.scrollTo(x, y); scrollable.scrollTop(scrollTop); scrollable.scrollLeft(scrollLeft); } } function tableClick(e) { var currentTarget = $(e.currentTarget), isHeader = currentTarget.is("th"), currentTable = currentTarget.closest("table")[0]; if (kendo.support.touch) { return; } if (currentTable !== this.table[0] && currentTable !== this.thead.parent()[0]) { return; } this.current(currentTarget); // MODIFICATION: // Removed timeout so the table can focus now (as required). // That way if the user clicks the filter icon first, the table // will focus and the filter menu will display. Else table will // focus some 250 msecs from now, after the filter menu shows. // In such a case, the menu would blur immediately, and close. if (isHeader || !$(e.target).is(":button,a,:input,a>.k-icon,textarea,span.k-icon,.k-input,.k-multiselect-wrap")) { focusTable(currentTable, true); } if (isHeader) { e.preventDefault(); //if any problem occurs, call preventDefault only for the clicked header links } } ui.plugin(Grid); ui.plugin(VirtualScrollable); })(window.kendo.jQuery);
Kendo Grid Select Method is working good if you have only one grid on a page, but if you have more than one grid on the page then its not working properly. To check this issue please check the following code snippet http://jsfiddle.net/amolkhot/AZz8z/1/ I also found solution for that, in select method of grid I saw that you guys are doing items=$(items) [Code Line # 25089 in kendo.all.js] it has to be items = $(that.element).find(items) I hope this change will be done in next release build. Thanks, Amol Khot
kendoui.all.js and kendoui.all.min.js are not from the same codebase. The bug appear to be in datawiz when trying to load data from the remote location and ammend it via dataFilter. Minified version in my case works while the source populates the grid with undefined value. No error shown in console.
Allow the user to resize the editor textarea by dragging the lower right corner. A solution for doing this is given in the forums, but it would be great to have it as built-in functionality. http://www.kendoui.com/forums/kendo-ui-complete-for-asp-net-mvc/editor/is-it-possible-to-give-the-html-editor-a-resize-grip-.aspx
There really needs to be some manner of an event raised when 'validateInput' and 'validate' run, that can provide meaningful feedback to hook into. As it stands right now, it is very hard to do any kind of manipulation with the Kendo Validator. But adding even such simple lines as .. input.attr("aria-invalid", true); // existing kendo code input.trigger('invalid', [messageText, messageLabel]); to the "validateInput" function would make it more possible to have the validator communicate with third party tools (in my situation, qTip2). Having an event raised when validation is complete would also be very useful because it would allow other UI elements to effectively respond to it, without having to do very hokey ad-hoc manipulations.
It would be great if there was a wrapper library for Ember.js similar to the kendo-labs libraries for Angular and Knockout.
Actually the forms are created in a list. The label and the control elements are positioned side by side. For some cases it would be helpful to position the label above of the control element (see also WP8).
In an android phonegap app the user experience in forms is bad for selecting dates or scrolling lists (due to the use of the standard browser). It would be nice to get a set of widgets to get a consistent user experience for all platforms. Check also mobiscroll.com.
kendo.mobile.ui.Loader: It would be helpful to get a configuration option to define an own loader or to provide a set of different loaders (including the well known simple "turning wheel").
Kendo UI for mobile looks really promising. However, when I tried your demo app on Safari Mobile on iOS, it seems that in the index, when I tap on a menu item, the first tap is almost never catched. It usually takes two taps for a menu item to catch the click event and load the demo. I am on iOS (6.1.3) and on Safari. A few friends of mine also noticed this problem on Android phones. Are we the only ones to notice this behavior ?
This bug is visible in your demo at http://demos.kendoui.com/web/grid/editing.html. in Grid / Batch editing when you enter a decimal value in column Units in Stock, then click "Save changes" page does not save the value and the page does not do any saving. perhaps there is a bug in NumericTextBox which exists in function caret(element, position) We get an unspecified error for this bug in our project
I need homogenous data items for multilevels in your tree control. Most data structures coming from our services are not homogenous. We use the following to create a homogenous structure for the tree. Maybe you could incorporate something like this - note that we use angular, and I use their $parse service in my implementation: // CALLER: var levelDescriptors = [ { item: "functionGroup", items: "functions" }, { item: "this", items: null }]; itemHierarchy = Portal.buildItemHierarchy( functionGroups, levelDescriptors, $parse); // UTIL CODE: buildItemHierarchy: function(hierarchicalItems, levelDescriptors, $parse) { var hierarchicalDataItems = []; if(Portal.isDefined(hierarchicalItems)) { hierarchicalDataItems = Portal.createHierarchicalDataItems(0, hierarchicalItems, levelDescriptors, $parse); } return hierarchicalDataItems; }, createHierarchicalDataItems: function(level, levelItems, levelDescriptors, $parse) { var levelDataItems = []; if(Portal.isDefined(levelItems)) { if(Portal.isDefined(levelDescriptors)) { if(level < levelDescriptors.length) { for(var i=0; i<levelItems.length; i++) { // extract datasource for current level. // create an associated node data item. var levelItem = levelItems[i]; var levelDescriptor = levelDescriptors[level]; var item = levelItem; if(levelDescriptor.item !== "this") { item = $parse(levelDescriptor.item)(levelItem); } if(Portal.isDefined(item)) { var levelDataItem = Portal.createNodeDataItem(item); levelDataItems.push(levelDataItem); // extract children for current level. // create associated (child) node data items. var items = $parse(levelDescriptor.items)(levelItem); if(Portal.isDefined(items)) { var itemsLevel = level + 1; levelDataItem.items = Portal.createHierarchicalDataItems( itemsLevel, items, levelDescriptors, $parse); } } } } } } return levelDataItems; }, createNodeDataItem: function(item) { return { id: item.id, text: item.name, dataSource: item, expanded: false, items: [] }; },
I suggest that you implement a Waterfall/flying bricks Chart type.
There is interface inconsistency in some examples/demos using form-like ListViews. It can cause other developers use it as-is and get UX issues. Please check: http://demos.kendoui.com/mobile/application/transitions.html#view-transitions-login http://demos.kendoui.com/mobile/forms/index.html#/ If you click/tap between text label and center of list item (where input starts) nothing will happen. And that's wrong behaviour at least for iOS interfaces. Input editing should be activated on click/tap in any place of list item. Fortunately, it can be easily fixed by adding display: inline-block and width: 100% to <label>
Hi ! I was trying to create a scheduler using Kendo Scheduler. It seems that there is no way for me to create a timeline view like Telerik