From c6705a8599ff99328bfd1ee986744ad471db2b1c Mon Sep 17 00:00:00 2001 From: Kousuke Saruta Date: Tue, 22 Sep 2020 01:06:25 +0900 Subject: [PATCH] Revert "[SPARK-32886][WEBUI] fix 'undefined' link in event timeline view" This reverts commit 2516128e466c489effc20e72d06c26a2d2f7faed. --- .../apache/spark/ui/static/timeline-view.js | 53 +++++++------------ 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/core/src/main/resources/org/apache/spark/ui/static/timeline-view.js b/core/src/main/resources/org/apache/spark/ui/static/timeline-view.js index 220b76a0f1b27..5be8cffd1f8db 100644 --- a/core/src/main/resources/org/apache/spark/ui/static/timeline-view.js +++ b/core/src/main/resources/org/apache/spark/ui/static/timeline-view.js @@ -42,31 +42,26 @@ function drawApplicationTimeline(groupArray, eventObjArray, startTime, offset) { setupZoomable("#application-timeline-zoom-lock", applicationTimeline); setupExecutorEventAction(); - function getIdForJobEntry(baseElem) { - var jobIdText = $($(baseElem).find(".application-timeline-content")[0]).text(); - var jobId = jobIdText.match("\\(Job (\\d+)\\)$")[1]; - return jobId; - } - - function getSelectorForJobEntry(jobId) { - return "#job-" + jobId; - } - function setupJobEventAction() { $(".vis-item.vis-range.job.application-timeline-object").each(function() { + var getSelectorForJobEntry = function(baseElem) { + var jobIdText = $($(baseElem).find(".application-timeline-content")[0]).text(); + var jobId = jobIdText.match("\\(Job (\\d+)\\)$")[1]; + return "#job-" + jobId; + }; + $(this).click(function() { - var jobId = getIdForJobEntry(this); - var jobPagePath = uiRoot + appBasePath + "/jobs/job/?id=" + jobId; - window.location.href = jobPagePath; + var jobPagePath = $(getSelectorForJobEntry(this)).find("a.name-link").attr("href"); + window.location.href = jobPagePath }); $(this).hover( function() { - $(getSelectorForJobEntry(getIdForJobEntry(this))).addClass("corresponding-item-hover"); + $(getSelectorForJobEntry(this)).addClass("corresponding-item-hover"); $($(this).find("div.application-timeline-content")[0]).tooltip("show"); }, function() { - $(getSelectorForJobEntry(getIdForJobEntry(this))).removeClass("corresponding-item-hover"); + $(getSelectorForJobEntry(this)).removeClass("corresponding-item-hover"); $($(this).find("div.application-timeline-content")[0]).tooltip("hide"); } ); @@ -130,34 +125,26 @@ function drawJobTimeline(groupArray, eventObjArray, startTime, offset) { setupZoomable("#job-timeline-zoom-lock", jobTimeline); setupExecutorEventAction(); - function getStageIdAndAttemptForStageEntry(baseElem) { - var stageIdText = $($(baseElem).find(".job-timeline-content")[0]).text(); - var stageIdAndAttempt = stageIdText.match("\\(Stage (\\d+\\.\\d+)\\)$")[1].split("."); - return stageIdAndAttempt; - } - - function getSelectorForStageEntry(stageIdAndAttempt) { - return "#stage-" + stageIdAndAttempt[0] + "-" + stageIdAndAttempt[1]; - } - function setupStageEventAction() { $(".vis-item.vis-range.stage.job-timeline-object").each(function() { + var getSelectorForStageEntry = function(baseElem) { + var stageIdText = $($(baseElem).find(".job-timeline-content")[0]).text(); + var stageIdAndAttempt = stageIdText.match("\\(Stage (\\d+\\.\\d+)\\)$")[1].split("."); + return "#stage-" + stageIdAndAttempt[0] + "-" + stageIdAndAttempt[1]; + }; + $(this).click(function() { - var stageIdAndAttempt = getStageIdAndAttemptForStageEntry(this); - var stagePagePath = uiRoot + appBasePath + - "/stages/stage/?id=" + stageIdAndAttempt[0] + "&attempt=" + stageIdAndAttempt[1]; - window.location.href = stagePagePath; + var stagePagePath = $(getSelectorForStageEntry(this)).find("a.name-link").attr("href") + window.location.href = stagePagePath }); $(this).hover( function() { - $(getSelectorForStageEntry(getStageIdAndAttemptForStageEntry(this))) - .addClass("corresponding-item-hover"); + $(getSelectorForStageEntry(this)).addClass("corresponding-item-hover"); $($(this).find("div.job-timeline-content")[0]).tooltip("show"); }, function() { - $(getSelectorForStageEntry(getStageIdAndAttemptForStageEntry(this))) - .removeClass("corresponding-item-hover"); + $(getSelectorForStageEntry(this)).removeClass("corresponding-item-hover"); $($(this).find("div.job-timeline-content")[0]).tooltip("hide"); } );