Example usage for org.apache.wicket.markup.html.form FormComponent setModelObject

List of usage examples for org.apache.wicket.markup.html.form FormComponent setModelObject

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form FormComponent setModelObject.

Prototype

default C setModelObject(T object) 

Source Link

Document

Typesafe setter for the model object

Usage

From source file:org.brixcms.plugin.site.page.tile.admin.NewTileFragment.java

License:Apache License

public NewTileFragment(String id, String fragmentId, MarkupContainer markupContainer,
        final IModel<BrixNode> nodeModel) {
    super(id, fragmentId, markupContainer, nodeModel);
    final Form<Void> form = new Form<Void>("form");
    add(form);//from w  w  w. j a  va  2s  . c  o m

    form.add(new ContainerFeedbackPanel("feedback", form));

    final FormComponent<String> tileId;

    form.add(tileId = new TextField<String>("tileId", new PropertyModel<String>(this, "newTileId")));
    tileId.setRequired(true).add(new NewTileIdValidator()).add(NodeNameValidator.getInstance())
            .setOutputMarkupId(true);

    IModel<List<? extends String>> idSuggestionModel = new LoadableDetachableModel<List<? extends String>>() {
        @Override
        protected List<? extends String> load() {
            List<String> res = new ArrayList<String>();
            Collection<String> ids = ((AbstractContainer) NewTileFragment.this.getModelObject()).getTileIDs();
            res.addAll(ids);
            return res;
        }
    };

    final DropDownChoice<String> idSuggestion;
    form.add(idSuggestion = new DropDownChoice<String>("idSuggestion", new Model<String>(), idSuggestionModel) {
        @Override
        public boolean isVisible() {
            return NewTileFragment.this.getModelObject() instanceof GlobalContainerNode == false;
        }
    });

    idSuggestion.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            tileId.setModelObject(idSuggestion.getModelObject());
            idSuggestion.setModelObject(null);
            target.addComponent(tileId);
            target.addComponent(idSuggestion);
            target.focusComponent(tileId);
        }
    });
    idSuggestion.setNullValid(true);

    form.add(new DropDownChoice<String>("tileType", new PropertyModel<String>(this, "newTileTypeName"),
            new TileTypeNamesModel(), new TileTypeNameRenderer()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }

        @Override
        protected void onSelectionChanged(String tileTypeName) {
            ;
            if (tileTypeName == null) {
                EmptyPanel ep = new EmptyPanel(newTileEditor.getId());
                newTileEditor.replaceWith(ep);
                newTileEditor = ep;
            } else {
                final Brix brix = NewTileFragment.this.getModelObject().getBrix();
                final Tile tile = Tile.Helper.getTileOfType(tileTypeName, brix);
                TileEditorPanel ed = tile.newEditor(newTileEditor.getId(), nodeModel);
                newTileEditor.replaceWith(ed);
                newTileEditor = ed;
            }
        }

    }.setRequired(true));

    newTileEditor = new EmptyPanel("tile-editor");
    form.add(newTileEditor);

    form.add(new SubmitLink("add") {
        @Override
        public void onSubmit() {
            onAddTile(newTileId, newTileTypeName);
        }
    });
}

From source file:org.obiba.onyx.quartz.editor.openAnswer.OpenAnswerPanel.java

License:Open Source License

private static void clearAndHide(FormComponent<?>... components) {
    if (components != null) {
        for (FormComponent<?> component : components) {
            component.setModelObject(null);
            component.setVisible(false);
        }//from w ww  .j  a  v  a2 s .co  m
    }
}

From source file:org.onehippo.taxonomy.plugin.NewCategoryDialog.java

License:Apache License

public NewCategoryDialog(final IModel<Taxonomy> taxonomyModel, final String pathKey) {
    super(taxonomyModel);

    this.name = "new category";
    this.pathKey = pathKey;
    this.key = createKey();

    add(new AttributeAppender("class", new Model<String>("hippo-editor"), " "));

    final FormComponent<String> keyField = new TextField<String>("key", new IModel<String>() {

        private static final long serialVersionUID = 1L;

        public String getObject() {
            return getKey();
        }// w  w  w. j a va2 s .  c  o m

        public void setObject(String object) {
            key = object;
        }

        public void detach() {
        }
    });
    keyField.setModelObject(key);
    keyField.add(new SimpleAttributeModifier("readonly", "readonly"));
    keyField.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
        }
    });
    keyField.setOutputMarkupId(true);
    add(keyField);

    final FormComponent<String> nameField = new TextField<String>("name", new IModel<String>() {

        private static final long serialVersionUID = 1L;

        public String getObject() {
            return name;
        }

        public void setObject(String object) {
            name = object;
        }

        public void detach() {
        }
    });

    nameField.add(new OnChangeAjaxBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            keyField.setModelObject(createKey());
            target.addComponent(keyField);
        }
    });
    add(nameField);
}