Hi
Since updating to the latest release of UI for ASP.NET AJAY the RadContextMenu of my RadGrid is misaligned at the right edge of the screen. Even in your sample https://demos.telerik.com/aspnet-ajax/grid/examples/columns-rows/columns/context-menu/defaultcs.aspx when you open the context menu at the right side of the screen the context menu is nor aligned to the left (like it used to be).
Please ses the attached printscreen.
Kind regards
Felix
Telerik.Web.UI.RadContextMenu.prototype._onExpandAnimationStarted =
function
(sender) {
var
$ = $ || $telerik.$;
// Make sure EDGE shows contextmenu at correct position when scrolled.
if
(sender.get_element().style.left !==
this
._cacheLeft) {
var
cacheLeftInt = parseInt(
this
._cacheLeft);
var
outerWidthInt = $(sender.get_element()).outerWidth();
if
(cacheLeftInt + outerWidthInt > $telerik.getViewPortSize().width) {
sender.get_element().style.left = (cacheLeftInt - (cacheLeftInt + outerWidthInt - $telerik.getViewPortSize().width)) +
"px"
;
}
else
{
sender.get_element().style.left =
this
._cacheLeft;
}
}
if
(sender.get_element().style.top !==
this
._cacheTop) {
var
cacheTopInt = parseInt(
this
._cacheTop);
var
outerHeightInt = $(sender.get_element()).outerHeight();
var
topBufferHeight = 7;
if
(cacheTopInt + outerHeightInt > $telerik.getViewPortSize().height) {
// make top always visible in viewport
var
newTop = cacheTopInt - (cacheTopInt + outerHeightInt - $telerik.getViewPortSize().height);
if
(newTop < topBufferHeight) {
newTop = topBufferHeight;
}
sender.get_element().style.top = newTop +
"px"
;
}
else
{
sender.get_element().style.top =
this
._cacheTop;
}
}
}
Hi Attila,
thank you. Unfortunately I don't find the right location for pasting your code snippet. Are there any dependencies or javascript imports I have to consider?
Best regards,
Roland
Telerik.Web.UI.RadContextMenu.prototype._onExpandAnimationEnded =
function
(sender) {
if
(sender.get_element().style.left !==
this
._cacheLeft) {
if
(parseInt(
this
._cacheLeft) + $(sender.get_element()).outerWidth() > $telerik.getViewPortSize().width) {
sender.get_element().style.left = ($telerik.getViewPortSize().width - $(sender.get_element()).outerWidth()) +
"px"
;
}
else
{
sender.get_element().style.left =
this
._cacheLeft;
}
}
if
(sender.get_element().style.top !==
this
._cacheTop) {
if
(parseInt(
this
._cacheTop) + $(sender.get_element()).outerHeight() > $telerik.getViewPortSize().height) {
sender.get_element().style.top =
"7px"
;
}
else
{
sender.get_element().style.top =
this
._cacheTop;
}
}
}