Example usage for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior

List of usage examples for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior.

Prototype

public AjaxEventBehavior(String event) 

Source Link

Document

Construct.

Usage

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);
}