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:com.userweave.pages.components.slidableajaxtabpanel.StudiesSlidableAjaxTabbedPanel.java

License:Open Source License

@Override
public void onStateChange(UiState state, AjaxRequestTarget target, EventHandler callback,
        StateChangeTrigger trigger) {/*w  w w.ja v a2  s.  co  m*/
    AjaxLink replacement;

    if (state == UiState.CONFIG) {
        replacement = getConfigLink();
    } else {
        replacement = getResultLink();
    }

    configTab.replaceWith(replacement);
    configTab = replacement;

    target.addComponent(configTab);

    Panel currentPanel = (Panel) StudiesSlidableAjaxTabbedPanel.this.get(TAB_PANEL_ID);

    // check, if we are in config/result view. These panels
    // aren't instances of IConfigReportStateChanger
    if (currentPanel instanceof IConfigReportStateChanger) {
        super.onStateChange(state, target, callback, trigger);
    } else {
        if (state == UiState.CONFIG) {
            StudiesSlidableAjaxTabbedPanel.this.replace(getConfigTabPanel(TAB_PANEL_ID));
        } else {
            StudiesSlidableAjaxTabbedPanel.this.replace(getResultTabPanel(TAB_PANEL_ID));
        }

        replacement.add(configTabSelected);

        target.addComponent(StudiesSlidableAjaxTabbedPanel.this);
    }

}

From source file:com.userweave.pages.configuration.editentitypanel.EditStudyEntityPanel.java

License:Open Source License

/**
 * A study can be in the state INIT, RUNNING, FINISH. This
 * Link triggers the state transition.//  w w w . j  a v a 2  s .c  o m
 * 
 * @return
 *       An abstract link.
 */
private AbstractLink getChangeStateLink() {
    AjaxLink<Void> changeState = new AjaxLink<Void>("changeState") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            // see #974 for workflow.
            if (studyService.isAtLeastOneAdminRegistered(getStudy().getParentProject())) {
                changeStateModalWindow.show(target);
            } else {
                notRegiteredModalWindow.show(target);
            }
        }

        @Override
        public boolean isEnabled() {
            return UserWeaveSession.get().getUser().hasRole(Role.PROJECT_ADMIN)
                    && getStudy().getState() != StudyState.FINISHED;
        }
    };

    IModel<String> labelModel;

    if (getStudy().getState() != StudyState.INIT) {
        labelModel = new StringResourceModel("deactivate_study", this, null);
    } else {
        labelModel = new StringResourceModel("activate_study", this, null);
    }

    changeState.add(new Label("action", labelModel));

    return changeState;
}

From source file:com.userweave.pages.configuration.editentitypanel.EditStudyEntityPanel.java

License:Open Source License

/**
 * Displays a link to reset the study state to predecessor state.
 * /*from w  w w  . j a va 2s  .c  om*/
 * @important Link is only visible, if user is portal admin.
 * 
 * @param callback
 *       Callback to fire on study event.
 * 
 * @return
 *       An ajax link.
 */
private AjaxLink<Void> getResetLink(final EventHandler callback) {
    AjaxLink<Void> resetLink = new AjaxLink<Void>("resetState") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            Study study = getStudy();

            resetState(study);

            // Fire purged event, because this event deletes
            // nothing and redirects to select project panel
            EntityEvent.Purged(target, study).fire(callback);
        }

        @Override
        public boolean isVisible() {
            return UserWeaveSession.get().isAdmin() && getStudy().getState() != StudyState.INIT;
        }
    };

    IModel<String> resetModel;

    if (getStudy().getState() != StudyState.RUNNING) {
        resetModel = new StringResourceModel("activate_study", this, null);
    } else {
        resetModel = new StringResourceModel("init_study", this, null);
    }

    resetLink.add(new Label("resetStateLabel", resetModel));

    return resetLink;
}

From source file:com.visural.stereotyped.ui.LandingPage.java

License:Mozilla Public License

public LandingPage(PageParameters params) {
    super(params);
    stereotypes = service.getStereotypes();

    add(new FeedbackPanel("feedback"));

    IModel<UUID> selectedModel = new IModel<UUID>() {
        public UUID getObject() {
            if (selected != null && service.read(selected) != null) {
                return selected;
            } else {
                return null;
            }/*from   ww w  .j av a2  s  . c om*/
        }

        public void setObject(UUID object) {
            selected = object;
        }

        public void detach() {
        }
    };
    final StereotypeManagePanel manage = new StereotypeManagePanel("recordDetails", selectedModel);
    add(manage);

    add(new StereotypeListPanel("recentlySaved", new Model("Recently Saved Files"),
            new AbstractReadOnlyModel<List<UUID>>() {
                @Override
                public List<UUID> getObject() {
                    return userService.getUser(userService.getCurrentUser()).getUserLists()
                            .get(UserListType.RECENTLY_SAVED);
                }
            }, manage));
    add(new StereotypeListPanel("recentlyViewed", new Model("Recently Viewed Files"),
            new AbstractReadOnlyModel<List<UUID>>() {
                @Override
                public List<UUID> getObject() {
                    return userService.getUser(userService.getCurrentUser()).getUserLists()
                            .get(UserListType.RECENTLY_VIEWED);
                }
            }, manage));

    add(new NewForm("newForm"));

    add(ignoreForm = new IgnoreForm("ignoreForm"));

    tagWrap = new WebMarkupContainer("tagWrap");
    tagWrap.setOutputMarkupId(true);
    add(tagWrap);
    final RefreshingView<String> tags = new RefreshingView<String>("tag") {

        @Override
        protected Iterator<IModel<String>> getItemModels() {
            List<String> tags = new ArrayList<String>();
            tags.addAll(service.listAllByTag(sessionService.getSessionBean().isShowFilesFromOtherUsers(),
                    sessionService.getSessionBean().isShowArchived()).keySet());
            Collections.sort(tags);
            return WrapCollectionToModelCollection.get(tags).iterator();
        }

        @Override
        protected void populateItem(Item<String> item) {
            final String tag = item.getModelObject();
            final boolean isIgnored = Sets
                    .newHashSet(sessionService.getSessionBean().getIgnoreTags().split(" ")).contains(tag);
            item.setOutputMarkupId(true);
            item.add(new AjaxLink("title") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Set<String> tags = Sets
                            .newHashSet(sessionService.getSessionBean().getIgnoreTags().split(" "));
                    if (isIgnored) {
                        tags.remove(tag);
                    } else {
                        tags.add(tag);
                    }
                    sessionService.getSessionBean().setIgnoreTags(StringUtil.delimitObjectsToString(" ", tags));
                    target.addComponent(tagWrap);
                }

                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    replaceComponentTagBody(markupStream, openTag, tag);
                }

            });

            RefreshingView<UUID> loadList = new RefreshingView<UUID>("itemRow") {
                @Override
                protected Iterator<IModel<UUID>> getItemModels() {
                    List<UUID> items = new ArrayList<UUID>();
                    items.addAll(
                            service.listAllByTag(sessionService.getSessionBean().isShowFilesFromOtherUsers(),
                                    sessionService.getSessionBean().isShowArchived()).get(tag));
                    Collections.sort(items, new Comparator<UUID>() {

                        public int compare(UUID o1, UUID o2) {
                            return service.read(o1).getName().compareTo(service.read(o2).getName());
                        }

                    });
                    return WrapCollectionToModelCollection.get(items).iterator();
                }

                @Override
                protected void populateItem(final Item<UUID> item) {
                    item.setOutputMarkupId(true);
                    Stereotype st = service.read(item.getModelObject());
                    final String stName = st.getName();
                    final AjaxLink desc = new AjaxLink("itemOpen") {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            manage.select(target, item.getModelObject());
                        }
                    };
                    desc.add(new Image("icon", new IconReference(Icon.PROPERTIES)));
                    item.add(desc);

                    StereotypeUIMetaData meta = service.readUIMeta(item.getModelObject());
                    String userDesc = meta.getOwner()
                            .equals(sessionService.getSessionBean().getLoggedInUsername()) ? ""
                                    : "(" + meta.getOwner() + ")";
                    item.add(new Label("userDesc", userDesc));

                    WebMarkupContainer previewButton;
                    if (service.read(item.getModelObject()).getPreviewStates().isEmpty()) {
                        previewButton = new WebMarkupContainer("preview");
                        previewButton.add(new SimpleAttributeModifier("href",
                                "preview/" + StringUtil.urlEncode(item.getModelObject().toString()) + "/"));
                        item.add(previewButton);
                    } else {
                        item.add(previewButton = new AjaxLink("preview") {

                            @Override
                            public void onClick(AjaxRequestTarget target) {
                                previewStateDialog.open(target, item.getModelObject());
                            }

                        });
                    }
                    previewButton.add(new Image("icon", new IconReference(Icon.PREVIEW)));

                    item.add(new BookmarkablePageLink("itemDesc", PrototypeEditor.class,
                            new PageParameters(StdParam.LOAD_ID + "=" + item.getModelObject())) {
                        @Override
                        protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                            replaceComponentTagBody(markupStream, openTag, StringUtil.htmlEscape(stName));
                        }
                    });
                }
            };
            if (!isIgnored) {
                item.add(loadList);
            } else {
                item.add(new WebMarkupContainer("itemRow").setVisible(false));
            }
        }
    };
    tagWrap.add(tags);
    add(previewStateDialog = new PreviewStatePreviewDialog("previewStateDialog"));
}

From source file:com.visural.stereotyped.ui.StereotypeListPanel.java

License:Mozilla Public License

public StereotypeListPanel(String id, IModel<String> title, IModel<List<UUID>> model,
        final StereotypeManagePanel managePanel) {
    super(id);/*from  w w w  . j a  va  2s.  c o m*/
    add(new Label("title", title));
    add(previewStateDialog = new PreviewStatePreviewDialog("previewStateDialog"));
    ListView<UUID> list = new ListView<UUID>("list", model) {

        @Override
        protected void populateItem(final ListItem<UUID> item) {
            Stereotype st = service.read(item.getModelObject());
            if (st == null) {
                item.setVisible(false);
                return; // shouldn't happen, but in case a bad UUID get's added to list
            }
            final String stName = st.getName();
            final AjaxLink desc = new AjaxLink("itemOpen") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    managePanel.select(target, item.getModelObject());
                    target.addComponent(managePanel);
                }
            };
            desc.add(new Image("icon", new IconReference(Icon.PROPERTIES)));
            item.add(desc);

            StereotypeUIMetaData meta = service.readUIMeta(item.getModelObject());
            String userDesc = meta.getOwner().equals(userService.getCurrentUser()) ? ""
                    : "(" + meta.getOwner() + ")";
            item.add(new Label("userDesc", userDesc));

            WebMarkupContainer previewButton;
            if (service.read(item.getModelObject()).getPreviewStates().isEmpty()) {
                previewButton = new WebMarkupContainer("preview");
                previewButton.add(new SimpleAttributeModifier("href",
                        "preview/" + StringUtil.urlEncode(item.getModelObject().toString()) + "/"));
                previewButton.add(new SimpleAttributeModifier("target", item.getModelObject().toString()));
                item.add(previewButton);
            } else {
                item.add(previewButton = new AjaxLink("preview") {

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        previewStateDialog.open(target, item.getModelObject());
                    }

                });
            }
            previewButton.add(new Image("icon", new IconReference(Icon.PREVIEW)));

            item.add(new BookmarkablePageLink("itemDesc", PrototypeEditor.class,
                    new PageParameters(StdParam.LOAD_ID + "=" + item.getModelObject())) {
                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    replaceComponentTagBody(markupStream, openTag, StringUtil.htmlEscape(stName));
                }
            });
        }
    };
    add(list);
}

From source file:com.wiquery.plugin.antilia.link.JqAjaxLink.java

License:Apache License

/**
 * Constructor.//from   w  w w . jav  a 2 s  .  c  o  m
 * 
 * @param id The id of the link.
 * @param icon The icon to be shown by the link.
 * @param title The model to be used as a title for the link (to be shown as the user hovers over the link).
 */
public JqAjaxLink(String id, JQIcon icon, IModel<String> title) {
    super(id);

    this.icon = icon;

    WebMarkupContainer parent = new WebMarkupContainer("parent");
    parent.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqAjaxLink.this.isEnabled())
                return "ui-state-default ui-corner-all";
            else
                return "ui-state-default ui-state-disabled ui-corner-all";
        }
    }));

    add(parent);

    // we create the AJAX link.      
    AjaxLink<Void> link = newAjaxLink("link");
    parent.add(link);

    link.add(new AttributeModifier("title", title));

    link.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "ui-icon " + getIcon().getCssName();
        }
    }));

    link.add(new AttributeModifier("onmouseover", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqAjaxLink.this.isEnabled())
                return "this.parentNode.className = 'ui-state-default ui-corner-all ui-state-hover';";
            else
                return "this.parentNode.className = 'ui-state-default ui-state-disabled ui-corner-all';";
        }
    }));

    link.add(new AttributeModifier("onmouseout", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqAjaxLink.this.isEnabled())
                return "this.parentNode.className = 'ui-state-default ui-corner-all';";
            else
                return "this.parentNode.className = 'ui-state-default ui-state-disabled ui-corner-all';";
        }
    }));
}

From source file:com.zh.snmp.snmpweb.menu.MenuContainer.java

License:Apache License

protected void createView() {
    RepeatingView menurw = new RepeatingView("menuItems");
    if (config != null) {
        WebMarkupContainer itemPanel;// w w w .  j  a  va2  s  .co  m
        for (final Class<? extends BasePanel> child : config) {
            menurw.add(itemPanel = new WebMarkupContainer(menurw.newChildId(), null));
            itemPanel.add(new AttributeModifier("class", true, new Model<String>() {
                @Override
                public String getObject() {
                    return (selectedMenu == child) ? "selected" : "";
                }
            }));
            itemPanel.setOutputMarkupId(true);
            String key = child.getSimpleName() + ".menuTitle";
            AjaxLink link = new AjaxLink("menuLink") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    if (selectedMenu != child) {
                        selectedMenu = child;
                        target.addComponent(MenuContainer.this);
                        onMenuClick(parentMenu, child, true, target);
                    } else {
                        onMenuClick(parentMenu, child, false, target);
                    }
                }
            };
            link.add(new Label("menuText", new StringResourceModel(key, this, null, key)));
            itemPanel.add(link);
        }
    }
    add(menurw);
}

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 ww  w . ja  va  2  s.  com
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

/**
 * returns link which initializes the action of adding experiments to
 * package//from ww  w .  ja v  a2 s .c om
 *
 * @param id component id
 * @return the link
 */
private AjaxLink createAddExperimentsLink(String id) {
    AjaxLink link = new AjaxLink(id) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            addExperimentsWindow.show(target);
        }
    };

    link.add(new Label("label", new StringResourceModel("button.add.experiment", this, null)));
    return link;
}

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   w w  w  .  j a va  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;
}