List of usage examples for org.apache.wicket.ajax AjaxRequestTarget getLastFocusedElementId
String getLastFocusedElementId();
From source file:com.hubeleon.wicketlist.HomePage.java
License:Open Source License
public HomePage() { final WebMarkupContainer divList = new WebMarkupContainer("ochConfirmCDRsTable"); divList.setOutputMarkupId(true);/*from w w w . java 2 s . c o m*/ divList.setOutputMarkupPlaceholderTag(true); setVersioned(false); final List<CDRInfo> cdrInfoArray = new ArrayList(); if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) { try (Closeable closeable = ObjectifyService.begin()) { System.out.println(" ####### get all cdr list"); List<CDRInfo> ths = ofy().load().type(CDRInfo.class).list(); cdrInfoArray.addAll(ths); } } final ListView list = new ListView<CDRInfo>("listview", cdrInfoArray) { protected void populateItem(final ListItem<CDRInfo> listItem) { final CDRInfo cdr = (CDRInfo) listItem.getModelObject(); System.out.println("Populating List for " + cdr.getCdrId() + " with status " + cdr.getCdrStatusType() + " retrieved from database "); listItem.setOutputMarkupId(true); listItem.setOutputMarkupPlaceholderTag(true); listItem.add(new Label("cdr", (cdr.getCdrId() != null ? cdr.getCdrId() : ""))); listItem.add(new Label("evseId", (cdr.getEvseId() != null ? cdr.getEvseId() : ""))); final Label lblStatus = new Label("status", new PropertyModel<String>(cdr, "cdrStatusType")); lblStatus.setOutputMarkupId(true); lblStatus.setOutputMarkupPlaceholderTag(true); listItem.add(lblStatus); listItem.add(new Label("startDateTime", (cdr.getStartDateTime().toString() != null ? cdr.getStartDateTime().toString() : ""))); listItem.add(new Label("endDateTime", (cdr.getEndDateTime().toString() != null ? cdr.getEndDateTime().toString() : ""))); listItem.add(new Label("duration", (cdr.getDuration() != null ? cdr.getDuration() : ""))); listItem.add(new Label("instance", cdr.getInstance() != null ? cdr.getInstance() : "")); listItem.add(new Label("tokenType", cdr.getTokenType() != null ? cdr.getTokenType() : "")); listItem.add(new Label("tokenSubType", cdr.getTokenSubType() != null ? cdr.getTokenSubType() : "")); listItem.add(new Label("contractId", cdr.getContractId() != null ? cdr.getContractId() : "")); listItem.add(new Label("liveAuthId", cdr.getLiveAuthId() != null ? cdr.getLiveAuthId() : "")); final Form<CDRInfo> form = new Form<CDRInfo>("myForm", new Model(cdr)) { /** * */ private static final long serialVersionUID = 1L; protected void onSubmit(AjaxRequestTarget target, Form<CDRInfo> form) { CDRInfo c = (CDRInfo) this.getModelObject(); System.err.println("######## STATUS:" + c.getCdrStatusType()); //this.setResponsePage(new MovieDisplayPage(movie)); }; }; form.setOutputMarkupId(true); form.setOutputMarkupPlaceholderTag(true); final HiddenField currentState = new HiddenField("currentState", new PropertyModel<String>(cdr, "cdrStatusType")); currentState.setOutputMarkupId(true); form.add(currentState); final HiddenField hcdr = new HiddenField("cdrId", new PropertyModel<String>(cdr, "cdrId")); hcdr.setOutputMarkupId(true); form.add(hcdr); final Model<String> btnStyle = new Model<String>("btn-warning"); AjaxButton btn = new AjaxButton("stateAcceptButton", new PropertyModel<String>(cdr, "cdrStatusType"), form) { protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.setWicketAjaxResponse(false); } protected void onClick(AjaxRequestTarget target, Form form) { } protected void onSubmit(AjaxRequestTarget target, Form form) { System.out.println(" ####### " + hcdr.getDefaultModelObjectAsString() + " - " + currentState.getDefaultModelObjectAsString()); if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) { try (Closeable closeable = ObjectifyService.begin()) { CDRInfo result = (CDRInfo) ofy().load().type(CDRInfo.class) .id(hcdr.getDefaultModelObjectAsString()).now(); result.setCdrStatusType("Accepted"); System.out.println("Persisting to database " + result.getCdrId() + " - " + result.getCdrStatusType() + " ::: " + target.getLastFocusedElementId()); ofy().save().entity(result).now(); setReuseItems(true); addStateChange(); modelChanging(); // Remove item and invalidate listView List<CDRInfo> currentList = (List<CDRInfo>) getList(); for (CDRInfo i : currentList) { if (i.getCdrId().equalsIgnoreCase(result.getCdrId())) { System.out.println("#### Found entry and updating state to : " + result.getCdrStatusType()); currentList.remove(i); i.setCdrStatusType(result.getCdrStatusType()); System.out.println("#### set list " + currentList); setList(currentList); target.appendJavaScript(" document.getElementById('" + lblStatus.getId() + "').value='" + result.getCdrStatusType() + "';"); System.out.println("#### model changed "); modelChanged(); System.out.println("#### remove all "); removeAll(); break; } else { System.out.println("#### NOT FOUND as charge record " + i.getCdrId() + ", while we are looking for " + result.getCdrId()); } } } } target.add(lblStatus); setResponsePage(HomePage.class); } }; btn.add(AttributeModifier.append("class", btnStyle)); btn.add(new AttributeModifier("cdrStatusType", cdr) { protected String newValue(final String currentValue, final String replacementValue) { System.out .println("######## New Value 1:" + replacementValue + " old value " + currentValue); return currentValue + replacementValue; } }); form.add(btn); AjaxButton btnReject = new AjaxButton("stateRejectButton", new PropertyModel<String>(cdr, "cdrStatusType"), form) { protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.setWicketAjaxResponse(false); System.out.println("########updateAjaxAttributes"); } protected void onSubmit(AjaxRequestTarget target, Form form) { System.out.println(" ####### " + hcdr.getDefaultModelObjectAsString() + " - " + currentState.getDefaultModelObjectAsString()); if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) { try (Closeable closeable = ObjectifyService.begin()) { CDRInfo result = (CDRInfo) ofy().load().type(CDRInfo.class) .id(hcdr.getDefaultModelObjectAsString()).now(); result.setCdrStatusType("Rejected"); System.out.println("Persisting to database " + result.getCdrId() + " - " + result.getCdrStatusType() + " ::: " + target.getLastFocusedElementId()); ofy().save().entity(result).now(); getList().remove(result); } } target.add(divList); } }; btnReject.add(AttributeModifier.append("class", btnStyle)); btnReject.add(new AttributeModifier("cdrStatusType", cdr) { protected String newValue(final String currentValue, final String replacementValue) { System.out.println("######## New Value Reject Button:" + replacementValue + " old value " + currentValue); return currentValue + replacementValue; } }); form.add(btnReject); listItem.add(form); } }; list.setOutputMarkupId(true); list.setOutputMarkupPlaceholderTag(true); divList.setOutputMarkupId(true); divList.setOutputMarkupPlaceholderTag(true); divList.add(list); add(divList); }