mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
new UI - domains page - draw tree in middle menu.
This commit is contained in:
parent
b680637366
commit
88abc071a4
@ -6,104 +6,15 @@
|
|||||||
CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale);
|
CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale);
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<!-- event detail panel (begin) -->
|
<!-- treenode template (begin) -->
|
||||||
<div class="main_title" id="right_panel_header">
|
<div id="treenode_template" class="tree_levelspanel" style="display:none">
|
||||||
|
<div class="tree_levelsbox" style="margin-left:20px;">
|
||||||
<div class="main_titleicon">
|
<div id="domain_title_container" class="tree_levels">
|
||||||
<img src="images/title_eventsicon.gif" alt="Event" /></div>
|
<div id="domain_expand_icon" class="zonetree_closedarrows"></div>
|
||||||
|
<div id="domain_name" class="tree_links">Domain Name</div>
|
||||||
<h1>Domain
|
|
||||||
</h1>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="contentbox" id="right_panel_content">
|
<div id="domain_children_container" style="display:none">
|
||||||
<div class="info_detailbox errorbox" id="after_action_info_container" style="display:none">
|
|
||||||
<p id="after_action_info"></p>
|
|
||||||
</div>
|
|
||||||
<div class="tabbox" style="margin-top:15px;">
|
|
||||||
<div class="content_tabs on">
|
|
||||||
<%=t.t("Details")%></div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_container">
|
|
||||||
<div class="grid_rows odd">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("id")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="id">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_rows odd">
|
<!-- treenode template (end) -->
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("Initiated.By")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="username">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_rows even">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("Owner.Account")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="account">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_rows odd">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("Type")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="type">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_rows even">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("Level")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="level">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_rows odd">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("Description")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="description">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_rows even">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("State")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="state">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_rows odd">
|
|
||||||
<div class="grid_row_cell" style="width: 20%;">
|
|
||||||
<div class="row_celltitles">
|
|
||||||
<%=t.t("Date")%>:</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
|
||||||
<div class="row_celltitles" id="created">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- event detail panel (end) -->
|
|
||||||
@ -1,3 +1,398 @@
|
|||||||
function afterLoadDomainJSP() {
|
function afterLoadDomainJSP() {
|
||||||
|
var defaultRootDomainId = g_domainid;
|
||||||
|
var defaultRootLevel = 0;
|
||||||
|
var index = 1;
|
||||||
|
|
||||||
|
//var treeContentBox = $("#tree_contentbox"); //???
|
||||||
|
var treeContentBox = $("#midmenu_container");
|
||||||
|
|
||||||
|
var treenodeTemplate = $("#treenode_template");
|
||||||
|
var grid = $("#right_panel_grid");
|
||||||
|
var gridRowTemplate = $("#grid_row_template");
|
||||||
|
var gridContent = grid.find("#grid_content");
|
||||||
|
var gridHeader = grid.find("#grid_header");
|
||||||
|
var rightPanelDetailContent = $("#right_panel_detail_content");
|
||||||
|
var rightPanelSearchResult = $("#right_panel_search_result");
|
||||||
|
var rightPanelGrid = rightPanelDetailContent.find("#right_panel_grid");
|
||||||
|
var domainDetail = rightPanelDetailContent.find("#domain_detail");
|
||||||
|
var submenuContent = $("#submenu_content_domains");
|
||||||
|
var searchButton = submenuContent.find("#search_button");
|
||||||
|
var searchInput = submenuContent.find("#search_input");
|
||||||
|
var searchResultsContainer = submenuContent.find("#search_results_container");
|
||||||
|
var searchResultTemplate = $("#search_result_template");
|
||||||
|
//var breadcrumbBox = submenuContent.find("#breadcrumb_box");
|
||||||
|
//var breadcrumbPieceTemplate = $("#breadcrumb_piece_template");
|
||||||
|
var childParentMap = {}; //map childDomainId to parentDomainId
|
||||||
|
var domainIdNameMap = {}; //map domainId to domainName
|
||||||
|
|
||||||
|
/*
|
||||||
|
activateDialog($("#dialog_resource_limits").dialog({
|
||||||
|
autoOpen: false,
|
||||||
|
modal: true,
|
||||||
|
zIndex: 2000
|
||||||
|
}));
|
||||||
|
*/
|
||||||
|
|
||||||
|
function drawNode(json, level, container) {
|
||||||
|
if("parentdomainid" in json)
|
||||||
|
childParentMap[json.id] = json.parentdomainid; //map childDomainId to parentDomainId
|
||||||
|
domainIdNameMap[json.id] = json.name; //map domainId to domainName
|
||||||
|
|
||||||
|
var template = treenodeTemplate.clone(true);
|
||||||
|
template.attr("id", "domain_"+json.id);
|
||||||
|
template.data("domainId", json.id).data("domainName", fromdb(json.name)).data("domainLevel", level);
|
||||||
|
template.find("#domain_title_container").attr("id", "domain_title_container_"+json.id);
|
||||||
|
template.find("#domain_expand_icon").attr("id", "domain_expand_icon_"+json.id);
|
||||||
|
template.find("#domain_name").attr("id", "domain_name_"+json.id).text(json.name);
|
||||||
|
template.find("#domain_children_container").attr("id", "domain_children_container_"+json.id);
|
||||||
|
container.append(template.show());
|
||||||
|
return template;
|
||||||
|
}
|
||||||
|
|
||||||
|
function drawTree(id, level, container) {
|
||||||
|
$.ajax({
|
||||||
|
data: createURL("command=listDomainChildren&id="+id+"&response=json&pageSize=-1"),
|
||||||
|
dataType: "json",
|
||||||
|
async: false,
|
||||||
|
success: function(json) {
|
||||||
|
var domains = json.listdomainchildrenresponse.domain;
|
||||||
|
if (domains != null && domains.length > 0) {
|
||||||
|
for (var i = 0; i < domains.length; i++) {
|
||||||
|
drawNode(domains[i], level, container);
|
||||||
|
if(domains[i].haschild=="true")
|
||||||
|
drawTree(domains[i].id, (level+1), $("#domain_children_container_"+domains[i].id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function clickExpandIcon(domainId) {
|
||||||
|
var template = $("#domain_"+domainId);
|
||||||
|
var expandIcon = template.find("#domain_expand_icon_"+domainId);
|
||||||
|
if (expandIcon.hasClass("zonetree_closedarrows")) {
|
||||||
|
template.find("#domain_children_container_"+domainId).show();
|
||||||
|
expandIcon.removeClass().addClass("zonetree_openarrows");
|
||||||
|
} else {
|
||||||
|
template.find("#domain_children_container_"+domainId).hide();
|
||||||
|
expandIcon.removeClass().addClass("zonetree_closedarrows");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
function accountJSONToTemplate(json, template) {
|
||||||
|
if (index++ % 2 == 0) {
|
||||||
|
template.addClass("smallrow_odd");
|
||||||
|
} else {
|
||||||
|
template.addClass("smallrow_even");
|
||||||
|
}
|
||||||
|
template.find("#grid_row_cell1").text(json.domain);
|
||||||
|
template.find("#grid_row_cell2").text(json.name);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function updateResourceLimit(domainId, type, max) {
|
||||||
|
$.ajax({
|
||||||
|
data: createURL("command=updateResourceLimit&domainid="+domainId+"&resourceType="+type+"&max="+max),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function listAdminAccounts(domainId) {
|
||||||
|
gridContent.empty();
|
||||||
|
index = 0;
|
||||||
|
rightPanelDetailContent.find("#loading_gridtable").show();
|
||||||
|
var accountType = (domainId==1)? 1: 2;
|
||||||
|
$.ajax({
|
||||||
|
cache: false,
|
||||||
|
data: createURL("command=listAccounts&domainid="+domainId+"&accounttype="+accountType+"&response=json"+maxPageSize),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
var accounts = json.listaccountsresponse.account;
|
||||||
|
if (accounts != null && accounts.length > 0) {
|
||||||
|
for (var i = 0; i < accounts.length; i++) {
|
||||||
|
var template = gridRowTemplate.clone(true).attr("id","account"+accounts[i].id);
|
||||||
|
accountJSONToTemplate(accounts[i], template);
|
||||||
|
gridContent.append(template.show());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rightPanelDetailContent.find("#loading_gridtable").hide();
|
||||||
|
},
|
||||||
|
error: function(XMLHttpResponse) {
|
||||||
|
handleError(XMLHttpResponse);
|
||||||
|
rightPanelDetailContent.find("#loading_gridtable").hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
treenodeTemplate.bind("click", function(event) {
|
||||||
|
var template = $(this);
|
||||||
|
var target = $(event.target);
|
||||||
|
var action = target.attr("id");
|
||||||
|
var id = template.attr("id");
|
||||||
|
var domainId = template.data("domainId");
|
||||||
|
var domainName = template.data("domainName");
|
||||||
|
if (action.indexOf("domain_expand_icon")!=-1) {
|
||||||
|
clickExpandIcon(domainId);
|
||||||
|
}
|
||||||
|
else if(action.indexOf("domain_name")!=-1) {
|
||||||
|
domainDetail.find("#domain_name").text(domainName);
|
||||||
|
domainDetail.find("#domain_id").text(domainId);
|
||||||
|
$.ajax({
|
||||||
|
cache: false,
|
||||||
|
data: createURL("command=listAccounts&domainid="+domainId+maxPageSize),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
var accounts = json.listaccountsresponse.account;
|
||||||
|
if (accounts != null) {
|
||||||
|
domainDetail.find("#redirect_to_account_page").text(accounts.length);
|
||||||
|
domainDetail.find("#redirect_to_account_page").bind("click", function() {
|
||||||
|
$("#menutab_role_root #menutab_accounts").data("domainId", domainId).click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
domainDetail.find("#redirect_to_account_page").text("");
|
||||||
|
domainDetail.find("#redirect_to_account_page").unbind("click");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
cache: false,
|
||||||
|
data: createURL("command=listVirtualMachines&domainid="+domainId+"&response=json"),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
var instances = json.listvirtualmachinesresponse.virtualmachine;
|
||||||
|
if (instances != null) {
|
||||||
|
domainDetail.find("#redirect_to_instance_page").text(instances.length);
|
||||||
|
domainDetail.find("#redirect_to_instance_page").bind("click", function() {
|
||||||
|
$("#menutab_role_root #menutab_vm").data("domainId", domainId).click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
domainDetail.find("#redirect_to_instance_page").text("");
|
||||||
|
domainDetail.find("#redirect_to_instance_page").unbind("click");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
cache: false,
|
||||||
|
data: createURL("command=listVolumes&domainid="+domainId+"&response=json"),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
var volumes = json.listvolumesresponse.volume;
|
||||||
|
if (volumes != null) {
|
||||||
|
domainDetail.find("#redirect_to_volume_page").text(volumes.length);
|
||||||
|
domainDetail.find("#redirect_to_volume_page").bind("click", function() {
|
||||||
|
$("#menutab_role_root #menutab_storage").data("domainId", domainId).data("targetTab", "submenu_volume").click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
domainDetail.find("#redirect_to_volume_page").text("");
|
||||||
|
domainDetail.find("#redirect_to_volume_page").unbind("click");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (isAdmin() || (isDomainAdmin() && (g_domainid != domainId))) {
|
||||||
|
$("#limits_container").show();
|
||||||
|
/*
|
||||||
|
$("#account_resource_limits").data("domainId", domainId).unbind("click").bind("click", function() {
|
||||||
|
var domainId = $(this).data("domainId");
|
||||||
|
$.ajax({
|
||||||
|
cache: false,
|
||||||
|
data: createURL("command=listResourceLimits&domainid="+domainId+"&response=json"),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
var limits = json.listresourcelimitsresponse.resourcelimit;
|
||||||
|
var preInstanceLimit, preIpLimit, preDiskLimit, preSnapshotLimit, preTemplateLimit = -1;
|
||||||
|
if (limits != null) {
|
||||||
|
for (var i = 0; i < limits.length; i++) {
|
||||||
|
var limit = limits[i];
|
||||||
|
switch (limit.resourcetype) {
|
||||||
|
case "0":
|
||||||
|
preInstanceLimit = limit.max;
|
||||||
|
$("#dialog_resource_limits #limits_vm").val(limit.max);
|
||||||
|
break;
|
||||||
|
case "1":
|
||||||
|
preIpLimit = limit.max;
|
||||||
|
$("#dialog_resource_limits #limits_ip").val(limit.max);
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
preDiskLimit = limit.max;
|
||||||
|
$("#dialog_resource_limits #limits_volume").val(limit.max);
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
preSnapshotLimit = limit.max;
|
||||||
|
$("#dialog_resource_limits #limits_snapshot").val(limit.max);
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
preTemplateLimit = limit.max;
|
||||||
|
$("#dialog_resource_limits #limits_template").val(limit.max);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$("#dialog_resource_limits")
|
||||||
|
.dialog('option', 'buttons', {
|
||||||
|
"Save": function() {
|
||||||
|
// validate values
|
||||||
|
var isValid = true;
|
||||||
|
isValid &= validateNumber("Instance Limit", $("#dialog_resource_limits #limits_vm"), $("#dialog_resource_limits #limits_vm_errormsg"), -1, 32000, false);
|
||||||
|
isValid &= validateNumber("Public IP Limit", $("#dialog_resource_limits #limits_ip"), $("#dialog_resource_limits #limits_ip_errormsg"), -1, 32000, false);
|
||||||
|
isValid &= validateNumber("Disk Volume Limit", $("#dialog_resource_limits #limits_volume"), $("#dialog_resource_limits #limits_volume_errormsg"), -1, 32000, false);
|
||||||
|
isValid &= validateNumber("Snapshot Limit", $("#dialog_resource_limits #limits_snapshot"), $("#dialog_resource_limits #limits_snapshot_errormsg"), -1, 32000, false);
|
||||||
|
isValid &= validateNumber("Template Limit", $("#dialog_resource_limits #limits_template"), $("#dialog_resource_limits #limits_template_errormsg"), -1, 32000, false);
|
||||||
|
if (!isValid) return;
|
||||||
|
|
||||||
|
var instanceLimit = trim($("#dialog_resource_limits #limits_vm").val());
|
||||||
|
var ipLimit = trim($("#dialog_resource_limits #limits_ip").val());
|
||||||
|
var diskLimit = trim($("#dialog_resource_limits #limits_volume").val());
|
||||||
|
var snapshotLimit = trim($("#dialog_resource_limits #limits_snapshot").val());
|
||||||
|
var templateLimit = trim($("#dialog_resource_limits #limits_template").val());
|
||||||
|
|
||||||
|
$(this).dialog("close");
|
||||||
|
if (instanceLimit != preInstanceLimit) {
|
||||||
|
updateResourceLimit(domainId, 0, instanceLimit);
|
||||||
|
}
|
||||||
|
if (ipLimit != preIpLimit) {
|
||||||
|
updateResourceLimit(domainId, 1, ipLimit);
|
||||||
|
}
|
||||||
|
if (diskLimit != preDiskLimit) {
|
||||||
|
updateResourceLimit(domainId, 2, diskLimit);
|
||||||
|
}
|
||||||
|
if (snapshotLimit != preSnapshotLimit) {
|
||||||
|
updateResourceLimit(domainId, 3, snapshotLimit);
|
||||||
|
}
|
||||||
|
if (templateLimit != preTemplateLimit) {
|
||||||
|
updateResourceLimit(domainId, 4, templateLimit);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Cancel": function() {
|
||||||
|
$(this).dialog("close");
|
||||||
|
}
|
||||||
|
}).dialog("open");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
} else {
|
||||||
|
$("#limits_container").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
rightPanelDetailContent.show();
|
||||||
|
rightPanelSearchResult.hide();
|
||||||
|
|
||||||
|
listAdminAccounts(domainId);
|
||||||
|
rightPanelGrid.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
searchResultTemplate.bind("click", function(event) {
|
||||||
|
var template = $(this);
|
||||||
|
var target = $(event.target);
|
||||||
|
var action = target.attr("id");
|
||||||
|
var id = template.attr("id");
|
||||||
|
var domainId = template.data("domainId");
|
||||||
|
if(action=="domain_name")
|
||||||
|
refreshWholeTree(domainId, defaultRootLevel);
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
searchButton.bind("click", function(event) {
|
||||||
|
searchResultsContainer.empty();
|
||||||
|
rightPanelDetailContent.hide();
|
||||||
|
rightPanelSearchResult.show();
|
||||||
|
var keyword = searchInput.val();
|
||||||
|
$.ajax({
|
||||||
|
data: createURL("command=listDomains&keyword="+keyword+"&response=json&pageSize=-1"), //pageSize=-1 will return all items (no limitation)
|
||||||
|
dataType: "json",
|
||||||
|
async: false,
|
||||||
|
success: function(json) {
|
||||||
|
var domains = json.listdomainsresponse.domain;
|
||||||
|
if (domains != null && domains.length > 0) {
|
||||||
|
for(var i=0; i<domains.length; i++) {
|
||||||
|
var template = searchResultTemplate.clone(true).attr("id", "searchresult"+domains[i].id).data("domainId", domains[i].id);
|
||||||
|
template.find("#domain_name").text(domains[i].name);
|
||||||
|
searchResultsContainer.append(template.show());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
searchInput.bind("keypress", function(event) {
|
||||||
|
if(event.keyCode == keycode_Enter) {
|
||||||
|
searchButton.click();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//draw root node
|
||||||
|
function drawRootNode(rootDomainId) {
|
||||||
|
treeContentBox.empty();
|
||||||
|
$.ajax({
|
||||||
|
data: createURL("command=listDomains&id="+rootDomainId+"&response=json&pageSize=-1"), //pageSize=-1 will return all items (no limitation)
|
||||||
|
dataType: "json",
|
||||||
|
async: false,
|
||||||
|
success: function(json) {
|
||||||
|
var domains = json.listdomainsresponse.domain;
|
||||||
|
if (domains != null && domains.length > 0) {
|
||||||
|
var node = drawNode(domains[0], defaultRootLevel, treeContentBox);
|
||||||
|
|
||||||
|
var treeLevelsbox = node.find(".tree_levelsbox"); //root node shouldn't have margin-left:20px
|
||||||
|
if(treeLevelsbox!=null && treeLevelsbox.length >0)
|
||||||
|
treeLevelsbox[0].style.marginLeft="0px"; //set root node's margin-left to 0px.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
breadcrumbPieceTemplate.bind("click", function(event) {
|
||||||
|
var domainId = $(this).data("domainId");
|
||||||
|
refreshWholeTree(domainId);
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
//draw breadcrumb all the way up
|
||||||
|
/*
|
||||||
|
function drawBreadcrumb(domainId) {
|
||||||
|
var domainName = domainIdNameMap[domainId];
|
||||||
|
if(domainName == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var onePiece = breadcrumbPieceTemplate.clone(true).attr("id", "breadcrumb_"+domainId).data("domainId", domainId).text(" > "+domainName);
|
||||||
|
breadcrumbBox.prepend(onePiece.show());
|
||||||
|
|
||||||
|
var parentDomainId = childParentMap[domainId];
|
||||||
|
if(parentDomainId!=null)
|
||||||
|
drawBreadcrumb(parentDomainId);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function refreshWholeTree(rootDomainId, rootLevel) {
|
||||||
|
drawRootNode(rootDomainId);
|
||||||
|
drawTree(rootDomainId, (rootLevel+1), $("#domain_children_container_"+rootDomainId)); //draw the whole tree (under root node)
|
||||||
|
$("#domain_"+rootDomainId).show(); //show root node
|
||||||
|
clickExpandIcon(rootDomainId); //expand root node
|
||||||
|
|
||||||
|
//breadcrumbBox.empty();
|
||||||
|
//drawBreadcrumb(rootDomainId);
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshWholeTree(defaultRootDomainId, defaultRootLevel);
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user