Sorry Let explain more detail. In your example, I can access exposed java class (Calculator) and call function calculateSum, but it's common function not contain any gwt UI widget Does export gwt UI module also work by use same way? Tks
[email protected] <[email protected]> 于2021年3月3日周三 下午4:44写道: > 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 > <https://groups.google.com/d/msgid/google-web-toolkit/08ac0642-7109-46dd-b2d1-fd06b3907bc3n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAFiWg2aCrB2jamrD_Cuzck7EQo1Cvh36WrDeRVaVVJFOpNdj_g%40mail.gmail.com.
