Sorry Thomas about your last comment " I'd rather user fields than getters/setters for such objects " can you point me out to some example for this ?
Il giorno mercoledì 29 giugno 2022 alle 09:48:49 UTC+2 Thomas Broyer ha scritto: > Using isNative=true, you're telling GWT that you're only "mapping" in Java > a *type* that exists in JS. The default naming rule is that the full name > of that type is the fully qualified name of the Java class, you can change > the simple name with 'name', and the *prefix* with namespace (which > defaults to the package name for top-level classes, or the enclosing type's > JS name for nested classes). So with namespace=GLOBAL but without the > name="Object", you're saying that you want to basically do a 'new > $wnd.MyPluginConfig()' in JS, and the browser rightfully complains that > there's no such MyPluginConfig. Adding name="Object" means you'll do a 'new > $wnd.Object()' in JS. > > Fwiw, I'd rather user fields than getters/setters for such objects. YMMV. > > On Wednesday, June 29, 2022 at 8:38:19 AM UTC+2 Nicolas Chamouard wrote: > >> Thank you ! >> It is a bit mysterious to me, but with *name = "Object"* the constructor >> works :) >> >> >> Le mercredi 29 juin 2022 à 00:47:32 UTC+2, [email protected] a écrit : >> >>> try adding name = "Object" so that it uses an empty javascript Object as >>> the wrapped item. >>> >>> I found this via Googling: >>> >>> @JsType(namespace = JsPackage.GLOBAL, isNative = true, name = "Object") >>> public class MyPluginConfig { >>> @JsProperty public void setXXXX(String str); >>> @JsProperty public String getXXXX(); >>> ... >>> } >>> >>> Ref: https://stackoverflow.com/a/36329387/12407701 >>> >>> >>> On Tue, Jun 28, 2022 at 6:24 PM Nicolas Chamouard < >>> [email protected]> wrote: >>> >>>> Yes, it does not change anything : >>>> >>>> @JsType(*isNative*=*true*, *namespace* = JsPackage.*GLOBAL*) >>>> >>>> *public* *class* OptionOverrides { >>>> >>>> >>>> @JsConstructor >>>> >>>> *public* OptionOverrides() {} >>>> >>>> >>>> >>>> @JsProperty >>>> >>>> *public* *native* String getInitialView(); >>>> >>>> @JsProperty >>>> >>>> *public* *native* *void* setInitialView(String initialView); >>>> >>>> } >>>> >>>> >>>> Still the same error : *$wnd.OptionOverrides is not a constructor* >>>> >>>> Le mardi 28 juin 2022 à 23:27:08 UTC+2, [email protected] a écrit : >>>> >>>>> Have you tried giving the class a constructor? >>>>> >>>>> >>>>> On Tue, Jun 28, 2022 at 4:04 PM Nicolas Chamouard < >>>>> [email protected]> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I am using JsInterop to integrate FullCalendar to my GWT application. >>>>>> As described here https://fullcalendar.io/docs/initialize-globals, I >>>>>> am supposed to create an object literal and pass it to the Calendar() >>>>>> constructor. >>>>>> >>>>>> I have managed to create this class : >>>>>> >>>>>> @JsType(*namespace* = JsPackage.*GLOBAL*) >>>>>> >>>>>> *public* *class* OptionOverrides { >>>>>> >>>>>> >>>>>> @JsProperty >>>>>> >>>>>> *public* *native* String getInitialView(); >>>>>> >>>>>> @JsProperty >>>>>> >>>>>> *public* *native* *void* setInitialView(String initialView); >>>>>> >>>>>> } >>>>>> >>>>>> It works but the FullCalendar complains about all the Java Object >>>>>> stuff that is translated to javascript : equals(), hashCode(), etc >>>>>> >>>>>> I have tried to add* isNative=true* to my class, but in this case i >>>>>> cannot instantiate it in Java (error : $wnd.OptionOverrides is not a >>>>>> constructor) >>>>>> >>>>>> Is there an other way to do this, am I missing something here ? >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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/a03c881a-48d4-4892-9fae-7719bc9a57b8n%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/google-web-toolkit/a03c881a-48d4-4892-9fae-7719bc9a57b8n%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/4d8099ea-3a37-4026-b459-f228e35ca59bn%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/google-web-toolkit/4d8099ea-3a37-4026-b459-f228e35ca59bn%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/3992795a-821e-401d-afc5-63ace07da068n%40googlegroups.com.
