Example usage for org.apache.wicket.markup.html.list ListView setOutputMarkupPlaceholderTag

List of usage examples for org.apache.wicket.markup.html.list ListView setOutputMarkupPlaceholderTag

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListView 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.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   www  . ja  v a2s . 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) {
            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   ww  w .  j a  v a  2  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/*from  w  w w. jav  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) {
            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/*  w  w w  . ja  va 2s . 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()));
            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.hubeleon.wicket.clearing.ConfirmCDRs.java

private void populateScreen() {
    LOG.entering(CLASS_NAME, "populateScreen");

    List<CDRInfoModel> cdrInfoArray = new ArrayList();

    LOG.warning("cdrInfoList result before = " + cdrInfoArray.size());
    cdrInfoArray.addAll(cdrInfoBO.findForReview());
    LOG.warning("cdrInfoList result after = " + cdrInfoArray.size());

    final WebMarkupContainer divList = new WebMarkupContainer("ochConfirmCDRsTable");

    final ListView list = new ListView<CDRInfoModel>("listview", cdrInfoArray) {

        protected void populateItem(final ListItem<CDRInfoModel> listItem) {

            CDRInfoModel cdr = (CDRInfoModel) listItem.getModelObject();

            listItem.add(new Label("cdrId", (cdr.getCdrId() != null ? cdr.getCdrId() : "")));
            listItem.add(new Label("evseId", (cdr.getEvseId() != null ? cdr.getEvseId() : "")));

            listItem.add(new Label("startDateTime",
                    (cdr.getStartDateTime().toString() != null ? cdr.getStartDateTime().toString() : "")));
            listItem.add(new Label("endDateTime",
                    (cdr.getEndDateTime().toString() != null ? cdr.getEndDateTime().toString() : "")));
            listItem.add(new Label("duration", (cdr.getDuration() != null ? cdr.getDuration() : "")));

            listItem.add(new Label("instance", cdr.getInstance() != null ? cdr.getInstance() : ""));
            listItem.add(new Label("tokenType", cdr.getTokenType() != null ? cdr.getTokenType() : ""));
            listItem.add(new Label("tokenSubType", cdr.getTokenSubType() != null ? cdr.getTokenSubType() : ""));
            listItem.add(new Label("contractId", cdr.getContractId() != null ? cdr.getContractId() : ""));
            listItem.add(new Label("liveAuthId", cdr.getLiveAuthId() != null ? cdr.getLiveAuthId() : ""));

        }/*from   w w  w . ja v  a 2s .c o m*/
    };
    list.setOutputMarkupId(true);
    list.setOutputMarkupPlaceholderTag(true);
    divList.setOutputMarkupId(true);
    divList.setOutputMarkupPlaceholderTag(true);
    divList.add(list);
    add(divList);

    LOG.exiting(CLASS_NAME, "populateScreen");
}

From source file:com.hubeleon.wicketlist.HomePage.java

License:Open Source License

public HomePage() {

    final WebMarkupContainer divList = new WebMarkupContainer("ochConfirmCDRsTable");
    divList.setOutputMarkupId(true);/*www .  jav  a  2  s. c  o  m*/
    divList.setOutputMarkupPlaceholderTag(true);
    setVersioned(false);

    final List<CDRInfo> cdrInfoArray = new ArrayList();
    if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) {
        try (Closeable closeable = ObjectifyService.begin()) {
            System.out.println(" #######  get all cdr list");
            List<CDRInfo> ths = ofy().load().type(CDRInfo.class).list();
            cdrInfoArray.addAll(ths);
        }
    }

    final ListView list = new ListView<CDRInfo>("listview", cdrInfoArray) {

        protected void populateItem(final ListItem<CDRInfo> listItem) {

            final CDRInfo cdr = (CDRInfo) listItem.getModelObject();

            System.out.println("Populating List for  " + cdr.getCdrId() + " with status  "
                    + cdr.getCdrStatusType() + " retrieved from database ");

            listItem.setOutputMarkupId(true);
            listItem.setOutputMarkupPlaceholderTag(true);

            listItem.add(new Label("cdr", (cdr.getCdrId() != null ? cdr.getCdrId() : "")));
            listItem.add(new Label("evseId", (cdr.getEvseId() != null ? cdr.getEvseId() : "")));
            final Label lblStatus = new Label("status", new PropertyModel<String>(cdr, "cdrStatusType"));
            lblStatus.setOutputMarkupId(true);
            lblStatus.setOutputMarkupPlaceholderTag(true);

            listItem.add(lblStatus);

            listItem.add(new Label("startDateTime",
                    (cdr.getStartDateTime().toString() != null ? cdr.getStartDateTime().toString() : "")));
            listItem.add(new Label("endDateTime",
                    (cdr.getEndDateTime().toString() != null ? cdr.getEndDateTime().toString() : "")));
            listItem.add(new Label("duration", (cdr.getDuration() != null ? cdr.getDuration() : "")));

            listItem.add(new Label("instance", cdr.getInstance() != null ? cdr.getInstance() : ""));
            listItem.add(new Label("tokenType", cdr.getTokenType() != null ? cdr.getTokenType() : ""));
            listItem.add(new Label("tokenSubType", cdr.getTokenSubType() != null ? cdr.getTokenSubType() : ""));
            listItem.add(new Label("contractId", cdr.getContractId() != null ? cdr.getContractId() : ""));
            listItem.add(new Label("liveAuthId", cdr.getLiveAuthId() != null ? cdr.getLiveAuthId() : ""));

            final Form<CDRInfo> form = new Form<CDRInfo>("myForm", new Model(cdr)) {

                /**
                 * 
                 */
                private static final long serialVersionUID = 1L;

                protected void onSubmit(AjaxRequestTarget target, Form<CDRInfo> form) {
                    CDRInfo c = (CDRInfo) this.getModelObject();
                    System.err.println("######## STATUS:" + c.getCdrStatusType());
                    //this.setResponsePage(new MovieDisplayPage(movie));
                };
            };

            form.setOutputMarkupId(true);
            form.setOutputMarkupPlaceholderTag(true);

            final HiddenField currentState = new HiddenField("currentState",
                    new PropertyModel<String>(cdr, "cdrStatusType"));
            currentState.setOutputMarkupId(true);
            form.add(currentState);

            final HiddenField hcdr = new HiddenField("cdrId", new PropertyModel<String>(cdr, "cdrId"));
            hcdr.setOutputMarkupId(true);
            form.add(hcdr);

            final Model<String> btnStyle = new Model<String>("btn-warning");

            AjaxButton btn = new AjaxButton("stateAcceptButton",
                    new PropertyModel<String>(cdr, "cdrStatusType"), form) {

                protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
                    super.updateAjaxAttributes(attributes);
                    attributes.setWicketAjaxResponse(false);
                }

                protected void onClick(AjaxRequestTarget target, Form form) {

                }

                protected void onSubmit(AjaxRequestTarget target, Form form) {
                    System.out.println(" ####### " + hcdr.getDefaultModelObjectAsString() + " - "
                            + currentState.getDefaultModelObjectAsString());
                    if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) {
                        try (Closeable closeable = ObjectifyService.begin()) {
                            CDRInfo result = (CDRInfo) ofy().load().type(CDRInfo.class)
                                    .id(hcdr.getDefaultModelObjectAsString()).now();
                            result.setCdrStatusType("Accepted");
                            System.out.println("Persisting to database " + result.getCdrId() + " - "
                                    + result.getCdrStatusType() + " ::: " + target.getLastFocusedElementId());
                            ofy().save().entity(result).now();
                            setReuseItems(true);
                            addStateChange();
                            modelChanging();
                            // Remove item and invalidate listView
                            List<CDRInfo> currentList = (List<CDRInfo>) getList();
                            for (CDRInfo i : currentList) {
                                if (i.getCdrId().equalsIgnoreCase(result.getCdrId())) {
                                    System.out.println("#### Found entry and updating state to : "
                                            + result.getCdrStatusType());
                                    currentList.remove(i);
                                    i.setCdrStatusType(result.getCdrStatusType());
                                    System.out.println("#### set list " + currentList);
                                    setList(currentList);
                                    target.appendJavaScript(" document.getElementById('" + lblStatus.getId()
                                            + "').value='" + result.getCdrStatusType() + "';");
                                    System.out.println("#### model changed ");
                                    modelChanged();
                                    System.out.println("#### remove all ");
                                    removeAll();
                                    break;
                                } else {
                                    System.out.println("#### NOT FOUND as charge record " + i.getCdrId()
                                            + ", while we are looking for " + result.getCdrId());
                                }
                            }
                        }
                    }
                    target.add(lblStatus);
                    setResponsePage(HomePage.class);
                }

            };

            btn.add(AttributeModifier.append("class", btnStyle));

            btn.add(new AttributeModifier("cdrStatusType", cdr) {
                protected String newValue(final String currentValue, final String replacementValue) {
                    System.out
                            .println("######## New Value 1:" + replacementValue + " old value " + currentValue);
                    return currentValue + replacementValue;
                }

            });

            form.add(btn);

            AjaxButton btnReject = new AjaxButton("stateRejectButton",
                    new PropertyModel<String>(cdr, "cdrStatusType"), form) {

                protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
                    super.updateAjaxAttributes(attributes);
                    attributes.setWicketAjaxResponse(false);
                    System.out.println("########updateAjaxAttributes");
                }

                protected void onSubmit(AjaxRequestTarget target, Form form) {
                    System.out.println(" ####### " + hcdr.getDefaultModelObjectAsString() + " - "
                            + currentState.getDefaultModelObjectAsString());
                    if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) {
                        try (Closeable closeable = ObjectifyService.begin()) {
                            CDRInfo result = (CDRInfo) ofy().load().type(CDRInfo.class)
                                    .id(hcdr.getDefaultModelObjectAsString()).now();
                            result.setCdrStatusType("Rejected");
                            System.out.println("Persisting to database " + result.getCdrId() + " - "
                                    + result.getCdrStatusType() + " ::: " + target.getLastFocusedElementId());
                            ofy().save().entity(result).now();
                            getList().remove(result);
                        }
                    }
                    target.add(divList);
                }

            };

            btnReject.add(AttributeModifier.append("class", btnStyle));

            btnReject.add(new AttributeModifier("cdrStatusType", cdr) {
                protected String newValue(final String currentValue, final String replacementValue) {
                    System.out.println("######## New Value Reject Button:" + replacementValue + " old value "
                            + currentValue);
                    return currentValue + replacementValue;
                }

            });

            form.add(btnReject);
            listItem.add(form);

        }
    };
    list.setOutputMarkupId(true);
    list.setOutputMarkupPlaceholderTag(true);
    divList.setOutputMarkupId(true);
    divList.setOutputMarkupPlaceholderTag(true);
    divList.add(list);

    add(divList);

}