Example usage for com.google.gwt.dom.client FormElement getTarget

List of usage examples for com.google.gwt.dom.client FormElement getTarget

Introduction

In this page you can find the example usage for com.google.gwt.dom.client FormElement getTarget.

Prototype

public final String getTarget() 

Source Link

Document

Frame to render the resource in.

Usage

From source file:org.opencms.ui.client.login.CmsLoginTargetOpenerConnector.java

License:Open Source License

/**
 * @see com.vaadin.client.extensions.AbstractExtensionConnector#extend(com.vaadin.client.ServerConnector)
 *///from w  w  w.j  a  v a  2 s  .co m
@Override
protected void extend(ServerConnector extendedComponent) {

    registerRpc(I_CmsLoginTargetRpc.class, new I_CmsLoginTargetRpc() {

        private static final long serialVersionUID = 1L;

        public void openTarget(String target, boolean isPublicPC) {

            if (isPublicPC) {
                // in this case we do not want to trigger the browsers password manager, just call the login target
                Window.Location.assign(target);
            } else {
                // Post a hidden form with user name and password fields,
                // to hopefully trigger the browser's password manager
                Document doc = Document.get();
                FormElement formEl = (FormElement) doc.getElementById("opencms-login-form");
                CmsDebugLog.consoleLog("form target = " + formEl.getTarget());

                // make sure user name and password are children of the form
                Element user = doc.getElementById("hidden-username");
                Element password = doc.getElementById("hidden-password");

                if ((user != null) && !formEl.isOrHasChild(user)) {
                    formEl.appendChild(user);
                }
                if ((password != null) && !formEl.isOrHasChild(password)) {
                    formEl.appendChild(password);
                }

                InputElement requestedResourceField = doc.createTextInputElement();
                requestedResourceField.setName(CmsGwtConstants.PARAM_LOGIN_REDIRECT);
                requestedResourceField.setValue(target);

                formEl.appendChild(requestedResourceField);
                formEl.submit();
            }
        }
    });
}