mirror of
https://github.com/Kae7in/perfview
synced 2026-08-09 12:09:44 +00:00
Selecting focusNode almost done
This commit is contained in:
@@ -13,6 +13,19 @@ function StackDelegate(domain, filename, stackType, summaryStackData) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
self.setFocusNode = function setFocusNode(node) {
|
||||||
|
var child = node.row[0].children[0];
|
||||||
|
$(child).find('span').remove();
|
||||||
|
|
||||||
|
stackDelegate.focusNode = node;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
self.getFocusNode = function getFocusNode() {
|
||||||
|
return self.focusNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
self.getSummaryData = function getSummaryData(callback) {
|
self.getSummaryData = function getSummaryData(callback) {
|
||||||
var url = self.domain + "/api/data/stackviewer/summary?filename=" + self.filename
|
var url = self.domain + "/api/data/stackviewer/summary?filename=" + self.filename
|
||||||
+ "&stacktype=" + self.stackType
|
+ "&stacktype=" + self.stackType
|
||||||
@@ -52,7 +65,6 @@ function StackDelegate(domain, filename, stackType, summaryStackData) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var nodeString = "overrideFocusNode" in options ? options["overrideFocusNode"] : self.focusNode.id;
|
var nodeString = "overrideFocusNode" in options ? options["overrideFocusNode"] : self.focusNode.id;
|
||||||
console.log(self.focusNode);
|
|
||||||
var nameAndPath = nodeString.split(/\/(.+)?/); // Split on FIRST occurrence of '/'
|
var nameAndPath = nodeString.split(/\/(.+)?/); // Split on FIRST occurrence of '/'
|
||||||
var name = nameAndPath[0];
|
var name = nameAndPath[0];
|
||||||
var path = nameAndPath.length > 1 ? nameAndPath[1] : "";
|
var path = nameAndPath.length > 1 ? nameAndPath[1] : "";
|
||||||
|
|||||||
@@ -244,7 +244,8 @@
|
|||||||
$(document).on("dblclick", "#by-name-list tbody tr td:first-child", function (row) {
|
$(document).on("dblclick", "#by-name-list tbody tr td:first-child", function (row) {
|
||||||
//var focusNode = row.currentTarget.innerText.trim(); // Get the name of the clicked node
|
//var focusNode = row.currentTarget.innerText.trim(); // Get the name of the clicked node
|
||||||
var clickedNodeId = row.currentTarget.parentElement.getAttribute("data-tt-id");
|
var clickedNodeId = row.currentTarget.parentElement.getAttribute("data-tt-id");
|
||||||
stackDelegate.focusNode = $("#by-name-list").treetable("node", clickedNodeId);
|
var newFocusNode = $("#by-name-list").treetable("node", clickedNodeId);
|
||||||
|
stackDelegate.setFocusNode(newFocusNode);
|
||||||
$('#tabs').foundation('selectTab', $("#callers")); // Switch to Callers tab
|
$('#tabs').foundation('selectTab', $("#callers")); // Switch to Callers tab
|
||||||
|
|
||||||
loadAndDisplayData(["callersTree", "calleesTree"], false);
|
loadAndDisplayData(["callersTree", "calleesTree"], false);
|
||||||
@@ -255,28 +256,29 @@
|
|||||||
//var focusNode = row.currentTarget.innerText.trim(); // Get the name of the clicked node
|
//var focusNode = row.currentTarget.innerText.trim(); // Get the name of the clicked node
|
||||||
var clickedNodeId = row.currentTarget.parentElement.getAttribute("data-tt-id");
|
var clickedNodeId = row.currentTarget.parentElement.getAttribute("data-tt-id");
|
||||||
//var clickedNodeId = row.currentTarget.innerText.trim();
|
//var clickedNodeId = row.currentTarget.innerText.trim();
|
||||||
|
|
||||||
stackDelegate.focusNode = $("#callersTree").treetable("node", clickedNodeId);;
|
var newFocusNode = $("#callersTree").treetable("node", clickedNodeId);
|
||||||
$('#tabs').foundation('selectTab', $("#callers")); // Switch to Callers tab
|
stackDelegate.setFocusNode(newFocusNode);
|
||||||
|
|
||||||
loadAndDisplayData(["callersTree", "calleesTree"], false);
|
loadAndDisplayData(["callersTree", "calleesTree"], false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function loadAndDisplayData(treesToUpdate, includeSearch=true) {
|
|
||||||
|
|
||||||
|
function loadAndDisplayData(treesToUpdate, includeSearch=true) {
|
||||||
// DISPLAY BY-NAME DATA
|
// DISPLAY BY-NAME DATA
|
||||||
if (treesToUpdate == null || treesToUpdate.includes("by-name-list")) {
|
if (treesToUpdate == null || treesToUpdate.includes("by-name-list")) {
|
||||||
stackDelegate.getSummaryData(function (summaryStackData) {
|
stackDelegate.getSummaryData(function (summaryStackData) {
|
||||||
$("#by-name-list tbody").empty(); // TODO: Maybe unload branch, instead
|
$("#by-name-list tbody").empty(); // TODO: Maybe unload branch, instead
|
||||||
updateTreeTableHtml("#by-name-list", null, stackDelegate.summaryStackData);
|
updateTreeTableHtml("#by-name-list", null, stackDelegate.summaryStackData);
|
||||||
if (stackDelegate.focusNode != null) {
|
if (stackDelegate.focusNode != null) {
|
||||||
stackDelegate.focusNode = $("#by-name-list").treetable("node", stackDelegate.focusNode.id);
|
var newFocusNode = $("#by-name-list").treetable("node", stackDelegate.focusNode.id);
|
||||||
|
stackDelegate.setFocusNode(newFocusNode);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// DISPLAY CALLTREE DATA
|
// LOAD AND DISPLAY CALLTREE DATA
|
||||||
if (treesToUpdate == null || treesToUpdate.includes("call-treeTree")) {
|
if (treesToUpdate == null || treesToUpdate.includes("call-treeTree")) {
|
||||||
stackDelegate.getNode("ROOT", function(nodeData){
|
stackDelegate.getNode("ROOT", function(nodeData){
|
||||||
$("#call-treeTree tbody").empty();
|
$("#call-treeTree tbody").empty();
|
||||||
@@ -293,7 +295,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// DISPLAY CALLERS DATA
|
// LOAD AND DISPLAY CALLERS DATA
|
||||||
if ((treesToUpdate == null || treesToUpdate.includes("callersTree")) && stackDelegate.focusNode != null) {
|
if ((treesToUpdate == null || treesToUpdate.includes("callersTree")) && stackDelegate.focusNode != null) {
|
||||||
var options = {"includeSearch" : true};
|
var options = {"includeSearch" : true};
|
||||||
stackDelegate.getCallersData(function (callersStackData, status) {
|
stackDelegate.getCallersData(function (callersStackData, status) {
|
||||||
@@ -313,7 +315,7 @@
|
|||||||
}, options);
|
}, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
// DISPLAY CALLEES DATA
|
// LOAD AND DISPLAY CALLEES DATA
|
||||||
if ((treesToUpdate == null || treesToUpdate.includes("calleesTree")) && stackDelegate.focusNode != null) {
|
if ((treesToUpdate == null || treesToUpdate.includes("calleesTree")) && stackDelegate.focusNode != null) {
|
||||||
stackDelegate.getCalleesData(function (calleesStackData, status) {
|
stackDelegate.getCalleesData(function (calleesStackData, status) {
|
||||||
$("#calleesTree tbody").empty();
|
$("#calleesTree tbody").empty();
|
||||||
@@ -331,8 +333,6 @@
|
|||||||
updateTreeTableHtml("#calleesTree", parentNode, calleesStackData);
|
updateTreeTableHtml("#calleesTree", parentNode, calleesStackData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Add other tab update calls here
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user