use of com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent in project rstudio by rstudio.
the class RemoteServerAuth method updateCredentials.
public void updateCredentials(final ServerRequestCallback<Integer> requestCallback) {
// safely cleanup any previously active update credentials forms
safeCleanupPreviousUpdateCredentials();
// create a hidden form panel to submit the update credentials to
// (we do this so GWT manages the trickiness associated with
// managing and reading the contents of a hidden iframe)
final FormPanel updateCredentialsForm = new FormPanel();
updateCredentialsForm.setMethod(FormPanel.METHOD_GET);
updateCredentialsForm.setEncoding(FormPanel.ENCODING_URLENCODED);
// form url
String url = remoteServer_.getApplicationURL("auth-update-credentials");
updateCredentialsForm.setAction(url);
// request log entry (fake up a json rpc method call to conform
// to the data format expected by RequestLog
String requestId = Integer.toString(Random.nextInt());
String requestData = createRequestData();
final RequestLogEntry logEntry = RequestLog.log(requestId, requestData);
// form submit complete handler
updateCredentialsForm.addSubmitCompleteHandler(new SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
// parse the results
String results = event.getResults();
RpcResponse response = RpcResponse.parse(event.getResults());
if (response != null) {
logEntry.logResponse(ResponseType.Normal, results);
// check for error
RpcError rpcError = response.getError();
if (rpcError != null) {
if (rpcError.getCode() == RpcError.METHOD_NOT_FOUND) {
requestCallback.onResponseReceived(new Integer(CREDENTIALS_UPDATE_UNSUPPORTED));
} else {
requestCallback.onError(new RemoteServerError(rpcError));
}
} else // must be a valid response
{
Bool authenticated = response.getResult();
if (authenticated.getValue()) {
requestCallback.onResponseReceived(new Integer(CREDENTIALS_UPDATE_SUCCESS));
} else {
requestCallback.onResponseReceived(new Integer(CREDENTIALS_UPDATE_FAILURE));
}
}
} else // error parsing results
{
logEntry.logResponse(ResponseType.Error, results);
// form message
String msg = "Error parsing results: " + (results != null ? results : "(null)");
// we don't expect this so debug log to flag our attention
Debug.log("UPDATE CREDENTIALS: " + msg);
// return the error
RpcError rpcError = RpcError.create(RpcError.PARSE_ERROR, msg);
requestCallback.onError(new RemoteServerError(rpcError));
}
// remove the hidden form (from both last-ditch list and DOM)
previousUpdateCredentialsForms_.remove(updateCredentialsForm);
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
RootPanel.get().remove(updateCredentialsForm);
}
});
}
});
// add the (hidden) form panel to the document and last ditch list
RootPanel.get().add(updateCredentialsForm, -1000, -1000);
previousUpdateCredentialsForms_.add(updateCredentialsForm);
// submit the form
updateCredentialsForm.submit();
}
use of com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent in project gwt-test-utils by gwt-test-utils.
the class BrowserTest method submit.
@Test()
public void submit() {
// Given
final StringBuilder sb = new StringBuilder();
FormPanel form = new FormPanel();
form.addSubmitHandler(new SubmitHandler() {
public void onSubmit(SubmitEvent event) {
sb.append("onSubmit");
}
});
form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
sb.append(" complete : ").append(event.getResults());
}
});
// Attach to the DOM
RootPanel.get().add(form);
// Given
Browser.submit(form, "mock result");
// Then
assertThat(sb.toString()).isEqualTo("onSubmit complete : mock result");
}
use of com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent in project pentaho-platform by pentaho.
the class ImportFileCommand method performOperation.
protected void performOperation(boolean feedback) {
// delete file
importDialog = new ImportDialog(repositoryFile, SolutionBrowserPanel.getInstance().isAdministrator());
importDialog.getForm().addSubmitCompleteHandler(new SubmitCompleteHandler() {
@Override
public void onSubmitComplete(SubmitCompleteEvent sce) {
new RefreshRepositoryCommand().execute(false);
}
});
final IDialogCallback callback = new IDialogCallback() {
public void cancelPressed() {
importDialog.hide();
}
public void okPressed() {
importDialog.getForm().submit();
}
};
importDialog.setCallback(callback);
importDialog.center();
}
use of com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent in project data-access by pentaho.
the class GwtDatasourceEditorEntryPoint method showAnalysisImportDialog.
public void showAnalysisImportDialog(final DialogListener listener) {
final DialogListener<AnalysisImportDialogModel> importDialoglistener = new DialogListener<AnalysisImportDialogModel>() {
public void onDialogCancel() {
final AnalysisImportDialogController controller = importDialog.getAnalysisImportDialogController();
final FormPanel analysisDataFormPanel = controller.getFormPanel();
controller.removeHiddenPanels();
controller.buildAndSetParameters();
analysisDataFormPanel.removeFromParent();
RootPanel.get().add(analysisDataFormPanel);
}
public void onDialogAccept(final AnalysisImportDialogModel importDialogModel) {
final AnalysisImportDialogController controller = importDialog.getAnalysisImportDialogController();
final FormPanel analysisDataFormPanel = controller.getFormPanel();
controller.removeHiddenPanels();
controller.buildAndSetParameters();
analysisDataFormPanel.removeFromParent();
RootPanel.get().add(analysisDataFormPanel);
analysisDataFormPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
@Override
public void onSubmitComplete(SubmitCompleteEvent event) {
String results = event.getResults();
String message = controller.convertToNLSMessage(results, controller.getFileName());
if (!SUCCESS_3.equals(results)) {
if (OVERWRITE_8.equals(results) || OVERWRITE__CATALOG_7.equals(results)) {
overwriteFileDialog(analysisDataFormPanel, message, controller);
} else {
listener.onDialogError(message);
}
} else {
analysisDataFormPanel.removeFromParent();
listener.onDialogAccept(null);
}
}
});
analysisDataFormPanel.submit();
}
public void onDialogReady() {
}
@Override
public void onDialogError(String errorMessage) {
listener.onDialogError(errorMessage);
}
};
final AsyncConstructorListener<GwtImportDialog> constructorListener = new AsyncConstructorListener<GwtImportDialog>() {
public void asyncConstructorDone(GwtImportDialog dialog) {
dialog.showAnalysisImportDialog(importDialoglistener);
}
};
if (importDialog == null) {
importDialog = new GwtImportDialog(constructorListener);
} else {
importDialog.showAnalysisImportDialog(importDialoglistener);
}
}
use of com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent in project data-access by pentaho.
the class AnalysisImportDialogController method addSubmitHandler.
/**
* Initialize this in the form init() return values are numeric -
*/
private void addSubmitHandler() {
if (submitHandler == null) {
formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {
@Override
public void onSubmit(SubmitEvent event) {
}
});
submitHandler = new FormPanel.SubmitCompleteHandler() {
@Override
public void onSubmitComplete(SubmitCompleteEvent event) {
handleFormPanelEvent(event);
}
};
formPanel.addSubmitCompleteHandler(submitHandler);
}
}
Aggregations