Hello,
I'm working on updating/migrating the gwtbootstrap3 library

   - updating all external Javascript libraries
   - migrating to JsInterop (get rid of jsni)
   - migrating to Bootstrap 5

But I'm facing an issue with the following @JsFunction

import jsinterop.annotations.JsFunction;

@JsFunction
@FunctionalInterface
public interface FormatterCallback<T> {
String formatTooltip(T value);
}

When I declare it with lambda it fails
// using @JsFunction
slider.setFormatter(range -> "Range: [" + range.getAt(0) + "," + 
range.getAt(1) + "]");

But if I declare it with JSNI it works
slider.setFormatter(rangeFormatter());

private native FormatterCallback<Range> rangeFormatter() /*-{
return function (value) {
return "Range: [" + value[0] + "," + value[1] + "]";
};
}-*/;

You can find the successful and the failing GWTTestCase here:
https://github.com/freddyboucher/gwtbootstrap3/blob/master/gwtbootstrap3-extras/src/test/java/org/gwtbootstrap3/extras/slider/client/ui/RangeSliderTest.java
 
<http://RangeSliderTest.java>

And of course the full projet 
https://github.com/freddyboucher/gwtbootstrap3.git

When I log in the console the 2 functions it looks like that

===JSNI===
ƒ (value_0_g$){
    return 'Range: [' + value_0_g$[0] + ', ' + value_0_g$[1] + ']';
  }

===JsFunction===
ƒ (){
    return samMethod_0_g$.apply(lambda_0_g$, arguments);
  }

Any idea how to resolve it?
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 visit 
https://groups.google.com/d/msgid/google-web-toolkit/f5682bbf-baac-4d87-a7ac-bd4499a7abefn%40googlegroups.com.

Reply via email to