use of com.google.gerrit.client.ui.HighlightingInlineHyperlink in project gerrit by GerritCodeReview.
the class ProjectListScreen method onInitUI.
@Override
protected void onInitUI() {
super.onInitUI();
setPageTitle(AdminConstants.I.projectListTitle());
initPageHeader();
prev = PagingHyperlink.createPrev();
prev.setVisible(false);
next = PagingHyperlink.createNext();
next.setVisible(false);
projects = new ProjectsTable() {
@Override
protected void initColumnHeaders() {
super.initColumnHeaders();
table.setText(0, ProjectsTable.C_REPO_BROWSER, AdminConstants.I.projectRepoBrowser());
table.getFlexCellFormatter().addStyleName(0, ProjectsTable.C_REPO_BROWSER, Gerrit.RESOURCES.css().dataHeader());
}
@Override
protected void onOpenRow(final int row) {
History.newItem(link(getRowItem(row)));
}
private String link(final ProjectInfo item) {
return Dispatcher.toProject(item.name_key());
}
@Override
protected void insert(int row, ProjectInfo k) {
super.insert(row, k);
table.getFlexCellFormatter().addStyleName(row, ProjectsTable.C_REPO_BROWSER, Gerrit.RESOURCES.css().dataCell());
}
@Override
protected void populate(final int row, final ProjectInfo k) {
Image state = new Image();
switch(k.state()) {
case HIDDEN:
state.setResource(Gerrit.RESOURCES.redNot());
state.setTitle(Util.toLongString(k.state()));
table.setWidget(row, ProjectsTable.C_STATE, state);
break;
case READ_ONLY:
state.setResource(Gerrit.RESOURCES.readOnly());
state.setTitle(Util.toLongString(k.state()));
table.setWidget(row, ProjectsTable.C_STATE, state);
break;
case ACTIVE:
default:
// Intentionally left blank, do not show an icon when active.
break;
}
FlowPanel fp = new FlowPanel();
fp.add(new ProjectSearchLink(k.name_key()));
fp.add(new HighlightingInlineHyperlink(k.name(), link(k), match));
table.setWidget(row, ProjectsTable.C_NAME, fp);
table.setText(row, ProjectsTable.C_DESCRIPTION, k.description());
addWebLinks(row, k);
setRowItem(row, k);
}
private void addWebLinks(int row, ProjectInfo k) {
List<WebLinkInfo> webLinks = Natives.asList(k.webLinks());
if (webLinks != null && !webLinks.isEmpty()) {
FlowPanel p = new FlowPanel();
table.setWidget(row, ProjectsTable.C_REPO_BROWSER, p);
for (WebLinkInfo weblink : webLinks) {
p.add(weblink.toAnchor());
}
}
}
};
projects.setSavePointerId(PageLinks.ADMIN_PROJECTS);
add(projects);
final HorizontalPanel buttons = new HorizontalPanel();
buttons.setStyleName(Gerrit.RESOURCES.css().changeTablePrevNextLinks());
buttons.add(prev);
buttons.add(next);
add(buttons);
}
use of com.google.gerrit.client.ui.HighlightingInlineHyperlink in project gerrit by GerritCodeReview.
the class GroupTable method populate.
void populate(final int row, final GroupInfo k, final String toHighlight) {
if (k.url() != null) {
if (isInteralGroup(k)) {
table.setWidget(row, 1, new HighlightingInlineHyperlink(k.name(), Dispatcher.toGroup(k.getGroupId()), toHighlight));
} else {
Anchor link = new Anchor();
link.setHTML(Util.highlight(k.name(), toHighlight));
link.setHref(k.url());
table.setWidget(row, 1, link);
}
} else {
table.setHTML(row, 1, Util.highlight(k.name(), toHighlight));
}
table.setText(row, 2, k.description());
if (k.options().isVisibleToAll()) {
table.setWidget(row, 3, new Image(Gerrit.RESOURCES.greenCheck()));
}
final FlexCellFormatter fmt = table.getFlexCellFormatter();
fmt.addStyleName(row, 1, Gerrit.RESOURCES.css().groupName());
for (int i = 1; i <= NUM_COLS; i++) {
fmt.addStyleName(row, i, Gerrit.RESOURCES.css().dataCell());
}
setRowItem(row, k);
}
Aggregations