Example usage for org.apache.wicket.extensions.ajax.markup.html AjaxEditableChoiceLabel AjaxEditableChoiceLabel

List of usage examples for org.apache.wicket.extensions.ajax.markup.html AjaxEditableChoiceLabel AjaxEditableChoiceLabel

Introduction

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

Prototype

public AjaxEditableChoiceLabel(final String id, final IModel<T> model, final List<? extends T> choices) 

Source Link

Document

Construct.

Usage

From source file:com.comcast.cdn.traffic_control.traffic_monitor.wicket.components.EditConfigPanel.java

License:Apache License

private final void setForm(final Form<MonitorConfig> editform, final Map<String, String> baseconfig) {
    final MonitorConfig config = ConfigHandler.getConfig();

    if (config == null || !config.allowConfigEdit()) {
        return;//ww w.ja  va 2s  . c o  m
    }

    final List<String> keys = sort(baseconfig.keySet());
    keys.remove(TM_HOSTNAME_KEY);
    keys.remove(CDN_NAME_KEY);

    final List<String> TM_HOSTS = Arrays.asList(new String[] { "tm.company.net" });
    final ArrayList<String> cdnList = new ArrayList<String>();
    final String hostName = baseconfig.get(TM_HOSTNAME_KEY);
    setCdnList(cdnList, hostName);
    final AjaxEditableChoiceLabel<String> tmHost = new AjaxEditableChoiceLabel<String>("tmHost",
            new BaseConfigModel(TM_HOSTNAME_KEY, baseconfig), TM_HOSTS) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target) {
            super.onSubmit(target);
            final String hostName = baseconfig.get(TM_HOSTNAME_KEY);
            setCdnList(cdnList, hostName);
            target.add(cdnName);
        }
    };
    //      listSites
    editform.add(tmHost);

    cdnName = new AjaxEditableChoiceLabel<String>(CDN_NAME_KEY, new BaseConfigModel(CDN_NAME_KEY, baseconfig),
            new WildcardListModel<String>(cdnList));
    //      listSites
    editform.add(cdnName);

    final ListView<String> propView = new ListView<String>("propList", keys) {
        private static final long serialVersionUID = 1L;

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

            final Label label = new Label("key", key);
            item.add(label);

            //            editform.add(new TextField("value", new Model<String>(baseconfig.get(key)))) ;
            item.add(new AjaxEditableLabel<String>("value", new BaseConfigModel(key, baseconfig)));

            item.add(label);
        }
    };
    editform.add(propView);

    editform.add(new AjaxLink<Object>("cancel") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            final Map<String, String> oldProps = ConfigHandler.getConfig().getBaseProps();
            baseconfig.putAll(oldProps);
            final String hostName = baseconfig.get(TM_HOSTNAME_KEY);
            setCdnList(cdnList, hostName);
            if (target != null) {
                target.add(EditConfigPanel.this);
            }
        }
    });
    editform.add(new AjaxButton("submit", editform) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            try {
                ConfigHandler.saveBaseConfig(baseconfig);
                TmWatcher.getInstance().refresh();
            } catch (JSONException e) {
                LOGGER.warn(e, e);
            } catch (IOException e) {
                LOGGER.warn(e, e);
            }
            //            EditConfigPanel.this.showForm(false);
            if (target != null) {
                target.add(EditConfigPanel.this);
            }
        }
    });
}

From source file:org.wicketstuff.jmx.markup.html.EditorPanel.java

License:Apache License

private Component getAjaxEditableChoiceLabel(IModel model, IModel labelModel, IModel choiceModel, Class clazz) {
    return new AjaxEditableChoiceLabel("editor", model, choiceModel) {
        private static final long serialVersionUID = 1L;

        @Override//from ww  w .  ja v a2s  .  co m
        protected WebComponent newLabel(MarkupContainer parent, String componentId, IModel model) {
            Label label = new Label(componentId, model);
            label.setOutputMarkupId(true);
            label.add(new LabelAjaxBehavior("onclick"));
            return label;
        }
    }.setLabel(labelModel);
}