FYI, I've tested this morning with the last night's build and now it works
fine with sdm.

On Wed, Apr 1, 2015 at 9:10 PM Julien Dramaix <[email protected]>
wrote:

>
> > If you have JsExport on a class in the first compilation, it works fine
> right?
> Nope I doesn't work. Even in the first compilation I receive a "Uncaught
> ReferenceError: jdramaix is not defined"
>
> On Wed, Apr 1, 2015 at 8:15 PM 'Goktug Gokdogan' via GWT Contributors <
> [email protected]> wrote:
>
>> [+stalcup, +cromwellian]
>>
>> If you have JsExport on a class in the first compilation, it works fine
>> right? I guess, it doesn't work only if you add JsExport after the first
>> compilation?
>>
>> Last week we were suspecting exporting might not be working properly w/
>> SDM. We need to write some incremental compilation test to make sure this
>> works properly before 2.8.
>>
>>
>> On Wed, Apr 1, 2015 at 5:27 AM, Julien Dramaix <[email protected]>
>> wrote:
>>
>>> Thanks Goktug !
>>>
>>> That works better with GWT 2.8 indeed.
>>>
>>> However, it seems there is a bug with @JsExport and super dev mode in
>>> the last snapshot. When I use sdm, the prototype of my JsType is correctly
>>> defined (fields and function are defined with the right name) but the
>>> constructor is not exported and I cannot instantiated my Java object from
>>> Javascript.
>>>
>>> AgeSlider.java:
>>>
>>> @JsNamespace("jdramaix")
>>> @JsType
>>> public class AgeSlider {
>>>
>>>   public int age;
>>>
>>>   @JsExport
>>>   public AgeSlider() {
>>>   }
>>>
>>>    // other public methods are exported
>>> }
>>>
>>> With sdm, in javascript, I'm not able to do: var slider = new
>>> jdramaix.AgeSlider();
>>>
>>> By looking a bit in the javascript code generated by sdm, the part
>>> exporting the constructor under AgeSlider is not present:
>>> _ = provide('jdramaix');
>>> _.AgeSlider = AgeSlider;
>>>
>>> That works fine with a normal compilation.
>>>
>>> Julien
>>>
>>>
>>> On Wed, Apr 1, 2015 at 2:07 AM 'Goktug Gokdogan' via GWT Contributors <
>>> [email protected]> wrote:
>>>
>>>> On Tue, Mar 31, 2015 at 2:30 PM, Julien Dramaix <
>>>> [email protected]> wrote:
>>>>
>>>>> Dear GWT lovers,
>>>>>
>>>>> I've finally started to play with JsInterop in GWT 2.7 and mainly I'm
>>>>> trying to use JsInterop in order to write polymer components.
>>>>>
>>>>> So far, I have two questions:
>>>>>
>>>>> 1. I'm using super dev mode and so I'm obliged to use
>>>>> the CrossSiteIframeLinker. As the javascript code generated by GWT is
>>>>> loaded in an iframe, the exported types are not accessible from the main
>>>>> window (only from the iframe). The workaround I found to expose java type
>>>>> from the main window is to prefix my namespace by *$wnd*
>>>>>
>>>>> @JsNamespace("$wnd.jdramaix")
>>>>> public class AgeSliderImpl
>>>>>
>>>>> Isn't it a better way to do that ?
>>>>>
>>>>>
>>>> Yes, in 2.7 you need to use $wnd to expose your code to main window. In
>>>> GWT 2.8 snapshot, this is the default behavior, you don't need $wnd.
>>>>
>>>>
>>>>> 2. I want to expose some java field of my class to javascript field.
>>>>> I'm trying to use @JsProperty for this purpose but it seems not to work:
>>>>>
>>>>> @JsNamespace("$wnd.jdramaix")
>>>>> public class AgeSliderImpl implements AgeSlider {
>>>>>   public int age;
>>>>>
>>>>>   @Override
>>>>>   public int getAge() {
>>>>>     return age;
>>>>>   }}
>>>>>
>>>>> @JsType
>>>>> public interface AgeSlider {
>>>>>   @JsProperty
>>>>>   int getAge();
>>>>>
>>>>> }
>>>>>
>>>>> If I try to access the field in the javascript console,it is undefined:
>>>>> > var slider = new jdramaix.AgeSliderImpl()
>>>>> > slider.age
>>>>> < undefined
>>>>>
>>>>> But the method getAge exists:
>>>>> > slider.getAge
>>>>> < function getAge_0_g$(){
>>>>> <   return this.age_3_g$;
>>>>> < }
>>>>> Same problem if I rename the method to age(). slider.age is defined by
>>>>> point to a function.
>>>>>
>>>>> Does @JsProperty work (at least when we export Java to Javascript) in
>>>>> GWT 2.7. ? If so how to use it ?
>>>>>
>>>>>
>>>> @JsProperty methods defined in @JsType that is implemented by concrete
>>>> classes does not work with GWT 2.7 (basically the scenario in your code
>>>> snippet), it doesn't generate the code with a javascript property
>>>> setter/getters.
>>>>
>>>> In GWT 2.8 snapshot, javascript property setter/getter are still not
>>>> implemented (yet) but instead you can use @JsType with concrete class and a
>>>> public field, and you can skip the JsType interface completely.
>>>>
>>>> i.e.
>>>>
>>>> @JsType
>>>> public class AgeSlider {
>>>>   public int age;}
>>>>
>>>> if you want to export the constructor, don't forget to add @JsExport as
>>>> well.
>>>>
>>>> Thanks
>>>>>
>>>>> Julien
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "GWT Contributors" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to google-web-toolkit-contributors+unsubscribe@
>>>>> googlegroups.com.
>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>> msgid/google-web-toolkit-contributors/CABb_3%
>>>>> 3D6WZanScYy1ZqHBR23yssh9uvDLWe%3DquGaiixcpOusBog%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CABb_3%3D6WZanScYy1ZqHBR23yssh9uvDLWe%3DquGaiixcpOusBog%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "GWT Contributors" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to google-web-toolkit-contributors+unsubscribe@
>>>> googlegroups.com.
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/google-web-toolkit-contributors/CAN%
>>>> 3DyUA2CSorYH4oHFzGsVrRD1cfnDM1n_jEOJ4upOYyeukm4eQ%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA2CSorYH4oHFzGsVrRD1cfnDM1n_jEOJ4upOYyeukm4eQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Contributors" 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-contributors/CABb_3%3D6B1p%
>>> 2BuAwuPjNW78dQCXJ0xuTQC2DJte1%2BfE2z58fm-vQ%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CABb_3%3D6B1p%2BuAwuPjNW78dQCXJ0xuTQC2DJte1%2BfE2z58fm-vQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>
>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Contributors" 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-contributors/CAN%3DyUA2ity35giPe3UMq-
>> axcWU3fj6BbKk7JFX74R0uRs8LCVw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA2ity35giPe3UMq-axcWU3fj6BbKk7JFX74R0uRs8LCVw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" 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-contributors/CABb_3%3D5Vc8ie%3D0FLghOP4TpvK83rBh4ZFZ2D80A07Nd%3Du4Bf6w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to