Describe the bug
Kendo ComboBox and DropDownList controls are conflicting with kendo PanelBar.
If ComboBox or DropDownList control is included inside a kendo PanelBar, the the dropdown elements of both controls are detached from the combobox or dropdownlist inputs respectively.
To reproduce
In order to reproduce the behaviour:
Expected behavior
ComboBox or DropDownList controls should work correctly and the dropdown elements of controls should not be detached.
I have some client events for creating/updating events.
They are currently the same and call the same method:
Due to JSON serialization, I end up with dates being serialized as ticks when sent to the client. This function converts these ticks to a proper JavaScript Date() object. The code works perfectly fine.
We run into an error on random occasions. This happens maybe once a day per user. It is not repeatable but it was fixable. This code is from the Kendo.all.js file. The highlighted lines were added:
99% of the time things work fine. But sometimes this convertData() method is called before the client methods are called. Perhaps a threading or AJAX or promise issue? Perhaps there is one scenario where the client method is not being called? The real bug here is that convertData() can sometimes get called before the client’s event where I would have corrected by dates. This is another case where it is tough to upgrade Kendo versions because I need to port this as minified JavaScript to the custom downloaded minified file.
Here is the text from the browser’s F12 window when we hit this error (If I have not applied the fix above):
kendo?v=Brdc2jM0hzOFDq3Kj04CDAYP5xcGXPDm3x-vN4slHho1:1 Uncaught TypeError: f.start.getTimezoneOffset is not a function
at ai (kendo?v=Brdc2jM0hzOFDq3Kj04CDAYP5xcGXPDm3x-vN4slHho1:1:1182628)
at init.data (kendo?v=Brdc2jM0hzOFDq3Kj04CDAYP5xcGXPDm3x-vN4slHho1:1:1182352)
at init._readData (kendo?v=Brdc2jM0hzOFDq3Kj04CDAYP5xcGXPDm3x-vN4slHho1:1:96753)
at init._push (kendo?v=Brdc2jM0hzOFDq3Kj04CDAYP5xcGXPDm3x-vN4slHho1:1:90345)
at init._pushUpdate (kendo?v=Brdc2jM0hzOFDq3Kj04CDAYP5xcGXPDm3x-vN4slHho1:1:90237)
at init.e (jquery?v=9zl6bqYAmbr9FSUZX0T1VSNbWQ5Gc01X9-RaVvSk-7A1:1:95021)
at init.a (signalr?v=4OffKgJP3BKl-a0HMCu8SoFYj-iqmWy-1sbyLwYhtvk1:1:36810)
at init.dispatch (jquery?v=9zl6bqYAmbr9FSUZX0T1VSNbWQ5Gc01X9-RaVvSk-7A1:1:55579)
at y.handle (jquery?v=9zl6bqYAmbr9FSUZX0T1VSNbWQ5Gc01X9-RaVvSk-7A1:1:53581)
at Object.trigger (jquery?v=9zl6bqYAmbr9FSUZX0T1VSNbWQ5Gc01X9-RaVvSk-7A1:1:78599)
In my application, when a user changes their view date on the scheduler, there are two other schedulers on the other two tabs of the tab strip that are not visible. The dates here get changed too. This happens in a navigate event. They end up in a broken state from this. It seems the issue is that they are not visible so rendering is not happening. I found a hacky way to work around this. I am adding a newDate property and a needRefresh property to the scheduler. When a tab is activated, the scheduler in that tab is checked. If it needs a refresh, it is refreshed. If it has a new date, that is also set.
The schedulers are sitting inside a tab strip control. When the page loads, some computations are done by Kendo for setting up column widths. I feel there is a scrollbar issue somewhere. As it is a larger screenshot, please look at the attached Scrollbar size computation issue.png file. Start with the “All day” events. Notice the first event on Monday crosses the line into Tuesday just a little bit. This is highlighted and indicated with a “2” on it. Now look at the events for the week – numbers 3, 4, and 5. The events span into the next column a little more each time. They WOULD be correct if there was no scrollbar on the right! Now look at the events below with a time. “1” has the correct left offset from Monday’s left side. As you go to 2, 3, 4, and 5, this offset grows. It’s the same issue.
Now look down at “6”. Notice the scheduler has no footer and is drawing far too low.
The problem is that the tabstrip content is allowing scrolling. I can see this in the F12 window. Notice the scheduler does not have the scrollbar:
But the tab strip content DOES have a scrollbar:
Please note that I am specifically blocking the tab strip from scrolling in my code. The scheduler should handle the scroll.
So, I added the following CSS which fixes this issue for me:
See the Scrollbar size computation fixed.png file for the end result. The scheduler is scrolling now instead of the tab strip.
From the kendo.common-bootstrap.css file:
This cuts off the dates which have ample room to be displayed (this is my app):
I overrode this to remove the max-width:
In the scheduler component, create a new event. Select monthly for the repeat. If you are using the Bootstrap theme the day will be cut off. The problem lies in the kendo.common-bootstrap.css file.
Overriding to 10em works. The same issue exists on the demo site today which I assume is running the current version (https://demos.telerik.com/kendo-ui/scheduler/index?autoRun=true&theme=bootstrap-main):
Hello, I have been using your service for almost a year and I noticed that your search engine could be significantly improved.
For example, I asked the following question in the forum on 18/10/2022:
"org chart editable.fields => set editable: false doesn't work"
And indeed I received an adequate response,
Then I tried to type this question into the browser but I couldn't find it,
Unlike if I were to ask such a question in Stack Over Flow then I would surely find my question through Google's smart search engine.
You have a huge database of questions and answers but it is a bit difficult to find what you want.
If a user can find questions asked by other users by simply typing in the browser, you will be able to provide a much greater response to customers.
Hope I explained myself clearly.
Hello kendoUI Team,
I am 98% sure the following is a bug: https://dojo.telerik.com/UZuKImUs/2
In this Dojo link, the AM/PM designators are logged to the console for the cultures en-US and de-DE. They appear to be empty for de-DE. Consequently, a custom format string "yyyy.MM.dd hh:mm:ss tt" will result in a formatted Date without the AM/PM designator at the end for the de-DE culture, instead ending with a trailing whitespace (i.e. the whitespace between "ss" and "tt" in the format string).
The JS console output for this Dojo code is:
AM designator(s) for en-US culture: AM, am, AM
PM designator(s) for en-US culture: PM, pm, PM
Format "yyyy.MM.dd hh:mm:ss tt" for en-US culture: "2011.01.01 12:27:36 PM"
AM designator(s) for de-DE culture:
PM designator(s) for de-DE culture:
Format "yyyy.MM.dd hh:mm:ss tt" for de-DE culture: "2011.01.01 12:27:36 "
Contrast this with the following equivalent .NET snippet:
using System.Globalization;
var testDate = new DateTime(2011, 1, 1, 12, 27, 36, 952);
var dateTimeTestFormat = "yyyy.MM.dd hh:mm:ss tt";
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Console.WriteLine($"AM designator(s) for en-US culture: {Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator}");
Console.WriteLine($"PM designator(s) for en-US culture: {Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator}");
Console.WriteLine($"Format \"{dateTimeTestFormat}\" for en-US culture: {testDate.ToString(dateTimeTestFormat)}");
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
Console.WriteLine($"AM designator(s) for de-DE culture: {Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator}");
Console.WriteLine($"PM designator(s) for de-DE culture: {Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator}");
Console.WriteLine($"Format \"{dateTimeTestFormat}\" for de-DE culture: {testDate.ToString(dateTimeTestFormat)}");
The output of this C# code is:
AM designator(s) for en-US culture: AM
PM designator(s) for en-US culture: AM
Format "yyyy.MM.dd hh:mm:ss tt" for en-US culture: 2011.01.01 12:27:36 PM
AM designator(s) for de-DE culture: AM
PM designator(s) for de-DE culture: AM
Format "yyyy.MM.dd hh:mm:ss tt" for de-DE culture: 2011.01.01 12:27:36 PM
While I am aware that kendo.culture cannot be a carbon copy of .NET's CultureInfo, I'm pretty sure that the missing AM/PM designators for the "de-DE" culture (possibly for others as well!) are an oversight in this particular case.
There are several problems when extending a widget .
In this example we have extended the DropDownTree.
selectedProductId: [{ id: "a" }, { id: "c" }],
and not
selectedProductId: ["b", "c"]
So some properties are supported and other that have been added later not.
I present you the source code (https://dojo.telerik.com/ewewERiD)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Untitled</title>
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2022.2.510/js/angular.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2022.2.510/js/jszip.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2022.2.510/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.2.510/styles/kendo.default-ocean-blue.min.css">
</head>
<body>
<input id="dropdowntreeExt" data-bind="value: selectedProductId">
<script>
(function ($) {
var kendo = window.kendo,
ui = kendo.ui,
DropDownTree = ui.DropDownTree;
var DemoDropDownTree = DropDownTree.extend({
init: function (element, options) {
DropDownTree.fn.init.call(this, element, options);
$(element).parent().addClass("k-picker-solid k-picker k-rounded");
},
options: {
name: "DemoDropDownTree",
checkboxes: true,
fillMode: "flat"
}
});
ui.plugin(DemoDropDownTree);
})(jQuery);
var viewModel = kendo.observable({
selectedProductId: [{ id: "a" }, { id: "c" }],
//selectedProductId: ["b", "c"],
products: [
{ id: "a", name: "Coffee" },
{ id: "b", name: "Tea" },
{ id: "c", name: "Juice" }
]
});
kendo.bind($("#dropdowntreeExt"), viewModel);
//kendoDemoDropDownTree
//kendoDropDownTree
$("#dropdowntreeExt").kendoDemoDropDownTree({
valuePrimitive: true,
dataTextField: "name",
dataValueField: "id",
//checkboxes: true,
dataSource: viewModel.products//,
//fillMode: "flat"
});
alert($("#dropdowntreeExt").data("kendoDemoDropDownTree").options['fillMode']);
</script>
</body>
</html>
(!) This also applies in the latest versions as well (2022R2 and 2022R3).
2. if you place the properties in kendoDropDownTree, everything works well and the datasource also accepts the format selectedProductId: ["b", "c"]
3. Many options, like autoWidth property, don't apply in extended widgets (i.e. MultiSelect, DropDownList, DropDownTree etc).
4, In DropDownTree for the extended widget, valuePrimitive: true is not applicable. Instead of returning an array of the selected keys, it returns an array of the entire item.
Issue Description:
Screen reader user will get confused if incorrect narration is provided on the controls.
Test Environment:
OS : Windows 10
Version: 2004(OS Build 21292.1)
Browser : Anaheim Dev (Version 89.0.760.0 (Official build) (64-bit))
URL: https://docs.telerik.com/kendo-ui/api/javascript/ui/numerictextbox/methods/min
Screen reader: Narrator.
Repro steps:
1. Open the above-mentioned URL in browser there's example code for the Numeric text box feature.
2. Now, navigate to the 'Open in Dojo' and via tab key and run the program.
3. Now move the focus to the Text box.
4.Verify whether the Narrator announce min 0 and max 0.
Actual Results:
Screen reader announces the incorrect information as "Min 0 and Max 0" when the focus lands on "from" or "to" spin button's. Currently min and max both the value's are announced as 0.
Expected results:
Screen reader should announces the relevant information when focus is on 'From' or 'to' spin button. It should be announced "Min value as 0" and "max value as per design"
Additional Notes:
1. Same when focus first lands on the opened dialog after activating build button it is announced as table which is incorrect.
2. Same issue observed with every spin button and dropdown controls.
Mentioned in package.json: "typings": "index.d.ts", but the file is missing.
Package: @progress/kendo-ui@2022.2.621
Missing Anti-CRSF tokens trigger security alerts when testing for security compliance with OWASP ZAP.
Hello,
I'm looking to find a way to hide the Table tab and Cee tab on the Table Wizard. Is there a way to do this?
Thanks,
Sunny Carrandi
The problem described happens for multiple controls. For the sake of simplicity, I'll stick with the DropDownList.
As documented here, the DropDownList's "fillMode" option supports "null" as value. However, the corresponding TS typings file does not allow null. The same is true for the "rounded" and "size" options as you can see in the snippet below that was copied from "index.d.ts".
interface DropDownListOptions {
fillMode?: string | undefined;
rounded?: string | undefined;
size?: string | undefined;
}
Note: parts of the code were omitted for brevity's sake.
A (temporary) workaround is to trick the typing system by casting manually:
fillMode: null as unknown as string | undefined
In the latest version of Kendo UI, various input controls like the NumericTextBox or the ColorPicker now consist of an input field and a button control (used for increasing/decreasing the value or opening the dropdown).
The border-radius for those widgets can be controlled by setting the "rounded" option. At the same time, when using SASS themes, a button's default border-radius might be set using the $kendo-button-border-radius variable. The buttons inside e.g. a NumericTextBox do not override the theme's border-radius which leads to an outcome like this:
Widgets that use Buttons internally (and therefore offer no way of overriding the button's border-radius by setting its "rounded" option manually) should override the default styles.
Unfortunately, I could not reproduce the behavior in a DOJO, because I cannot transpile SASS themes there.
Hello Telerik Team,
we at COPA-DATA have a supposed problem with the results of the Whitesource Scanner.
According to Whitesource the Kendo UI LIbrary is including a Sub Library called "DocSuitePA".
According to Whitesource this is the Library Owner:
Owner | |
Release Date | 23-04-2020 |
Host | GitHub |
URL | https://github.com/AUSL-ReggioEmilia/DocSuitePA/tree/8.88 |
Download Link | https://github.com/AUSL-ReggioEmilia/DocSuitePA/zipball/8.88 |
This Library is released under "European License 1.2" terms, which means for us a commercial distribution is not possible.
Could you please verify if this is a false / positive of the White source scanner or if this is an real issue inside the KendoUI Library.
Best Regards
Reinhard Mayr
The ContextMenu widget supports navigating from one item to another using the up/down arrow keys. If an item is focused, it receives the "k-state-focused" class and highlights the item visually. However, as soon as this or any other item is hovered, all focus classes are removed and therefore the highlight disappears. When pressing the arrow keys again, it reappears again, but the focus always starts moving from the hovered item instead of the most recently focused item.
This behavior can be reproduced in the following DOJO: https://dojo.telerik.com/ACIpeYIm
Unfortunately, we currently don't really see any way to fix this without directly modifying Kendo code or rebuilding the entire keyboard navigation ourselves, because the contextMenu keyboard navigation does not seem to set the DOM focus at all, but works with CSS-classes only.
Do you have any suggestions?
The DropDownTree allows us to configure its checkChildren and filter options. Both options are working correctly, when used separately.
When the two options are defined for the DropDownTree, the checkChildren options don't select the child elements of a given node that is checked.
Only the "Furniture" checkbox is being checked
The "Furniture" and all of its child nodes should be selected when clicking on the "Furniture" checkbox.
Here is a Dojo example in which the checkChildren configuration is working as expected.
Greetings
Currently, all dynamically added elements are being added to the document body, unless we specify an appendTo option.
When we look at the Angular library, we can specify a default container element there via an injection token.
It'd be great (and not that much work) to have that for jQuery (and thus MVC) as well, since adding/removing elements to/from the body causes high reflow times.
In some components, like when we use a filterrow inside a Grid, we can't specify an appendTo option for those dropdownlists, so having a global setting would help there as well.
I currently have to manually edit the kendo.all.min.js file every release to manually insert a fix for this, since adding things to the body causes terrible lag for us.
Kind regards
The Popup widget has a"collision" setting that is documented here: https://docs.telerik.com/kendo-ui/api/javascript/ui/popup/configuration/collision. The documentation states the following:
If two words are used, the first one applies to the horizontal dimension and the second one - to the vertical dimension.
However, the first word sets the vertical behavior and the second word sets the horizontal behavior. This can be seen in the following DOJO: https://dojo.telerik.com/ewOKOZIh. The popup uses a configuration with its collision set to "flip fit". Still, when resizing the window horizontally (making it less wide), the popup slides under the input control instead of flipping to the other side. When resizing the window vertically (making it less high), the popup flips to the upper side of the input control once the space below is becoming too small.
In my understanding, the exact opposite behavior is expected.