List of usage examples for org.apache.wicket.extensions.ajax.markup.html AjaxEditableChoiceLabel AjaxEditableChoiceLabel
public AjaxEditableChoiceLabel(final String id, final IModel<T> model, final List<? extends T> choices)
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); }