List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink add
public MarkupContainer add(final Component... children)
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; }