Skip to content

Fix for https://github.com/OpenGrok/OpenGrok/issues/1076 #1077

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 24, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/org/opensolaris/opengrok/configuration/Configuration.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,12 @@ public final class Configuration {
public static final String EFTAR_DTAGS_FILE = "index/dtags.eftar";
private transient File dtagsEftar = null;

/**
* Revision messages will be collapsible if they exceed this many number
* of characters. Front end enforces an appropriate minimum.
*/
private int revisionMessageCollapseThreshold;

/*
* types of handling history for remote SCM repositories:
* ON - index history and display it in webapp
Expand Down Expand Up @@ -259,6 +265,7 @@ public Configuration() {
setFoldingEnabled(true);
setFetchHistoryWhenNotInCache(true);
setHandleHistoryOfRenamedFiles(true);
setRevisionMessageCollapseThreshold(200);
}

public String getRepoCmd(String clazzName) {
Expand Down Expand Up @@ -644,6 +651,14 @@ public void setTagsEnabled(boolean tagsEnabled) {
this.tagsEnabled = tagsEnabled;
}

public void setRevisionMessageCollapseThreshold(int threshold) {
this.revisionMessageCollapseThreshold = threshold;
}

public int getRevisionMessageCollapseThreshold() {
return this.revisionMessageCollapseThreshold;
}

private transient Date lastModified;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -957,6 +957,14 @@ public void setHandleHistoryOfRenamedFiles(boolean enable) {
threadConfig.get().setHandleHistoryOfRenamedFiles(enable);
}

public void setRevisionMessageCollapseThreshold(int threshold) {
threadConfig.get().setRevisionMessageCollapseThreshold(threshold);
}

public int getRevisionMessageCollapseThreshold() {
return threadConfig.get().getRevisionMessageCollapseThreshold();
}

public boolean isHandleHistoryOfRenamedFiles() {
return threadConfig.get().isHandleHistoryOfRenamedFiles();
}
Expand Down
4 changes: 4 additions & 0 deletions src/org/opensolaris/opengrok/web/PageConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,10 @@ public int getSearchMaxItems() {
return getIntParam("n", getEnv().getHitsPerPage());
}

public int getRevisionMessageCollapseThreshold() {
return getEnv().getRevisionMessageCollapseThreshold();
}

/**
* Get sort orders from the request parameter {@code sort} and if this list
* would be empty from the cookie {@code OpenGrokorting}.
Expand Down
4 changes: 4 additions & 0 deletions web/default/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,10 @@ table#revisions tbody tr td p {
margin: 1ex 0;
}

.rev-message-hidden {
display: none;
}


/* *** diff page *** */
#diffbar { /* diff navbar: contains the tabs to select diff format */
Expand Down
26 changes: 24 additions & 2 deletions web/history.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,11 @@ revision2 = revision2 >= hist.getHistoryEntries().size() ? hist.getHistoryEntrie
%><%= author %><%
}
%></td>
<td><a name="<%= rev %>"></a><p><%
<td><a name="<%= rev %>"></a><%
// revision message collapse threshold minimum of 10
int summaryLength = Math.max(10, cfg.getRevisionMessageCollapseThreshold());
String cout = Util.htmlize(entry.getMessage());

if (bugPage != null && bugPage.length() > 0) {
cout = bugPattern.matcher(cout).replaceAll("<a href=\""
+ bugPage + "$1\">$1</a>");
Expand All @@ -289,7 +292,26 @@ revision2 = revision2 >= hist.getHistoryEntries().size() ? hist.getHistoryEntrie
cout = reviewPattern.matcher(cout).replaceAll("<a href=\""
+ reviewPage + "$1\">$1</a>");
}
%><%= cout %></p><%

boolean showSummary = false;
String coutSummary = entry.getMessage();
if (coutSummary.length() > summaryLength) {
showSummary = true;
coutSummary = coutSummary.substring(0, summaryLength - 1);
coutSummary = Util.htmlize(coutSummary);
}

if (showSummary) {
%>
<p class="rev-message-summary"><%= coutSummary %></p>
<p class="rev-message-full rev-message-hidden"><%= cout %></p>
<p class="rev-message-toggle" data-toggle-state="less"><a class="rev-toggle-a" href="#">show more ... </a></p>
<%
}
else {
%><p class="rev-message-full"><%= cout %></p><%
}

Set<String> files = entry.getFiles();
if (files != null) {
%><div class="filelist-hidden"><br/><%
Expand Down
22 changes: 22 additions & 0 deletions web/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -854,6 +854,28 @@ function togglediffs() {
);
}

$(document).ready(function() {
$(".rev-toggle-a").click(function() {
var toggleState = $(this).closest("p").attr("data-toggle-state");
var thisCell = $(this).closest("td");

if (toggleState == "less") {
$(this).closest("p").attr("data-toggle-state", "more");
thisCell.find(".rev-message-summary").addClass("rev-message-hidden");
thisCell.find(".rev-message-full").removeClass("rev-message-hidden");
$(this).html("... show less");
}
else if (toggleState == "more") {
$(this).closest("p").attr("data-toggle-state", "less");
thisCell.find(".rev-message-full").addClass("rev-message-hidden");
thisCell.find(".rev-message-summary").removeClass("rev-message-hidden");
$(this).html("show more ...");
}

return false;
});
});

function selectAllProjects() {
$("#project *").attr("selected", "selected");
}
Expand Down