Example usage for com.google.gwt.core.client ScriptInjector fromUrl

List of usage examples for com.google.gwt.core.client ScriptInjector fromUrl

Introduction

In this page you can find the example usage for com.google.gwt.core.client ScriptInjector fromUrl.

Prototype

public static FromUrl fromUrl(String scriptUrl) 

Source Link

Document

Build an injection call for adding a script by URL.

Usage

From source file:com.getuikit.gwt.client.UIKit.java

License:Open Source License

public static void sticky(final Element el) {
    if (!componentStickyInjected) {
        ScriptInjector.fromUrl(GWT.getModuleBaseURL() + "js/components/sticky.js")
                .setCallback(new Callback<Void, Exception>() {
                    @Override//from  w  w  w  .jav  a2s. c  o m
                    public void onFailure(Exception e) {
                        GWT.log("Error while trying to inject UIKit sticky.js");
                    }

                    @Override
                    public void onSuccess(Void aVoid) {
                        _sticky(el);
                    }
                }).setWindow(ScriptInjector.TOP_WINDOW).inject();
    } else {
        _sticky(el);
    }
}

From source file:com.getuikit.gwt.client.UIKit.java

License:Open Source License

public static void notification(final String message, final STATUS status, final int timeout,
        final POSITION pos) {
    if (!componentNotifyInjected) {
        CssHelper.loadCss(GWT.getModuleBaseURL() + "css/components/notify.almost-flat.css");
        ScriptInjector.fromUrl(GWT.getModuleBaseURL() + "js/components/notify.js")
                .setCallback(new Callback<Void, Exception>() {
                    @Override/*w w w. java2s .co m*/
                    public void onFailure(Exception e) {
                        GWT.log("Error injecting UIKit Notification JS");
                    }

                    @Override
                    public void onSuccess(Void aVoid) {
                        _notify(message, status.toString(), timeout, pos.toString());
                    }
                }).setWindow(ScriptInjector.TOP_WINDOW).inject();
    } else {
        _notify(message, status.toString(), timeout, pos.toString());
    }
}

From source file:com.google.api.explorer.client.base.http.crossdomain.CrossDomainRequestBuilder.java

License:Apache License

public CrossDomainRequest makeRequest(final ApiRequest request, AsyncCallback<ApiResponse> callback) {
    final CrossDomainRequest xdr = new CrossDomainRequest(callback, timeoutMillis);

    /** Adds a script tag to the page to load the JS library used to make requests. */
    if (!isScriptLoaded()) {
        outstandingRequests.add(new OutstandingRequest(request, xdr));

        // If we are the only request waiting, it is our responsibility to load the library.
        if (outstandingRequests.size() == 1) {
            addLoadCallback(this);
            ScriptInjector.fromUrl(JS_CLIENT_URL).setWindow(ScriptInjector.TOP_WINDOW)
                    .setCallback(new Callback<Void, Exception>() {
                        @Override
                        public void onFailure(Exception e) {
                            throw new RuntimeException(e);
                        }/* ww  w  .  java2 s.c  o  m*/

                        @Override
                        public void onSuccess(Void arg0) {
                            // Intentionally blank, callback will be invoked automatically
                        }
                    }).inject();
        }
    } else {
        doMakeRequest(request, xdr);
    }
    return xdr;
}

From source file:com.google.appinventor.client.jsdesigner.JSDesignerPanel.java

License:Open Source License

public JSDesignerPanel() throws Exception {
    super("<!DOCTYPE html><html lang=\"en\">  <head>    <meta charset=\"utf-8\">    <title>Editor</title>    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css\" integrity=\"sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ\" crossorigin=\"anonymous\">    <link rel=\"stylesheet\" href=\"css/editor.css\">  </head>  <body>    <div class=\"container-fluid\" id=\"container\">      <div class=\"row\" id=\"container-row\">        <div class=\"col-2\" id=\"left-panel\">          <div class=\"wide-button wide-inactive\" id=\"box\">           Box          </div>          <div class=\"wide-button wide-inactive\" id=\"cone\">           Cone          </div>          <div class=\"wide-button wide-inactive\" id=\"cylinder\">           Cylinder          </div>          <div class=\"wide-button wide-inactive\" id=\"dodecahedron\">           Dodecahedron          </div>          <div class=\"wide-button wide-inactive\" id=\"icosahedron\">           Icosahedron          </div>          <div class=\"wide-button wide-inactive\" id=\"octahedron\">           Octahedron          </div>          <div class=\"wide-button wide-inactive\" id=\"sphere\">           Sphere          </div>          <div class=\"wide-button wide-inactive\" id=\"tetrahedron\">           Tetrahedron          </div>          <hr>          <div class=\"wide-button wide-inactive\" id=\"ambient\">            Ambient Light          </div>          <div class=\"wide-button wide-inactive\" id=\"directional\">            Directional Light          </div>          <div class=\"wide-button wide-inactive\" id=\"hemisphere\">            Hemisphere Light          </div>          <div class=\"wide-button wide-inactive\" id=\"point\">            Point Light          </div>          <div class=\"wide-button wide-inactive\" id=\"spot\">            Spot Light          </div>          <hr>          <div class=\"parameter-label-large\">           World          </div>          <div class=\"parameter-label\">           Gravity          </div>          <div class=\"row parameter-row\">           <div class=\"col-4 parameter-item\">             <input class=\"input-text parameter-box\" id=\"gravity-x\" type=\"number\" value=\"0.000\" step=\"0.001\">           </div>           <div class=\"col-4 parameter-item\">             <input class=\"input-text parameter-box\" id=\"gravity-y\" type=\"number\" value=\"-98.000\" step=\"0.001\">           </div>           <div class=\"col-4 parameter-item\">             <input class=\"input-text parameter-box\" id=\"gravity-z\" type=\"number\" value=\"0.000\" step=\"0.001\">           </div>          </div>          <div class=\"parameter-label\">           Camera          </div>          <div class=\"row parameter-row\">           <div class=\"col-4 parameter-item\">             <input class=\"input-text parameter-box\" id=\"camera-x\" type=\"number\" value=\"20.000\" step=\"0.001\">           </div>           <div class=\"col-4 parameter-item\">             <input class=\"input-text parameter-box\" id=\"camera-y\" type=\"number\" value=\"20.000\" step=\"0.001\">           </div>           <div class=\"col-4 parameter-item\">             <input class=\"input-text parameter-box\" id=\"camera-z\" type=\"number\" value=\"10.000\" step=\"0.001\">           </div>          </div>          <div class=\"parameter-label\">           Background          </div>          <div class=\"parameter-row\">           <input class=\"input-text parameter-box\" id=\"background\" type=\"text\">          </div>          <div class=\"wide-button wide-inactive\" id=\"labels\">           Labels          </div>          <div class=\"wide-button wide-inactive\" id=\"shadows\">            Shadows Disabled          </div>        </div>        <div class=\"col-8\" id=\"editor-panel\">          <div id=\"editor\">          </div>          <div id=\"controls-left\">           <div class=\"control-button control-button-left control-inactive\" id=\"vr\">             VR           </div>           <div class=\"control-button control-button-left control-active\" id=\"translate\">             Translate           </div>           <div class=\"control-button control-button-left control-inactive\" id=\"rotate\">             Rotate           </div>           <div class=\"control-button control-button-left control-inactive\" id=\"scale\">             Scale           </div>           <div class=\"control-button control-button-left control-inactive\" id=\"duplicate\">             Duplicate           </div>           <div class=\"control-button control-button-left control-inactive\" id=\"import\">             Import           </div>           <input type=\"file\" id=\"import-json\">           <div class=\"control-button control-button-left control-inactive\" id=\"export\">             Export           </div>          </div>          <div id=\"controls-right\">           <div class=\"control-button control-button-right control-inactive\" id=\"delete\">             Delete           </div>           <div class=\"control-button control-button-right control-inactive\" id=\"clear\">             Clear           </div>          </div>        </div>        <div class=\"col-2\" id=\"right-panel\">          <div class=\"parameter-tabs\">            <div class=\"parameter-label-tab objects-tab-active\" id=\"objects-tab\">              Objects            </div>            <div class=\"tab-divider\">            </div>            <div class=\"parameter-label-tab lights-tab-inactive\" id=\"lights-tab\">              Lights            </div>          </div>          <div id=\"objects-tab-body\">            <div id=\"object-list\">            </div>            <div id=\"parameter-wrapper-1\">              <hr>              <div class=\"parameter-label\">                Position              </div>              <div class=\"row parameter-row\">                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"object-position-x\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"object-position-y\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"object-position-z\" type=\"number\" step=\"0.001\">                </div>              </div>              <div class=\"parameter-label\">                Rotation              </div>              <div class=\"row parameter-row\">                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"object-rotation-x\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"object-rotation-y\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"object-rotation-z\" type=\"number\" step=\"0.001\">                </div>              </div>              <div class=\"parameter-label\">                Scale              </div>              <div class=\"row parameter-row\">                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"scale-x\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"scale-y\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"scale-z\" type=\"number\" step=\"0.001\">                </div>              </div>              <div class=\"parameter-label\">                Color              </div>              <div class=\"parameter-row\">                <input class=\"color\" id=\"object-color\" type=\"color\">              </div>              <div class=\"parameter-label\">                Texture              </div>              <div class=\"parameter-row\">                <input class=\"input-text parameter-box\" id=\"texture\" type=\"text\">              </div>              <div class=\"parameter-label\">                Mass              </div>              <div class=\"row parameter-row\">                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"mass\" type=\"number\">                </div>              </div>              <hr>            </div>            <div id=\"parameter-wrapper-2\">            </div>            <div id=\"parameter-wrapper-3\">              <hr>              <div class=\"parameter-label\">                Linear Velocity              </div>              <div class=\"row parameter-row\">                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"linear-velocity-x\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"linear-velocity-y\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"linear-velocity-z\" type=\"number\" step=\"0.001\">                </div>              </div>              <div class=\"parameter-label\">                Angular Velocity              </div>              <div class=\"row parameter-row\">                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"angular-velocity-x\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"angular-velocity-y\" type=\"number\" step=\"0.001\">                </div>                <div class=\"col-4 parameter-item\">                  <input class=\"input-text parameter-box\" id=\"angular-velocity-z\" type=\"number\" step=\"0.001\">                </div>              </div>            </div>          </div>          <div id=\"lights-tab-body\">            <div id=\"light-list\">            </div>            <div id=\"parameter-wrapper-4\">            </div>          </div>        </div>      </div>    </div>    <div id=\"labels-background\"></div>    <div id=\"labels-modal\">      <div id=\"label-buttons\">        <div class=\"control-button control-inactive\" id=\"add-label\">          Add        </div>        <div class=\"control-button control-inactive\" id=\"delete-label\">          Delete        </div>      </div>      <div id=\"labels-container\">      </div>    </div>     </body></html>");
    ScriptInjector.fromUrl("combined.js").inject();
    //super(new String(Files.readAllBytes(Paths.get("editor.html"))));
    //super("<div id=\"root\"></div>");
    //ScriptInjector.fromUrl("main.9de011e5.js").inject();
}

From source file:com.google.gerrit.client.api.PluginLoader.java

License:Apache License

private void load(List<String> pluginUrls) {
    for (String url : pluginUrls) {
        Plugin plugin = Plugin.create(url);
        plugins().put(url, plugin);//from   ww w  . j  av  a 2  s . co m
        ScriptInjector.fromUrl(url).setWindow(ScriptInjector.TOP_WINDOW).setCallback(new LoadCallback(plugin))
                .inject();
    }
}

From source file:com.google.gerrit.client.Gerrit.java

License:Apache License

private void loadPlugins(HostPageData hpd, final String token) {
    if (hpd.plugins != null) {
        for (final String url : hpd.plugins) {
            ScriptInjector.fromUrl(url).setWindow(ScriptInjector.TOP_WINDOW)
                    .setCallback(new Callback<Void, Exception>() {
                        @Override
                        public void onSuccess(Void result) {
                        }/*from   ww w.j  a  v  a  2  s. co  m*/

                        @Override
                        public void onFailure(Exception reason) {
                            ErrorDialog d = new ErrorDialog(reason);
                            d.setTitle(M.pluginFailed(url));
                            d.center();
                        }
                    }).inject();
        }
    }

    CallbackHandle<Void> cb = new CallbackHandle<Void>(new ResultDeserializer<Void>() {
        @Override
        public Void fromResult(JavaScriptObject responseObject) {
            return null;
        }
    }, new AsyncCallback<Void>() {
        @Override
        public void onFailure(Throwable caught) {
        }

        @Override
        public void onSuccess(Void result) {
            display(token);
        }
    });
    cb.install();
    ScriptInjector.fromString(cb.getFunctionName() + "();").setWindow(ScriptInjector.TOP_WINDOW).inject();
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.multiupload.CubaMultiUploadWidget.java

License:Apache License

public void initComponent(String uploadId) {
    this.jsIncludeUri = bootstrapJsUrl + "?v=" + resourcesVersion;
    this.swfUri = flashUrl + "?v=" + resourcesVersion;

    this.uploadId = uploadId;

    this.uploadButton.setId("upload_button_" + uploadId);
    this.progressDiv.setId("upload_progress_" + uploadId);

    this.themeDiv.setClassName(themeName);

    if (!scriptInjected) {
        ScriptInjector.fromUrl(jsIncludeUri).setCallback(new Callback<Void, Exception>() {
            @Override/*from w  w  w . ja va2 s. com*/
            public void onFailure(Exception reason) {
                if (bootstrapFailureHandler != null)
                    bootstrapFailureHandler.resourceLoadFailed();

                setDisabled();
            }

            @Override
            public void onSuccess(Void result) {
                checkAndInitialize();
            }
        }).setWindow(getWindow()).setRemoveTag(false).inject();

        scriptInjected = true;
    } else {
        checkAndInitialize();
    }
}

From source file:com.himamis.retex.renderer.web.font.opentype.Opentype.java

License:Open Source License

private void loadJavascriptFont(String path, final String familyName) {
    path = path.substring(0, path.length() - 3);
    path = path + "js";

    ScriptInjector.fromUrl(path).setWindow(ScriptInjector.TOP_WINDOW).setRemoveTag(true)
            .setCallback(new Callback<Void, Exception>() {

                public void onFailure(Exception reason) {
                    fireFontInactiveEvent(reason, familyName);
                }/*  w ww  .j ava2  s. c o m*/

                public void onSuccess(Void result) {
                    nativeParseFont(familyName);
                }
            }).inject();
}

From source file:com.lofidewanto.demo.client.DemoGwtWebApp.java

License:Apache License

private void injectMyFunctionScript() {
    ScriptInjector.fromUrl(MYFUNCTION_URL).setCallback(new Callback<Void, Exception>() {
        @Override// w w  w  .  j  a v a2  s  . c om
        public void onFailure(Exception reason) {
            logger.info("Script load failed Info: " + reason);
        }

        @Override
        public void onSuccess(Void result) {
            logger.info("MyFunction loaded successful!");
        }

    }).setRemoveTag(true).setWindow(ScriptInjector.TOP_WINDOW).inject();
}

From source file:com.lofidewanto.demo.client.DemoGwtWebApp.java

License:Apache License

private void injectJqueryScript() {
    // Workaround: https://goo.gl/1OrFqj
    ScriptInjector.fromUrl(JQUERY_UI_URL).setCallback(new Callback<Void, Exception>() {
        @Override//from  w  w w .j av a  2 s  .co m
        public void onFailure(Exception reason) {
            logger.info("Script load failed Info: " + reason);
        }

        @Override
        public void onSuccess(Void result) {
            logger.info("JQuery for Select loaded successful!");

            init();
        }

    }).setRemoveTag(true).setWindow(ScriptInjector.TOP_WINDOW).inject();
}