use of org.rstudio.core.client.widget.ModalDialogBase in project rstudio by rstudio.
the class RSConnect method onRSConnectDeploymentFailed.
@Override
public void onRSConnectDeploymentFailed(final RSConnectDeploymentFailedEvent event) {
String failedPath = event.getData().getPath();
// if this looks like an API call, process the path to get the 'bare'
// server URL
int pos = failedPath.indexOf("__api__");
if (pos < 1) {
// if not, just get the host
pos = failedPath.indexOf("/", 10) + 1;
}
if (pos > 0) {
failedPath = failedPath.substring(0, pos);
}
final String serverUrl = failedPath;
new ModalDialogBase() {
@Override
protected Widget createMainWidget() {
setText("Publish Failed");
addOkButton(new ThemedButton("OK", new ClickHandler() {
@Override
public void onClick(ClickEvent arg0) {
closeDialog();
}
}));
HorizontalPanel panel = new HorizontalPanel();
Image errorImage = new Image(new ImageResource2x(MessageDialogImages.INSTANCE.dialog_error2x()));
errorImage.getElement().getStyle().setMarginTop(1, Unit.EM);
errorImage.getElement().getStyle().setMarginRight(1, Unit.EM);
panel.add(errorImage);
panel.add(new HTML("<p>Your content could not be published because " + "of a problem on the server.</p>" + "<p>More information may be available on the server's home " + "page:</p>" + "<p><a href=\"" + serverUrl + "\">" + serverUrl + "</a>" + "</p>" + "<p>If the error persists, contact the server's " + "administrator.</p>" + "<p><small>Error code: " + event.getData().getHttpStatus() + "</small></p>"));
return panel;
}
}.showModal();
}
Aggregations