Skip to content

Commit 68467ae

Browse files
yaroslavafenkinhypery2k
authored andcommitted
[JENKINS-74890] Extract inline JavaScript from LogParserWriter.java
1 parent 01429c4 commit 68467ae

4 files changed

Lines changed: 18 additions & 13 deletions

File tree

src/main/java/hudson/plugins/logparser/LogParserConsts.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package hudson.plugins.logparser;
22

3+
import hudson.Functions;
34
import jenkins.model.Jenkins;
45

56
import java.util.Arrays;
@@ -25,12 +26,12 @@ public class LogParserConsts {
2526

2627
public static String getHtmlOpeningTags() {
2728
final String hudsonRoot = Jenkins.get().getRootUrl();
29+
final String pluginResourceUrl = String.format("%s/plugin/log-parser/", Jenkins.RESOURCE_PATH).substring(1);
30+
2831
return "<!DOCTYPE html>\n" + "<html>\n" + "\t<head>\n"
2932
+ "\t\t<title>log-parser plugin page</title>\n"
30-
+ "\t\t<link type=\"text/css\" rel=\"stylesheet\" href=\""
31-
+ hudsonRoot + "css/style.css\" />\n"
32-
+ "\t\t<link type=\"text/css\" rel=\"stylesheet\" href=\""
33-
+ hudsonRoot + "css/color.css\" />\n" + "\t</head>\n"
33+
+ "\t\t<script type=\"application/javascript\" src=\"" + hudsonRoot + pluginResourceUrl + "js/log-parser-behaviour.js\"></script>\n"
34+
+"\t</head>\n"
3435
+ "\t<body>\n";
3536
}
3637

src/main/java/hudson/plugins/logparser/LogParserWriter.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,9 @@ public static void writeReferenceHtml(final String buildRefPath,
5050
final HashMap<String, String> linkFiles,
5151
final List<String> extraTags) throws IOException {
5252

53-
final String refStart = "<script type=\"text/javascript\">\n"
54-
+ "\tfunction toggleList(list){\n"
55-
+ "\t\telement = document.getElementById(list).style;\n"
56-
+ "\t\telement.display == 'none' ? element.display='block' : element.display='none';\n"
57-
+ "\t}\n" + "</script>\n";
58-
5953
try (BufferedWriter writer = new BufferedWriter(new FileWriter(buildRefPath))) {
6054
// Hudson stylesheets
6155
writer.write(LogParserConsts.getHtmlOpeningTags());
62-
writer.write(refStart); // toggle links javascript
6356
// Write Errors
6457
writeLinks(writer, LogParserConsts.ERROR, headerForSection,
6558
statusCountPerSection, iconTable, linkListDisplay,
@@ -123,7 +116,7 @@ private static void writeLinks(final BufferedWriter writer,
123116

124117
final String linksStart = "<img src=\"" + hudsonRoot + iconLocation + statusIcon
125118
+ "\" style=\"margin: 2px;\" width=\"24\" alt=\"" + linkListDisplayStr + " Icon\" height=\"24\" />\n"
126-
+ "<a href=\"javascript:toggleList('" + linkListDisplayStr + "')\" target=\"_self\"><STRONG>"
119+
+ "<a class=\"lpp-toggle-list\" href=\"#\" data-display-category=\"" + linkListDisplayStr + "\"><STRONG>"
127120
+ linkListDisplayStr + " (" + linkListCount + ")</STRONG></a><br />\n"
128121
+ "<ul style=\"display: none;\" id=\""
129122
+ linkListDisplayStr + "\" >\n";

src/main/resources/hudson/plugins/logparser/LogParserAction/index.jelly

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<j:set var="parseSucceeded" value="${it.result.failedToParseError == null}"/>
55
<j:set var="parseFailed" value="${it.result.failedToParseError != null}"/>
66
<j:set var="badParseRules" value="${it.result.badParsingRulesError != null}"/>
7-
<l:layout>
7+
<l:layout title="Parsed Console Output">
88
<st:include it="${it.owner}" page="sidepanel.jelly"/>
99
<l:main-panel>
1010
<j:if test="${parseSucceeded}">
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
window.addEventListener("DOMContentLoaded", () => {
2+
document.querySelectorAll(".lpp-toggle-list").forEach((toggle) => {
3+
toggle.addEventListener("click", (event) => {
4+
event.preventDefault();
5+
const { displayCategory } = event.target.closest(".lpp-toggle-list").dataset;
6+
7+
element = document.getElementById(displayCategory).style;
8+
element.display = element.display == 'none' ? 'block' : 'none';
9+
})
10+
});
11+
});

0 commit comments

Comments
 (0)