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) 

Source Link

Document

Construct.

Usage

From source file:com.evolveum.midpoint.web.component.prism.PrismValuePanel.java

License:Apache License

private void initLayout(IModel<String> label, Form form) {
    //feedback// w w  w  .  j a  va 2 s . co m
    FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK);
    feedback.setOutputMarkupId(true);
    add(feedback);

    //input
    InputPanel input = createInputComponent("input", label, form);
    initAccessBehaviour(input);
    add(input);

    feedback.setFilter(new ComponentFeedbackMessageFilter(input.getBaseFormComponent()));

    //buttons
    AjaxLink addButton = new AjaxLink("addButton") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addValue(target);
        }
    };
    addButton.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return isAddButtonVisible();
        }
    });
    add(addButton);

    AjaxLink removeButton = new AjaxLink("removeButton") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            removeValue(target);
        }
    };
    removeButton.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return isRemoveButtonVisible();
        }
    });
    add(removeButton);
}

From source file:com.evolveum.midpoint.web.component.prism.show.SceneButtonPanel.java

License:Apache License

private void initLayout(final IModel<SceneDto> model) {
    AjaxLink<String> minimize = new AjaxLink<String>(ID_MINIMIZE_BUTTON) {
        private static final long serialVersionUID = 1L;

        @Override/* ww w. java  2  s  . c  o m*/
        public void onClick(AjaxRequestTarget target) {
            minimizeOnClick(target);
        }
    };
    add(minimize);

    Label icon = new Label(ID_ICON);
    icon.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            SceneDto dto = model.getObject();
            if (dto.isMinimized()) {
                return GuiStyleConstants.CLASS_ICON_EXPAND;
            }

            return GuiStyleConstants.CLASS_ICON_COLLAPSE;
        }
    }));
    minimize.add(icon);

    icon.add(new AttributeAppender("title", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            SceneDto dto = model.getObject();
            if (dto.isMinimized()) {
                return getString("prismOptionButtonPanel.maximize");
            }
            return getString("prismOptionButtonPanel.minimize");
        }
    }, ""));
}

From source file:com.evolveum.midpoint.web.component.prism.SimpleErrorPanel.java

License:Apache License

@Override
protected void initLayout() {

    Label icon = new Label(ID_ICON);
    add(icon);//from  w ww. j  a  v a2  s  .  c om

    Label description = new Label(ID_DESCRIPTION, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            return getDescription();
        }
    });
    add(description);

    AjaxLink link = new AjaxLink(ID_LINK) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            onShowMorePerformed(target);
        }
    };
    add(link);

    Label showMore = new Label(ID_SHOW_MORE, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            return createStringResource("simpleErrorPanel.label.showMore").getString();
        }
    });
    link.add(showMore);
}

From source file:com.evolveum.midpoint.web.component.search.BrowserPopupPanel.java

License:Apache License

private void initLayout() {
    IModel value = new PropertyModel(getModel(), SearchValue.F_LABEL);
    TextField input = new TextField(ID_BROWSER_INPUT, value);
    add(input);/*from w w w . ja  v  a  2  s.  c  om*/

    AjaxLink browse = new AjaxLink(ID_BROWSE) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            browsePerformed(target);
        }
    };
    add(browse);
}

From source file:com.evolveum.midpoint.web.component.search.SearchFragmentBase.java

License:Apache License

private void initButtons() {
    AjaxLink remove = new AjaxLink(ID_REMOVE) {

        @Override//  ww  w  .  j av  a 2 s.  c o m
        public void onClick(AjaxRequestTarget target) {
            removePerformed(target);
        }
    };
    add(remove);

    AjaxLink add = new AjaxLink(ID_ADD) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addPerformed(target);
        }
    };
    add(add);
}

From source file:com.evolveum.midpoint.web.component.search.SearchItemPanel.java

License:Apache License

private void initLayout() {
    popoverModel = new LoadableModel<SearchItemPopoverDto>(false) {

        @Override//from w  ww  .  j a va 2  s.c om
        protected SearchItemPopoverDto load() {
            return loadPopoverItems();
        }
    };

    AjaxLink mainButton = new AjaxLink(ID_MAIN_BUTTON) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            editPerformed(target);
        }
    };
    add(mainButton);

    Label label = new Label(ID_LABEL, createLabelModel());
    label.setRenderBodyOnly(true);
    mainButton.add(label);

    AjaxLink deleteButton = new AjaxLink(ID_DELETE_BUTTON) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            deletePerformed(target);
        }
    };
    mainButton.add(deleteButton);
    deleteButton.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !getModelObject().isFixed();
        }
    });

    initPopover();
}

From source file:com.evolveum.midpoint.web.component.search.SearchPanel.java

License:Apache License

private void initLayout() {
    moreDialogModel = new LoadableModel<MoreDialogDto>(false) {

        @Override/*from   www.ja  v a2s  .  c o m*/
        protected MoreDialogDto load() {
            MoreDialogDto dto = new MoreDialogDto();
            dto.setProperties(createPropertiesList());

            return dto;
        }
    };

    Form form = new Form(ID_FORM);
    add(form);

    ListView items = new ListView<SearchItem>(ID_ITEMS,
            new PropertyModel<List<SearchItem>>(getModel(), Search.F_ITEMS)) {

        @Override
        protected void populateItem(ListItem<SearchItem> item) {
            SearchItemPanel searchItem = new SearchItemPanel(ID_ITEM, item.getModel());
            item.add(searchItem);
        }
    };
    items.add(createAdvancedVisibleBehaviour(false));
    form.add(items);

    WebMarkupContainer moreGroup = new WebMarkupContainer(ID_MORE_GROUP);
    moreGroup.add(createAdvancedVisibleBehaviour(false));
    form.add(moreGroup);

    AjaxLink more = new AjaxLink(ID_MORE) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            Component button = SearchPanel.this.get(createComponentPath(ID_FORM, ID_MORE_GROUP, ID_MORE));
            Component popover = SearchPanel.this.get(createComponentPath(ID_POPOVER));
            togglePopover(target, button, popover, 14);
        }
    };
    more.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            Search search = getModelObject();
            return !search.getAvailableDefinitions().isEmpty();
        }
    });
    more.setOutputMarkupId(true);
    moreGroup.add(more);

    WebMarkupContainer searchContainer = new WebMarkupContainer(ID_SEARCH_CONTAINER);
    searchContainer.setOutputMarkupId(true);
    form.add(searchContainer);

    AjaxSubmitButton searchSimple = new AjaxSubmitButton(ID_SEARCH_SIMPLE) {

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(form);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            searchPerformed(target);
        }
    };
    searchSimple.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isEnabled() {
            Search search = getModelObject();
            if (!search.isShowAdvanced()) {
                return true;
            }

            PrismContext ctx = getPageBase().getPrismContext();
            return search.isAdvancedQueryValid(ctx);
        }

        @Override
        public boolean isVisible() {
            return !getModelObject().isShowAdvanced() || !queryPlagroundAccessible;
        }
    });
    searchSimple.setOutputMarkupId(true);
    searchContainer.add(searchSimple);

    WebMarkupContainer searchDropdown = new WebMarkupContainer(ID_SEARCH_DROPDOWN);
    searchDropdown.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return getModelObject().isShowAdvanced() && queryPlagroundAccessible;
        }
    });
    searchContainer.add(searchDropdown);

    AjaxSubmitButton searchButtonBeforeDropdown = new AjaxSubmitButton(ID_SEARCH_BUTTON_BEFORE_DROPDOWN) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(form);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            searchPerformed(target);
        }
    };
    searchButtonBeforeDropdown.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isEnabled() {
            Search search = getModelObject();
            if (!search.isShowAdvanced()) {
                return true;
            }
            PrismContext ctx = getPageBase().getPrismContext();
            return search.isAdvancedQueryValid(ctx);
        }
    });
    searchDropdown.add(searchButtonBeforeDropdown);

    List<InlineMenuItem> searchItems = new ArrayList<>();

    InlineMenuItem searchItem = new InlineMenuItem(createStringResource("SearchPanel.search"),
            new InlineMenuItemAction() {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    PrismContext ctx = getPageBase().getPrismContext();
                    if (getModelObject().isAdvancedQueryValid(ctx)) {
                        searchPerformed(target);
                    }
                }
            });
    searchItems.add(searchItem);

    searchItem = new InlineMenuItem(createStringResource("SearchPanel.debug"), new InlineMenuItemAction() {
        @Override
        public void onClick(AjaxRequestTarget target) {
            debugPerformed();
        }
    });
    searchItems.add(searchItem);

    ListView<InlineMenuItem> li = new ListView<InlineMenuItem>(ID_MENU_ITEM, Model.ofList(searchItems)) {
        @Override
        protected void populateItem(ListItem<InlineMenuItem> item) {
            WebMarkupContainer menuItemBody = new MenuLinkPanel(ID_MENU_ITEM_BODY, item.getModel());
            menuItemBody.setRenderBodyOnly(true);
            item.add(menuItemBody);
        }
    };
    searchDropdown.add(li);

    AjaxButton advanced = new AjaxButton(ID_ADVANCED, createAdvancedModel()) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            advancedPerformed(target);
        }
    };
    advanced.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return advancedSearch;
        }
    });
    form.add(advanced);

    initPopover();

    WebMarkupContainer advancedGroup = new WebMarkupContainer(ID_ADVANCED_GROUP);
    advancedGroup.add(createAdvancedVisibleBehaviour(true));
    advancedGroup.add(AttributeAppender.append("class", createAdvancedGroupStyle()));
    advancedGroup.setOutputMarkupId(true);
    form.add(advancedGroup);

    Label advancedCheck = new Label(ID_ADVANCED_CHECK);
    advancedCheck.add(AttributeAppender.append("class", createAdvancedGroupLabelStyle()));
    advancedGroup.add(advancedCheck);

    final TextArea advancedArea = new TextArea(ID_ADVANCED_AREA,
            new PropertyModel(getModel(), Search.F_ADVANCED_QUERY));
    advancedArea.add(new AjaxFormComponentUpdatingBehavior("keyup") {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            updateAdvancedArea(advancedArea, target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.setThrottlingSettings(
                    new ThrottlingSettings(ID_ADVANCED_AREA, Duration.milliseconds(500), true));
        }
    });
    advancedGroup.add(advancedArea);

    Label advancedError = new Label(ID_ADVANCED_ERROR,
            new PropertyModel<String>(getModel(), Search.F_ADVANCED_ERROR));
    advancedError.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            Search search = getModelObject();

            if (!search.isShowAdvanced()) {
                return false;
            }

            return StringUtils.isNotEmpty(search.getAdvancedError());
        }
    });
    advancedGroup.add(advancedError);
}

From source file:com.evolveum.midpoint.web.component.search.SearchPanel.java

License:Apache License

private void initPopover() {
    WebMarkupContainer popover = new WebMarkupContainer(ID_POPOVER);
    popover.setOutputMarkupId(true);/*from ww w. j av a  2 s  .  c om*/
    add(popover);

    final WebMarkupContainer propList = new WebMarkupContainer(ID_PROP_LIST);
    propList.setOutputMarkupId(true);
    popover.add(propList);

    ListView properties = new ListView<Property>(ID_PROPERTIES,
            new PropertyModel<List<Property>>(moreDialogModel, MoreDialogDto.F_PROPERTIES)) {

        @Override
        protected void populateItem(final ListItem<Property> item) {
            CheckBox check = new CheckBox(ID_CHECK,
                    new PropertyModel<Boolean>(item.getModel(), Property.F_SELECTED));
            check.add(new AjaxFormComponentUpdatingBehavior("change") {

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    //nothing, just update model.
                }
            });
            item.add(check);

            AjaxLink propLink = new AjaxLink(ID_PROP_LINK) {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    addOneItemPerformed(item.getModelObject(), target);
                }
            };
            item.add(propLink);

            Label name = new Label(ID_PROP_NAME, new PropertyModel<>(item.getModel(), Property.F_NAME));
            name.setRenderBodyOnly(true);
            propLink.add(name);

            item.add(new VisibleEnableBehaviour() {

                @Override
                public boolean isVisible() {
                    Property property = item.getModelObject();

                    Search search = SearchPanel.this.getModelObject();
                    if (!search.getAvailableDefinitions().contains(property.getDefinition())) {
                        return false;
                    }

                    MoreDialogDto dto = moreDialogModel.getObject();
                    String nameFilter = dto.getNameFilter();

                    String propertyName = property.getName().toLowerCase();
                    if (StringUtils.isNotEmpty(nameFilter)
                            && !propertyName.contains(nameFilter.toLowerCase())) {
                        return false;
                    }

                    return true;
                }
            });
        }
    };
    propList.add(properties);

    TextField addText = new TextField(ID_ADD_TEXT,
            new PropertyModel(moreDialogModel, MoreDialogDto.F_NAME_FILTER));
    addText.add(new Behavior() {
        @Override
        public void bind(Component component) {
            super.bind(component);

            component.add(AttributeModifier.replace("onkeydown",
                    Model.of("if(event.keyCode == 13) {event.preventDefault();}")));
        }
    });

    popover.add(addText);
    addText.add(new AjaxFormComponentUpdatingBehavior("keyup") {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(propList);
        }
    });
    popover.add(addText);

    AjaxButton add = new AjaxButton(ID_ADD, createStringResource("SearchPanel.add")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addItemPerformed(target);
        }
    };
    popover.add(add);

    AjaxButton close = new AjaxButton(ID_CLOSE, createStringResource("SearchPanel.close")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            closeMorePopoverPerformed(target);
        }
    };
    popover.add(close);
}

From source file:com.evolveum.midpoint.web.component.wizard.resource.component.capability.CapabilityPanel.java

License:Apache License

@Override
protected void initLayout() {
    this.model = loadModel();

    final ListDataProvider<CapabilityDto> capabilityProvider = new ListDataProvider<CapabilityDto>(this,
            new PropertyModel<List<CapabilityDto>>(model, CapabilityStepDto.F_CAPABILITIES));

    WebMarkupContainer tableBody = new WebMarkupContainer(ID_CAPABILITY_TABLE);
    tableBody.setOutputMarkupId(true);/*  w w w  .  j a  v  a2s. co m*/
    add(tableBody);

    DataView<CapabilityDto> capabilityDataView = new DataView<CapabilityDto>(ID_CAPABILITY_ROW,
            capabilityProvider) {

        @Override
        protected void populateItem(final Item<CapabilityDto> capabilityRow) {
            final CapabilityDto dto = capabilityRow.getModelObject();

            Label label = new Label(ID_CAPABILITY_NAME, new PropertyModel<>(dto, CapabilityDto.F_VALUE));
            capabilityRow.add(label);

            AjaxLink deleteLink = new AjaxLink(ID_CAPABILITY_DELETE) {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    deleteCapabilityPerformed(target, dto);
                }
            };
            capabilityRow.add(deleteLink);

            capabilityRow.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<Object>() {

                @Override
                public Object getObject() {
                    if (capabilityRow.getModelObject().isSelected()) {
                        return "success";
                    }

                    return null;
                }
            }));
        }
    };
    tableBody.add(capabilityDataView);

    AjaxLink addLink = new AjaxLink(ID_CAPABILITY_ADD) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            addCapabilityPerformed(target);
        }
    };
    add(addLink);

    //TODO - continue here in 2.4
    //        ModalWindow dialog = new ChooseTypeDialog<CapabilityDto>(DIALOG_SELECT_CAPABILITY, CapabilityDto.class){
    //
    //            @Override
    //            protected void chooseOperationPerformed(AjaxRequestTarget target, CapabilityDto capability){
    //                choosePerformed(target, capability);
    //            }
    //
    //            @Override
    //            public BaseSortableDataProvider getDataProvider(){
    //                return capabilityProvider;
    //            }
    //        };
    //        add(dialog);
}

From source file:com.evolveum.midpoint.web.component.wizard.resource.component.schemahandling.modal.LimitationsEditorDialog.java

License:Apache License

public void initLayout(WebMarkupContainer content) {
    Form form = new Form(ID_MAIN_FORM);
    form.setOutputMarkupId(true);/*from   ww  w. ja va2s.  c o  m*/
    content.add(form);

    ListView repeater = new ListView<PropertyLimitationsTypeDto>(ID_REPEATER, model) {

        @Override
        protected void populateItem(final ListItem<PropertyLimitationsTypeDto> item) {
            WebMarkupContainer linkContainer = new WebMarkupContainer(ID_LIMITATIONS_LINK);
            linkContainer.setOutputMarkupId(true);
            linkContainer.add(new AttributeModifier("href", createCollapseItemId(item, true)));
            item.add(linkContainer);

            Label linkLabel = new Label(ID_LIMITATIONS_LABEL, createLimitationsLabelModel(item));
            linkContainer.add(linkLabel);

            AjaxLink delete = new AjaxLink(ID_LIMITATION_DELETE) {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    deleteLimitationPerformed(target, item);
                }
            };
            linkContainer.add(delete);

            WebMarkupContainer limitationBody = new WebMarkupContainer(ID_BODY);
            limitationBody.setOutputMarkupId(true);
            limitationBody.setMarkupId(createCollapseItemId(item, false).getObject());
            if (changeState != ChangeState.SKIP) {
                limitationBody.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

                    @Override
                    public String getObject() {
                        if (changeState == ChangeState.FIRST && item.getIndex() == 0) {
                            return "panel-collapse collapse in";
                        } else if (changeState == ChangeState.LAST
                                && item.getIndex() == (getModelObject().size() - 1)) {
                            return "panel-collapse collapse in";
                        } else {
                            return "panel-collapse collapse";
                        }
                    }
                }));
            }
            item.add(limitationBody);
            initLimitationBody(limitationBody, item);

        }
    };
    repeater.setOutputMarkupId(true);
    form.add(repeater);

    initButtons(form);
}