James Moger
2012-03-29 ed3a0e89af762626423fd519056ec8e675a39238
Fixed activity page row layout regression (issue-79)
4 files modified
100 ■■■■ changed files
docs/04_releases.mkd 2 ●●●●● patch | view | raw | blame | history
resources/gitblit.css 5 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/ActivityPanel.html 45 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/ActivityPanel.java 48 ●●●● patch | view | raw | blame | history
docs/04_releases.mkd
@@ -7,6 +7,8 @@
#### fixes
- Fixed absolute path/canonical path discrepancy between Gitblit and JGit regarding use of symlinks (issue 78)
- Fixed row layout on activity page (issue 79)
- Fixed Centos service script (Github/mohamedmansour)
**0.9.1** *released 2012-03-27*
resources/gitblit.css
@@ -776,6 +776,11 @@
    margin-top: 10px;
}
table.activity td {
    padding-top:7px;
    padding-bottom:7px;
}
tr th a { background-position: right; padding-right: 15px; background-repeat:no-repeat; }
tr th.wicket_orderDown a {background-image: url(arrow_down.png); }
tr th.wicket_orderUp a { background-image: url(arrow_up.png); }
src/com/gitblit/wicket/panels/ActivityPanel.html
@@ -9,32 +9,29 @@
    <div wicket:id="activity" style="padding-bottom:10px;">
        <div class="header"><i class="icon-refresh" style="vertical-align: middle;"></i> <span style="font-weight:bold;" wicket:id="title">[title]</span></div>
        <table class="activity" wicket:id="commits">
            <tr wicket:id="commit"></tr>
        <table class="activity">
            <tr wicket:id="commit">
                <td class="date" style="width:60px; vertical-align: middle;text-align: right;padding-right:10px;" ><span wicket:id="time">[time of day]</span></td>
                <td style="width:10em;text-align:left;vertical-align: middle;">
                    <span wicket:id="repository" class="repositorySwatch">[repository link]</span>
                </td>
                <td style="width:30px;vertical-align: middle;"><span wicket:id="avatar" style="vertical-align: middle;"></span></td>
                <td style="vertical-align: middle;">
                    <img wicket:id="commitIcon" style="vertical-align: middle;"></img>
                    <span wicket:id="message">[shortlog commit link]</span><br/>
                    <span wicket:id="author" style="padding-left:20px;">[author link]</span> <wicket:message key="gb.authored"></wicket:message> <span wicket:id="commitid">[commit id]</span> on <span wicket:id="branch"></span>
                </td>
                <td style="text-align:right;vertical-align: middle;">
                    <div wicket:id="commitRefs">[commit refs]</div>
                </td>
                <td class="rightAlign" style="width:7em;vertical-align: middle;">
                    <span class="link">
                        <a wicket:id="view" target="_blank"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="diff" target="_blank"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="tree" target="_blank"><wicket:message key="gb.tree"></wicket:message></a>
                    </span>
                </td>
            </tr>
        </table>    
    </div>
    <wicket:fragment wicket:id="commitFragment">
        <td class="date" style="width:60px; vertical-align: middle;text-align: right;padding-right:10px;" ><span wicket:id="time">[time of day]</span></td>
        <td style="width:10em;text-align:left;vertical-align: middle;">
            <span wicket:id="repository" class="repositorySwatch">[repository link]</span>
        </td>
        <td style="width:30px;vertical-align: middle;"><span wicket:id="avatar" style="vertical-align: middle;"></span></td>
        <td style="vertical-align: middle;">
            <img wicket:id="commitIcon" style="vertical-align: middle;"></img>
            <span wicket:id="message">[shortlog commit link]</span><br/>
            <span wicket:id="author" style="padding-left:20px;">[author link]</span> <wicket:message key="gb.authored"></wicket:message> <span wicket:id="commitid">[commit id]</span> on <span wicket:id="branch"></span>
        </td>
        <td style="text-align:right;vertical-align: middle;">
            <div wicket:id="commitRefs">[commit refs]</div>
        </td>
        <td class="rightAlign" style="width:7em;vertical-align: middle;">
            <span class="link">
                <a wicket:id="view" target="_blank"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="diff" target="_blank"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="tree" target="_blank"><wicket:message key="gb.tree"></wicket:message></a>
            </span>
        </td>
    </wicket:fragment>
</wicket:panel>
</body>
</html>
src/com/gitblit/wicket/panels/ActivityPanel.java
@@ -19,7 +19,6 @@
import java.util.List;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
@@ -31,8 +30,8 @@
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitDiffPage;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.GitSearchPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TreePage;
@@ -55,32 +54,31 @@
                new ListDataProvider<Activity>(recentActivity)) {
            private static final long serialVersionUID = 1L;
            public void populateItem(final Item<Activity> item) {
                final Activity entry = item.getModelObject();
                item.add(WicketUtils.createDatestampLabel("title", entry.startDate, getTimeZone()));
            public void populateItem(final Item<Activity> activityItem) {
                final Activity entry = activityItem.getModelObject();
                activityItem.add(WicketUtils.createDatestampLabel("title", entry.startDate, getTimeZone()));
                // display the commits in chronological order
                DataView<RepositoryCommit> commits = new DataView<RepositoryCommit>("commits",
                DataView<RepositoryCommit> commits = new DataView<RepositoryCommit>("commit",
                        new ListDataProvider<RepositoryCommit>(entry.getCommits())) {
                    private static final long serialVersionUID = 1L;
                    public void populateItem(final Item<RepositoryCommit> item) {
                        final RepositoryCommit commit = item.getModelObject();
                        Fragment fragment = new Fragment("commit", "commitFragment", this);
                    public void populateItem(final Item<RepositoryCommit> commitItem) {
                        final RepositoryCommit commit = commitItem.getModelObject();
                        // commit time of day
                        fragment.add(WicketUtils.createTimeLabel("time", commit.getCommitterIdent()
                        commitItem.add(WicketUtils.createTimeLabel("time", commit.getCommitterIdent()
                                .getWhen(), getTimeZone()));
                        // avatar
                        fragment.add(new GravatarImage("avatar", commit.getAuthorIdent(), 36));
                        commitItem.add(new GravatarImage("avatar", commit.getAuthorIdent(), 36));
                        // merge icon
                        if (commit.getParentCount() > 1) {
                            fragment.add(WicketUtils.newImage("commitIcon",
                            commitItem.add(WicketUtils.newImage("commitIcon",
                                    "commit_merge_16x16.png"));
                        } else {
                            fragment.add(WicketUtils.newBlankImage("commitIcon"));
                            commitItem.add(WicketUtils.newBlankImage("commitIcon"));
                        }
                        // author search link
@@ -89,7 +87,7 @@
                                GitSearchPage.class, WicketUtils.newSearchParameter(commit.repository,
                                        commit.getName(), author, Constants.SearchType.AUTHOR), true);
                        setPersonSearchTooltip(authorLink, author, Constants.SearchType.AUTHOR);
                        fragment.add(authorLink);
                        commitItem.add(authorLink);
                        // repository
                        String repoName = StringUtils.stripDotGit(commit.repository);
@@ -97,19 +95,19 @@
                                repoName, SummaryPage.class,
                                WicketUtils.newRepositoryParameter(commit.repository), true);
                        WicketUtils.setCssBackground(repositoryLink, repoName);
                        fragment.add(repositoryLink);
                        commitItem.add(repositoryLink);
                        // repository branch
                        LinkPanel branchLink = new LinkPanel("branch", "list", commit.branch,
                                LogPage.class, WicketUtils.newObjectParameter(commit.repository,
                                        commit.branch), true);
                        WicketUtils.setCssStyle(branchLink, "color: #008000;");
                        fragment.add(branchLink);
                        commitItem.add(branchLink);
                        LinkPanel commitid = new LinkPanel("commitid", "list subject",
                                commit.getShortName(), CommitPage.class,
                                WicketUtils.newObjectParameter(commit.repository, commit.getName()), true);
                        fragment.add(commitid);
                        commitItem.add(commitid);
                        // message/commit link
                        String shortMessage = commit.getShortMessage();
@@ -125,25 +123,23 @@
                        if (!shortMessage.equals(trimmedMessage)) {
                            WicketUtils.setHtmlTooltip(shortlog, shortMessage);
                        }
                        fragment.add(shortlog);
                        commitItem.add(shortlog);
                        // refs
                        fragment.add(new RefsPanel("commitRefs", commit.repository, commit
                        commitItem.add(new RefsPanel("commitRefs", commit.repository, commit
                                .getRefs()));
                        // view, diff, tree links
                        fragment.add(new BookmarkablePageLink<Void>("view", CommitPage.class,
                        commitItem.add(new BookmarkablePageLink<Void>("view", CommitPage.class,
                                WicketUtils.newObjectParameter(commit.repository, commit.getName())));
                        fragment.add(new BookmarkablePageLink<Void>("diff", CommitDiffPage.class,
                        commitItem.add(new BookmarkablePageLink<Void>("diff", CommitDiffPage.class,
                                WicketUtils.newObjectParameter(commit.repository, commit.getName()))
                                .setEnabled(commit.getParentCount() > 0));
                        fragment.add(new BookmarkablePageLink<Void>("tree", TreePage.class,
                                WicketUtils.newObjectParameter(commit.repository, commit.getName())));
                        item.add(fragment);
                        commitItem.add(new BookmarkablePageLink<Void>("tree", TreePage.class,
                                WicketUtils.newObjectParameter(commit.repository, commit.getName())));
                    }
                };
                item.add(commits);
                activityItem.add(commits);
            }
        };
        add(activityView);