Example usage for org.apache.wicket.ajax.markup.html AjaxLink add

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink add

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.markup.html AjaxLink add.

Prototype

public MarkupContainer add(final Component... children) 

Source Link

Document

Adds the child component(s) to this container.

Usage

From source file:hsa.awp.usergui.registrationmanagement.ConfirmedRegistrationManagementPanel.java

License:Open Source License

public ConfirmedRegistrationManagementPanel(String id, final List<ConfirmedRegistration> registrations) {

    super(id);/*  ww w  .java  2s .co m*/

    final MarkupContainer box = new WebMarkupContainer("FifoManagementBox");
    box.setOutputMarkupId(true);

    final LoadableDetachedModel<List<ConfirmedRegistration>> regModel = new LoadableDetachedModel<List<ConfirmedRegistration>>() {
        /**
         * unique serialization id.
         */
        private static final long serialVersionUID = -5771746782326674752L;

        @Override
        protected List<ConfirmedRegistration> load() {

            SingleUser singleUser = controller
                    .getUserById(SecurityContextHolder.getContext().getAuthentication().getName());
            return controller.findConfirmedRegistrationsByParticipantId(singleUser.getId());
        }
    };

    box.add(new ListView<ConfirmedRegistration>("registrationList", regModel) {
        /**
         * generated uid.
         */
        private static final long serialVersionUID = 5261679476830400718L;

        @Override
        protected void populateItem(final ListItem<ConfirmedRegistration> item) {

            ConfirmedRegistration registration = item.getModelObject();
            Event event = controller.getEventById(registration.getEventId());

            item.add(new Label("regName", formatIdSubjectNameAndDetailInformation(event)));

            if (registration.getProcedure() == null) {
                item.add(new Label("procedureName", "direkt"));
            } else {
                item.add(new Label("procedureName", registration.getProcedure().getName()));
            }

            AjaxLink<String> deleteLink = new AjaxLink<String>("regCancelLink") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = 7720300709649429249L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    controller.deleteConfirmedRegistration(item.getModelObject());

                    RegistrationManagementPanel regPan = findParent(RegistrationManagementPanel.class);
                    if (regPan != null) {
                        regPan.update(target);
                    }

                    target.addComponent(box);
                    regModel.detach();
                }
            };

            deleteLink.setVisible(controller.isCampaignOpen(item.getModelObject()));

            item.add(deleteLink);
            deleteLink.add(new JavascriptEventConfirmation("onclick", "Sind Sie sicher?/Are you sure?"));
        }
    });

    add(box);
}

From source file:info.jtrac.wicket.ItemRelatePanel.java

License:Apache License

public ItemRelatePanel(String id, boolean isItemViewPage, ItemSearch itemSearch) {
    super(id);//from  w w  w.  j  a  va  2s .  c o m
    refId = itemSearch == null ? null : itemSearch.getRelatingItemRefId();
    if (refId != null) {
        final YuiDialog dialog = new YuiDialog("itemWindow");
        add(dialog);
        AjaxLink link = new AjaxLink("link") {
            @Override
            public void onClick(AjaxRequestTarget target) {
                Item item = getJtrac().loadItemByRefId(refId);
                dialog.show(target, refId, new ItemViewPanel(YuiDialog.CONTENT_ID, new Model(item), true));
            }
        };
        link.add(new Label("refId", refId));
        if (isItemViewPage) {
            add(new WebMarkupContainer("link").setVisible(false));
            add(new WebMarkupContainer("message").setVisible(false));
            add(new RelateForm("form").add(link));
        } else {
            add(new Label("message", localize("item_list.searchingForRelated")));
            add(link);
            add(new WebMarkupContainer("form").setVisible(false));
        }
        add(new Link("cancel") {
            @Override
            public void onClick() {
                Item item = getJtrac().loadItemByRefId(refId);
                JtracSession.get().setItemSearch(null);
                setResponsePage(ItemViewPage.class, new PageParameters("0=" + item.getRefId()));
            }
        });
    } else {
        setVisible(false);
    }
}

From source file:info.jtrac.wicket.ItemRelateRemovePage.java

License:Apache License

public ItemRelateRemovePage(long itemId, final ItemItem itemItem) {
    this.itemId = itemId;
    this.itemItem = itemItem;
    add(new ConfirmForm("form"));
    final String relatingRefId = itemItem.getItem().getRefId();
    final String relatedRefId = itemItem.getRelatedItem().getRefId();
    final YuiDialog relatingDialog = new YuiDialog("relatingDialog");
    final YuiDialog relatedDialog = new YuiDialog("relatedDialog");
    add(relatingDialog);/*w w  w  .jav  a  2s. c om*/
    add(relatedDialog);
    AjaxLink relating = new AjaxLink("relating") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            Item relating = getJtrac().loadItem(itemItem.getItem().getId());
            relatingDialog.show(target, relatingRefId,
                    new ItemViewPanel(YuiDialog.CONTENT_ID, new Model(relating), true));
        }
    };
    relating.add(new Label("refId", relatingRefId));
    add(relating);

    // TODO refactor, duplicate code in ItemViewPanel
    String message = null;
    if (itemItem.getType() == DUPLICATE_OF) {
        message = localize("item_view.duplicateOf");
    } else if (itemItem.getType() == DEPENDS_ON) {
        message = localize("item_view.dependsOn");
    } else if (itemItem.getType() == RELATED) {
        message = localize("item_view.relatedTo");
    }
    add(new Label("message", message));

    AjaxLink related = new AjaxLink("related") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            Item related = getJtrac().loadItem(itemItem.getRelatedItem().getId());
            relatedDialog.show(target, relatedRefId,
                    new ItemViewPanel(YuiDialog.CONTENT_ID, new Model(related), true));
        }
    };
    related.add(new Label("refId", itemItem.getRelatedItem().getRefId()));
    add(related);

}

From source file:jp.gihyo.wicket.page.ajax.AjaxTimeline.java

License:Apache License

private void constructPage() {
    final TweetForm form = new TweetForm("tweetForm");
    add(form);//ww w  . j  a  v a  2 s.co  m

    feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);
    add(feedback);

    IModel<List<Status>> statusModel = new LoadableDetachableModel<List<Status>>() {
        @Override
        protected List<Status> load() {
            try {
                Twitter twitter = AppSession.get().getTwitterSession();
                return twitter.getFriendsTimeline(new Paging(currentPageNumber, ITEMS_PER_PAGE));
            } catch (TwitterException ex) {
                AjaxTimeline.this.error(getString("canNotRetrieveFriendTimeline"));
                return Collections.emptyList();
            }
        }
    };

    ListView<Status> timeline = new ListView<Status>("statusView", statusModel) {
        @Override
        protected void populateItem(final ListItem<Status> item) {
            final Status status = item.getModelObject();
            String userUrl = "http://twitter.com/" + status.getUser().getScreenName();
            ExternalLink imageLink = new ExternalLink("imageLink", userUrl);

            //ImageR|?[lg?A<img>^Osrc??X`?X
            WebMarkupContainer userImage = new WebMarkupContainer("userImage");
            userImage.add(new SimpleAttributeModifier("src", status.getUser().getProfileImageURL().toString()));

            imageLink.add(userImage);
            item.add(imageLink);

            ExternalLink screenNameLink = new ExternalLink("screenName", userUrl,
                    status.getUser().getScreenName());
            item.add(screenNameLink);

            Label content = new Label("tweetContent", status.getText());
            item.add(content);

            ExternalLink tweetLink = new ExternalLink("tweetLink", userUrl + "/status/" + status.getId(), null);
            item.add(tweetLink);

            Label time = new Label("tweetTime",
                    new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(status.getCreatedAt()));
            tweetLink.add(time);

            Label clientName = new Label("clientName", status.getSource());
            item.add(clientName.setEscapeModelStrings(false));

            /*
             * YXe?[^XCo^\xNX?B
             * ?\bh?A??[JNX`?B
             * ??[JNX?ANXOstatus?ANZX?B
             */
            class FavorateLabel extends Label {
                private static final long serialVersionUID = -2194580825236126312L;
                private Status targetStatus;
                private boolean needRefresh;

                public FavorateLabel(String id) {
                    super(id);
                    this.targetStatus = status;

                    setDefaultModel(new AbstractReadOnlyModel<String>() {
                        @Override
                        public String getObject() {
                            try {
                                if (needRefresh) {
                                    targetStatus = getCurrentStatus(status.getId());
                                    needRefresh = false;
                                }
                                return targetStatus == null ? "" : targetStatus.isFavorited() ? "unfav" : "fav";
                            } catch (TwitterException ex) {
                                LOGGER.error("Can not fetch current status for status id = " + status.getId(),
                                        ex);
                                return "error";
                            }
                        }
                    });
                }

                public void setNeedRefresh(boolean needRefresh) {
                    this.needRefresh = needRefresh;
                }
            }

            //CNx
            final FavorateLabel favName = new FavorateLabel("favName");
            favName.setOutputMarkupId(true);

            /*
             * AjaxCN?B
             * Xe?[^XCo^o^?Ao^???s?B
             * o^???AAjaxg?Ay?[WS?ACo^Xe?[^X
             * Nx??B
             */
            AjaxLink<Void> favLink = new AjaxLink<Void>("favLink") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    try {
                        Status currentStatus = getCurrentStatus(status.getId());
                        Twitter twitterSession = AppSession.get().getTwitterSession();
                        if (currentStatus.isFavorited()) {
                            twitterSession.destroyFavorite(currentStatus.getId());
                            info(getString("favorateRemoved"));
                        } else {
                            twitterSession.createFavorite(currentStatus.getId());
                            info(getString("favorateRegistered"));
                        }
                        favName.setNeedRefresh(true);
                        target.addComponent(feedback); //o^?bZ?[W\?AtB?[hobNpl?X?V?B
                        target.addComponent(favName);
                    } catch (TwitterException ex) {
                        String message = getString("catNotCreateFavorite") + ": " + ex.getStatusCode();
                        error(message);
                        LOGGER.error(message, ex);
                    }
                }
            };
            item.add(favLink);
            favLink.add(favName);

            //AJAX LINK
            item.add(new AjaxLink<Void>("replyLink") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    String targetScreenName = status.getUser().getScreenName();
                    form.insertText(target, "@" + targetScreenName + " ");
                }
            });

            //Q?l?AreplyLinkJavaScriptp
            //                item.add(new Link<Void>("replyLink") {
            //                    @Override
            //                    public void onClick() {
            //                    }
            //
            //                    @Override
            //                    protected CharSequence getOnClickScript(CharSequence url) {
            //                        return "getElementById('" + form.getTextAreaId() + "').value = '@" + status.getUser().getScreenName() + " ';" +
            //                               "getElementById('" + form.getTextAreaId() + "').focus(); return false;";
            //                    }
            //                });
        }
    };

    //ListView\e?s????BreuseItemsv?peB??A
    //y?[W\?Ay?[WTu~bg?AXgeIuWFNg\??B
    //twitterey?[We?X??AXg????AXge?
    //Xe?[^Xu?A??dv?B
    timeline.setReuseItems(true);
    add(timeline);

    /*
     * y?[WO?EirQ?[^
     */
    add(new PagingLink("paging", AjaxTimeline.class, new AbstractReadOnlyModel<Integer>() {
        @Override
        public Integer getObject() {
            return getCurrentPage();
        }
    }));
}

From source file:jp.go.nict.langrid.management.web.view.page.error.ErrorInternalPage.java

License:Open Source License

/**
 * //  ww w  .  j a va 2  s.c  o m
 * 
 */
public ErrorInternalPage(ServiceManagerException e) {
    e.printStackTrace();
    Label title = new Label("errorTitle", e.getErrorCode() + " : "
            + MessageManager.getMessage("message.error." + e.getErrorCode(), getLocale()));
    add(title);
    Label message = new Label("errorMessage",
            MessageManager.getMessage("message.error." + e.getErrorCode() + ".Navigation", getLocale()));
    message.setEscapeModelStrings(false);
    add(message);
    AjaxLink link = new AjaxLink("stackTraceTitle") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            container.setVisible(!container.isVisible());
            target.addComponent(container);
        }

        @Override
        protected boolean getStatelessHint() {
            return true;
        }
    };
    link.add(new Label("linkLabel", "Error description - " + e.getRaisedDate()));
    add(link);
    Throwable th = e;
    RepeatingView repeater = new RepeatingView("repeat");
    do {
        StringBuffer errorSb = new StringBuffer();
        //         if(th instanceof LangridException){
        //            LangridException le = (LangridException)th;
        //            errorSb.append("-");
        //            errorSb.append(le.getClass().getName());
        //            errorSb.append(": ");
        //            errorSb.append(le.getErrorString() == null ? "" : le.getErrorString());
        //            errorSb.append(" [");
        //            errorSb.append(le.getServiceUrl());
        //            errorSb.append("#");
        //            errorSb.append(le.getOperationName());
        //            errorSb.append("]");
        //         }else{
        errorSb.append("-");
        errorSb.append(th.getClass().getName());
        errorSb.append(": ");
        errorSb.append(th.getMessage() == null ? "" : th.getMessage());
        //         }
        errorSb.append("<br/>");
        for (StackTraceElement trace : th.getStackTrace()) {
            errorSb.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
            errorSb.append(trace.getClassName());
            errorSb.append("(");
            errorSb.append(trace.getMethodName());
            errorSb.append(":");
            errorSb.append(trace.getLineNumber());
            errorSb.append(")");
            errorSb.append("<br/>");
        }
        Label stacktrace = new Label(repeater.newChildId(), new Model<String>(errorSb.toString()));
        repeater.add(stacktrace.setEscapeModelStrings(false));
    } while ((th = th.getCause()) != null);
    container = new WebMarkupContainer("stacktrace");
    container.setOutputMarkupId(true);
    container.setOutputMarkupPlaceholderTag(true);
    container.setVisible(false);
    container.add(repeater);
    add(container);
}

From source file:jp.go.nict.langrid.management.web.view.page.error.PopupErrorInternalPage.java

License:Open Source License

/**
 * /*from w w w  .  j  a va 2 s.  c  om*/
 * 
 */
public PopupErrorInternalPage(ServiceManagerException e) {
    add(new Label("ServiceManagerCopyright", MessageUtil.getServiceManagerCopyright())
            .setEscapeModelStrings(false));
    Label title = new Label("errorTitle", e.getErrorCode() + " : "
            + MessageManager.getMessage("message.error." + e.getErrorCode(), getLocale()));
    add(title);
    // ?
    Label message = new Label("errorMessage",
            MessageManager.getMessage("message.error." + e.getErrorCode() + ".Navigation", getLocale()));
    message.setEscapeModelStrings(false);
    add(message);
    AjaxLink link = new AjaxLink("stackTraceTitle") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            container.setVisible(!container.isVisible());
            target.addComponent(container);
        }

        private static final long serialVersionUID = 1L;
    };
    link.add(new Label("linkLabel", "Error description - " + e.getRaisedDate()));
    add(link);

    Throwable th = e;
    RepeatingView repeater = new RepeatingView("repeat");
    do {
        StringBuffer errorSb = new StringBuffer();
        //         if(th instanceof LangridException){
        //            LangridException le = (LangridException)th;
        //            errorSb.append("-");
        //            errorSb.append(le.getClass().getName());
        //            errorSb.append(": ");
        //            errorSb.append(le.getErrorString() == null ? "" : le.getErrorString());
        //            errorSb.append(" [");
        //            errorSb.append(le.getServiceUrl());
        //            errorSb.append("#");
        //            errorSb.append(le.getOperationName());
        //            errorSb.append("]");
        //         }else{
        errorSb.append("-");
        errorSb.append(th.getClass().getName());
        errorSb.append(": ");
        errorSb.append(th.getMessage() == null ? "" : th.getMessage());
        //         }
        errorSb.append("<br/>");
        for (StackTraceElement trace : th.getStackTrace()) {
            errorSb.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
            errorSb.append(trace.getClassName());
            errorSb.append("(");
            errorSb.append(trace.getMethodName());
            errorSb.append(":");
            errorSb.append(trace.getLineNumber());
            errorSb.append(")");
            errorSb.append("<br/>");
        }
        Label stacktrace = new Label(repeater.newChildId(), new Model<String>(errorSb.toString()));
        repeater.add(stacktrace.setEscapeModelStrings(false));
    } while ((th = th.getCause()) != null);
    container = new WebMarkupContainer("stacktrace");
    container.setOutputMarkupId(true);
    container.setOutputMarkupPlaceholderTag(true);
    container.setVisible(false);
    container.add(repeater);
    add(container);
}

From source file:kz.supershiny.web.wicket.components.AjaxPagingPanel.java

public AjaxPagingPanel(String id, final SearchCriteria criteria) {
    super(id);//from   w  ww . ja  v a2s.co m

    globalContainer = new WebMarkupContainer("globalContainer");
    add(globalContainer.setOutputMarkupId(true));

    next = new AjaxLink("next") {
        @Override
        public void onClick(AjaxRequestTarget art) {
            criteria.next();
            refreshPaging(art, criteria);
        }

        @Override
        public boolean isEnabled() {
            return !criteria.isLastPage();
        }
    };
    globalContainer.add(next.setOutputMarkupId(true));

    prev = new AjaxLink("prev") {
        @Override
        public void onClick(AjaxRequestTarget art) {
            criteria.prev();
            refreshPaging(art, criteria);
        }

        @Override
        public boolean isEnabled() {
            return !criteria.isFirstPage();
        }
    };
    globalContainer.add(prev.setOutputMarkupId(true));

    snext = new AjaxLink("snext") {
        @Override
        public void onClick(AjaxRequestTarget art) {
            criteria.snext();
            refreshPaging(art, criteria);
        }

        @Override
        public boolean isEnabled() {
            return !criteria.isLastPage();
        }
    };
    globalContainer.add(snext.setOutputMarkupId(true));

    sprev = new AjaxLink("sprev") {
        @Override
        public void onClick(AjaxRequestTarget art) {
            criteria.sprev();
            refreshPaging(art, criteria);
        }

        @Override
        public boolean isEnabled() {
            return !criteria.isFirstPage();
        }
    };
    globalContainer.add(sprev.setOutputMarkupId(true));

    numbers = new ListView("numbers", criteria.getNumbers()) {

        @Override
        protected void populateItem(ListItem li) {
            final long pageNum = (Long) li.getModelObject();
            final Label number = new Label("number", pageNum + "");
            final AjaxLink numberLink = new AjaxLink("numberLink") {
                @Override
                public void onClick(AjaxRequestTarget art) {
                    criteria.toPage(pageNum);
                    refreshPaging(art, criteria);
                }
            };
            if (pageNum != criteria.getCurrent()) {
                numberLink.setEnabled(true);
                li.add(AttributeModifier.remove("class"));
            } else {
                numberLink.setEnabled(false);
                li.add(AttributeModifier.append("class", "active"));
            }
            numberLink.add(number);
            li.add(numberLink);
        }
    };
    globalContainer.add(numbers.setOutputMarkupId(true));
}

From source file:kz.supershiny.web.wicket.pages.admin.AdminBasePage.java

private void setActiveLink(AjaxLink active, AjaxRequestTarget art) {
    for (AjaxLink link : menuLinks) {
        if (link.equals(active)) {
            link.add(AttributeModifier.replace("class", "list-group-item active"));
        } else {//ww w  . j ava  2 s .c om
            link.add(AttributeModifier.replace("class", "list-group-item"));
        }
        art.add(link);
    }
}

From source file:kz.supershiny.web.wicket.panels.admin.ImageUploadPanel.java

public ImageUploadPanel(String id, List<TireImage> images) {
    super(id);//from  w w  w  .j av a 2  s . co  m

    initData(images);

    uploadForm = new UploadForm("uploadForm");
    add(uploadForm.setOutputMarkupId(true));

    //Display/edit images
    viewContainer = new WebMarkupContainer("viewContainer");
    //images doesn't exist, wicket uses getter getImages() of ImageUploadPanel
    imagesView = new ListView("imagesView", new PropertyModel(ImageUploadPanel.this, "images")) {
        @Override
        protected void populateItem(ListItem li) {
            final TireImage ti = (TireImage) li.getModelObject();
            final AjaxLink defaultLink;
            final AjaxLink removeLink;
            Image image = new Image("image", new DynamicImageResource() {
                @Override
                protected byte[] getImageData(IResource.Attributes atrbts) {
                    return ti.getImageBody();
                }
            });
            defaultLink = new AjaxLink("defaultLink") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    setPreviewImage(ti.getFileName());
                    target.add(viewContainer);
                }
            };
            if (ti.getIsPreview()) {
                defaultLink.setEnabled(false);
                defaultLink.add(new AttributeAppender("class", Model.of("btn btn-primary")));
            } else {
                defaultLink.setEnabled(true);
                defaultLink.add(new AttributeAppender("class", Model.of("btn btn-default")));
            }
            removeLink = new ConfirmationLink("removeLink",
                    new StringResourceModel("ask.deletionPhoto", ImageUploadPanel.this, null).getString()) {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    deletedImages.add(ti.getFileName());
                    target.add(viewContainer);
                }
            };
            li.add(image);
            li.add(defaultLink);
            li.add(removeLink);
        }
    };
    viewContainer.add(imagesView.setOutputMarkupId(true));
    add(viewContainer.setOutputMarkupId(true));
}

From source file:kz.supershiny.web.wicket.panels.catalogue.ImageViewerPanel.java

public ImageViewerPanel(String id, Tire tire) {
    super(id);/*from   w  w w  .  j a  v a 2s.c o  m*/

    add(new Label("modal.title",
            new StringResourceModel("modal.photos", ImageViewerPanel.this, null).getString() + " "
                    + tire.getManufacturer().getCompanyName() + " " + tire.getModelName()));

    images = new HashMap<Integer, TireImage>();
    int counter = 0;
    try {
        for (TireImage ti : tireService.getImagesForTire(tire, ImageService.ImageSize.LARGE)) {
            images.put(counter, ti);
            counter++;
        }
    } catch (NullPointerException ex) {
        LOG.error("Empty images list!");
    }

    total = images.size();

    if (!images.isEmpty()) {
        image = new Image("image", new DynamicImageResource() {
            @Override
            protected byte[] getImageData(IResource.Attributes atrbts) {
                return images.get(selected).getImageBody();
            }
        });
        add(image.setOutputMarkupId(true));
    } else {
        add(new ContextImage("image", "images/default-preview.png"));
    }

    prev = new AjaxLink("prev") {
        @Override
        public void onClick(AjaxRequestTarget art) {
            if (selected > 0) {
                switchImage(--selected, art);
            }
            art.add(prev);
            art.add(next);
        }

        @Override
        public boolean isEnabled() {
            return selected > 0;
        }
    };
    add(prev.setMarkupId("prev").setOutputMarkupPlaceholderTag(true));
    next = new AjaxLink("next") {
        @Override
        public void onClick(AjaxRequestTarget art) {
            if (selected < total - 1) {
                switchImage(++selected, art);
            }
            art.add(prev);
            art.add(next);
        }

        @Override
        public boolean isEnabled() {
            return selected < total - 1;
        }
    };
    add(next.setMarkupId("next").setOutputMarkupPlaceholderTag(true));

    numbersContainer = new WebMarkupContainer("numbersContainer");
    add(numbersContainer.setOutputMarkupId(true));
    numbers = new ListView("numbers", new ArrayList(images.keySet())) {

        @Override
        protected void populateItem(final ListItem li) {
            final int index = (Integer) li.getModelObject();
            AjaxLink link = new AjaxLink("numberLink") {
                @Override
                public void onClick(AjaxRequestTarget art) {
                    selected = index;
                    switchImage(index, art);
                }
            };
            link.add(new Label("number", index + 1));
            if (index == selected) {
                link.add(AttributeModifier.replace("class", "btn btn-primary"));
            } else {
                link.add(AttributeModifier.replace("class", "btn btn-default"));
            }
            li.add(link);
        }
    };
    numbersContainer.add(numbers.setOutputMarkupId(true));
}