Ok, I've opened wicket's ajax debugger and there is NO ajax call. What I see is
this:
INFO: focus set on
INFO: focus removed from
INFO: focus set on
INFO: focus removed from
So it seems to me the fields do not have names. However in the HTML I do see a
name.
<input type="text" wicket:id="runtimeOs" style="width:100px;" value="ios"
name="runtimesPanel:runtimes:1:runtimeOs">
However, there are more of these inputs with the same wicket:id; it's a make
shift table build using a RefreshingView
<input type="text" wicket:id="runtimeOs" style="width:100px;" value="bada"
name="runtimesPanel:runtimes:2:runtimeOs">
<input type="text" wicket:id="runtimeOs" style="width:100px;" value="bada"
name="runtimesPanel:runtimes:3:runtimeOs">
...
I believe I'm doing something wrong in building that make shift table.
// the panel taking care of the ajax
final MarkupContainer lRuntimesPanel = new
WebMarkupContainer("runtimesPanel");
lRuntimesPanel.setOutputMarkupId(true);
lForm.add(lRuntimesPanel);
// the list of runtimes
final
RefreshingView<com.service2media.licenseframework.service.license.jaxb.Runtime>
lRuntimeListView = new
RefreshingView<com.service2media.licenseframework.service.license.jaxb.Runtime>("runtimes")
//LicenseModel.RUNTIMES_PROPERTY)
{
@Override
protected
Iterator<IModel<com.service2media.licenseframework.service.license.jaxb.Runtime>>
getItemModels()
{
return new
ModelIteratorAdapter(lLicenseJAXB.getRuntimes().getRuntime().iterator())
{
@Override
protected final IModel model(final Object object)
{
return new
CompoundPropertyModel((com.service2media.licenseframework.service.license.jaxb.Runtime)
object);
}
};
}
@Override
protected void populateItem(final
Item<com.service2media.licenseframework.service.license.jaxb.Runtime> item)
{
item.add( new DropDownChoice<String>("runtimeType", new
PropertyModel<String>(item.getDefaultModel(), "type"), License.RUNTIME_TYPES));
item.add( new TextField<String>("runtimeOs", new
PropertyModel<String>(item.getDefaultModel(), "os")));
item.add( new TextField<String>("runtimeOsVersion", new
PropertyModel<String>(item.getDefaultModel(), "osversion")));
item.add( new TextField<String>("runtimePoolId", new
PropertyModel<String>(item.getDefaultModel(), "poolid")));
item.add( new TextField<BigInteger>("runtimePoolSize", new
PropertyModel<BigInteger>(item.getDefaultModel(), "poolsize")));
// remove button
AjaxSubmitLink lRemoveRuntime = new
AjaxSubmitLink("removeRuntime", lForm)
{
@Override
protected void onError(AjaxRequestTarget target,
Form<?> form)
{
}
@Override
protected void onSubmit(AjaxRequestTarget target,
Form<?> form)
{
List<com.service2media.licenseframework.service.license.jaxb.Runtime> lRuntimes
= lLicenseJAXB.getRuntimes().getRuntime();
lRuntimes.remove(item.getModelObject());
if (target != null) target.add(lRuntimesPanel);
// ajax update
}
@Override
protected IAjaxCallDecorator getAjaxCallDecorator()
{
return new JavascriptConfirmDecorator("Remove the
runtime?");
}
};
lRemoveRuntime.setDefaultFormProcessing(false);
item.add(lRemoveRuntime);
}
};
lRuntimesPanel.add(lRuntimeListView);
On 16-4-2012 8:54, Martin Grigorov wrote:
Hi Tom,
Wicket keeps track of the last focused element only for Ajax requests.
I.e. Wicket sends a header in the ajax requests with the id of the
focused element when the Ajax call starter and later when the Ajax
response is processed it re-focuses this element.
Additionally there is AjaxRequestTarget#focusComponent(Component)
method which may be used to focus another element.
If you replace the focused element in the Ajax response then
lastFocusedId will be obsolete and Wicket wont be able to find the old
component.
I hope this helps you find out what causes the jumps in the focused elements.
On Fri, Apr 13, 2012 at 5:49 PM, Tom Eugelink<t...@tbee.org> wrote:
On 2012-04-13 11:58, Tom Eugelink wrote:
The cursor can be placed in the date fields, but not in any of the
textfield in the listview.
To add some additional information; the cursor can be placed in the
textfields by using the TAB key. A mouse click will always jump to the first
field. So it seems to be a RefreshingView in combination with a mouse click
problem.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org