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

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

Introduction

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

Prototype

public AjaxLink(final String id) 

Source Link

Document

Construct.

Usage

From source file:com.francetelecom.clara.cloud.presentation.environments.EnvironmentsPage.java

License:Apache License

private void createNewEnvironmentButton() {
    buttonContainer = new WebMarkupContainer("buttonContainer");
    buttonContainer.setOutputMarkupId(true);

    //create link
    newEnvironment = new AjaxLink("newEnvLink") {

        @Override/*from  w  w w  . j  av  a  2s  .co  m*/
        public void onClick(AjaxRequestTarget target) {

            envCreatePanel = new EnvironmentCreatePanel("createEnvironmentForm", null, manageApplicationRelease,
                    manageEnvironment, manageApplication);

            container.addOrReplace(envCreatePanel);
            target.add(container);

            this.setVisible(false);
            target.add(buttonContainer);

        }
    };
    newEnvironment.setMarkupId("newEnvLink");
    buttonContainer.add(newEnvironment);
    add(buttonContainer);
}

From source file:com.francetelecom.clara.cloud.presentation.releases.ReleaseInformationPanel.java

License:Apache License

private void createButtons() {

    buttonContainer = new WebMarkupContainer("buttonContainer");
    editButton = new AjaxLink<Void>("releaseModifyLink") {
        @Override//from  www  .  ja  v a  2  s  .c om
        public void onClick(AjaxRequestTarget target) {
            setEditable(true, target);
        }
    };

    cancelButton = new AjaxLink<Void>("releaseCancelLink") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            setEditable(false, target);
        }
    };

    deleteButton = new AjaxLink<ApplicationRelease>("releaseDeleteLink", getModel()) {

        @Override
        public void onClick(AjaxRequestTarget target) {

            try {
                manageApplicationRelease.deleteApplicationRelease(getModelObject().getUID());
            } catch (ObjectNotFoundException e) {
                BusinessExceptionHandler handler = new BusinessExceptionHandler(parentPage);
                handler.error(e);
                target.add(parentPage.getFeedbackPanel());
            } catch (BusinessException e) {
                BusinessExceptionHandler handler = new BusinessExceptionHandler(parentPage);
                handler.error(e);
                target.add(parentPage.getFeedbackPanel());
            }

            if (params.getNamedKeys().contains("releaseUid")) {
                params.remove("releaseUid");
            }
            if (params.getNamedKeys().contains("edit")) {
                params.remove("edit");
            }
            if (params.getNamedKeys().contains("step")) {
                params.remove("step");
            }
            setResponsePage(SelectedAppPage.class, params);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            String releaseLabel = getModelObject().getApplication().getLabel() + " - "
                    + getModelObject().getReleaseVersion();
            attributes.getAjaxCallListeners()
                    .add(new DeleteConfirmationDecorator(getString("portal.release.action.delete.confirm",
                            new Model<String[]>(new String[] { releaseLabel }))));
        }

    };

    updateButton = new AjaxSubmitLink("releaseUpdateLink") {

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                ApplicationRelease applicationRelease = manageApplicationRelease
                        .updateApplicationRelease((ApplicationRelease) form.getModelObject());
                form.setDefaultModel(new CompoundPropertyModel<ApplicationRelease>(applicationRelease));
                target.add(form);
            } catch (ObjectNotFoundException e) {
                BusinessExceptionHandler handler = new BusinessExceptionHandler(parentPage);
                handler.error(e);
                target.add(parentPage.getFeedbackPanel());
            }
            setEditable(false, target);

            List<BreadcrumbsItem> bci = ((SelectedReleasePage) getPage()).getBreadcrumbsItems();
            BreadcrumbsItem updatedItem = bci.get(2);
            ApplicationRelease updatedRelease = releaseForm.getModelObject();
            updatedItem.setName(updatedRelease.getReleaseVersion());
            bci.remove(2);
            bci.add(updatedItem);
            send(getPage(), Broadcast.BREADTH, new BreadcrumbsUpdateEvent(bci, target));
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            setEditable(true, target);
        }
    };

    cancelButton.add(new Label("cancelLabel", new StringResourceModel("portal.release.action.cancel", null)));
    editButton.add(new Label("modifyLabel", new StringResourceModel("portal.release.action.modify", null)));
    deleteButton.add(new Label("deleteLabel", new StringResourceModel("portal.release.action.delete", null)));
    updateButton.add(new Label("updateLabel", new StringResourceModel("portal.release.action.update", null)));

    buttonContainer.add(cancelButton);
    buttonContainer.add(editButton);
    buttonContainer.add(deleteButton);
    buttonContainer.add(updateButton);

    buttonContainer.setOutputMarkupId(true);

    releaseForm.add(buttonContainer);

}

From source file:com.francetelecom.clara.cloud.presentation.releases.ReleasesPage.java

License:Apache License

private void createNewReleaseButton() {
    buttonContainer = new WebMarkupContainer("buttonContainer");
    buttonContainer.setOutputMarkupId(true);

    //create link
    newRelease = new AjaxLink("newReleaseLink") {

        @Override//from  w ww.  ja v  a  2s  .  co m
        public void onClick(AjaxRequestTarget target) {
            this.setVisible(false);
            target.add(buttonContainer);
            releaseCreatePanel.setVisible(true);
            newReleaseContainer.addOrReplace(releaseCreatePanel);
            target.add(newReleaseContainer);
        }
    };
    newRelease.setMarkupId("newReleaseLink");
    buttonContainer.add(newRelease);
    add(buttonContainer);
}

From source file:com.francetelecom.clara.cloud.presentation.releases.SelectedReleasePage.java

License:Apache License

private void createNewEnvironmentButton() {

    //create link
    newEnv = new AjaxLink("newEnvLink") {

        @Override// w w w  . ja v  a2s  .  c  o m
        public void onClick(AjaxRequestTarget target) {

            createEnvironmentFormPanel();
            target.add(container);

            this.setVisible(false);
            target.add(buttonContainer);

        }
    };
    newEnv.setVisible(release.getApplication().isEditable());

    buttonContainer.add(newEnv);

    add(buttonContainer);
}

From source file:com.genericconf.bbbgateway.web.pages.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    IModel<? extends List<? extends Meeting>> model = new LoadableDetachableModel<List<? extends Meeting>>() {
        private static final long serialVersionUID = 1L;

        @Override/*from  w w  w.  java 2s .com*/
        protected List<? extends Meeting> load() {
            return new ArrayList<Meeting>(meetingService.getMeetings());
        }
    };

    final WebMarkupContainer joinContainer = new WebMarkupContainer("joinContainer");
    joinContainer.setOutputMarkupPlaceholderTag(true).setVisible(false);
    add(joinContainer);

    final WebMarkupContainer placeholder = new WebMarkupContainer("tablePlaceholder");
    placeholder.add(new AbstractAjaxTimerBehavior(
            Duration.seconds(TimerSettings.INSTANCE.getSecondsBetweenHomePagePolls())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onTimer(AjaxRequestTarget target) {
            target.addComponent(placeholder);
            target.appendJavascript("initializeTableStuff();");
        }

    });
    final PropertyListView<Meeting> meetingList = new PropertyListView<Meeting>("meetings", model) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Meeting> item) {
            item.add(new Label("name"));
            item.add(new DateTimeLabel("startTime"));
            item.add(new Label("attendeesInMeeting"));
            item.add(new Label("attendeesWaiting"));
            item.add(new AjaxLink<Void>("join") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    JoinMeetingFormPanel panel = new JoinMeetingFormPanel(joinContainer.getId(),
                            item.getModel());
                    joinContainer.replaceWith(panel);
                    target.addComponent(panel);

                    panel.add(new SimpleAttributeModifier("style", "display: none;"));
                    panel.onAjaxRequest(target);

                    StringBuffer js = new StringBuffer().append("$('#").append(panel.getMarkupId())
                            .append("').dialog({ modal: true, title: 'Join Meeting' });");
                    target.appendJavascript(js.toString());
                }
            });
        }

    };
    meetingList.setOutputMarkupId(true);
    add(placeholder.setOutputMarkupId(true));
    placeholder.add(meetingList);
}

From source file:com.genericconf.bbbgateway.web.panels.AttendeeAndWaitingListPanel.java

License:Apache License

private Component createAttendeeList(final String id, IModel<? extends List<? extends Attendee>> listmodel) {
    ListView<Attendee> lv = new PropertyListView<Attendee>(id, listmodel) {
        private static final long serialVersionUID = 1L;

        @Override/*from  ww w.j  a  va2  s.c o m*/
        protected void populateItem(final ListItem<Attendee> item) {
            item.setOutputMarkupId(true);
            item.add(new Label("name"));
            item.add(new Label("userID") {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return getDefaultModelObject() != null;
                }
            });
            item.add(new Label("role"));

            final WebMarkupContainer admin = new WebMarkupContainer("admin") {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return "waiters".equals(id) && allowAdminControls;
                }
            };
            item.add(admin.setOutputMarkupId(true));
            admin.add(new AjaxLink<Void>("allowToJoin") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    item.getModelObject().setAllowedToJoin(true);
                    target.addComponent(admin);
                }

                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    final Attendee att = item.getModelObject();
                    String text = att.isAllowedToJoin() ? "already allowed in" : "allow to join";
                    replaceComponentTagBody(markupStream, openTag, text);
                }

                @Override
                public boolean isEnabled() {
                    return item.getModelObject().isAllowedToJoin() == false;
                }

            });
            admin.add(new AjaxLink<Void>("swapRole") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    Role newRole = Role.VIEWER.equals(item.getModelObject().getRole()) ? Role.MODERATOR
                            : Role.VIEWER;
                    item.getModelObject().setRole(newRole);
                    target.addComponent(AttendeeAndWaitingListPanel.this);
                }

                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    final Attendee att = item.getModelObject();
                    String text = Role.VIEWER.equals(att.getRole()) ? "make moderator" : "make viewer";
                    replaceComponentTagBody(markupStream, openTag, text);
                }

            });
        }
    };
    lv.setOutputMarkupId(true);
    return lv;
}

From source file:com.gitblit.wicket.panels.SshKeysPanel.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    setOutputMarkupId(true);/* www .  j av a2 s  .  co  m*/

    final List<SshKey> keys = new ArrayList<SshKey>(app().keys().getKeys(user.username));
    final ListDataProvider<SshKey> dp = new ListDataProvider<SshKey>(keys);
    final DataView<SshKey> keysView = new DataView<SshKey>("keys", dp) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(final Item<SshKey> item) {
            final SshKey key = item.getModelObject();
            item.add(new Label("comment", key.getComment()));
            item.add(new Label("fingerprint", key.getFingerprint()));
            item.add(new Label("permission", key.getPermission().toString()));
            item.add(new Label("algorithm", key.getAlgorithm()));

            AjaxLink<Void> delete = new AjaxLink<Void>("delete") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    if (app().keys().removeKey(user.username, key)) {
                        // reset the keys list
                        keys.clear();
                        keys.addAll(app().keys().getKeys(user.username));

                        // update the panel
                        target.add(SshKeysPanel.this);
                    }
                }
            };
            if (!canWriteKeys) {
                delete.setVisibilityAllowed(false);
            }
            item.add(delete);
        }
    };
    add(keysView);

    Form<Void> addKeyForm = new Form<Void>("addKeyForm");

    final IModel<String> keyData = Model.of("");
    addKeyForm.add(new TextAreaOption("addKeyData", getString("gb.key"), null, "span5", keyData));

    final IModel<AccessPermission> keyPermission = Model.of(AccessPermission.PUSH);
    addKeyForm.add(new ChoiceOption<AccessPermission>("addKeyPermission", getString("gb.permission"),
            getString("gb.sshKeyPermissionDescription"), keyPermission,
            Arrays.asList(AccessPermission.SSHPERMISSIONS)));

    final IModel<String> keyComment = Model.of("");
    addKeyForm.add(new TextOption("addKeyComment", getString("gb.comment"),
            getString("gb.sshKeyCommentDescription"), "span5", keyComment));

    addKeyForm.add(new AjaxButton("addKeyButton") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target) {

            UserModel user = GitBlitWebSession.get().getUser();
            String data = keyData.getObject();
            if (StringUtils.isEmpty(data)) {
                // do not submit empty key
                return;
            }

            SshKey key = new SshKey(data);
            try {
                key.getPublicKey();
            } catch (Exception e) {
                // failed to parse the key
                return;
            }

            AccessPermission permission = keyPermission.getObject();
            key.setPermission(permission);

            String comment = keyComment.getObject();
            if (!StringUtils.isEmpty(comment)) {
                key.setComment(comment);
            }

            if (app().keys().addKey(user.username, key)) {
                // reset add key fields
                keyData.setObject("");
                keyPermission.setObject(AccessPermission.PUSH);
                keyComment.setObject("");

                // reset the keys list
                keys.clear();
                keys.addAll(app().keys().getKeys(user.username));

                // update the panel
                target.add(SshKeysPanel.this);
            }
        }
    });

    if (!canWriteKeys) {
        addKeyForm.setVisibilityAllowed(false);
    }

    add(addKeyForm);
}

From source file:com.github.marting.wicket.datastore.memcached.app.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    super(parameters);

    add(new AjaxLink<Void>("link") {
        @Override//from  w  ww  . j av a2 s.  c  o m
        public void onClick(AjaxRequestTarget target) {
            // create a new page
            setResponsePage(Page2.class);
        }
    });
}

From source file:com.github.marting.wicket.datastore.memcached.app.Page2.java

License:Apache License

public Page2(final PageParameters parameters) {
    super(parameters);

    add(new AjaxLink<Void>("link") {
        @Override//from   www .  j a  v  a2s.com
        public void onClick(AjaxRequestTarget target) {
            // create a new page
            setResponsePage(HomePage.class);
        }
    });
}

From source file:com.kenai.wicketgae.web.panels.person.edit.PersonPhoneNumbersEditPanel.java

License:Apache License

public PersonPhoneNumbersEditPanel(final String id, final IModel<Person> model, final MainPage mainPage) {
    super(id, model);
    setOutputMarkupId(true);//from   w  ww .  ja va 2s  . c o m

    final Form<Void> form = new Form<Void>("form");
    add(form);

    final IModel<List<PhoneNumber>> listModel = new PropertyModel<List<PhoneNumber>>(model, "phoneNumbers");

    listView = new ListView<PhoneNumber>("phoneNumbers", listModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<PhoneNumber> item) {
            final IModel<PhoneNumber> phoneNumberModel = item.getModel();
            item.add(new Label("type", new PropertyModel<String>(phoneNumberModel, "type")));
            item.add(new Label("number", new PropertyModel<String>(phoneNumberModel, "number")));

            final AjaxLink<Void> delete = new AjaxLink<Void>("delete") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    deletePhoneNumber(phoneNumberModel, target);
                }

            };
            item.add(delete);

        }

        @Override
        protected ListItem<PhoneNumber> newItem(final int index) {
            return new OddEvenListItem<PhoneNumber>(index, getListItemModel(getModel(), index));
        }

    };
    listView.setOutputMarkupId(true);
    form.add(listView);

    final TextField<String> typeTextField = new TextField<String>("newType",
            new PropertyModel<String>(this, "newType"));
    form.add(typeTextField);

    final TextField<String> numberTextField = new TextField<String>("newNumber",
            new PropertyModel<String>(this, "newNumber"));
    numberTextField.setRequired(true);
    form.add(numberTextField);

    final Button add = new AjaxButton("add", form) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            addPhoneNumber(target);
        }

    };
    form.add(add);

}