+
+ {/* URL provided */}
+ {!!line.url && {line.value}}
+ {line.url && line.value.endsWith('raw.log') &&
+ - open in test results viewer
+ }
+ {line.url && line.value.startsWith('profile_') && line.value.endsWith('.zip') &&
+ - open in perf-html.io
+ }
+ {/*
+ no URL (just informational)
+ If this is showing HTML from a TinderboxPrint line it should
+ have been parsed in our log parser to a url instead of getting here.
+ If it wasn't, it probably had a tag and didn't have
+ a 'title' value in the '' element.
+ */}
+ {!line.url && {line.value}}
+
))}
+
+
+ );
+ }
+}
+
+JobDetailsTab.propTypes = {
+ jobDetails: PropTypes.array,
+ buildernameIndex: PropTypes.number,
+};
+
+JobDetailsTab.defaultProps = {
+ jobDetails: [],
+ buildernameIndex: null,
+};
+
+treeherder.component('jobDetailsTab', react2angular(JobDetailsTab));
diff --git a/ui/entry-index.js b/ui/entry-index.js
index 7935bb1a2..b47fda2e1 100644
--- a/ui/entry-index.js
+++ b/ui/entry-index.js
@@ -69,6 +69,7 @@ import './plugins/tabs';
import './plugins/controller';
import './plugins/pinboard';
import './details-panel/JobDetailsPane';
+import './details-panel/JobDetailsTab';
import './details-panel/FailureSummaryTab';
import './details-panel/AutoclassifyTab';
import './details-panel/AnnotationsTab';
diff --git a/ui/helpers/urlHelper.js b/ui/helpers/urlHelper.js
index 2c8eb606c..8ad35c838 100644
--- a/ui/helpers/urlHelper.js
+++ b/ui/helpers/urlHelper.js
@@ -51,6 +51,14 @@ export const getLogViewerUrl = function getLogViewerUrl(job_id, repoName, line_n
return line_number ? `${rv}&lineNumber=${line_number}` : rv;
};
+export const getWptUrl = function getWptUrl(url, value) {
+ return `https://mozilla.github.io/wptview/#/?urls=${encodeURIComponent(url)},${encodeURIComponent(value)}`;
+};
+
+export const getPerfAnalysisUrl = function getPerfAnalysisUrl(url) {
+ return `https://perf-html.io/from-url/${encodeURIComponent(url)}`;
+};
+
// Take the repoName, if passed in. If not, then try to find it on the
// URL. If not there, then try m-i and hope for the best. The caller may
// not actually need a repo if they're trying to get a job by ``id``.
diff --git a/ui/js/filters.js b/ui/js/filters.js
index 1587bf465..a17acd85e 100755
--- a/ui/js/filters.js
+++ b/ui/js/filters.js
@@ -50,11 +50,6 @@ treeherder.filter('getRevisionUrl', function () {
};
});
-//http://stackoverflow.com/questions/16630471/how-can-i-invoke-encodeuricomponent-from-angularjs-template
-treeherder.filter('encodeURIComponent', function () {
- return window.encodeURIComponent;
-});
-
treeherder.filter('displayNumber', ['$filter', function ($filter) {
return function (input) {
if (isNaN(input)) {
diff --git a/ui/plugins/job_details/main.html b/ui/plugins/job_details/main.html
index 1745fc183..6f8463af4 100755
--- a/ui/plugins/job_details/main.html
+++ b/ui/plugins/job_details/main.html
@@ -1,17 +1,4 @@
-