DocroomPageController.prototype.ShowContextMenu = function(e, row, LoadDelegate, subparam) {
PageController().PreventContextTimeout();
PageController().HideContextMenu();
var menu = PageController().GetContextMenu();
menu.hide();
if (menu.get_items().get_count() > 0) {
menu.get_items().clear();
}
this.contextevent = e;
if (!subparam) {
LoadDelegate(row);
}
else {
LoadDelegate(row, subparam);
}
menu.show(e);
$telerik.cancelRawEvent(e);
}
DocroomPageController.prototype.ContextCompleteCallback = function(ResponseObject, ResponseAsXml, ResponseAsText) {
var menu = this.GetContextMenu();
var i;
for (i = 0; i < ResponseObject.length; i++) {
var childItem
var exists = false;
if (menu.get_items().getItem(i)) {
exists = true;
childItem = menu.get_items().getItem(i);
childItem.set_text(ResponseObject[i].Text);
childItem.set_value(ResponseObject[i].Value);
}
else {
childItem = new Telerik.Web.UI.RadMenuItem();
childItem.set_text(ResponseObject[i].Text);
childItem.set_value(ResponseObject[i].Value);
}
if (ResponseObject[i].isSeparator == true) {
childItem.set_isSeparator(ResponseObject[i].isSeparator);
}
if (ResponseObject[i].Image) {
// alert(ResponseObject[i].Image);
childItem.set_imageUrl('./Images/' + ResponseObject[i].Image);
}
if (!exists) {
menu.get_items().add(childItem);
}
childItem.set_navigateUrl(ResponseObject[i].NavigateUrl);
if (!childItem.get_visible()) {
childItem.show();
}
}
}
with an example of a loaddelegate :
DocroomPageController.prototype.LoadContextItems =
function(item) {
ContextMenus.GetObjectContextMenuItems(item, delegate(PageController(), PageController().ContextCompleteCallback), delegate(PageController(), PageController().ErrorCompleteCallback));
}