Example usage for org.apache.wicket.ajax.markup.html AjaxLink setOutputMarkupPlaceholderTag

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink setOutputMarkupPlaceholderTag

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.markup.html AjaxLink setOutputMarkupPlaceholderTag.

Prototype

public final Component setOutputMarkupPlaceholderTag(final boolean outputTag) 

Source Link

Document

Render a placeholder tag when the component is not visible.

Usage

From source file:com.aplombee.examples.AjaxLinkPage.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    numbers.setOutputMarkupId(true); //needed for ajax
    final QuickView<Integer> number = new QuickView<Integer>("number", data, new ItemsNavigationStrategy()) {
        @Override/*from   ww  w.  ja  v a2  s  . c o m*/
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            number.addNewItems(newObject); //just enough to create a new row at last
        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            number.addNewItemsAtStart(newObject); //just enough to create a new row at start
        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);
}

From source file:com.aplombee.examples.AjaxLinkPageWithBoundaries.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    Component start, end;/* www .  java2  s  .  c  o m*/
    numbers.add(start = new Label("start").setOutputMarkupPlaceholderTag(true));
    numbers.add(end = new Label("end").setOutputMarkupPlaceholderTag(true));

    numbers.setOutputMarkupId(true); //needed for ajax
    final QuickView<Integer> number = new QuickView<Integer>("number", data, new ItemsNavigationStrategy(),
            start, end) {
        @Override
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            number.addNewItems(newObject); //just enough to create a new row at last
        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            number.addNewItemsAtStart(newObject); //just enough to create a new row at start
        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);

}

From source file:com.aplombee.examples.QuickGridViewWithAjaxLink.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    numbers.setOutputMarkupId(true); //needed for ajax
    final QuickGridView<Integer> number = new QuickGridView<Integer>("number", data,
            new ItemsNavigationStrategy()) {
        @Override//ww w.  j av  a  2 s. c  om
        protected void populate(CellItem<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }

        @Override
        protected void populateEmptyItem(CellItem<Integer> item) {
            item.add(new Label("display"));
        }
    };
    number.setColumns(2);
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            int newObject2 = list.get(list.size() - 1) + 1;
            list.add(newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject);
            newOnes.add(newObject2);

            number.addRows(newOnes.iterator());//just enough to add new rows and corresponding cells

        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            int newObject2 = newObject - 1;
            list.add(0, newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject2);
            newOnes.add(newObject);

            number.addRowsAtStart(newOnes.iterator());//just enough to add new rows  and corresponding cells

        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);

}

From source file:com.aplombee.examples.QuickGridViewWithAjaxLinkAndBoundaries.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    numbers.setOutputMarkupId(true); //needed for ajax
    Component start, end;//from w ww . j av a 2 s  .  co  m
    numbers.add(start = new Label("start").setOutputMarkupPlaceholderTag(true));
    numbers.add(end = new Label("end").setOutputMarkupPlaceholderTag(true));

    final QuickGridView<Integer> number = new QuickGridView<Integer>("number", data,
            new ItemsNavigationStrategy(), start, end) {
        @Override
        protected void populate(CellItem<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }

        @Override
        protected void populateEmptyItem(CellItem<Integer> item) {
            item.add(new Label("display"));
        }
    };
    number.setColumns(2);
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            int newObject2 = list.get(list.size() - 1) + 1;
            list.add(newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject);
            newOnes.add(newObject2);

            number.addRows(newOnes.iterator());//just enough to add new rows and corresponding cells

        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            int newObject2 = newObject - 1;
            list.add(0, newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject2);
            newOnes.add(newObject);

            number.addRowsAtStart(newOnes.iterator());//just enough to add new rows  and corresponding cells

        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);

}

From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueAutoCompleteTextPanel.java

License:Apache License

private void initLayout(final boolean inputEnabled) {
    WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(new VisibleEnableBehaviour() {

        @Override/*from w  w  w.j  a  va2s  . co  m*/
        public boolean isVisible() {
            return getModel().getObject().isEmpty();
        }
    });
    add(placeholderContainer);

    AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addValuePerformed(target);
        }
    };
    placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            if (buttonsDisabled()) {
                return " " + CSS_DISABLED;
            }

            return "";
        }
    }));
    placeholderAdd.setOutputMarkupId(true);
    placeholderAdd.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(placeholderAdd);

    ListView repeater = new ListView<T>(ID_REPEATER, getModel()) {

        @Override
        protected void populateItem(final ListItem<T> item) {
            AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings();
            autoCompleteSettings.setShowListOnEmptyInput(true);
            AutoCompleteTextField<String> autoCompleteEditor = new AutoCompleteTextField<String>(ID_TEXT,
                    createTextModel(item.getModel()), autoCompleteSettings) {

                @Override
                protected Iterator<String> getChoices(String input) {
                    return createAutoCompleteObjectList(input);
                }
            };
            autoCompleteEditor.add(createAutoCompleteValidator());
            autoCompleteEditor.add(new AjaxFormComponentUpdatingBehavior("onchange") {

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            });
            item.add(autoCompleteEditor);

            autoCompleteEditor.add(AttributeAppender.replace("placeholder", createEmptyItemPlaceholder()));

            if (!inputEnabled) {
                autoCompleteEditor.add(new AttributeModifier("disabled", "disabled"));
            }
            item.add(autoCompleteEditor);

            WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP);
            item.add(buttonGroup);
            initButtons(buttonGroup, item);
        }
    };
    repeater.setOutputMarkupId(true);
    repeater.setOutputMarkupPlaceholderTag(true);
    repeater.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !getModel().getObject().isEmpty();
        }
    });
    add(repeater);
}

From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueDropDownPanel.java

License:Apache License

private void initLayout(final boolean nullValid) {
    WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(new VisibleEnableBehaviour() {

        @Override//from  w w w.ja  v a2  s.  c o  m
        public boolean isVisible() {
            return getModel().getObject().isEmpty();
        }
    });
    add(placeholderContainer);

    AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addValuePerformed(target);
        }
    };
    placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            if (buttonsDisabled()) {
                return " " + CSS_DISABLED;
            }

            return "";
        }
    }));
    placeholderAdd.setOutputMarkupId(true);
    placeholderAdd.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(placeholderAdd);

    ListView repeater = new ListView<T>(ID_REPEATER, getModel()) {

        @Override
        protected void populateItem(final ListItem<T> item) {

            DropDownChoice choice = new DropDownChoice<>(ID_INPUT, createDropDownItemModel(item.getModel()),
                    createChoiceList(), createRenderer());
            choice.setNullValid(nullValid);
            item.add(choice);

            WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP);
            item.add(buttonGroup);
            initButtons(buttonGroup, item);
        }
    };
    repeater.setOutputMarkupId(true);
    repeater.setOutputMarkupPlaceholderTag(true);
    repeater.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !getModel().getObject().isEmpty();
        }
    });
    add(repeater);
}

From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueTextEditPanel.java

License:Apache License

private void initLayout(final boolean inputEnabled) {
    WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(new VisibleEnableBehaviour() {

        @Override// w  w  w .j  a  va2s.c o  m
        public boolean isVisible() {
            return getModel().getObject().isEmpty();
        }
    });
    add(placeholderContainer);

    AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addValuePerformed(target);
        }
    };
    placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            if (buttonsDisabled()) {
                return " " + CSS_DISABLED;
            }

            return "";
        }
    }));
    placeholderAdd.setOutputMarkupId(true);
    placeholderAdd.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(placeholderAdd);

    ListView repeater = new ListView<T>(ID_REPEATER, getModel()) {

        @Override
        protected void populateItem(final ListItem<T> item) {
            TextField text = new TextField<>(ID_TEXT, createTextModel(item.getModel()));
            text.add(new AjaxFormComponentUpdatingBehavior("onblur") {

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            });
            text.add(AttributeAppender.replace("placeholder", createEmptyItemPlaceholder()));

            if (!inputEnabled) {
                text.add(new AttributeModifier("disabled", "disabled"));
            }
            item.add(text);

            WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP);
            item.add(buttonGroup);
            initButtons(buttonGroup, item);
        }
    };
    repeater.setOutputMarkupId(true);
    repeater.setOutputMarkupPlaceholderTag(true);
    repeater.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !getModel().getObject().isEmpty();
        }
    });
    add(repeater);
}

From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueTextPanel.java

License:Apache License

protected void initPanelLayout() {
    WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(new VisibleEnableBehaviour() {

        @Override/*from www .ja v a  2s  . co  m*/
        public boolean isVisible() {
            return getModel().getObject().isEmpty();
        }
    });
    add(placeholderContainer);

    AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addValuePerformed(target);
        }
    };
    placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            if (buttonsDisabled()) {
                return " " + CSS_DISABLED;
            }

            return "";
        }
    }));
    placeholderAdd.setOutputMarkupId(true);
    placeholderAdd.setOutputMarkupPlaceholderTag(true);
    placeholderContainer.add(placeholderAdd);

    ListView repeater = new ListView<T>(ID_REPEATER, getModel()) {

        @Override
        protected void populateItem(final ListItem<T> item) {
            TextField text = new TextField<>(ID_TEXT, createTextModel(item.getModel()));
            text.add(new AjaxFormComponentUpdatingBehavior("onblur") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            });
            text.add(AttributeAppender.replace("placeholder", createEmptyItemPlaceholder()));
            item.add(text);

            WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP);
            item.add(buttonGroup);
            initButtons(buttonGroup, item);
        }
    };
    repeater.setOutputMarkupId(true);
    repeater.setOutputMarkupPlaceholderTag(true);
    repeater.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !getModel().getObject().isEmpty();
        }
    });
    add(repeater);
}

From source file:com.userweave.pages.configuration.project.SetToPublicWebPage.java

License:Open Source License

@Override
protected WebMarkupContainer getAcceptButton(String componentId, final ModalWindow window) {
    AjaxLink acceptLink = new AjaxLink(componentId) {
        private static final long serialVersionUID = 1L;

        @Override/*  ww  w  .j ava2 s  . com*/
        public void onClick(AjaxRequestTarget target) {
            onAccept(target);
            window.close(target);
        }
    };

    acceptLink.setVisible(false);
    acceptLink.setOutputMarkupId(true);
    acceptLink.setOutputMarkupPlaceholderTag(true);

    return acceptLink;
}

From source file:org.apache.syncope.client.console.pages.AbstractSyncTaskModalPage.java

License:Apache License

public AbstractSyncTaskModalPage(final ModalWindow window, final AbstractProvisioningTaskTO taskTO,
        final PageReference pageRef) {

    super(window, taskTO, pageRef);

    final AjaxDropDownChoicePanel<String> resource = new AjaxDropDownChoicePanel<>("resource",
            getString("resourceName"), new PropertyModel<String>(taskTO, "resource"));
    resource.setChoices(allResources.getObject());
    resource.setChoiceRenderer(new SelectChoiceRenderer<String>());
    resource.addRequiredLabel();//www .  java2s . c  o  m
    resource.setEnabled(taskTO.getKey() == 0);
    resource.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");

    profile.add(resource);

    final WebMarkupContainer syncActionsClassNames = new WebMarkupContainer("syncActionsClassNames");
    syncActionsClassNames.setOutputMarkupId(true);
    profile.add(syncActionsClassNames);

    final AjaxLink<Void> first = new IndicatingAjaxLink<Void>("first") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            taskTO.getActionsClassNames().add(StringUtils.EMPTY);
            setVisible(false);
            target.add(syncActionsClassNames);
        }
    };
    first.setOutputMarkupPlaceholderTag(true);
    first.setVisible(taskTO.getActionsClassNames().isEmpty());
    syncActionsClassNames.add(first);

    final ListView<String> actionsClasses = new ListView<String>("actionsClasses",
            new PropertyModel<List<String>>(taskTO, "actionsClassNames")) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        protected void populateItem(final ListItem<String> item) {
            final String className = item.getModelObject();

            final DropDownChoice<String> actionsClass = new DropDownChoice<String>("actionsClass",
                    new Model<String>(className), syncActionsClasses.getObject());
            actionsClass.setNullValid(true);
            actionsClass.setRequired(true);
            actionsClass.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {

                private static final long serialVersionUID = -1107858522700306810L;

                @Override
                protected void onUpdate(final AjaxRequestTarget target) {
                    taskTO.getActionsClassNames().set(item.getIndex(), actionsClass.getModelObject());
                    target.add(syncActionsClassNames);
                }
            });
            actionsClass.setRequired(true);
            actionsClass.setOutputMarkupId(true);
            actionsClass.setRequired(true);
            item.add(actionsClass);

            AjaxLink<Void> minus = new IndicatingAjaxLink<Void>("drop") {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    taskTO.getActionsClassNames().remove(className);
                    first.setVisible(taskTO.getActionsClassNames().isEmpty());
                    target.add(syncActionsClassNames);
                }
            };
            item.add(minus);

            final AjaxLink<Void> plus = new IndicatingAjaxLink<Void>("add") {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    taskTO.getActionsClassNames().add(StringUtils.EMPTY);
                    target.add(syncActionsClassNames);
                }
            };
            plus.setOutputMarkupPlaceholderTag(true);
            plus.setVisible(item.getIndex() == taskTO.getActionsClassNames().size() - 1);
            item.add(plus);
        }
    };
    syncActionsClassNames.add(actionsClasses);

    syncActionsClassNames.setEnabled(!syncActionsClasses.getObject().isEmpty());

    final AjaxCheckBoxPanel creates = new AjaxCheckBoxPanel("performCreate", getString("creates"),
            new PropertyModel<Boolean>(taskTO, "performCreate"));
    profile.add(creates);

    final AjaxCheckBoxPanel updates = new AjaxCheckBoxPanel("performUpdate", getString("updates"),
            new PropertyModel<Boolean>(taskTO, "performUpdate"));
    profile.add(updates);

    final AjaxCheckBoxPanel deletes = new AjaxCheckBoxPanel("performDelete", getString("updates"),
            new PropertyModel<Boolean>(taskTO, "performDelete"));
    profile.add(deletes);

    final AjaxCheckBoxPanel syncStatus = new AjaxCheckBoxPanel("syncStatus", getString("syncStatus"),
            new PropertyModel<Boolean>(taskTO, "syncStatus"));
    profile.add(syncStatus);

    matchingRule = new AjaxDropDownChoicePanel<MatchingRule>("matchingRule", "matchingRule",
            new PropertyModel<MatchingRule>(taskTO, "matchingRule"));
    matchingRule.setChoices(Arrays.asList(MatchingRule.values()));
    ((DropDownChoice) matchingRule.getField()).setNullValid(false);

    unmatchingRule = new AjaxDropDownChoicePanel<UnmatchingRule>("unmatchingRule", "unmatchingRule",
            new PropertyModel<UnmatchingRule>(taskTO, "unmatchingRule"));
    unmatchingRule.setChoices(Arrays.asList(UnmatchingRule.values()));
    ((DropDownChoice) unmatchingRule.getField()).setNullValid(false);
}