List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink
public AjaxLink(final String id, final IModel<T> model)
From source file:de.flapdoodle.wicket.examples.components.visibility.UseVisibilityBehaviorPage.java
License:Apache License
public UseVisibilityBehaviorPage() { Model<Boolean> visibilityModel = Model.of(true); final SimplePanel label = new SimplePanel("panel"); label.add(new VisibilityBehavior(visibilityModel)); label.add(new AjaxUpdateable()); add(label);// w w w.j a v a2s. c o m add(new AjaxLink<Boolean>("link", visibilityModel) { @Override public void onClick(AjaxRequestTarget target) { setModelObject(!getModelObject()); target.add(label); } }); }
From source file:de.flapdoodle.wicket.examples.model.UseModelsPage.java
License:Apache License
public UseModelsPage() { final ArrayList<String> source = new ArrayList<String>(Arrays.asList("first", "second", "third")); IModel<List<String>> listModel = Models.unmodifiable(source); IModel<List<String>> emptyIfNullListModel = Models.emptyIfNull(listModel); IModel<Integer> listSizeModel = Models.on(emptyIfNullListModel) .apply(new Function1<Integer, List<String>>() { @Override//w w w.j a v a 2 s . c om public Integer apply(List<String> value) { return value.size(); } }); IModel<String> firstEntryModel = Models.on(emptyIfNullListModel) .apply(new Function1<String, List<String>>() { @Override public String apply(List<String> value) { return !value.isEmpty() ? value.get(0) : null; } }); final WebMarkupContainer ajaxBorder = new WebMarkupContainer("ajaxBorder"); ajaxBorder.setOutputMarkupId(true); ajaxBorder.add(new ListView<String>("list", emptyIfNullListModel) { @Override protected void populateItem(ListItem<String> item) { item.add(new Label("label", item.getModel())); item.add(new AjaxLink<String>("link", Model.of(item.getModelObject())) { @Override public void onClick(AjaxRequestTarget target) { source.remove(getModelObject()); target.add(ajaxBorder); } }); } }); ajaxBorder.add(new Label("size", listSizeModel)); ajaxBorder.add(new Label("first", firstEntryModel)); add(ajaxBorder); }
From source file:de.inren.frontend.common.date.MonthPaginatorPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); final Label monthLabel = new Label("month", new AbstractReadOnlyModel<String>() { @Override/*w w w. ja va 2 s . com*/ public String getObject() { Calendar cal = Calendar.getInstance(); cal.setTime(dateModel.getObject()); int month = cal.get(Calendar.MONTH); return getString("month.label." + month); } }); monthLabel.setOutputMarkupId(true); add(monthLabel); add(new AjaxLink<Date>("up", dateModel) { @Override public void onClick(AjaxRequestTarget target) { Calendar cal = Calendar.getInstance(); cal.setTime(getModelObject()); cal.add(Calendar.MONTH, 1); getModel().setObject(cal.getTime()); target.add(monthLabel); onChange(target); } }); add(new AjaxLink<Date>("down", dateModel) { @Override public void onClick(AjaxRequestTarget target) { Calendar cal = Calendar.getInstance(); cal.setTime(getModelObject()); cal.add(Calendar.MONTH, -1); getModel().setObject(cal.getTime()); target.add(monthLabel); onChange(target); } }); }
From source file:de.tudarmstadt.ukp.csniper.webapp.evaluation.page.ContextView.java
License:Apache License
public ContextView(ContextProvider aContextProvider, EvaluationItem aEvaluationItem) throws IOException { super("contextView"); contextProvider = aContextProvider;/*from ww w . j a v a 2 s .c o m*/ evaluationItem = aEvaluationItem; context = getContext(false, false); final Label left = new HtmlLabel("left", new PropertyModel<ItemContext>(context, "left")); left.setOutputMarkupId(true); add(left); add(new HtmlLabel("unitLeft", new PropertyModel<ItemContext>(context, "unitLeft"))); add(new HtmlLabel("unitMatch", new PropertyModel<ItemContext>(context, "match"))); add(new HtmlLabel("unitRight", new PropertyModel<ItemContext>(context, "unitRight"))); final Label right = new HtmlLabel("right", new PropertyModel<ItemContext>(context, "right")); right.setOutputMarkupId(true); add(right); add(new AjaxLink<ItemContext>("moreLeft", new PropertyModel<ItemContext>(context, "moreLeft")) { private static final long serialVersionUID = 3185794699985733066L; { setVisible(context.getMoreLeft() > 0); setOutputMarkupId(true); } @Override public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { replaceComponentTagBody(markupStream, openTag, "(" + getDefaultModelObjectAsString() + " chars) <<< ..."); } @Override public void onClick(AjaxRequestTarget aTarget) { // get more context try { context = getContext(true, false); left.setDefaultModel(new PropertyModel<ItemContext>(context, "left")); setModel(new PropertyModel<ItemContext>(context, "moreLeft")); } catch (IOException e) { // TODO tell the user something went wrong - update feedbackpanel error("Unable to load context: " + e.getMessage()); } // update link setVisible(context.getMoreLeft() > 0); aTarget.add(left, this); } }); add(new AjaxLink<ItemContext>("moreRight", new PropertyModel<ItemContext>(context, "moreRight")) { private static final long serialVersionUID = 3185794699985733066L; { setVisible(context.getMoreRight() > 0); setOutputMarkupId(true); } @Override public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { replaceComponentTagBody(markupStream, openTag, "... >>> (" + getDefaultModelObjectAsString() + " chars)"); } @Override public void onClick(AjaxRequestTarget aTarget) { // get more context try { context = getContext(false, true); right.setDefaultModel(new PropertyModel<ItemContext>(context, "right")); setModel(new PropertyModel<ItemContext>(context, "moreRight")); } catch (IOException e) { // TODO tell the user something went wrong - update feedbackpanel error("Unable to load context: " + e.getMessage()); } // update link setVisible(context.getMoreRight() > 0); aTarget.add(right, this); } }); }
From source file:de.tudarmstadt.ukp.csniper.webapp.support.wicket.ExpandableList.java
License:Apache License
private void initialize() { expandableList = new RepeatingView("expandableList"); AbstractItem item;/*from w w w . jav a2 s. c o m*/ for (Entry<String, String> entry : items.entrySet()) { item = new AbstractItem(expandableList.newChildId()); final Label body = new Label("body", entry.getValue()); body.setOutputMarkupPlaceholderTag(true).setVisible(false).setEscapeModelStrings(false); item.add(body); item.add(new AjaxLink<String>("caption", new Model<String>(entry.getKey())) { private static final long serialVersionUID = 1L; @Override public void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) { replaceComponentTagBody(markupStream, openTag, getModelObject()); } @Override public void onClick(AjaxRequestTarget aTarget) { body.setVisible(!body.isVisible()); aTarget.add(body); } }.add(new AttributeModifier("class", new Model<String>("clickableElement")))); expandableList.add(item); } add(expandableList); }
From source file:eu.clarin.cmdi.virtualcollectionregistry.gui.citation.CitationPanel.java
License:Open Source License
public CitationPanel(String id, final IModel<VirtualCollection> model) { super(id);// ww w. jav a 2 s. c o m AjaxLink citeButton = new AjaxLink("citeButton", new Model<String>("Cite")) { @Override public void onClick(AjaxRequestTarget target) { citationDialog.show(target); } }; add(citeButton); citationDialog = new CitationDialog("citationDialog", model); add(citationDialog); }
From source file:gr.interamerican.wicket.markup.html.panel.DataTableAjaxLinkPanel.java
License:Open Source License
/** * Creates the link for this panel.// w w w. ja va 2s .co m * * @param id * Wicket id of the link. * @param model * Link model. * * @return Returns created link. */ @Override protected AbstractLink getLink(String id, IModel<T> model) { return new AjaxLink<T>(id, model) { /** * serialVersionUID. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { DataTableAjaxLinkPanel.this.onLinkClicked(target); } }; }
From source file:hsa.awp.usergui.PriorityListSelector.java
License:Open Source License
/** * Constructor for PriorityListSelector. * * @param id Wicket id/*from w ww .ja va2 s. c o m*/ * @param drawProc DrawProcedure to be edited */ public PriorityListSelector(String id, final DrawProcedure drawProc) { super(id); singleUser = controller.getUserById(SecurityContextHolder.getContext().getAuthentication().getName()); box = new WebMarkupContainer("prioListSelector.box"); box.setOutputMarkupId(true); form = new Form<String>("prioListSelector.form"); this.setOutputMarkupId(true); form.setOutputMarkupId(true); feedbackPanel.setOutputMarkupId(true); drawProcedureModel = new LoadableDetachedModel<DrawProcedure>() { /** * */ private static final long serialVersionUID = 1L; @Override protected DrawProcedure load() { return controller.getDrawProcedureById(drawProc.getId()); } }; final IModel<List<Event>> eventlistModel = new LoadableDetachableModel<List<Event>>() { /** * */ private static final long serialVersionUID = 1509181846335682010L; @Override protected List<Event> load() { List<Event> eventList = controller.convertToEventList( new ArrayList<Long>(drawProcedureModel.getObject().getCampaign().getEventIds())); Collections.sort(eventList, new Comparator<Event>() { @Override public int compare(Event o1, Event o2) { if (o1.getEventId() > o2.getEventId()) { return 1; } else if (o1.getEventId() < o2.getEventId()) { return -1; } else { return 0; } } }); return filterEventListForSourcebox(eventList); } }; categoryListModel = new LoadableDetachableModel<List<Category>>() { /** * */ private static final long serialVersionUID = -6326470345409063111L; @Override protected List<Category> load() { Set<Category> categories = new TreeSet<Category>(new Comparator<Category>() { @Override public int compare(Category o1, Category o2) { return o1.getName().compareTo(o2.getName()); } }); eventlistModel.detach(); for (Event e : eventlistModel.getObject()) { categories.add(e.getSubject().getCategory()); } return new ArrayList<Category>(categories); } }; IModel<Integer> categoryIterations = new LoadableDetachableModel<Integer>() { /** * */ private static final long serialVersionUID = 1L; @Override protected Integer load() { return categoryListModel.getObject().size(); } }; Loop categoryList = new Loop("prioListSelector.categories", categoryIterations) { /** * generated uid. */ private static final long serialVersionUID = -6820774021151549325L; @Override protected void populateItem(LoopItem item) { Category category = categoryListModel.getObject().get(item.getIteration()); AjaxLink<Category> link = new AjaxLink<Category>("prioListSelector.categoriesLink", new Model<Category>(category)) { /** * generated uid. */ private static final long serialVersionUID = -3667864064733586820L; @Override public void onClick(AjaxRequestTarget target) { sourceBox.removeAllElements(); this.addEventsToSourcebox(); target.addComponent(sourceBox); } private void addEventsToSourcebox() { eventlistModel.detach(); for (Event e : eventlistModel.getObject()) { if (e.getSubject().getCategory().equals(this.getModel().getObject())) { sourceBox.addElement( new DragableElement(DragAndDropableBox.DRAG_AND_DROPABLE_BOX_ITEM, e)); } } } }; link.add(new Label("prioListSelector.categoryName", category.getName())); item.add(link); } }; categoryList.setOutputMarkupId(true); sourceBox = new DragAndDropableBox("prioListSelector.selectableObjects"); form.add(sourceBox); dropBoxList = new ArrayList<DropAndSortableBox>(drawProcedureModel.getObject().getMaximumPriorityLists()); submitButton = new Button("prioListSelector.submit") { /** * generated UID. */ private static final long serialVersionUID = -1440808750941977688L; @Override public void onSubmit() { Set<List<Event>> lists = new HashSet<List<Event>>(); for (DropAndSortableBox box : dropBoxList) { if (box.getEventList().size() > 0) { lists.add(box.getEventList()); } } if (lists.size() != 0) { drawProcedureModel.detach(); try { DrawProcedure drawProcedure = drawProcedureModel.getObject(); controller.createPrioList(SecurityContextHolder.getContext().getAuthentication().getName(), SecurityContextHolder.getContext().getAuthentication().getName(), lists, drawProcedure.getCampaign()); setResponsePage(new OnePanelPage( new PriorityListSelector(OnePanelPage.getPanelIdOne(), drawProcedure))); } catch (IllegalArgumentException e) { moveElementsBackToSource(); feedbackPanel.error("Bitte Eingaben \u00dcberpr\u00fcfen."); } catch (IllegalStateException e) { feedbackPanel.error("Leider zu spt, die Verlosung hat schon stattgefunden."); } } else { feedbackPanel.error("Bitte Eingaben \u00dcberpr\u00fcfen."); } } }; IModel<Integer> prioListIterations = new LoadableDetachableModel<Integer>() { /** * */ private static final long serialVersionUID = -2446977182797089682L; @Override protected Integer load() { DrawProcedure drawProcedure = drawProcedureModel.getObject(); int i = drawProcedure.getMaximumPriorityLists() - controller.findPriorityListsByUserAndProcedure(singleUser.getId(), drawProcedure).size(); PriorityListSelector.submitButton.setVisible(i > 0); PriorityListSelector.messageEmpty.setVisible(!(i > 0)); PriorityListSelector.messageTitle.setVisible((i > 0)); PriorityListSelector.messageSubtitle.setVisible((i > 0)); return i; } }; /* * render priolists dynamically dependent on the attribute in drawProcedure. */ final Loop priolists = new Loop("prioListSelector.listsList", prioListIterations) { /** * */ private static final long serialVersionUID = 1L; @Override protected void populateItem(LoopItem item) { DrawProcedure drawProcedure = drawProcedureModel.getObject(); DropAndSortableBox list = new DropAndSortableBox("prioListSelector.prioList", drawProcedure.getMaximumPriorityListItems()); list.setOutputMarkupId(true); item.add( new Label("prioListSelector.listName", "Wunschliste Kurs " + (item.getIteration() + 1 + controller .findPriorityListsByUserAndProcedure(singleUser.getId(), drawProcedure) .size()))); dropBoxList.add(list); item.add(list); } }; priolists.setOutputMarkupId(true); form.add(categoryList); form.add(messageEmpty); form.add(messageTitle); form.add(messageSubtitle); form.add(priolists); form.add(submitButton); /* * Priolist management */ IModel<List<PriorityList>> prioListsModel = new LoadableDetachableModel<List<PriorityList>>() { /** * generated UID. */ private static final long serialVersionUID = 8833064897441919997L; @Override protected List<PriorityList> load() { List<PriorityList> list = controller.findPriorityListsByUserAndProcedure(singleUser.getId(), drawProcedureModel.getObject()); return list; } }; DrawRegistrationManagementPanel drawRegistrationManagementPanel = new DrawRegistrationManagementPanel( "prioListSelector.managementPanel", prioListsModel); form.add(drawRegistrationManagementPanel); DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm"); box.add(new Label("prioListSelector.heading", drawProcedureModel.getObject().getCampaign().getName() + ": Phase: " + drawProcedureModel.getObject().getName() + " vom " + df.format(drawProcedureModel.getObject().getStartDate().getTime()) + " bis " + (drawProcedureModel.getObject() instanceof DrawProcedure ? df.format(drawProcedureModel.getObject().getDrawDate().getTime()) : df.format((drawProcedureModel.getObject().getEndDate().getTime()))))); box.add(feedbackPanel); box.add(form); add(box); }
From source file:hsa.awp.usergui.prioritylistselectors.PriorityListSelector.java
License:Open Source License
/** * Constructor for PriorityListSelector. * /*from ww w. ja v a 2 s .c om*/ * @param id * Wicket id * @param drawProc * DrawProcedure to be edited */ public PriorityListSelector(String id, final DrawProcedure drawProc) { super(id); messageEmpty.setEscapeModelStrings(false); singleUser = controller.getUserById(SecurityContextHolder.getContext().getAuthentication().getName()); box = new WebMarkupContainer("prioListSelector.box"); box.setOutputMarkupId(true); form = new Form<String>("prioListSelector.form"); this.setOutputMarkupId(true); form.setOutputMarkupId(true); feedbackPanel.setOutputMarkupId(true); drawProcedureModel = new LoadableDetachedModel<DrawProcedure>() { /** * */ private static final long serialVersionUID = 1L; @Override protected DrawProcedure load() { return controller.getDrawProcedureById(drawProc.getId()); } }; final IModel<List<Event>> eventlistModel = new LoadableDetachableModel<List<Event>>() { /** * */ private static final long serialVersionUID = 1509181846335682010L; @Override protected List<Event> load() { List<Event> eventList = controller.convertToEventList( new ArrayList<Long>(drawProcedureModel.getObject().getCampaign().getEventIds())); Collections.sort(eventList, new Comparator<Event>() { @Override public int compare(Event o1, Event o2) { if (o1.getEventId() > o2.getEventId()) { return 1; } else if (o1.getEventId() < o2.getEventId()) { return -1; } else { return 0; } } }); return filterEventListForSourcebox(eventList); } }; categoryListModel = new LoadableDetachableModel<List<Category>>() { /** * */ private static final long serialVersionUID = -6326470345409063111L; @Override protected List<Category> load() { Set<Category> categories = new TreeSet<Category>(new Comparator<Category>() { @Override public int compare(Category o1, Category o2) { return o1.getName().compareTo(o2.getName()); } }); eventlistModel.detach(); for (Event e : eventlistModel.getObject()) { categories.add(e.getSubject().getCategory()); } return new ArrayList<Category>(categories); } }; IModel<Integer> categoryIterations = new LoadableDetachableModel<Integer>() { /** * */ private static final long serialVersionUID = -1513427284596362424L; @Override protected Integer load() { return categoryListModel.getObject().size(); } }; Loop categoryList = new Loop("prioListSelector.categories", categoryIterations) { /** * generated uid. */ private static final long serialVersionUID = -6820774021151549325L; @Override protected void populateItem(LoopItem item) { final Category category = categoryListModel.getObject().get(item.getIteration()); AjaxLink<Category> link = new AjaxLink<Category>("prioListSelector.categoriesLink", new Model<Category>(category)) { /** * generated uid. */ private static final long serialVersionUID = -3667864064733586820L; @Override public void onClick(AjaxRequestTarget target) { sourceBox.removeAllElements(); sourceBox.setComponentId(category.getId()); this.addEventsToSourcebox(); target.addComponent(sourceBox); } private void addEventsToSourcebox() { eventlistModel.detach(); for (Event e : eventlistModel.getObject()) { if (e.getSubject().getCategory().equals(this.getModel().getObject())) { sourceBox.addElement( new DragableElement(DragAndDropableBox.DRAG_AND_DROPABLE_BOX_ITEM, e)); } } } }; link.add(new Label("prioListSelector.categoryName", category.getName())); item.add(link); } }; categoryList.setOutputMarkupId(true); sourceBox = new DragAndDropableBox("prioListSelector.selectableObjects"); form.add(sourceBox); dropBoxList = new ArrayList<DropAndSortableBox>(drawProcedureModel.getObject().getMaximumPriorityLists()); submitButton = new Button("prioListSelector.submit") { /** * generated UID. */ private static final long serialVersionUID = -1440808750941977688L; @Override public void onSubmit() { Set<List<Event>> lists = new HashSet<List<Event>>(); for (DropAndSortableBox box : dropBoxList) { if (box.getEventList().size() > 0) { lists.add(box.getEventList()); } } if (lists.size() != 0) { drawProcedureModel.detach(); try { DrawProcedure drawProcedure = drawProcedureModel.getObject(); controller.createPrioList(SecurityContextHolder.getContext().getAuthentication().getName(), SecurityContextHolder.getContext().getAuthentication().getName(), lists, drawProcedure.getCampaign()); setResponsePage(new OnePanelPage( new PriorityListSelector(OnePanelPage.getPanelIdOne(), drawProcedure))); } catch (IllegalArgumentException e) { moveElementsBackToSource(); feedbackPanel.error("Bitte Eingaben \u00dcberpr\u00fcfen."); } catch (IllegalStateException e) { feedbackPanel.error("Leider zu spt, die Verlosung hat schon stattgefunden."); } } else { feedbackPanel.error("Wunschlisten d\u00dcrfen nicht leer sein!"); } } }; IModel<Integer> prioListIterations = new LoadableDetachableModel<Integer>() { /** * */ private static final long serialVersionUID = -2446977182797089682L; @Override protected Integer load() { DrawProcedure drawProcedure = drawProcedureModel.getObject(); int i = drawProcedure.getMaximumPriorityLists() - controller.findPriorityListsByUserAndProcedure(singleUser.getId(), drawProcedure).size(); PriorityListSelector.submitButton.setVisible(i > 0); PriorityListSelector.messageEmpty.setVisible(!(i > 0)); PriorityListSelector.messageTitle.setVisible((i > 0)); PriorityListSelector.messageSubtitle.setVisible((i > 0)); return i; } }; /* * render priolists dynamically dependent on the attribute in * drawProcedure. */ final Loop priolists = new Loop("prioListSelector.listsList", prioListIterations) { /** * */ private static final long serialVersionUID = 1L; @Override protected void populateItem(LoopItem item) { DrawProcedure drawProcedure = drawProcedureModel.getObject(); DropAndSortableBox list = new DropAndSortableBox("prioListSelector.prioList", drawProcedure.getMaximumPriorityListItems()); list.setOutputMarkupId(true); // item.add(new Label("prioListSelector.listName", // "Wunschliste Kurs " // + (item.getIteration() + 1 + controller // .findPriorityListsByUserAndProcedure( // singleUser.getId(), // drawProcedure).size()))); dropBoxList.add(list); item.add(list); } }; priolists.setOutputMarkupId(true); form.add(categoryList); form.add(messageEmpty); form.add(messageTitle); form.add(messageSubtitle); form.add(priolists); form.add(submitButton); /* * Priolist management */ IModel<List<PriorityList>> prioListsModel = new LoadableDetachableModel<List<PriorityList>>() { /** * generated UID. */ private static final long serialVersionUID = 8833064897441919997L; @Override protected List<PriorityList> load() { List<PriorityList> list = controller.findPriorityListsByUserAndProcedure(singleUser.getId(), drawProcedureModel.getObject()); return list; } }; DrawRegistrationManagementPanel drawRegistrationManagementPanel = new DrawRegistrationManagementPanel( "prioListSelector.managementPanel", prioListsModel); form.add(drawRegistrationManagementPanel); DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm"); box.add(new Label("prioListSelector.heading", drawProcedureModel.getObject().getCampaign().getName() + ": Phase: " + drawProcedureModel.getObject().getName() + " vom " + df.format(drawProcedureModel.getObject().getStartDate().getTime()) + " bis " + (drawProcedureModel.getObject() instanceof DrawProcedure ? df.format(drawProcedureModel.getObject().getDrawDate().getTime()) : df.format((drawProcedureModel.getObject().getEndDate().getTime()))))); box.add(feedbackPanel); box.add(form); add(box); }
From source file:it.av.eatt.web.page.FriendsPage.java
License:Apache License
/** * Constructor that is invoked when page is invoked without a session. * // w w w. j a v a 2 s .co m * @throws JackWicketException */ public FriendsPage() throws JackWicketException { super(); allRelations = userRelationService.getAllRelations(getLoggedInUser()); final Label noYetFriends = new Label("noYetFriends", getString("noYetFriends")) { @Override protected void onBeforeRender() { super.onBeforeRender(); setVisible(allRelations.size() == 0); } }; noYetFriends.setOutputMarkupId(true); noYetFriends.setOutputMarkupPlaceholderTag(true); add(noYetFriends); final WebMarkupContainer friendsListContainer = new WebMarkupContainer("friendsListContainer"); friendsListContainer.setOutputMarkupId(true); add(friendsListContainer); friendsList = new PropertyListView<EaterRelation>("friendsList", allRelations) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<EaterRelation> item) { boolean isPendingFriendRequest = item.getModelObject().getStatus() .equals(EaterRelation.STATUS_PENDING) && item.getModelObject().getToUser().equals(getLoggedInUser()); item.add(new Label(EaterRelation.TO_USER + ".firstname")); item.add(new Label(EaterRelation.TO_USER + ".lastname")); item.add(new Label(EaterRelation.TYPE)); item.add(new Label(EaterRelation.STATUS)); // item.add(new Label(EaterRelation.TO_USER + ".userRelation")); item.add(new AjaxLink<EaterRelation>("remove", new Model<EaterRelation>(item.getModelObject())) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { try { ((FriendsPage) getPage()).userRelationService.remove(getModelObject()); allRelations = userRelationService.getAllRelations(getLoggedInUser()); ((FriendsPage) target.getPage()).friendsList.setModelObject(allRelations); noYetFriends.setVisible(allRelations.size() == 0); target.addComponent((noYetFriends)); target.addComponent((friendsListContainer)); // info(new StringResourceModel("info.userRelationRemoved", this, null).getString()); } catch (JackWicketException e) { error(new StringResourceModel("genericErrorMessage", this, null).getString()); } target.addComponent(((FriendsPage) target.getPage()).getFeedbackPanel()); } }); item.add(new AjaxLink<EaterRelation>("acceptFriend", new Model<EaterRelation>(item.getModelObject())) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { try { ((FriendsPage) getPage()).userRelationService .performFriendRequestConfirm(getModelObject()); allRelations = userRelationService.getAllRelations(getLoggedInUser()); ((FriendsPage) target.getPage()).friendsList.setModelObject(allRelations); noYetFriends.setVisible(allRelations.size() == 0); target.addComponent((noYetFriends)); target.addComponent((friendsListContainer)); // info(new StringResourceModel("info.userRelationRemoved", this, null).getString()); } catch (JackWicketException e) { error(new StringResourceModel("genericErrorMessage", this, null).getString()); } target.addComponent(((FriendsPage) target.getPage()).getFeedbackPanel()); } }.setVisible(isPendingFriendRequest)); item.add(new AjaxLink<EaterRelation>("ignoreFriendRequest", new Model<EaterRelation>(item.getModelObject())) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { try { ((FriendsPage) getPage()).userRelationService .performFriendRequestIgnore(getModelObject()); allRelations = userRelationService.getAllRelations(getLoggedInUser()); ((FriendsPage) target.getPage()).friendsList.setModelObject(allRelations); noYetFriends.setVisible(allRelations.size() == 0); target.addComponent((noYetFriends)); target.addComponent((friendsListContainer)); // info(new StringResourceModel("info.userRelationRemoved", this, null).getString()); } catch (JackWicketException e) { error(new StringResourceModel("genericErrorMessage", this, null).getString()); } target.addComponent(((FriendsPage) target.getPage()).getFeedbackPanel()); } }.setVisible(isPendingFriendRequest)); } }; friendsListContainer.add(friendsList); }