Hi,
By default AEL submits on ENTER key press or blur event. Does it work with
blur ?
Check with Firebug or similar whether an Ajax call is made at all.
Check whether
http://www.wicket-library.com/wicket-examples-6.0.x/ajax/editable-labelhttp://www.wicket-library.com/wicket-examples-6.0.x/ajax/editable-label?0
works
with your browser.
On Thu, Dec 13, 2012 at 4:16 PM, N. Metzger nmetz...@odu.edu wrote:
Hi all,
I recently migrated from 1.5.5 to 6.3. My objective is to display a list of
group members with the ability to insert or update an expiration date for a
specific member. It worked correctly before, but now I'm having problems
with my AjaxEditableLabel nested in a PropertyColumn. I can click the label
and type something, but on hitting enter, nothing changes and the
onSubmit()
is never called. As I said, it worked in 1.5.
Below is a code excerpt.
Any pointers would be appreciated,
Natalie
private class PersonTabPanel extends Panel
{
public PersonTabPanel(String id){
super(id);
AjaxFallbackDefaultDataTable dataTable = new
AjaxFallbackDefaultDataTable(memberTable, definePersonColumns(),
new
MemberDataProvider(currentGroup,
MEMBER, PERSON), ELEMENTS_PER_PAGE);
dataTable.setItemReuseStrategy(new
DefaultItemReuseStrategy());
add(dataTable);
}
}
public ListIColumnlt;MemberInterface, Object definePersonColumns(){
ListIColumnlt;MemberInterface, Object columns = new
ArrayListIColumnlt;MemberInterface, Object();
columns.add(new PropertyColumnMemberInterface, Object(new
ModelString(Last Name), lastname, lastname));
columns.add(new PropertyColumnMemberInterface, Object(new
ModelString(First Name), displayedFirstName, displayedFirstName));
columns.add(new PropertyColumnMemberInterface, Object(new
ModelString(Email Address), emailAddress, emailAddress));
if (isMemberEditAuthorized(currentGroup.getGroupCode()) ){
columns.add(new PropertyColumnMemberInterface, Object(new
ModelString(Expiration (MM/DD/YY)), expirationDate, expirationDate)
{
@Override
public void
populateItem(ItemICellPopulatorlt;MemberInterface cellItem, String
componentId,
final IModelMemberInterface
rowModel)
{
AjaxEditableLabelDate editableLabel = new
AjaxEditableLabelDate(componentId,
new
PropertyModelDate(rowModel, expirationDate)){
@Override
protected void onSubmit(AjaxRequestTarget target){
int groupCode = currentGroup.getGroupCode();
Date expiration = (Date)
getDefaultModelObject();
if (expiration != null)
expiration = new Date(expiration.getTime()
+
86399000L); //expires at 23:59:59 on the given date
MemberInterface selectedMember =
(MemberInterface) rowModel.getObject();
int gidm = selectedMember.getGidm();
String memberType =
selectedMember.getMemberType();
try {
expireMember(sessionId, midm, groupCode,
gidm, memberType, expiration);
logger.debug({}:{}: Set a member
expiration
date to +
expiration+ for GIDM +gidm,
sessionId, midm);
} catch (Exception e) {
logger.error(Caught an exception while
updating a group member expiration, e);
error(An error occurred while updating the
expiration date.);
}
getLabel().setVisible(true);
getEditor().setVisible(false);
target.add(this);
target.appendJavaScript(window.status='';);
target.add(feedback);
}
@Override
protected String defaultNullLabel(){
return ([click to edit]);
}
@Override
protected void onError(AjaxRequestTarget target){
target.add(feedback);
}
};
cellItem.add(editableLabel);
}
});
[Rest of code omitted]
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/AjaxEditableLabel-not-saving-after-migration-to-6-3-tp4654769.html
Sent from the Users forum mailing list