Hmm... cannot see what do you mean about expose? [email protected] schrieb am Mittwoch, 3. März 2021 um 09:30:36 UTC+1:
> Expose GWT widget also work same way? > Using your project pom.xml can''t package , like this: > " > > https://raw.githubusercontent.com/intendia-oss/rxjava-gwt/mvn-repo/org/junit/platform/junit-platform-launcher/1.6.2/junit-platform-launcher-1.6.2.jar > > 404 > " > Tks. > 在2021年3月3日星期三 UTC+8 下午4:07:15<[email protected]> 写道: > >> OK, it's working now with: setTimeout >> >> >> https://github.com/lofidewanto/gwt-widget-jsinterop/blob/main/src/main/java/com/github/lofi/public/testcalculator-withwait.js >> >> Now you can see in the example how to call your Widget from JavaScript... >> Just simple as creating that object and use as you wish... >> >> var calculator = new Calculator("From JS withwait"); >> element.appendChild(calculator.getAsElement()); >> >> Cheers, >> Lofi >> [email protected] schrieb am Dienstag, 2. März 2021 um 20:18:10 UTC+1: >> >>> I build a simple example: >>> https://github.com/lofidewanto/gwt-widget-jsinterop >>> >>> I also found some answer in StackOverflow but it's all Java based (see >>> the README above). What I understood is that the Widget should be called >>> from a pure JS (VueJS or whatever JS). >>> >>> - Calculator.java >>> >>> <https://github.com/lofidewanto/gwt-widget-jsinterop/blob/main/src/main/java/com/github/lofi/client/Calculator.java> >>> >>> -- Composite Widget >>> - JS uses the Calculator: testcalculator-nowait.js >>> >>> <https://github.com/lofidewanto/gwt-widget-jsinterop/blob/main/src/main/java/com/github/lofi/public/testcalculator-nowait.js> >>> >>> I use ScriptInjector to inject testcalculator-nowait.js >>> <https://github.com/lofidewanto/gwt-widget-jsinterop/blob/main/src/main/java/com/github/lofi/public/testcalculator-nowait.js> >>> . >>> >>> If I tried to use this JS testcalculator-withwait.js >>> <https://github.com/lofidewanto/gwt-widget-jsinterop/blob/main/src/main/java/com/github/lofi/public/testcalculator-withwait.js> >>> directly >>> in index.html >>> <https://github.com/lofidewanto/gwt-widget-jsinterop/blob/main/src/main/java/com/github/lofi/public/index.html> >>> >>> it seems that it cannot find the Calculator class. I have the feeling that >>> the Calculator JsInterop hasn't been loaded but the >>> testcalculator-withwait.js already running. Using ScriptInjector makes this >>> possible (testcalculator-nowait.js) but I don't think, that this was the >>> question. >>> >>> Maybe Thomas could check, I'm not sure how to "wait" in JS until the >>> JsInterop class is loaded... >>> >>> Cheers, >>> Lofi >>> [email protected] schrieb am Dienstag, 2. März 2021 um 19:36:47 UTC+1: >>> >>>> I would: >>>> >>>> 1. create a new *.gwt.xml with a new EntryPoint that won't launch >>>> the GWT app but instead expose a function (using JsInterop) to "run" >>>> your >>>> module >>>> 2. that function would use receive an element ID and use >>>> RootPanel.get(id) to put the GWT UI inside (that's not the only way, >>>> but >>>> definitely the easiest); ideally it would also return a function that >>>> you >>>> would call from Vue at "unmount", but could instead return the >>>> RootPanel so >>>> it could be passed to another function exposed by the module's >>>> onModuleLoad. >>>> 3. the "unmount" callback would simply call >>>> RootPanel.detachNow(rootPanel) >>>> >>>> That way, the Vue app could actually load the GWT module immediately, >>>> but then only use it by calling its exposed function when it needs to >>>> display the GWT module; and when it no longer needs it, it should properly >>>> "detach" it. >>>> >>>> On Tuesday, March 2, 2021 at 5:09:24 AM UTC+1 [email protected] wrote: >>>> >>>>> For example: >>>>> I have a vue app and classic gwt application, The gwt application >>>>> have lot of module . >>>>> but I only want to one module (eg: A query UI) integration to my vue >>>>> app using js >>>>> How can I done this? >>>>> Tks. >>>>> >>>>> >>>>> -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/08ac0642-7109-46dd-b2d1-fd06b3907bc3n%40googlegroups.com.
