<telerik:RadCodeBlock ID="script1" runat="server">
<script language="javascript" type="text/javascript">
var _serverName,
_serverGuid =
"",
_rowElement,
_masterTable;
var _callCount = 1;
function GetRowDetails(sender, args) {
_masterTable = sender.get_masterTableView();
if (_masterTable != null) {
var row = _masterTable.get_dataItems()[args.get_itemIndexHierarchical()];
_rowElement = row.get_element();
var cell = _masterTable.getCellByColumnUniqueName(row, "Name");
_serverName = cell.innerHTML.toLowerCase().replace(
"<nobr>", "").replace("</nobr>", "");
cell = _masterTable.getCellByColumnUniqueName(row,
"ServerGuid");
_serverGuid = cell.innerHTML;
}
}
function SelectCurrentRow() {
_masterTable.selectItem(_rowElement);
}
function RowContextMenu(sender, eventArgs) {
}
function OnClientItemClicking(sender, eventArgs) {
}
function OnClientShowingHandler(sender, eventArgs) {
}
function onClientItemPopulating(sender, eventArgs) {
}
function webServiceLoadingSuccess(sender, eventArgs) {
var result = eventArgs.get_data();
var menu = $find("<%= GridMenu.ClientID %>");
var item = eventArgs.get_context();
var items = item.get_items();
if (menu.get_persistLoadOnDemandItems()) {
menu.trackChanges();
}
var childItems = items; //menu.get_items();
for (i = 0; i < result.length; i++) {
var itemData = result[i];
var dynamicItem = new Telerik.Web.UI.RadMenuItem();
dynamicItem._loadFromDictionary(itemData);
if (dynamicItem.get_navigateUrl() == "") {
dynamicItem.set_navigateUrl(
"#");
}
childItems.add(dynamicItem);
}
if (menu.get_persistLoadOnDemandItems()) {
menu.commitChanges();
}
}
function OnClientShowingHandler(sender) {
_callCount = 0;
}
function OnClientItemOpening(sender) {
var menu = sender;
if (!menu._itemsLoaded) {
var webServiceSettings = new Telerik.Web.UI.WebServiceSettings({})
webServiceSettings.set_path(
"WebServices/GlobalService.asmx");
webServiceSettings.set_method(
"GetServerApplications");
var webServiceLoader = new Telerik.Web.UI.WebServiceLoader(webServiceSettings);
webServiceLoader.add_loadingSuccess(webServiceLoadingSuccess);
var text = "";
var value = "";
if (menu.get_focusedItem() != null) {
text = menu.get_focusedItem().get_text();
value = menu.get_focusedItem().get_value();
}
var itemData = { Text: text, Value: value };
var contextData = { ServerGuid: _serverGuid };
var params = { item: itemData, context: contextData };
//jQuery("#DebugOutput").html("ServerGuid: " + _serverGuid + " " + _callCount);
webServiceLoader.loadData(params, menu)
menu._itemsLoaded =
true;
}
_callCount++;
}
</script>
</telerik:RadCodeBlock>
<telerik:RadContextMenu runat="server" ID="GridMenu" ExpandDelay="50" OnItemClick="GridMenu_ItemClick"
OnClientItemClicking="OnClientItemClicking" OnClientShowing="OnClientShowingHandler"
OnClientItemPopulating="onClientItemPopulating" OnClientItemOpening="OnClientItemOpening"
OnLoad="GridMenu_Load">
<WebServiceSettings Method="GetServerApplications" Path="~/WebServices/GlobalService.asmx" />
<Targets>
<telerik:ContextMenuControlTarget ControlID="ServerGrid" />
</Targets>
<Items>
<telerik:RadMenuItem Text="Reboot" ExpandMode="ClientSide" />
<telerik:RadMenuItem IsSeparator="true" Value="Sep1" />
<telerik:RadMenuItem Text="IIS">
<Items>
<telerik:RadMenuItem Text="Re-start" Value="IIS" ExpandMode="WebService" />
<telerik:RadMenuItem IsSeparator="true" Value="Sep2" />
<telerik:RadMenuItem Text="Start" Value="IIS" ExpandMode="WebService" />
<telerik:RadMenuItem Text="Stop" Value="IIS" ExpandMode="WebService" />
</Items>
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Services">
<Items>
<telerik:RadMenuItem Text="Re-start" Value="Services" ExpandMode="WebService" />
<telerik:RadMenuItem IsSeparator="true" Value="Sep3" />
<telerik:RadMenuItem Text="Start" Value="Services" ExpandMode="WebService" />
<telerik:RadMenuItem Text="Stop" Value="Services" ExpandMode="WebService" />
</Items>
</telerik:RadMenuItem>
</Items>
</telerik:RadContextMenu>