List of usage examples for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior
public AjaxEventBehavior(String event)
From source file:org.apache.syncope.client.console.wicket.markup.html.form.AjaxDecoratedCheckbox.java
License:Apache License
public AjaxDecoratedCheckbox(final String id, final IModel<Boolean> model) { super(id, model); add(new AjaxEventBehavior(Constants.ON_CLICK) { private static final long serialVersionUID = -295188647830294610L; @Override/*from w w w.j ava2 s. c o m*/ protected void onEvent(final AjaxRequestTarget target) { refreshComponent(target); } }); }
From source file:org.apache.syncope.client.console.widgets.NumberWidget.java
License:Apache License
public NumberWidget(final String id, final String bg, final int number, final String label, final String icon) { super(id);// w w w . ja v a2 s . c o m this.number = number; setOutputMarkupId(true); WebMarkupContainer box = new WebMarkupContainer("box"); box.add(new AttributeAppender("class", " " + bg)); boolean isAuthorized = true; final PageParameters pageParameters = new PageParameters(); final Class<? extends IRequestablePage> responsePage; List<AnyTypeTO> anyTypeTOs = new AnyTypeRestClient().list(); switch (id) { case "totalUsers": pageParameters.add("selectedIndex", 1); responsePage = Realms.class; isAuthorized = SyncopeConsoleSession.get().owns(StandardEntitlement.USER_SEARCH); break; case "totalGroups": pageParameters.add("selectedIndex", 2); responsePage = Realms.class; break; case "totalAny1OrRoles": if (icon.equals("ion ion-gear-a")) { Collections.sort(anyTypeTOs, new AnyTypeComparator()); Integer selectedIndex = null; for (int i = 0; i < anyTypeTOs.size() && selectedIndex == null; i++) { if (anyTypeTOs.get(i).getKey().equals(label)) { selectedIndex = i + 1; pageParameters.add("selectedIndex", selectedIndex); } } responsePage = Realms.class; isAuthorized = SyncopeConsoleSession.get().owns(label + "_SEARCH"); } else { responsePage = Roles.class; isAuthorized = SyncopeConsoleSession.get().owns(StandardEntitlement.ROLE_LIST); } break; case "totalAny2OrResources": if (icon.equals("ion ion-gear-a")) { Collections.sort(anyTypeTOs, new AnyTypeComparator()); Integer selectedIndex = null; for (int i = 0; i < anyTypeTOs.size() && selectedIndex == null; i++) { if (anyTypeTOs.get(i).getKey().equals(label)) { selectedIndex = i + 1; pageParameters.add("selectedIndex", selectedIndex); } } responsePage = Realms.class; isAuthorized = SyncopeConsoleSession.get().owns(label + "_SEARCH"); } else { responsePage = Topology.class; isAuthorized = SyncopeConsoleSession.get().owns(StandardEntitlement.CONNECTOR_LIST) && SyncopeConsoleSession.get().owns(StandardEntitlement.RESOURCE_LIST); } break; default: pageParameters.add("selectedIndex", 0); responsePage = Realms.class; } AjaxEventBehavior clickToRealms = new AjaxEventBehavior("onmousedown") { private static final long serialVersionUID = -7133385027739964990L; @Override protected void onEvent(final AjaxRequestTarget target) { setResponsePage(responsePage, pageParameters); } }; if (isAuthorized) { box.add(clickToRealms); } add(box); numberLabel = new Label("number", number); numberLabel.setOutputMarkupId(true); box.add(numberLabel); box.add(new Label("label", label)); Label iconLabel = new Label("icon"); iconLabel.add(new AttributeAppender("class", icon)); box.add(iconLabel); }
From source file:org.apache.syncope.console.pages.panels.NotificationPanel.java
License:Apache License
public NotificationPanel(final String id, final String additionalCSSClass, final IFeedbackMessageFilter feedbackMessageFilter) { super(id, feedbackMessageFilter); this.add(new AjaxEventBehavior(Constants.ON_CLICK) { private static final long serialVersionUID = -7133385027739964990L; @Override//from ww w. ja v a 2 s . com protected void onEvent(final AjaxRequestTarget target) { target.appendJavaScript("setTimeout(\"$('div#" + getMarkupId() + "').fadeOut('normal')\", 0);"); } }); this.additionalCSSClass = StringUtils.isBlank(additionalCSSClass) ? DEFAULT_ADDITIONAL_CSS_CLASS : additionalCSSClass; // set custom markup id and ouput it, to find the component later on in the js function setMarkupId(id); setOutputMarkupId(true); // Add the additional cssClass and hide the element by default add(new AttributeModifier("class", new Model<String>(CSS_CLASS + " " + this.additionalCSSClass))); add(new AttributeModifier("style", new Model<String>("opacity: 0;"))); }
From source file:org.artifactory.common.wicket.component.deletable.label.DeletableLabel.java
License:Open Source License
public DeletableLabel(String id, IModel model) { super(id, model); add(new CssClass(new AbstractReadOnlyModel() { @Override/*from w w w . j a va 2s . c o m*/ public Object getObject() { return isLabelDeletable() ? "deletable" : "deletable undeletable"; } })); Label label = new Label("label", new DeletegeModel()); label.add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(AjaxRequestTarget target) { onLabelClicked(target); } @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); tag.put("onmouseover", "DeletableLabel.setClass(this, 'overlabel')"); tag.put("onmouseout", "DeletableLabel.setClass(this, '')"); } @Override public boolean isEnabled(Component component) { return super.isEnabled(component) && isLabelClickable(); } }); add(label); add(new AjaxLink("link") { @Override public void onClick(AjaxRequestTarget target) { onDeleteClicked(target); } @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); tag.put("onmouseover", "DeletableLabel.setClass(this, 'overlink')"); tag.put("onmouseout", "DeletableLabel.setClass(this, '')"); } }); }
From source file:org.artifactory.common.wicket.component.panel.sortedlist.OrderedListPanel.java
License:Open Source License
private Component getCancelOrderLink(String id) { SimpleTitledLink cancelOrder = new SimpleTitledLink(id, "Reset"); cancelOrder.add(new AjaxEventBehavior("onclick") { @Override// www. j a v a 2 s .c o m protected void onEvent(AjaxRequestTarget target) { resetListOrder(target); } }); return cancelOrder; }
From source file:org.artifactory.common.wicket.component.panel.sortedlist.OrderedListPanel.java
License:Open Source License
private Component getSaveOrderLink(String id) { SimpleTitledLink saveOrder = new SimpleTitledLink(id, "Save"); saveOrder.add(new AjaxEventBehavior("onclick") { @Override//from w w w . j a va 2 s . c o m protected void onEvent(AjaxRequestTarget target) { saveItems(target); } }); return saveOrder; }
From source file:org.artifactory.webapp.wicket.actionable.tree.ActionableItemsTree.java
License:Open Source License
@Override protected void populateTreeItem(final WebMarkupContainer item, int level) { super.populateTreeItem(item, level); item.get("nodeLink:label").add(new CssClass("node-label")); item.get("nodeLink").add(new AjaxEventBehavior("oncontextmenu") { @Override//from www .ja v a2 s . c o m protected void onEvent(AjaxRequestTarget target) { onContextMenu(item, target); } @Override protected IAjaxCallDecorator getAjaxCallDecorator() { return new CancelDefaultDecorator(); } }); }
From source file:org.artifactory.webapp.wicket.page.config.layout.RepositoriesListPanel.java
License:Open Source License
private void addRepoList(RepoLayout layout) { List<RepoDescriptor> descriptors = getAllDescriptors(); List<RepoDescriptor> filteredDescriptors = filterDescriptorsWithCurrentLayout(descriptors, layout); FieldSetBorder localFiledSetBorder = new FieldSetBorder("localFileSet") { @Override/*from w w w. j a v a 2 s . c o m*/ public String getTitle() { return "Local Repositories"; } }; List<RepoDescriptor> localRepoDescriptors = filterLocalRepos(filteredDescriptors); localFiledSetBorder.setVisible(!localRepoDescriptors.isEmpty()); localFiledSetBorder.add(new ListView<RepoDescriptor>("localRepos", localRepoDescriptors) { @Override protected void populateItem(ListItem<RepoDescriptor> item) { final RepoDescriptor descriptor = item.getModelObject(); Component link = new Label("local-link", descriptor.getKey()); link.add(new CssClass("item-link")); item.add(link); item.add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(AjaxRequestTarget target) { PageParameters parameters = new PageParameters(); parameters.set(RepositoryConfigPage.REPO_ID, descriptor.getKey()); setResponsePage(RepositoryConfigPage.class, parameters); } }); link.add(new CssClass(getCssClassAccordingToRepo(descriptor))); item.add(link); } private String getCssClassAccordingToRepo(RepoDescriptor descriptor) { return ItemCssClass.getRepoCssClass(descriptor); } }); add(localFiledSetBorder); FieldSetBorder remoteFileSetBorder = new FieldSetBorder("remoteFileSet") { @Override public String getTitle() { return "Remote Repositories"; } }; List<RepoDescriptor> remoteRepoDescriptors = filterRemoteRepos(filteredDescriptors); remoteFileSetBorder.setVisible(!remoteRepoDescriptors.isEmpty()); add(remoteFileSetBorder); remoteFileSetBorder.add(new ListView<RepoDescriptor>("remoteRepos", remoteRepoDescriptors) { @Override protected void populateItem(ListItem<RepoDescriptor> item) { final RepoDescriptor descriptor = item.getModelObject(); Component link = new Label("remote-link", descriptor.getKey()); link.add(new CssClass("item-link")); item.add(link); item.add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(AjaxRequestTarget target) { PageParameters parameters = new PageParameters(); parameters.set(RepositoryConfigPage.REPO_ID, descriptor.getKey()); setResponsePage(RepositoryConfigPage.class, parameters); } }); link.add(new CssClass(getCssClassAccordingToRepo(descriptor))); item.add(link); } private String getCssClassAccordingToRepo(RepoDescriptor descriptor) { return ItemCssClass.getRepoCssClass(descriptor); } }); FieldSetBorder virtualFieldSetBorder = new FieldSetBorder("virtualFieldSetBorder") { @Override public String getTitle() { return "Virtual Repositories"; } }; List<RepoDescriptor> virtualRepoDescriptors = filterVirtualRepos(filteredDescriptors); virtualFieldSetBorder.setVisible(!virtualRepoDescriptors.isEmpty()); add(virtualFieldSetBorder); virtualFieldSetBorder.add(new ListView<RepoDescriptor>("virtualRepos", virtualRepoDescriptors) { @Override protected void populateItem(ListItem<RepoDescriptor> item) { final RepoDescriptor descriptor = item.getModelObject(); Component link = new Label("virtual-link", descriptor.getKey()); link.add(new CssClass("item-link")); item.add(link); item.add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(AjaxRequestTarget target) { PageParameters parameters = new PageParameters(); parameters.set(RepositoryConfigPage.REPO_ID, descriptor.getKey()); setResponsePage(RepositoryConfigPage.class, parameters); } }); link.add(new CssClass(getCssClassAccordingToRepo(descriptor))); item.add(link); } private String getCssClassAccordingToRepo(RepoDescriptor descriptor) { return ItemCssClass.getRepoCssClass(descriptor); } }); setVisible(!virtualRepoDescriptors.isEmpty() || !remoteRepoDescriptors.isEmpty() || !localRepoDescriptors.isEmpty()); }
From source file:org.artifactory.webapp.wicket.page.security.user.UsersTable.java
License:Open Source License
private void createExternalUserComponent(final Item<ICellPopulator<UserModel>> item, final String componentId, final UserModel user) { // Create "action label" which allows to check the user status in remote server, by clicking the "action label". log.debug("User '{}' is from realm '{}'", user.getUsername(), user.getRealm()); if (user.getStatus() == null) { final Model<String> m = Model.of("Check external status"); final Label actionLabel = new Label(componentId, m); actionLabel.add(new CssClass("item-link")); item.add(actionLabel);//from ww w. j a v a 2 s .c om item.add(new AjaxEventBehavior("onClick") { @Override protected void onEvent(final AjaxRequestTarget target) { log.debug("User '{}' is from realm '{}'", user.getUsername(), user.getRealm()); Label statusLabel = createStatusComponent(user, componentId); actionLabel.replaceWith(statusLabel); target.add(item); Set<UserGroupInfo> userGroups = user.getGroups(); provider.addExternalGroups(user.getUsername(), user.getRealm(), userGroups); user.addGroups(userGroups); target.add(UsersTable.this); } }); // TODO find better way to implement te following code. // The following code (LinksColumn.current.hide()) hides the row's link panel (edit delete permissions panel). // Note: refreshing the table without hiding the link will cause the link panel to stay stuck on the screen item.add(new JavascriptEvent("onmousedown", "LinksColumn.current.hide();")); } else { Label statusLabel = createStatusComponent(user, componentId); item.add(statusLabel); } }
From source file:org.bosik.diacomp.web.frontend.wicket.components.mealeditor.picker.foodMassed.common.FoodMassedPicker.java
License:Open Source License
@Override protected void onInitialize() { super.onInitialize(); fieldFood = new FoodPicker("picker", Model.of(getModelObject().getName())) { private static final long serialVersionUID = 1L; @Override//w w w .j a va 2 s. com public void onSelected(AjaxRequestTarget target, IModel<Food> food) { // copy food info to model Food newFood = food.getObject(); FoodMassed modelObject = getModelObject(); modelObject.setName(newFood.getName()); modelObject.setRelProts(newFood.getRelProts()); modelObject.setRelFats(newFood.getRelFats()); modelObject.setRelCarbs(newFood.getRelCarbs()); modelObject.setRelValue(newFood.getRelValue()); setModelObject(modelObject); onFoodChanged(target, food); } }; fieldFood.setOutputMarkupId(true); add(fieldFood); fieldMass = new TextField<Double>("mass", mass); fieldMass.add(new AjaxFormComponentUpdatingBehavior("keydown") { private static final long serialVersionUID = 1072515919159765189L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); fieldMass.add(new AjaxFormComponentUpdatingBehavior("onblur") { private static final long serialVersionUID = 1072515919159765189L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); fieldMass.add(new AjaxEventBehavior("keydown") { private static final long serialVersionUID = 1L; @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new AjaxCallListener() { private static final long serialVersionUID = -846467011322058537L; @Override public CharSequence getPrecondition(Component component) { return "return (Wicket.Event.keyCode(attrs.event) === 13);"; } }); attributes.setAllowDefault(true); } @Override protected void onEvent(AjaxRequestTarget target) { if (mass == null) { // // TODO: is it possible? // fieldFood.focus(target); } else { // copy the mass to model FoodMassed modelObject = getModelObject(); modelObject.setMass(mass.getObject()); setModelObject(modelObject); onMassChanged(target, mass); } } }); add(fieldMass); }