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, final IModel<T> model) 

Source Link

Document

Construct.

Usage

From source file:com.tysanclan.site.projectewok.components.IconLink.java

License:Open Source License

protected AbstractLink createResponderLink(ClickResponder responder) {
    AbstractLink responderLink = null;/*w w  w .  j  av  a  2s .c om*/

    if (responder.isUseAjax()) {
        responderLink = new AjaxLink<ClickResponder>("link", new Model<ClickResponder>(responder)) {
            private static final long serialVersionUID = 1L;

            /**
             * @see org.apache.wicket.Component#onDetach()
             */
            @Override
            protected void onDetach() {
                super.onDetach();

                ClickResponder cr = getModelObject();
                cr.detach();
            }

            @Override
            public void onClick(AjaxRequestTarget target) {
                ClickResponder cr = getModelObject();
                Injector.get().inject(cr);
                cr.onClick(target);
            }
        };
    } else {
        responderLink = new Link<ClickResponder>("link", new Model<ClickResponder>(responder)) {
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick() {
                ClickResponder cr = getModelObject();
                Injector.get().inject(cr);

                cr.onClick(null);
            }
        };
    }

    return responderLink;
}

From source file:com.tysanclan.site.projectewok.components.OtterSniperPanel.java

License:Open Source License

public OtterSniperPanel(String id, int otterNumber) {
    super(id);/*  w w  w.jav  a 2  s  .  c  om*/
    this.otterId = otterNumber;

    if (otterNumber > otters.length) {
        otterId = 0;
    } else if (otterNumber < 0) {
        otterId = 0;
    } else {
        otterId = otterNumber;
    }

    User currentUser = null;
    if (TysanSession.get() != null) {
        currentUser = TysanSession.get().getUser();
    }

    OtterSightingFilter filter = new OtterSightingFilter();
    filter.setUser(currentUser);
    filter.setOtterNumber(otterNumber);

    boolean hasSighting = otterSightDao.countByFilter(filter) > 0;

    AjaxLink<User> otterLink = new AjaxLink<User>("otterLink", ModelMaker.wrap(currentUser)) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            User user = getModelObject();

            if (user != null) {
                humorService.otterSighted(TysanSession.get().getUser(), otterId);
                livingGnomeContainer.setVisible(false);
                deadGnomeContainer.setVisible(true);
                target.add(deadGnomeContainer);
                target.add(livingGnomeContainer);
            }
        }
    };

    otterLink.add(new ContextImage("gnome", "images/blah/" + otters[otterId]));

    livingGnomeContainer = new WebMarkupContainer("livingGnomeContainer");
    livingGnomeContainer.setOutputMarkupPlaceholderTag(true);
    livingGnomeContainer.add(otterLink);
    livingGnomeContainer.setVisible(currentUser != null && !hasSighting);

    deadGnomeContainer = new WebMarkupContainer("deadGnomeContainer");
    deadGnomeContainer.setOutputMarkupPlaceholderTag(true);
    deadGnomeContainer.add(new ContextImage("otter", "images/blah/welldonesir.png"));
    deadGnomeContainer.setVisible(false);
    add(livingGnomeContainer);
    add(deadGnomeContainer);

    this.setVisible(globalSetting.getGlobalSetting(GlobalSettings.BLAH).getValue().equals("allhailblah"));
}

From source file:com.tysanclan.site.projectewok.components.TysanMemberPanel.java

License:Open Source License

/**
*///from w ww  .ja  v  a  2 s.  c o  m
private Dialog addMembersOnlineLink() {
    Dialog window = new Dialog("onlinewindow");
    window.setTitle("Members online");
    window.setOutputMarkupId(true);
    window.setOutputMarkupPlaceholderTag(true);
    window.setWidth(400);

    window.add(new OtterSniperPanel("otterSniperPanel", 4));

    AjaxLink<Dialog> link = new AjaxLink<Dialog>("online", new Model<Dialog>(window)) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (target != null) {
                target.appendJavaScript(getModelObject().open().render().toString());
            }

        }

    };

    link.add(new Label("count", new MembersOnlineCountModel()).setOutputMarkupId(true));

    window.add(new ListView<User>("members", ModelMaker.wrap(userService.getMembersOnline())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<User> item) {
            MemberListItem memberLink = new MemberListItem("link", item.getModelObject());

            item.add(memberLink);

        }

    });

    window.add(new ListView<MumbleServer>("servers", ModelMaker.wrap(serverDAO.findAll())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<MumbleServer> item) {
            MumbleServer server = item.getModelObject();

            item.add(new WebMarkupContainer("server")
                    .add(AttributeModifier.replace("data-token", server.getApiToken()))
                    .add(AttributeModifier.replace("data-id", server.getServerID())));

            item.add(new ExternalLink("url", server.getUrl()).setBody(Model.of(server.getUrl())));
            item.add(new Label("password", server.getPassword()));

        }

    });

    add(link);
    add(window);
    return window;
}

From source file:com.tysanclan.site.projectewok.pages.member.RolesManagementPage.java

License:Open Source License

/**
 * //w  ww .jav a2 s  .  co m
 */
public RolesManagementPage() {
    super("Roles management");

    RoleFilter filter = new RoleFilter();
    filter.addOrderBy("roleType", true);
    filter.addOrderBy("name", true);

    List<Role> roles = roleDAO.findByFilter(filter);

    add(new ListView<Role>("roles", ModelMaker.wrap(roles)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private UserDAO userDAO;

        @Override
        protected void populateItem(ListItem<Role> item) {
            Role role = item.getModelObject();

            item.add(new Label("name", role.getName()));

            if (role.getAssignedTo() != null) {
                item.add(new MemberListItem("member", role.getAssignedTo()));
            } else {
                item.add(new Label("member", "-"));
            }

            Dialog reassignDialog = new Dialog("assigndialog");

            Form<Role> reassignForm = new Form<Role>("assign", ModelMaker.wrap(role)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private RoleService roleService;

                /**
                 * @see org.apache.wicket.markup.html.form.Form#onSubmit()
                 */
                @SuppressWarnings("unchecked")
                @Override
                protected void onSubmit() {
                    DropDownChoice<User> userChoice = (DropDownChoice<User>) get("user");

                    User user = userChoice.getModelObject();

                    if (user != null) {
                        roleService.assignTo(getUser().getId(), getModelObject().getId(), user.getId());
                        setResponsePage(new RolesManagementPage());
                    }
                }
            };

            reassignDialog.setAutoOpen(false);
            reassignDialog.setTitle("Assign role " + role.getName());

            UserFilter f = new UserFilter();
            f.addRank(Rank.CHANCELLOR);
            f.addRank(Rank.SENATOR);
            f.addRank(Rank.TRUTHSAYER);
            f.addRank(Rank.REVERED_MEMBER);
            f.addRank(Rank.SENIOR_MEMBER);
            f.addRank(Rank.FULL_MEMBER);

            List<User> users = userDAO.findByFilter(f);

            reassignForm.add(new DropDownChoice<User>("user", ModelMaker.wrap(users.get(0), true),
                    ModelMaker.wrap(users)).setNullValid(false));

            reassignDialog.add(reassignForm);

            item.add(reassignDialog);

            AjaxLink<Dialog> reassignLink = new AjaxLink<Dialog>("reassign",
                    new Model<Dialog>(reassignDialog)) {
                private static final long serialVersionUID = 1L;

                /**
                 * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
                 */
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Dialog dlg = getModelObject();

                    if (target != null) {
                        dlg.open(target);
                    }

                }

            };

            reassignLink.add(new ContextImage("icon", "images/icons/vcard.png"));

            reassignLink.setVisible(role.isReassignable());

            Link<Role> editLink = new Link<Role>("edit", ModelMaker.wrap(role)) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick() {
                    setResponsePage(new EditRolePage(getModelObject()));

                }

            };

            editLink.add(new ContextImage("icon", "images/icons/vcard_edit.png"));

            editLink.setVisible(role.isReassignable());

            Dialog deletedialog = new Dialog("deletedialog");
            deletedialog.setTitle("Delete role " + role.getName());
            deletedialog.setAutoOpen(false);

            deletedialog.add(new Label("name", role.getName()));

            Link<Role> yesDeleteLink = new Link<Role>("yes", ModelMaker.wrap(role)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private RoleService roleService;

                @Override
                public void onClick() {
                    roleService.deleteRole(getUser(), getModelObject());
                    setResponsePage(new RolesManagementPage());
                }

            };

            yesDeleteLink.add(new ContextImage("icon", "images/icons/tick.png"));

            deletedialog.add(yesDeleteLink);

            AjaxLink<Dialog> noDeleteLink = new AjaxLink<Dialog>("no", new Model<Dialog>(deletedialog)) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    Dialog dlg = getModelObject();

                    if (target != null) {
                        dlg.close(target);
                    }

                }

            };

            noDeleteLink.add(new ContextImage("icon", "images/icons/cross.png"));

            deletedialog.add(noDeleteLink);

            item.add(deletedialog);

            AjaxLink<Dialog> deleteLink = new AjaxLink<Dialog>("delete", new Model<Dialog>(deletedialog)) {
                private static final long serialVersionUID = 1L;

                /**
                 * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
                 */
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Dialog dlg = getModelObject();

                    if (target != null) {
                        dlg.open(target);
                    }
                }

            };

            deleteLink.add(new ContextImage("icon", "images/icons/vcard_delete.png"));

            deleteLink.setVisible(role.isReassignable());

            item.add(new WebMarkupContainer("nonreassignable").setVisible(!role.isReassignable()));
            item.add(new WebMarkupContainer("noneditable").setVisible(!role.isReassignable()));
            item.add(new WebMarkupContainer("nondeletable").setVisible(!role.isReassignable()));

            item.add(reassignLink);
            item.add(deleteLink);
            item.add(editLink);
        }

    });

    Form<Role> addRoleForm = new Form<Role>("addRoleForm") {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private RoleService roleService;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            TextField<String> nameField = (TextField<String>) get("name");
            TextArea<String> descriptionArea = (TextArea<String>) get("description");

            String name = nameField.getModelObject();
            String description = descriptionArea.getModelObject();

            roleService.createRole(getUser(), name, description, RoleType.NORMAL);

            setResponsePage(new RolesManagementPage());
        }

    };

    addRoleForm.add(new TextField<String>("name", new Model<String>("")));
    addRoleForm.add(new BBCodeTextArea("description", ""));

    add(addRoleForm);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.components.ExperimentPackageManagePanel.java

License:Apache License

/**
 * Adds list of licenses attached to the package.
 *
 * @param cont container to add the list to
 *//*from w w w. j  av a  2 s.c  om*/
private void addLicenseList(WebMarkupContainer cont) {

    IModel<List<ExperimentPackageLicense>> licenses = new LoadableDetachableModel<List<ExperimentPackageLicense>>() {
        @Override
        protected List<ExperimentPackageLicense> load() {
            return experimentPackageLicenseFacade.getExperimentPackageLicensesForPackage(epModel.getObject());
        }
    };

    ListView<ExperimentPackageLicense> view = new ListView<ExperimentPackageLicense>("licenseView", licenses) {
        @Override
        protected void populateItem(ListItem<ExperimentPackageLicense> item) {
            AjaxLink<License> link = new AjaxLink<License>("licenseItem",
                    new Model<License>(item.getModelObject().getLicense())) {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    licenseModel.setObject(this.getModelObject());
                    viewLicenseWindow.show(target);
                }
            };
            link.add(new Label("licenseItemLabel",
                    new PropertyModel<String>(item.getModelObject().getLicense(), "title")));
            item.add(link);
            item.add(new Label("price", new Model<BigDecimal>(item.getModelObject().getPrice())));
        }
    };

    AjaxLink<Void> link = new AjaxLink<Void>("addLicenseLink") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            addLicenseWindow.show(target);
        }
    };

    cont.add(link);
    cont.add(view);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.components.ExperimentPackageManagePanel.java

License:Apache License

/**
 * Create link which changes visibility settings of the experimentListCont
 * container//from  ww  w .  jav a  2 s . c  om
 *
 * @param id link's id
 * @param makeVisible makes the container visible or invisible?
 * @return ajax link
 */
private AjaxLink createVisibilityLink(String id, boolean makeVisible) {
    AjaxLink link = new AjaxLink<Boolean>(id, new Model<Boolean>(makeVisible)) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            ExperimentPackageManagePanel.this.experimentListCont.setVisible(this.getModelObject());
            target.add(ExperimentPackageManagePanel.this.experimentListCont);
            target.add(footer);
        }

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

            boolean contVisible = ExperimentPackageManagePanel.this.experimentListCont.isVisible();
            if (this.getModelObject()) {
                //link for making cont visible is accessible only if the cont
                //is currently invisible
                this.setVisible(!contVisible);
            } else {
                //and vice versa
                this.setVisible(contVisible);
            }
        }
    };

    String resourceKey = makeVisible ? "button.show" : "button.hide";

    link.add(new Label("linkLabel", new StringResourceModel(resourceKey, this, null)));

    return link;
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.components.ExperimentPackagePanel.java

License:Apache License

/**
 * Adds list of licenses attached to the package.
 *
 * @param cont container to add the list to
 *//*from  w  w  w .  j  a v a  2 s .c o  m*/
@SuppressWarnings("serial")
private void addPackageLicenseList(WebMarkupContainer cont) {

    viewLicenseWindow = new ModalWindow("viewLicenseWindow");
    viewLicenseWindow.setAutoSize(true);
    viewLicenseWindow.setResizable(false);
    viewLicenseWindow.setMinimalWidth(600);
    viewLicenseWindow.setWidthUnit("px");
    viewLicenseWindow.showUnloadConfirmation(false);
    add(viewLicenseWindow);

    priceCont = new WebMarkupContainer("priceCont") {
        @Override
        protected void onConfigure() {
            super.onConfigure();
            this.setVisible(packageLicenseModel.getObject() != null);
        }
    };
    priceCont.setOutputMarkupPlaceholderTag(true);
    Label price = new Label("price", new PropertyModel<String>(packageLicenseModel, "price"));
    priceCont.add(price);

    AjaxDropDownChoice<?> ddc = noPackage ? createLicenseChoice() : createPackageLicenseChoice();

    viewLicenseWindow.setContent(new ViewLicensePanel(viewLicenseWindow.getContentId(), licenseModel, false));
    viewLicenseWindow.setTitle(ResourceUtils.getModel("dataTable.heading.licenseTitle"));
    viewLicenseLink = new AjaxLink<License>("viewLicenseLink", licenseModel) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            viewLicenseWindow.show(target);
        }

        @Override
        protected void onConfigure() {
            super.onConfigure();
            this.setVisible(licenseModel.getObject() != null);
        }

    };
    viewLicenseLink.setOutputMarkupPlaceholderTag(true);

    cont.add(ddc);
    cont.add(viewLicenseLink);
    cont.add(priceCont);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.components.ExperimentPackagePanel.java

License:Apache License

/**
 * Create link which changes visibility settings of the experimentListCont container
 * @param id link's id/*from  w  w w  .j a va2 s  .com*/
 * @param makeVisible makes the container visible or invisible?
 * @return ajax link
 */
private AjaxLink createVisibilityLink(String id, boolean makeVisible) {
    AjaxLink link = new AjaxLink<Boolean>(id, new Model<Boolean>(makeVisible)) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            ExperimentPackagePanel.this.experimentListCont.setVisible(this.getModelObject());
            target.add(ExperimentPackagePanel.this.experimentListCont);
            target.add(footer);
        }

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

            boolean contVisible = ExperimentPackagePanel.this.experimentListCont.isVisible();
            if (this.getModelObject()) {
                //link for making cont visible is accessible only if the cont
                //is currently invisible
                this.setVisible(!contVisible);
            } else {
                //and vice versa
                this.setVisible(contVisible);
            }
        }
    };

    String resourceKey = makeVisible ? "button.show" : "button.hide";

    link.add(new Label("linkLabel", new StringResourceModel(resourceKey, this, null)));

    return link;
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.licenses.components.RejectLicensePanel.java

License:Apache License

public RejectLicensePanel(String id, IModel<PersonalLicense> request) {
    super(id);//  ww w .  j av  a 2  s  .c  o  m

    window = new ModalWindow("window");
    add(window);

    PersonalLicenseRejectPanel panel = new PersonalLicenseRejectPanel(window.getContentId(), request) {

        @Override
        protected void onSubmitAction(AjaxRequestTarget target) {
            super.onSubmitAction(target);
            window.close(target);
            setResponsePage(this.getPage().getPageClass(), this.getPage().getPageParameters());
        }

        @Override
        protected void onCancelAction(AjaxRequestTarget target) {
            window.close(target);
        }

    };
    window.setAutoSize(true);
    window.setResizable(false);
    window.setContent(panel);

    add(new AjaxLink<PersonalLicense>("link", request) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            window.show(target);
        }
    }.add(new Label("label", getLinkText())));
}

From source file:de.elatexam.editor.pages.subtaskdefs.AddSubtaskdefPanel.java

License:Open Source License

/**
 * @param componentId/*from  w  w w  .  j a v  a  2 s  .c  o m*/
 * @param rowModel
 * @param taskSelectionPanel
 */
public AddSubtaskdefPanel(String componentId, IModel<T> rowModel, TaskSelectionPanel taskSelectionPanel) {
    super(componentId, rowModel);
    this.std = taskSelectionPanel;
    add(new AjaxLink<T>("link", rowModel) {
        /*
         * (non-Javadoc)
         *
         * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
         */
        @Override
        public void onClick(AjaxRequestTarget target) {
            std.onSelect(target, getModelObject());
        }
    });
}