> 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 <
google-web-toolkit-contributors@googlegroups.com> 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 <julien.dram...@gmail.com>
> 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 <
>> google-web-toolkit-contributors@googlegroups.com> wrote:
>>
>>> On Tue, Mar 31, 2015 at 2:30 PM, Julien Dramaix <
>>> julien.dram...@gmail.com> 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+unsubscr...@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+unsubscr...@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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
>>
> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CABb_3%3D4zCC%2BvFq4NWysrE0kH-wf3f7iZ6ZDaXL7jK2X2nyqGHQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to