Java源码示例:org.apache.wicket.markup.html.link.AbstractLink
示例1
/**
* {@inheritDoc}
*/
@Override
protected AbstractLink newPagingNavigationLink(final String id, final IPageable pageable, final long pageIndex) {
final LinksSupport links = ((AbstractWebPage) getPage()).getWicketSupportFacade().links();
final PaginationSupport pagination = ((AbstractWebPage) getPage()).getWicketSupportFacade().pagination();
final PageParameters pageParameters = links.getFilteredCurrentParameters(getPage().getPageParameters());
pageParameters.set(WebParametersKeys.PAGE, pageIndex);
final Link rez = links.newLink(id, pageParameters);
if (pagination.markSelectedPageLink(rez, getPage().getPageParameters(), (int) pageIndex)) {
rez.setModel(new Model(Boolean.TRUE));
}
return rez;
}
示例2
/**
* {@inheritDoc}
*/
@Override
protected AbstractLink newPagingNavigationIncrementLink(final String id, final IPageable pageable, final int increment) {
final LinksSupport links = ((AbstractWebPage) getPage()).getWicketSupportFacade().links();
final PageParameters map = links.getFilteredCurrentParameters(pageParameters);
final long total = pageable.getPageCount();
final long current = pageable.getCurrentPage();
final long tryPage = current + increment;
map.set(WebParametersKeys.PAGE, tryPage < 0 ? 0 : tryPage >= total ? total - 1 : tryPage);
return (AbstractLink) links.newLink(id, map).add(new AttributeModifier("class", "nav-page-control"));
//return new PagingNavigationIncrementLink<Void>(id, pageable, increment);
}
示例3
@Override
protected AbstractLink newLink(String id) {
return new AjaxFallbackLink<Object>(id)
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void onClick(Optional<AjaxRequestTarget> targetOptional) {
AjaxCommand.this.onClick(targetOptional);
trySendActionPerformed();
}
};
}
示例4
@Override
protected AbstractLink newLink(String id) {
return new ResourceLink<Object>(id, new DatabaseExportResource()
{
@Override
protected ResourceResponse newResourceResponse(Attributes attrs) {
ResourceResponse resourceResponse = super.newResourceResponse(attrs);
resourceResponse.setFileName("schema.gz");
return resourceResponse;
}
@Override
protected void configureODatabaseExport(ODatabaseExport dbExport) {
dbExport.setOptions("-excludeAll=true -includeSchema=true");
}
});
}
示例5
protected AbstractLink newLink(String id)
{
return new Link<Object>(id)
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void onClick()
{
Command.this.onClick();
trySendActionPerformed();
}
};
}
示例6
/**
* @see org.apache.wicket.Component#onInitialize()
*/
@SuppressWarnings("serial")
@Override
protected void onInitialize()
{
super.onInitialize();
if (link == null) {
this.link = new AbstractLink(LINK_ID) {
};
} else {
this.hasLink = true;
}
li.add(link);
link.add(labelComponent);
caret = new WebMarkupContainer("caret");
if (subMenu.hasEntries() == true) {
// Children available.
link.add(AttributeModifier.append("class", "dropdown-toggle"));
link.add(AttributeModifier.append("data-toggle", "dropdown"));
li.add(AttributeModifier.append("class", "dropdown"));
} else {
dropDownMenu.setVisible(false);
caret.setVisible(false);
}
link.add(caret);
}
示例7
/**
* Searches ContentMenuEntryPanels.
* @param container
* @param accessKey
* @return Found component with the given label or null if no such component found.
* @see FormComponent#getModelObject()
* @see LabeledWebMarkupContainer#getLabel()
* @see ContentMenuEntryPanel#getLabel()
*/
public Component findComponentByAccessKey(final MarkupContainer container, final char accessKey)
{
final Component[] component = new Component[1];
container.visitChildren(new IVisitor<Component, Void>() {
@Override
public void component(final Component object, final IVisit<Void> visit)
{
if (object instanceof AbstractLink) {
final AbstractLink link = (AbstractLink) object;
final AttributeModifier attrMod = WicketUtils.getAttributeModifier(link, "accesskey");
if (attrMod == null || attrMod.toString().contains("object=[n]") == false) {
return;
}
component[0] = object;
visit.stop();
}
}
});
return component[0];
}
示例8
@Override
protected List<MenuItem> load() {
Injector.get().inject(this);
List<MenuItem> menuItems = new ArrayList<MenuItem>();
Object dashboard = model.getObject();
DashboardSection dashboardSection = (DashboardSection)sectionManager.getSection(DashboardSection.ID);
List<ActionContributor> popupContributors = dashboardSection.getPopupContributors();
if (popupContributors != null) {
for (ActionContributor contributor : popupContributors) {
if (contributor.isVisible()) {
AbstractLink link = contributor.getLink(createActionContext(dashboard));
if (link.isVisible()) {
menuItems.add(new MenuItem(link, contributor.getActionName(), contributor.getActionImage()));
}
}
}
}
//MenuItem menuItem = new MenuItem("images/" + ThemesManager.getActionImage(storageService.getSettings().getColorTheme()), null);
MenuItem menuItem = new MenuItem("images/actions.png", null);
menuItem.setMenuItems(menuItems);
return Arrays.asList(menuItem);
}
示例9
private AbstractLink addToCartLink() {
return new IndicatingAjaxLink<Void>("addToCart") {
@Override
public void onClick(AjaxRequestTarget target) {
target.add(feedback);
send(getPage(), Broadcast.BREADTH, new AddToCartEvent(target, getPage(), productInfoModel.getObject(), getTags()));
}
};
}
示例10
@Override
public AbstractLink create(String markupId) {
AbstractLink item;
if (Strings.isEmpty(title)) {
item = new MenuDivider();
} else if (items.isEmpty()) {
item = new NavbarAjaxLink<String>(markupId, Model.of(title)) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
OmMenuItem.this.onClick(target);
}
}.setIconType(icon);
item.add(AttributeModifier.append(ATTR_CLASS, "nav-link"));
} else {
item = new NavbarDropDownButton(Model.of(title), Model.of(icon)) {
private static final long serialVersionUID = 1L;
@Override
protected List<AbstractLink> newSubMenuButtons(String markupId) {
return items.stream().map(mItem -> ((OmMenuItem)mItem).create(markupId)).collect(Collectors.toList());
}
};
}
item.add(AttributeModifier.append(ATTR_TITLE, desc));
item.setVisible(visible);
return item;
}
示例11
private AbstractLink createNavigationLink(final String id, final IModel<String> targetKey) {
return new NavigationPageLink(id, registry, targetKey);
/* return new AjaxLink<String>(id, targetKey) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
key.setObject(getModelObject());
target.add(EtcdNodePanel.this);
onNodeKeyUpdated(target);
}
@Override
public String getBeforeDisabledLink() {
return "";
}
@Override
public String getAfterDisabledLink() {
return "";
}
@Override
protected void onConfigure() {
super.onConfigure();
setEnabled(selectedCluster != null && selectedCluster.getObject() != null && getModelObject() != null );
}
};*/
}
示例12
private AbstractLink addToCartLink() {
return new IndicatingAjaxLink<Void>("addToCart") {
@Override
public void onClick(AjaxRequestTarget target) {
target.add(feedback);
send(getPage(), Broadcast.BREADTH, new AddToCartEvent(target, getPage(), productInfoModel.getObject(), getTags()));
}
};
}
示例13
@Override
protected AbstractLink getEventsLink(final String linkid) {
return new AjaxLink<String>(linkid) {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {
transformers.setItem(target, JEXLTransformerWidget.this.item);
transformers.toggle(target, true);
}
};
}
示例14
@Override
protected AbstractLink getEventsLink(final String linkid) {
return new AjaxLink<String>(linkid) {
private static final long serialVersionUID = -7978723352517770644L;
@Override
public void onClick(final AjaxRequestTarget target) {
transformers.setItem(target, ItemTransformerWidget.this.item);
transformers.toggle(target, true);
}
};
}
示例15
private static List<RealmTO> getRealmsFromLinks(final List<AbstractLink> realmLinks) {
List<RealmTO> realms = new ArrayList<>();
realmLinks.stream().
map(Component::getDefaultModelObject).
filter(modelObject -> modelObject instanceof RealmTO).
forEachOrdered(modelObject -> realms.add((RealmTO) modelObject));
return realms;
}
示例16
@Override
protected AbstractLink getEventsLink(final String linkid) {
BookmarkablePageLink<UserRequests> userRequests = BookmarkablePageLinkBuilder.build(linkid, UserRequests.class);
MetaDataRoleAuthorizationStrategy.authorize(
userRequests, WebPage.ENABLE, FlowableEntitlement.USER_REQUEST_FORM_LIST);
return userRequests;
}
示例17
public MarkupProvider()
{
registerMarkupContent(DropDownChoice.class, "<select wicket:id=\"component\" class=\"custom-select\"></select>");
registerMarkupContent(ListMultipleChoice.class, "<select wicket:id=\"component\" class=\"form-control\"></select>");
registerMarkupContent(CheckBox.class, "<input type=\"checkbox\" wicket:id=\"component\"/>");
registerMarkupContent(TextField.class, "<input type=\"text\" wicket:id=\"component\" class=\"form-control\"/>");
registerMarkupContent(NumberTextField.class, "<input type=\"number\" wicket:id=\"component\" class=\"form-control\"/>");
registerMarkupContent(TextArea.class, "<textarea wicket:id=\"component\" class=\"form-control\"></textarea>");
registerMarkupContent(FormComponentPanel.class, "<div wicket:id=\"component\"></div>");
registerMarkupContent(Panel.class, "<div wicket:id=\"component\"></div>");
registerMarkupContent(AbstractLink.class, "<a wicket:id=\"component\"></a>");
registerMarkupContent(StructureTable.class, "<table wicket:id=\"component\"></table>");
registerMarkupContent(Select2MultiChoice.class, "<select wicket:id=\"component\" class=\"form-control\"/>");
registerMarkupContent(Select2Choice.class, "<select wicket:id=\"component\" class=\"form-control\"/>");
}
示例18
@Override
protected AbstractLink newLink(String id)
{
ODocumentPageLink link = new ODocumentPageLink(id, getModel());
if(titleModel!=null) link.setBody(titleModel);
else link.setDocumentNameAsBody(true);
return link;
}
示例19
@Override
protected AbstractLink newLink(String id) {
IResource resource = new ResourceStreamResource()
{
@Override
protected IResourceStream getResourceStream(Attributes attrs)
{
return new DataExportResourceStreamWriter(dataExporter, table);
}
}.setFileName(fileNameModel.getObject() + "." + dataExporter.getFileNameExtension());
return new ResourceLink<Void>(id, resource);
}
示例20
@Override
protected AbstractLink newLink(String id) {
return new BookmarkablePageLink<T>(id, pageClass) {
@Override
public PageParameters getPageParameters() {
return BookmarkablePageLinkCommand.this.getPageParameters();
}
};
}
示例21
public static ContextImage getCurrentFolderImage(final Response response, final AbstractLink folderLink, final TreeTableNode node)
{
final ContextImage folderImage = (ContextImage) folderLink.get("folderImage");
final ContextImage folderOpenImage = (ContextImage) folderLink.get("folderOpenImage");
final boolean isOpen = node.isOpened();
folderImage.setVisible(!isOpen);
folderOpenImage.setVisible(isOpen);
if (isOpen == true) {
return folderOpenImage;
} else {
return folderImage;
}
}
示例22
public ActionLinkPanel(final String id, final ActionLinkType actionLinkType, final String value)
{
super(id);
AbstractLink link1;
if (actionLinkType == ActionLinkType.CALL) {
add(link1 = getCallLink(value));
add(getInvisibleSmsLink());
} else if (actionLinkType == ActionLinkType.SMS) {
add(new Label("link", "[invisible]").setVisible(false));
add(getSmsLink(value));
} else if (actionLinkType == ActionLinkType.CALL_AND_SMS) {
add(link1 = getCallLink(value));
add(getSmsLink(value));
} else if (actionLinkType == ActionLinkType.MAIL) {
add(link1 = new ExternalLink("link", "mailto:" + value, value));
add(getInvisibleSmsLink());
} else {
final String url;
if (value != null && value.contains("://") == true) {
url = value;
} else {
url = "http://" + value;
}
add(link1 = new ExternalLink("link", url, value));
link1.add(AttributeModifier.append("target", "_blank"));
add(getInvisibleSmsLink());
}
}
示例23
/**
* @param id
* @param link Must have component id {@link #LINK_ID}
* @param label The link text.
* @param tooltip
*/
public TextLinkPanel(final String id, final AbstractLink link, final String label, final String tooltip)
{
super(id);
this.link = link;
init(id, link, tooltip);
this.label = new Label("text", label);
link.add(this.label);
}
示例24
/**
* @param id
* @param link Must have component id {@link #LINK_ID}
* @param label The link text.
*/
public TextLinkPanel(final String id, final AbstractLink link, final IModel<String> label, final String tooltip)
{
super(id);
this.link = link;
init(id, link, tooltip);
this.label = new Label("text", label);
link.add(this.label);
}
示例25
public ContentMenuEntryPanel(final String id, final AbstractLink link, final String label)
{
this(id);
this.link = link;
labelComponent = new Label("label", label).setRenderBodyOnly(true);
this.label = label;
}
示例26
public MenuConfigContent(final String id, final Menu menu)
{
super(id);
final RepeatingView mainMenuRepeater = new RepeatingView("mainMenuItem");
add(mainMenuRepeater);
if (menu == null) {
mainMenuRepeater.setVisible(false);
log.error("Oups, menu is null. Configuration of favorite menu not possible.");
return;
}
int counter = 0;
if (menu.getMenuEntries() == null) {
// Should only occur in maintenance mode!
return;
}
for (final MenuEntry mainMenuEntry : menu.getMenuEntries()) {
if (mainMenuEntry.hasSubMenuEntries() == false) {
continue;
}
final WebMarkupContainer mainMenuContainer = new WebMarkupContainer(mainMenuRepeater.newChildId());
mainMenuRepeater.add(mainMenuContainer);
if (counter++ % 5 == 0) {
mainMenuContainer.add(AttributeModifier.append("class", "mm_clear"));
}
mainMenuContainer.add(new Label("label", new ResourceModel(mainMenuEntry.getI18nKey())));
final RepeatingView subMenuRepeater = new RepeatingView("menuItem");
mainMenuContainer.add(subMenuRepeater);
for (final MenuEntry subMenuEntry : mainMenuEntry.getSubMenuEntries()) {
final WebMarkupContainer subMenuContainer = new WebMarkupContainer(subMenuRepeater.newChildId());
subMenuRepeater.add(subMenuContainer);
final AbstractLink link = NavAbstractPanel.getMenuEntryLink(subMenuEntry, false);
if (link != null) {
subMenuContainer.add(link);
} else {
subMenuContainer.setVisible(false);
}
}
}
}
示例27
protected void addActionLink(final RepeatingView actionLinkRepeater, final AbstractLink link, final String labelText, final String tooltip)
{
final WebMarkupContainer actionLinkContainer = new WebMarkupContainer(actionLinkRepeater.newChildId());
actionLinkRepeater.add(actionLinkContainer);
final Label label = new Label("label", labelText);
if (tooltip != null) {
WicketUtils.addTooltip(label, tooltip);
}
actionLinkContainer.add(link.add(label));
}
示例28
public LinkFragment(AbstractLink link, String label) {
super("linkFragment", "LINK_FRAGMENT", MenuPanel.this);
setRenderBodyOnly(true);
link.add(new Label(LINK_TEXT_ID, label));
add(link);
}
示例29
public MenuItem(AbstractLink link, String label, String image) {
if ((link != null) && !link.getId().equals(MenuPanel.LINK_ID)) {
throw new IllegalArgumentException("The id must be MenuPanel.LINK_ID");
}
this.link = link;
this.label = label;
this.image = image;
}
示例30
public AbstractLink getLink(ActionContext context) {
String message;
if (context.getEntities().size() == 1) {
message = new StringResourceModel("ActionContributor.Delete.name", null).getString() + " '" + context.getEntity().getName() + "' ?";
} else {
message = new StringResourceModel("deleteEntities", null).getString();
}
return new DeleteActionLink(context, message);
}